/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/js/ace/worker-xquery.js

  • Committer: Erik Wikström
  • Date: 2013-03-28 07:43:18 UTC
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: wikxen@gmail.com-20130328074318-9v6krijkyap59nct
Removed trunk folder and moved its contents to the root

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
"no use strict";
2
 
;(function(window) {
3
 
if (typeof window.window != "undefined" && window.document) {
4
 
    return;
5
 
}
6
 
 
7
 
window.console = {
8
 
    log: function() {
9
 
        var msgs = Array.prototype.slice.call(arguments, 0);
10
 
        postMessage({type: "log", data: msgs});
11
 
    },
12
 
    error: function() {
13
 
        var msgs = Array.prototype.slice.call(arguments, 0);
14
 
        postMessage({type: "log", data: msgs});
15
 
    }
16
 
};
17
 
window.window = window;
18
 
window.ace = window;
19
 
 
20
 
window.normalizeModule = function(parentId, moduleName) {
21
 
    // normalize plugin requires
22
 
    if (moduleName.indexOf("!") !== -1) {
23
 
        var chunks = moduleName.split("!");
24
 
        return normalizeModule(parentId, chunks[0]) + "!" + normalizeModule(parentId, chunks[1]);
25
 
    }
26
 
    // normalize relative requires
27
 
    if (moduleName.charAt(0) == ".") {
28
 
        var base = parentId.split("/").slice(0, -1).join("/");
29
 
        moduleName = base + "/" + moduleName;
30
 
        
31
 
        while(moduleName.indexOf(".") !== -1 && previous != moduleName) {
32
 
            var previous = moduleName;
33
 
            moduleName = moduleName.replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
34
 
        }
35
 
    }
36
 
    
37
 
    return moduleName;
38
 
};
39
 
 
40
 
window.require = function(parentId, id) {
41
 
    if (!id.charAt)
42
 
        throw new Error("worker.js require() accepts only (parentId, id) as arguments");
43
 
 
44
 
    id = normalizeModule(parentId, id);
45
 
 
46
 
    var module = require.modules[id];
47
 
    if (module) {
48
 
        if (!module.initialized) {
49
 
            module.initialized = true;
50
 
            module.exports = module.factory().exports;
51
 
        }
52
 
        return module.exports;
53
 
    }
54
 
    
55
 
    var chunks = id.split("/");
56
 
    chunks[0] = require.tlns[chunks[0]] || chunks[0];
57
 
    var path = chunks.join("/") + ".js";
58
 
    
59
 
    require.id = id;
60
 
    importScripts(path);
61
 
    return require(parentId, id);    
62
 
};
63
 
 
64
 
require.modules = {};
65
 
require.tlns = {};
66
 
 
67
 
window.define = function(id, deps, factory) {
68
 
    if (arguments.length == 2) {
69
 
        factory = deps;
70
 
        if (typeof id != "string") {
71
 
            deps = id;
72
 
            id = require.id;
73
 
        }
74
 
    } else if (arguments.length == 1) {
75
 
        factory = id;
76
 
        id = require.id;
77
 
    }
78
 
 
79
 
    if (id.indexOf("text!") === 0) 
80
 
        return;
81
 
    
82
 
    var req = function(deps, factory) {
83
 
        return require(id, deps, factory);
84
 
    };
85
 
 
86
 
    require.modules[id] = {
87
 
        factory: function() {
88
 
            var module = {
89
 
                exports: {}
90
 
            };
91
 
            var returnExports = factory(req, module.exports, module);
92
 
            if (returnExports)
93
 
                module.exports = returnExports;
94
 
            return module;
95
 
        }
96
 
    };
97
 
};
98
 
 
99
 
window.initBaseUrls  = function initBaseUrls(topLevelNamespaces) {
100
 
    require.tlns = topLevelNamespaces;
101
 
}
102
 
 
103
 
window.initSender = function initSender() {
104
 
 
105
 
    var EventEmitter = require(null, "ace/lib/event_emitter").EventEmitter;
106
 
    var oop = require(null, "ace/lib/oop");
107
 
    
108
 
    var Sender = function() {};
109
 
    
110
 
    (function() {
111
 
        
112
 
        oop.implement(this, EventEmitter);
113
 
                
114
 
        this.callback = function(data, callbackId) {
115
 
            postMessage({
116
 
                type: "call",
117
 
                id: callbackId,
118
 
                data: data
119
 
            });
120
 
        };
121
 
    
122
 
        this.emit = function(name, data) {
123
 
            postMessage({
124
 
                type: "event",
125
 
                name: name,
126
 
                data: data
127
 
            });
128
 
        };
129
 
        
130
 
    }).call(Sender.prototype);
131
 
    
132
 
    return new Sender();
133
 
}
134
 
 
135
 
window.main = null;
136
 
window.sender = null;
137
 
 
138
 
window.onmessage = function(e) {
139
 
    var msg = e.data;
140
 
    if (msg.command) {
141
 
        if (main[msg.command])
142
 
            main[msg.command].apply(main, msg.args);
143
 
        else
144
 
            throw new Error("Unknown command:" + msg.command);
145
 
    }
146
 
    else if (msg.init) {        
147
 
        initBaseUrls(msg.tlns);
148
 
        require(null, "ace/lib/fixoldbrowsers");
149
 
        sender = initSender();
150
 
        var clazz = require(null, msg.module)[msg.classname];
151
 
        main = new clazz(sender);
152
 
    } 
153
 
    else if (msg.event && sender) {
154
 
        sender._emit(msg.event, msg.data);
155
 
    }
156
 
};
157
 
})(this);// vim:set ts=4 sts=4 sw=4 st:
158
 
 
159
 
define('ace/lib/fixoldbrowsers', ['require', 'exports', 'module' , 'ace/lib/regexp', 'ace/lib/es5-shim'], function(require, exports, module) {
160
 
 
161
 
 
162
 
require("./regexp");
163
 
require("./es5-shim");
164
 
 
165
 
});
166
 
 
167
 
define('ace/lib/regexp', ['require', 'exports', 'module' ], function(require, exports, module) {
168
 
 
169
 
    var real = {
170
 
            exec: RegExp.prototype.exec,
171
 
            test: RegExp.prototype.test,
172
 
            match: String.prototype.match,
173
 
            replace: String.prototype.replace,
174
 
            split: String.prototype.split
175
 
        },
176
 
        compliantExecNpcg = real.exec.call(/()??/, "")[1] === undefined, // check `exec` handling of nonparticipating capturing groups
177
 
        compliantLastIndexIncrement = function () {
178
 
            var x = /^/g;
179
 
            real.test.call(x, "");
180
 
            return !x.lastIndex;
181
 
        }();
182
 
 
183
 
    if (compliantLastIndexIncrement && compliantExecNpcg)
184
 
        return;
185
 
    RegExp.prototype.exec = function (str) {
186
 
        var match = real.exec.apply(this, arguments),
187
 
            name, r2;
188
 
        if ( typeof(str) == 'string' && match) {
189
 
            if (!compliantExecNpcg && match.length > 1 && indexOf(match, "") > -1) {
190
 
                r2 = RegExp(this.source, real.replace.call(getNativeFlags(this), "g", ""));
191
 
                real.replace.call(str.slice(match.index), r2, function () {
192
 
                    for (var i = 1; i < arguments.length - 2; i++) {
193
 
                        if (arguments[i] === undefined)
194
 
                            match[i] = undefined;
195
 
                    }
196
 
                });
197
 
            }
198
 
            if (this._xregexp && this._xregexp.captureNames) {
199
 
                for (var i = 1; i < match.length; i++) {
200
 
                    name = this._xregexp.captureNames[i - 1];
201
 
                    if (name)
202
 
                       match[name] = match[i];
203
 
                }
204
 
            }
205
 
            if (!compliantLastIndexIncrement && this.global && !match[0].length && (this.lastIndex > match.index))
206
 
                this.lastIndex--;
207
 
        }
208
 
        return match;
209
 
    };
210
 
    if (!compliantLastIndexIncrement) {
211
 
        RegExp.prototype.test = function (str) {
212
 
            var match = real.exec.call(this, str);
213
 
            if (match && this.global && !match[0].length && (this.lastIndex > match.index))
214
 
                this.lastIndex--;
215
 
            return !!match;
216
 
        };
217
 
    }
218
 
 
219
 
    function getNativeFlags (regex) {
220
 
        return (regex.global     ? "g" : "") +
221
 
               (regex.ignoreCase ? "i" : "") +
222
 
               (regex.multiline  ? "m" : "") +
223
 
               (regex.extended   ? "x" : "") + // Proposed for ES4; included in AS3
224
 
               (regex.sticky     ? "y" : "");
225
 
    }
226
 
 
227
 
    function indexOf (array, item, from) {
228
 
        if (Array.prototype.indexOf) // Use the native array method if available
229
 
            return array.indexOf(item, from);
230
 
        for (var i = from || 0; i < array.length; i++) {
231
 
            if (array[i] === item)
232
 
                return i;
233
 
        }
234
 
        return -1;
235
 
    }
236
 
 
237
 
});
238
 
 
239
 
define('ace/lib/es5-shim', ['require', 'exports', 'module' ], function(require, exports, module) {
240
 
 
241
 
function Empty() {}
242
 
 
243
 
if (!Function.prototype.bind) {
244
 
    Function.prototype.bind = function bind(that) { // .length is 1
245
 
        var target = this;
246
 
        if (typeof target != "function") {
247
 
            throw new TypeError("Function.prototype.bind called on incompatible " + target);
248
 
        }
249
 
        var args = slice.call(arguments, 1); // for normal call
250
 
        var bound = function () {
251
 
 
252
 
            if (this instanceof bound) {
253
 
 
254
 
                var result = target.apply(
255
 
                    this,
256
 
                    args.concat(slice.call(arguments))
257
 
                );
258
 
                if (Object(result) === result) {
259
 
                    return result;
260
 
                }
261
 
                return this;
262
 
 
263
 
            } else {
264
 
                return target.apply(
265
 
                    that,
266
 
                    args.concat(slice.call(arguments))
267
 
                );
268
 
 
269
 
            }
270
 
 
271
 
        };
272
 
        if(target.prototype) {
273
 
            Empty.prototype = target.prototype;
274
 
            bound.prototype = new Empty();
275
 
            Empty.prototype = null;
276
 
        }
277
 
        return bound;
278
 
    };
279
 
}
280
 
var call = Function.prototype.call;
281
 
var prototypeOfArray = Array.prototype;
282
 
var prototypeOfObject = Object.prototype;
283
 
var slice = prototypeOfArray.slice;
284
 
var _toString = call.bind(prototypeOfObject.toString);
285
 
var owns = call.bind(prototypeOfObject.hasOwnProperty);
286
 
var defineGetter;
287
 
var defineSetter;
288
 
var lookupGetter;
289
 
var lookupSetter;
290
 
var supportsAccessors;
291
 
if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
292
 
    defineGetter = call.bind(prototypeOfObject.__defineGetter__);
293
 
    defineSetter = call.bind(prototypeOfObject.__defineSetter__);
294
 
    lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
295
 
    lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
296
 
}
297
 
if ([1,2].splice(0).length != 2) {
298
 
    if(function() { // test IE < 9 to splice bug - see issue #138
299
 
        function makeArray(l) {
300
 
            var a = new Array(l+2);
301
 
            a[0] = a[1] = 0;
302
 
            return a;
303
 
        }
304
 
        var array = [], lengthBefore;
305
 
        
306
 
        array.splice.apply(array, makeArray(20));
307
 
        array.splice.apply(array, makeArray(26));
308
 
 
309
 
        lengthBefore = array.length; //46
310
 
        array.splice(5, 0, "XXX"); // add one element
311
 
 
312
 
        lengthBefore + 1 == array.length
313
 
 
314
 
        if (lengthBefore + 1 == array.length) {
315
 
            return true;// has right splice implementation without bugs
316
 
        }
317
 
    }()) {//IE 6/7
318
 
        var array_splice = Array.prototype.splice;
319
 
        Array.prototype.splice = function(start, deleteCount) {
320
 
            if (!arguments.length) {
321
 
                return [];
322
 
            } else {
323
 
                return array_splice.apply(this, [
324
 
                    start === void 0 ? 0 : start,
325
 
                    deleteCount === void 0 ? (this.length - start) : deleteCount
326
 
                ].concat(slice.call(arguments, 2)))
327
 
            }
328
 
        };
329
 
    } else {//IE8
330
 
        Array.prototype.splice = function(pos, removeCount){
331
 
            var length = this.length;
332
 
            if (pos > 0) {
333
 
                if (pos > length)
334
 
                    pos = length;
335
 
            } else if (pos == void 0) {
336
 
                pos = 0;
337
 
            } else if (pos < 0) {
338
 
                pos = Math.max(length + pos, 0);
339
 
            }
340
 
 
341
 
            if (!(pos+removeCount < length))
342
 
                removeCount = length - pos;
343
 
 
344
 
            var removed = this.slice(pos, pos+removeCount);
345
 
            var insert = slice.call(arguments, 2);
346
 
            var add = insert.length;            
347
 
            if (pos === length) {
348
 
                if (add) {
349
 
                    this.push.apply(this, insert);
350
 
                }
351
 
            } else {
352
 
                var remove = Math.min(removeCount, length - pos);
353
 
                var tailOldPos = pos + remove;
354
 
                var tailNewPos = tailOldPos + add - remove;
355
 
                var tailCount = length - tailOldPos;
356
 
                var lengthAfterRemove = length - remove;
357
 
 
358
 
                if (tailNewPos < tailOldPos) { // case A
359
 
                    for (var i = 0; i < tailCount; ++i) {
360
 
                        this[tailNewPos+i] = this[tailOldPos+i];
361
 
                    }
362
 
                } else if (tailNewPos > tailOldPos) { // case B
363
 
                    for (i = tailCount; i--; ) {
364
 
                        this[tailNewPos+i] = this[tailOldPos+i];
365
 
                    }
366
 
                } // else, add == remove (nothing to do)
367
 
 
368
 
                if (add && pos === lengthAfterRemove) {
369
 
                    this.length = lengthAfterRemove; // truncate array
370
 
                    this.push.apply(this, insert);
371
 
                } else {
372
 
                    this.length = lengthAfterRemove + add; // reserves space
373
 
                    for (i = 0; i < add; ++i) {
374
 
                        this[pos+i] = insert[i];
375
 
                    }
376
 
                }
377
 
            }
378
 
            return removed;
379
 
        };
380
 
    }
381
 
}
382
 
if (!Array.isArray) {
383
 
    Array.isArray = function isArray(obj) {
384
 
        return _toString(obj) == "[object Array]";
385
 
    };
386
 
}
387
 
var boxedString = Object("a"),
388
 
    splitString = boxedString[0] != "a" || !(0 in boxedString);
389
 
 
390
 
if (!Array.prototype.forEach) {
391
 
    Array.prototype.forEach = function forEach(fun /*, thisp*/) {
392
 
        var object = toObject(this),
393
 
            self = splitString && _toString(this) == "[object String]" ?
394
 
                this.split("") :
395
 
                object,
396
 
            thisp = arguments[1],
397
 
            i = -1,
398
 
            length = self.length >>> 0;
399
 
        if (_toString(fun) != "[object Function]") {
400
 
            throw new TypeError(); // TODO message
401
 
        }
402
 
 
403
 
        while (++i < length) {
404
 
            if (i in self) {
405
 
                fun.call(thisp, self[i], i, object);
406
 
            }
407
 
        }
408
 
    };
409
 
}
410
 
if (!Array.prototype.map) {
411
 
    Array.prototype.map = function map(fun /*, thisp*/) {
412
 
        var object = toObject(this),
413
 
            self = splitString && _toString(this) == "[object String]" ?
414
 
                this.split("") :
415
 
                object,
416
 
            length = self.length >>> 0,
417
 
            result = Array(length),
418
 
            thisp = arguments[1];
419
 
        if (_toString(fun) != "[object Function]") {
420
 
            throw new TypeError(fun + " is not a function");
421
 
        }
422
 
 
423
 
        for (var i = 0; i < length; i++) {
424
 
            if (i in self)
425
 
                result[i] = fun.call(thisp, self[i], i, object);
426
 
        }
427
 
        return result;
428
 
    };
429
 
}
430
 
if (!Array.prototype.filter) {
431
 
    Array.prototype.filter = function filter(fun /*, thisp */) {
432
 
        var object = toObject(this),
433
 
            self = splitString && _toString(this) == "[object String]" ?
434
 
                this.split("") :
435
 
                    object,
436
 
            length = self.length >>> 0,
437
 
            result = [],
438
 
            value,
439
 
            thisp = arguments[1];
440
 
        if (_toString(fun) != "[object Function]") {
441
 
            throw new TypeError(fun + " is not a function");
442
 
        }
443
 
 
444
 
        for (var i = 0; i < length; i++) {
445
 
            if (i in self) {
446
 
                value = self[i];
447
 
                if (fun.call(thisp, value, i, object)) {
448
 
                    result.push(value);
449
 
                }
450
 
            }
451
 
        }
452
 
        return result;
453
 
    };
454
 
}
455
 
if (!Array.prototype.every) {
456
 
    Array.prototype.every = function every(fun /*, thisp */) {
457
 
        var object = toObject(this),
458
 
            self = splitString && _toString(this) == "[object String]" ?
459
 
                this.split("") :
460
 
                object,
461
 
            length = self.length >>> 0,
462
 
            thisp = arguments[1];
463
 
        if (_toString(fun) != "[object Function]") {
464
 
            throw new TypeError(fun + " is not a function");
465
 
        }
466
 
 
467
 
        for (var i = 0; i < length; i++) {
468
 
            if (i in self && !fun.call(thisp, self[i], i, object)) {
469
 
                return false;
470
 
            }
471
 
        }
472
 
        return true;
473
 
    };
474
 
}
475
 
if (!Array.prototype.some) {
476
 
    Array.prototype.some = function some(fun /*, thisp */) {
477
 
        var object = toObject(this),
478
 
            self = splitString && _toString(this) == "[object String]" ?
479
 
                this.split("") :
480
 
                object,
481
 
            length = self.length >>> 0,
482
 
            thisp = arguments[1];
483
 
        if (_toString(fun) != "[object Function]") {
484
 
            throw new TypeError(fun + " is not a function");
485
 
        }
486
 
 
487
 
        for (var i = 0; i < length; i++) {
488
 
            if (i in self && fun.call(thisp, self[i], i, object)) {
489
 
                return true;
490
 
            }
491
 
        }
492
 
        return false;
493
 
    };
494
 
}
495
 
if (!Array.prototype.reduce) {
496
 
    Array.prototype.reduce = function reduce(fun /*, initial*/) {
497
 
        var object = toObject(this),
498
 
            self = splitString && _toString(this) == "[object String]" ?
499
 
                this.split("") :
500
 
                object,
501
 
            length = self.length >>> 0;
502
 
        if (_toString(fun) != "[object Function]") {
503
 
            throw new TypeError(fun + " is not a function");
504
 
        }
505
 
        if (!length && arguments.length == 1) {
506
 
            throw new TypeError("reduce of empty array with no initial value");
507
 
        }
508
 
 
509
 
        var i = 0;
510
 
        var result;
511
 
        if (arguments.length >= 2) {
512
 
            result = arguments[1];
513
 
        } else {
514
 
            do {
515
 
                if (i in self) {
516
 
                    result = self[i++];
517
 
                    break;
518
 
                }
519
 
                if (++i >= length) {
520
 
                    throw new TypeError("reduce of empty array with no initial value");
521
 
                }
522
 
            } while (true);
523
 
        }
524
 
 
525
 
        for (; i < length; i++) {
526
 
            if (i in self) {
527
 
                result = fun.call(void 0, result, self[i], i, object);
528
 
            }
529
 
        }
530
 
 
531
 
        return result;
532
 
    };
533
 
}
534
 
if (!Array.prototype.reduceRight) {
535
 
    Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
536
 
        var object = toObject(this),
537
 
            self = splitString && _toString(this) == "[object String]" ?
538
 
                this.split("") :
539
 
                object,
540
 
            length = self.length >>> 0;
541
 
        if (_toString(fun) != "[object Function]") {
542
 
            throw new TypeError(fun + " is not a function");
543
 
        }
544
 
        if (!length && arguments.length == 1) {
545
 
            throw new TypeError("reduceRight of empty array with no initial value");
546
 
        }
547
 
 
548
 
        var result, i = length - 1;
549
 
        if (arguments.length >= 2) {
550
 
            result = arguments[1];
551
 
        } else {
552
 
            do {
553
 
                if (i in self) {
554
 
                    result = self[i--];
555
 
                    break;
556
 
                }
557
 
                if (--i < 0) {
558
 
                    throw new TypeError("reduceRight of empty array with no initial value");
559
 
                }
560
 
            } while (true);
561
 
        }
562
 
 
563
 
        do {
564
 
            if (i in this) {
565
 
                result = fun.call(void 0, result, self[i], i, object);
566
 
            }
567
 
        } while (i--);
568
 
 
569
 
        return result;
570
 
    };
571
 
}
572
 
if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
573
 
    Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
574
 
        var self = splitString && _toString(this) == "[object String]" ?
575
 
                this.split("") :
576
 
                toObject(this),
577
 
            length = self.length >>> 0;
578
 
 
579
 
        if (!length) {
580
 
            return -1;
581
 
        }
582
 
 
583
 
        var i = 0;
584
 
        if (arguments.length > 1) {
585
 
            i = toInteger(arguments[1]);
586
 
        }
587
 
        i = i >= 0 ? i : Math.max(0, length + i);
588
 
        for (; i < length; i++) {
589
 
            if (i in self && self[i] === sought) {
590
 
                return i;
591
 
            }
592
 
        }
593
 
        return -1;
594
 
    };
595
 
}
596
 
if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
597
 
    Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
598
 
        var self = splitString && _toString(this) == "[object String]" ?
599
 
                this.split("") :
600
 
                toObject(this),
601
 
            length = self.length >>> 0;
602
 
 
603
 
        if (!length) {
604
 
            return -1;
605
 
        }
606
 
        var i = length - 1;
607
 
        if (arguments.length > 1) {
608
 
            i = Math.min(i, toInteger(arguments[1]));
609
 
        }
610
 
        i = i >= 0 ? i : length - Math.abs(i);
611
 
        for (; i >= 0; i--) {
612
 
            if (i in self && sought === self[i]) {
613
 
                return i;
614
 
            }
615
 
        }
616
 
        return -1;
617
 
    };
618
 
}
619
 
if (!Object.getPrototypeOf) {
620
 
    Object.getPrototypeOf = function getPrototypeOf(object) {
621
 
        return object.__proto__ || (
622
 
            object.constructor ?
623
 
            object.constructor.prototype :
624
 
            prototypeOfObject
625
 
        );
626
 
    };
627
 
}
628
 
if (!Object.getOwnPropertyDescriptor) {
629
 
    var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
630
 
                         "non-object: ";
631
 
    Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
632
 
        if ((typeof object != "object" && typeof object != "function") || object === null)
633
 
            throw new TypeError(ERR_NON_OBJECT + object);
634
 
        if (!owns(object, property))
635
 
            return;
636
 
 
637
 
        var descriptor, getter, setter;
638
 
        descriptor =  { enumerable: true, configurable: true };
639
 
        if (supportsAccessors) {
640
 
            var prototype = object.__proto__;
641
 
            object.__proto__ = prototypeOfObject;
642
 
 
643
 
            var getter = lookupGetter(object, property);
644
 
            var setter = lookupSetter(object, property);
645
 
            object.__proto__ = prototype;
646
 
 
647
 
            if (getter || setter) {
648
 
                if (getter) descriptor.get = getter;
649
 
                if (setter) descriptor.set = setter;
650
 
                return descriptor;
651
 
            }
652
 
        }
653
 
        descriptor.value = object[property];
654
 
        return descriptor;
655
 
    };
656
 
}
657
 
if (!Object.getOwnPropertyNames) {
658
 
    Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
659
 
        return Object.keys(object);
660
 
    };
661
 
}
662
 
if (!Object.create) {
663
 
    var createEmpty;
664
 
    if (Object.prototype.__proto__ === null) {
665
 
        createEmpty = function () {
666
 
            return { "__proto__": null };
667
 
        };
668
 
    } else {
669
 
        createEmpty = function () {
670
 
            var empty = {};
671
 
            for (var i in empty)
672
 
                empty[i] = null;
673
 
            empty.constructor =
674
 
            empty.hasOwnProperty =
675
 
            empty.propertyIsEnumerable =
676
 
            empty.isPrototypeOf =
677
 
            empty.toLocaleString =
678
 
            empty.toString =
679
 
            empty.valueOf =
680
 
            empty.__proto__ = null;
681
 
            return empty;
682
 
        }
683
 
    }
684
 
 
685
 
    Object.create = function create(prototype, properties) {
686
 
        var object;
687
 
        if (prototype === null) {
688
 
            object = createEmpty();
689
 
        } else {
690
 
            if (typeof prototype != "object")
691
 
                throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
692
 
            var Type = function () {};
693
 
            Type.prototype = prototype;
694
 
            object = new Type();
695
 
            object.__proto__ = prototype;
696
 
        }
697
 
        if (properties !== void 0)
698
 
            Object.defineProperties(object, properties);
699
 
        return object;
700
 
    };
701
 
}
702
 
 
703
 
function doesDefinePropertyWork(object) {
704
 
    try {
705
 
        Object.defineProperty(object, "sentinel", {});
706
 
        return "sentinel" in object;
707
 
    } catch (exception) {
708
 
    }
709
 
}
710
 
if (Object.defineProperty) {
711
 
    var definePropertyWorksOnObject = doesDefinePropertyWork({});
712
 
    var definePropertyWorksOnDom = typeof document == "undefined" ||
713
 
        doesDefinePropertyWork(document.createElement("div"));
714
 
    if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
715
 
        var definePropertyFallback = Object.defineProperty;
716
 
    }
717
 
}
718
 
 
719
 
if (!Object.defineProperty || definePropertyFallback) {
720
 
    var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
721
 
    var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
722
 
    var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
723
 
                                      "on this javascript engine";
724
 
 
725
 
    Object.defineProperty = function defineProperty(object, property, descriptor) {
726
 
        if ((typeof object != "object" && typeof object != "function") || object === null)
727
 
            throw new TypeError(ERR_NON_OBJECT_TARGET + object);
728
 
        if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
729
 
            throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
730
 
        if (definePropertyFallback) {
731
 
            try {
732
 
                return definePropertyFallback.call(Object, object, property, descriptor);
733
 
            } catch (exception) {
734
 
            }
735
 
        }
736
 
        if (owns(descriptor, "value")) {
737
 
 
738
 
            if (supportsAccessors && (lookupGetter(object, property) ||
739
 
                                      lookupSetter(object, property)))
740
 
            {
741
 
                var prototype = object.__proto__;
742
 
                object.__proto__ = prototypeOfObject;
743
 
                delete object[property];
744
 
                object[property] = descriptor.value;
745
 
                object.__proto__ = prototype;
746
 
            } else {
747
 
                object[property] = descriptor.value;
748
 
            }
749
 
        } else {
750
 
            if (!supportsAccessors)
751
 
                throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
752
 
            if (owns(descriptor, "get"))
753
 
                defineGetter(object, property, descriptor.get);
754
 
            if (owns(descriptor, "set"))
755
 
                defineSetter(object, property, descriptor.set);
756
 
        }
757
 
 
758
 
        return object;
759
 
    };
760
 
}
761
 
if (!Object.defineProperties) {
762
 
    Object.defineProperties = function defineProperties(object, properties) {
763
 
        for (var property in properties) {
764
 
            if (owns(properties, property))
765
 
                Object.defineProperty(object, property, properties[property]);
766
 
        }
767
 
        return object;
768
 
    };
769
 
}
770
 
if (!Object.seal) {
771
 
    Object.seal = function seal(object) {
772
 
        return object;
773
 
    };
774
 
}
775
 
if (!Object.freeze) {
776
 
    Object.freeze = function freeze(object) {
777
 
        return object;
778
 
    };
779
 
}
780
 
try {
781
 
    Object.freeze(function () {});
782
 
} catch (exception) {
783
 
    Object.freeze = (function freeze(freezeObject) {
784
 
        return function freeze(object) {
785
 
            if (typeof object == "function") {
786
 
                return object;
787
 
            } else {
788
 
                return freezeObject(object);
789
 
            }
790
 
        };
791
 
    })(Object.freeze);
792
 
}
793
 
if (!Object.preventExtensions) {
794
 
    Object.preventExtensions = function preventExtensions(object) {
795
 
        return object;
796
 
    };
797
 
}
798
 
if (!Object.isSealed) {
799
 
    Object.isSealed = function isSealed(object) {
800
 
        return false;
801
 
    };
802
 
}
803
 
if (!Object.isFrozen) {
804
 
    Object.isFrozen = function isFrozen(object) {
805
 
        return false;
806
 
    };
807
 
}
808
 
if (!Object.isExtensible) {
809
 
    Object.isExtensible = function isExtensible(object) {
810
 
        if (Object(object) === object) {
811
 
            throw new TypeError(); // TODO message
812
 
        }
813
 
        var name = '';
814
 
        while (owns(object, name)) {
815
 
            name += '?';
816
 
        }
817
 
        object[name] = true;
818
 
        var returnValue = owns(object, name);
819
 
        delete object[name];
820
 
        return returnValue;
821
 
    };
822
 
}
823
 
if (!Object.keys) {
824
 
    var hasDontEnumBug = true,
825
 
        dontEnums = [
826
 
            "toString",
827
 
            "toLocaleString",
828
 
            "valueOf",
829
 
            "hasOwnProperty",
830
 
            "isPrototypeOf",
831
 
            "propertyIsEnumerable",
832
 
            "constructor"
833
 
        ],
834
 
        dontEnumsLength = dontEnums.length;
835
 
 
836
 
    for (var key in {"toString": null}) {
837
 
        hasDontEnumBug = false;
838
 
    }
839
 
 
840
 
    Object.keys = function keys(object) {
841
 
 
842
 
        if (
843
 
            (typeof object != "object" && typeof object != "function") ||
844
 
            object === null
845
 
        ) {
846
 
            throw new TypeError("Object.keys called on a non-object");
847
 
        }
848
 
 
849
 
        var keys = [];
850
 
        for (var name in object) {
851
 
            if (owns(object, name)) {
852
 
                keys.push(name);
853
 
            }
854
 
        }
855
 
 
856
 
        if (hasDontEnumBug) {
857
 
            for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
858
 
                var dontEnum = dontEnums[i];
859
 
                if (owns(object, dontEnum)) {
860
 
                    keys.push(dontEnum);
861
 
                }
862
 
            }
863
 
        }
864
 
        return keys;
865
 
    };
866
 
 
867
 
}
868
 
if (!Date.now) {
869
 
    Date.now = function now() {
870
 
        return new Date().getTime();
871
 
    };
872
 
}
873
 
var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
874
 
    "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
875
 
    "\u2029\uFEFF";
876
 
if (!String.prototype.trim || ws.trim()) {
877
 
    ws = "[" + ws + "]";
878
 
    var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
879
 
        trimEndRegexp = new RegExp(ws + ws + "*$");
880
 
    String.prototype.trim = function trim() {
881
 
        return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
882
 
    };
883
 
}
884
 
 
885
 
function toInteger(n) {
886
 
    n = +n;
887
 
    if (n !== n) { // isNaN
888
 
        n = 0;
889
 
    } else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
890
 
        n = (n > 0 || -1) * Math.floor(Math.abs(n));
891
 
    }
892
 
    return n;
893
 
}
894
 
 
895
 
function isPrimitive(input) {
896
 
    var type = typeof input;
897
 
    return (
898
 
        input === null ||
899
 
        type === "undefined" ||
900
 
        type === "boolean" ||
901
 
        type === "number" ||
902
 
        type === "string"
903
 
    );
904
 
}
905
 
 
906
 
function toPrimitive(input) {
907
 
    var val, valueOf, toString;
908
 
    if (isPrimitive(input)) {
909
 
        return input;
910
 
    }
911
 
    valueOf = input.valueOf;
912
 
    if (typeof valueOf === "function") {
913
 
        val = valueOf.call(input);
914
 
        if (isPrimitive(val)) {
915
 
            return val;
916
 
        }
917
 
    }
918
 
    toString = input.toString;
919
 
    if (typeof toString === "function") {
920
 
        val = toString.call(input);
921
 
        if (isPrimitive(val)) {
922
 
            return val;
923
 
        }
924
 
    }
925
 
    throw new TypeError();
926
 
}
927
 
var toObject = function (o) {
928
 
    if (o == null) { // this matches both null and undefined
929
 
        throw new TypeError("can't convert "+o+" to object");
930
 
    }
931
 
    return Object(o);
932
 
};
933
 
 
934
 
});
935
 
 
936
 
define('ace/lib/event_emitter', ['require', 'exports', 'module' ], function(require, exports, module) {
937
 
 
938
 
 
939
 
var EventEmitter = {};
940
 
var stopPropagation = function() { this.propagationStopped = true; };
941
 
var preventDefault = function() { this.defaultPrevented = true; };
942
 
 
943
 
EventEmitter._emit =
944
 
EventEmitter._dispatchEvent = function(eventName, e) {
945
 
    this._eventRegistry || (this._eventRegistry = {});
946
 
    this._defaultHandlers || (this._defaultHandlers = {});
947
 
 
948
 
    var listeners = this._eventRegistry[eventName] || [];
949
 
    var defaultHandler = this._defaultHandlers[eventName];
950
 
    if (!listeners.length && !defaultHandler)
951
 
        return;
952
 
 
953
 
    if (typeof e != "object" || !e)
954
 
        e = {};
955
 
 
956
 
    if (!e.type)
957
 
        e.type = eventName;
958
 
    if (!e.stopPropagation)
959
 
        e.stopPropagation = stopPropagation;
960
 
    if (!e.preventDefault)
961
 
        e.preventDefault = preventDefault;
962
 
    if (!e.target)
963
 
        e.target = this;
964
 
 
965
 
    for (var i=0; i<listeners.length; i++) {
966
 
        listeners[i](e);
967
 
        if (e.propagationStopped)
968
 
            break;
969
 
    }
970
 
    
971
 
    if (defaultHandler && !e.defaultPrevented)
972
 
        return defaultHandler(e);
973
 
};
974
 
 
975
 
 
976
 
EventEmitter._signal = function(eventName, e) {
977
 
    var listeners = (this._eventRegistry || {})[eventName];
978
 
    if (!listeners)
979
 
        return;
980
 
 
981
 
    for (var i=0; i<listeners.length; i++)
982
 
        listeners[i](e);
983
 
};
984
 
 
985
 
EventEmitter.once = function(eventName, callback) {
986
 
    var _self = this;
987
 
    var newCallback = function() {
988
 
        fun && fun.apply(null, arguments);
989
 
        _self.removeEventListener(event, newCallback);
990
 
    };
991
 
    this.addEventListener(event, newCallback);
992
 
};
993
 
 
994
 
 
995
 
EventEmitter.setDefaultHandler = function(eventName, callback) {
996
 
    this._defaultHandlers = this._defaultHandlers || {};
997
 
    
998
 
    if (this._defaultHandlers[eventName])
999
 
        throw new Error("The default handler for '" + eventName + "' is already set");
1000
 
        
1001
 
    this._defaultHandlers[eventName] = callback;
1002
 
};
1003
 
 
1004
 
EventEmitter.on =
1005
 
EventEmitter.addEventListener = function(eventName, callback, capturing) {
1006
 
    this._eventRegistry = this._eventRegistry || {};
1007
 
 
1008
 
    var listeners = this._eventRegistry[eventName];
1009
 
    if (!listeners)
1010
 
        listeners = this._eventRegistry[eventName] = [];
1011
 
 
1012
 
    if (listeners.indexOf(callback) == -1)
1013
 
        listeners[capturing ? "unshift" : "push"](callback);
1014
 
    return callback;
1015
 
};
1016
 
 
1017
 
EventEmitter.removeListener =
1018
 
EventEmitter.removeEventListener = function(eventName, callback) {
1019
 
    this._eventRegistry = this._eventRegistry || {};
1020
 
 
1021
 
    var listeners = this._eventRegistry[eventName];
1022
 
    if (!listeners)
1023
 
        return;
1024
 
 
1025
 
    var index = listeners.indexOf(callback);
1026
 
    if (index !== -1)
1027
 
        listeners.splice(index, 1);
1028
 
};
1029
 
 
1030
 
EventEmitter.removeAllListeners = function(eventName) {
1031
 
    if (this._eventRegistry) this._eventRegistry[eventName] = [];
1032
 
};
1033
 
 
1034
 
exports.EventEmitter = EventEmitter;
1035
 
 
1036
 
});
1037
 
 
1038
 
define('ace/lib/oop', ['require', 'exports', 'module' ], function(require, exports, module) {
1039
 
 
1040
 
 
1041
 
exports.inherits = (function() {
1042
 
    var tempCtor = function() {};
1043
 
    return function(ctor, superCtor) {
1044
 
        tempCtor.prototype = superCtor.prototype;
1045
 
        ctor.super_ = superCtor.prototype;
1046
 
        ctor.prototype = new tempCtor();
1047
 
        ctor.prototype.constructor = ctor;
1048
 
    };
1049
 
}());
1050
 
 
1051
 
exports.mixin = function(obj, mixin) {
1052
 
    for (var key in mixin) {
1053
 
        obj[key] = mixin[key];
1054
 
    }
1055
 
};
1056
 
 
1057
 
exports.implement = function(proto, mixin) {
1058
 
    exports.mixin(proto, mixin);
1059
 
};
1060
 
 
1061
 
});
1062
 
 
1063
 
define('ace/mode/xquery_worker', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/worker/mirror', 'ace/mode/xquery/JSONParseTreeHandler', 'ace/mode/xquery/XQueryParser', 'ace/mode/xquery/visitors/SemanticHighlighter'], function(require, exports, module) {
1064
 
 
1065
 
    
1066
 
var oop = require("../lib/oop");
1067
 
var Mirror = require("../worker/mirror").Mirror;
1068
 
var JSONParseTreeHandler  = require("./xquery/JSONParseTreeHandler").JSONParseTreeHandler;
1069
 
var XQueryParser  = require("./xquery/XQueryParser").XQueryParser;
1070
 
var SemanticHighlighter = require("./xquery/visitors/SemanticHighlighter").SemanticHighlighter;
1071
 
 
1072
 
var XQueryWorker = exports.XQueryWorker = function(sender) {
1073
 
    Mirror.call(this, sender);
1074
 
    this.setTimeout(200);
1075
 
};
1076
 
 
1077
 
oop.inherits(XQueryWorker, Mirror);
1078
 
 
1079
 
(function() {
1080
 
    
1081
 
  this.onUpdate = function() {
1082
 
    this.sender.emit("start");
1083
 
    var value = this.doc.getValue();    
1084
 
    var h = new JSONParseTreeHandler(value);
1085
 
    var parser = new XQueryParser(value, h);
1086
 
    try {
1087
 
      parser.parse_XQuery();
1088
 
      this.sender.emit("ok");
1089
 
      var ast = h.getParseTree();
1090
 
      var highlighter = new SemanticHighlighter(ast, value);
1091
 
      var tokens = highlighter.getTokens();
1092
 
      this.sender.emit("highlight", { tokens: tokens, lines: highlighter.lines });
1093
 
    } catch(e) {
1094
 
      if(e instanceof parser.ParseException) {
1095
 
        var prefix = value.substring(0, e.getBegin());
1096
 
        var line = prefix.split("\n").length;
1097
 
        var column = e.getBegin() - prefix.lastIndexOf("\n");
1098
 
        var message = parser.getErrorMessage(e);
1099
 
        this.sender.emit("error", {
1100
 
          row: line - 1,
1101
 
          column: column,
1102
 
          text: message,
1103
 
          type: "error"
1104
 
        });
1105
 
      } else {
1106
 
        throw e;
1107
 
      }
1108
 
    }
1109
 
 };
1110
 
    
1111
 
}).call(XQueryWorker.prototype);
1112
 
 
1113
 
});
1114
 
define('ace/worker/mirror', ['require', 'exports', 'module' , 'ace/document', 'ace/lib/lang'], function(require, exports, module) {
1115
 
 
1116
 
 
1117
 
var Document = require("../document").Document;
1118
 
var lang = require("../lib/lang");
1119
 
    
1120
 
var Mirror = exports.Mirror = function(sender) {
1121
 
    this.sender = sender;
1122
 
    var doc = this.doc = new Document("");
1123
 
    
1124
 
    var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
1125
 
    
1126
 
    var _self = this;
1127
 
    sender.on("change", function(e) {
1128
 
        doc.applyDeltas([e.data]);        
1129
 
        deferredUpdate.schedule(_self.$timeout);
1130
 
    });
1131
 
};
1132
 
 
1133
 
(function() {
1134
 
    
1135
 
    this.$timeout = 500;
1136
 
    
1137
 
    this.setTimeout = function(timeout) {
1138
 
        this.$timeout = timeout;
1139
 
    };
1140
 
    
1141
 
    this.setValue = function(value) {
1142
 
        this.doc.setValue(value);
1143
 
        this.deferredUpdate.schedule(this.$timeout);
1144
 
    };
1145
 
    
1146
 
    this.getValue = function(callbackId) {
1147
 
        this.sender.callback(this.doc.getValue(), callbackId);
1148
 
    };
1149
 
    
1150
 
    this.onUpdate = function() {
1151
 
    };
1152
 
    
1153
 
}).call(Mirror.prototype);
1154
 
 
1155
 
});
1156
 
 
1157
 
define('ace/document', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter', 'ace/range', 'ace/anchor'], function(require, exports, module) {
1158
 
 
1159
 
 
1160
 
var oop = require("./lib/oop");
1161
 
var EventEmitter = require("./lib/event_emitter").EventEmitter;
1162
 
var Range = require("./range").Range;
1163
 
var Anchor = require("./anchor").Anchor;
1164
 
 
1165
 
var Document = function(text) {
1166
 
    this.$lines = [];
1167
 
    if (text.length == 0) {
1168
 
        this.$lines = [""];
1169
 
    } else if (Array.isArray(text)) {
1170
 
        this.insertLines(0, text);
1171
 
    } else {
1172
 
        this.insert({row: 0, column:0}, text);
1173
 
    }
1174
 
};
1175
 
 
1176
 
(function() {
1177
 
 
1178
 
    oop.implement(this, EventEmitter);
1179
 
    this.setValue = function(text) {
1180
 
        var len = this.getLength();
1181
 
        this.remove(new Range(0, 0, len, this.getLine(len-1).length));
1182
 
        this.insert({row: 0, column:0}, text);
1183
 
    };
1184
 
    this.getValue = function() {
1185
 
        return this.getAllLines().join(this.getNewLineCharacter());
1186
 
    };
1187
 
    this.createAnchor = function(row, column) {
1188
 
        return new Anchor(this, row, column);
1189
 
    };
1190
 
    if ("aaa".split(/a/).length == 0)
1191
 
        this.$split = function(text) {
1192
 
            return text.replace(/\r\n|\r/g, "\n").split("\n");
1193
 
        }
1194
 
    else
1195
 
        this.$split = function(text) {
1196
 
            return text.split(/\r\n|\r|\n/);
1197
 
        };
1198
 
 
1199
 
 
1200
 
 
1201
 
    this.$detectNewLine = function(text) {
1202
 
        var match = text.match(/^.*?(\r\n|\r|\n)/m);
1203
 
        if (match) {
1204
 
            this.$autoNewLine = match[1];
1205
 
        } else {
1206
 
            this.$autoNewLine = "\n";
1207
 
        }
1208
 
    };
1209
 
    this.getNewLineCharacter = function() {
1210
 
        switch (this.$newLineMode) {
1211
 
          case "windows":
1212
 
            return "\r\n";
1213
 
 
1214
 
          case "unix":
1215
 
            return "\n";
1216
 
 
1217
 
          default:
1218
 
            return this.$autoNewLine;
1219
 
        }
1220
 
    };
1221
 
 
1222
 
    this.$autoNewLine = "\n";
1223
 
    this.$newLineMode = "auto";
1224
 
    this.setNewLineMode = function(newLineMode) {
1225
 
        if (this.$newLineMode === newLineMode)
1226
 
            return;
1227
 
 
1228
 
        this.$newLineMode = newLineMode;
1229
 
    };
1230
 
    this.getNewLineMode = function() {
1231
 
        return this.$newLineMode;
1232
 
    };
1233
 
    this.isNewLine = function(text) {
1234
 
        return (text == "\r\n" || text == "\r" || text == "\n");
1235
 
    };
1236
 
    this.getLine = function(row) {
1237
 
        return this.$lines[row] || "";
1238
 
    };
1239
 
    this.getLines = function(firstRow, lastRow) {
1240
 
        return this.$lines.slice(firstRow, lastRow + 1);
1241
 
    };
1242
 
    this.getAllLines = function() {
1243
 
        return this.getLines(0, this.getLength());
1244
 
    };
1245
 
    this.getLength = function() {
1246
 
        return this.$lines.length;
1247
 
    };
1248
 
    this.getTextRange = function(range) {
1249
 
        if (range.start.row == range.end.row) {
1250
 
            return this.$lines[range.start.row].substring(range.start.column,
1251
 
                                                         range.end.column);
1252
 
        }
1253
 
        else {
1254
 
            var lines = this.getLines(range.start.row+1, range.end.row-1);
1255
 
            lines.unshift((this.$lines[range.start.row] || "").substring(range.start.column));
1256
 
            lines.push((this.$lines[range.end.row] || "").substring(0, range.end.column));
1257
 
            return lines.join(this.getNewLineCharacter());
1258
 
        }
1259
 
    };
1260
 
 
1261
 
    this.$clipPosition = function(position) {
1262
 
        var length = this.getLength();
1263
 
        if (position.row >= length) {
1264
 
            position.row = Math.max(0, length - 1);
1265
 
            position.column = this.getLine(length-1).length;
1266
 
        }
1267
 
        return position;
1268
 
    };
1269
 
    this.insert = function(position, text) {
1270
 
        if (!text || text.length === 0)
1271
 
            return position;
1272
 
 
1273
 
        position = this.$clipPosition(position);
1274
 
        if (this.getLength() <= 1)
1275
 
            this.$detectNewLine(text);
1276
 
 
1277
 
        var lines = this.$split(text);
1278
 
        var firstLine = lines.splice(0, 1)[0];
1279
 
        var lastLine = lines.length == 0 ? null : lines.splice(lines.length - 1, 1)[0];
1280
 
 
1281
 
        position = this.insertInLine(position, firstLine);
1282
 
        if (lastLine !== null) {
1283
 
            position = this.insertNewLine(position); // terminate first line
1284
 
            position = this.insertLines(position.row, lines);
1285
 
            position = this.insertInLine(position, lastLine || "");
1286
 
        }
1287
 
        return position;
1288
 
    };
1289
 
    this.insertLines = function(row, lines) {
1290
 
        if (lines.length == 0)
1291
 
            return {row: row, column: 0};
1292
 
        if (lines.length > 0xFFFF) {
1293
 
            var end = this.insertLines(row, lines.slice(0xFFFF));
1294
 
            lines = lines.slice(0, 0xFFFF);
1295
 
        }
1296
 
 
1297
 
        var args = [row, 0];
1298
 
        args.push.apply(args, lines);
1299
 
        this.$lines.splice.apply(this.$lines, args);
1300
 
 
1301
 
        var range = new Range(row, 0, row + lines.length, 0);
1302
 
        var delta = {
1303
 
            action: "insertLines",
1304
 
            range: range,
1305
 
            lines: lines
1306
 
        };
1307
 
        this._emit("change", { data: delta });
1308
 
        return end || range.end;
1309
 
    };
1310
 
    this.insertNewLine = function(position) {
1311
 
        position = this.$clipPosition(position);
1312
 
        var line = this.$lines[position.row] || "";
1313
 
 
1314
 
        this.$lines[position.row] = line.substring(0, position.column);
1315
 
        this.$lines.splice(position.row + 1, 0, line.substring(position.column, line.length));
1316
 
 
1317
 
        var end = {
1318
 
            row : position.row + 1,
1319
 
            column : 0
1320
 
        };
1321
 
 
1322
 
        var delta = {
1323
 
            action: "insertText",
1324
 
            range: Range.fromPoints(position, end),
1325
 
            text: this.getNewLineCharacter()
1326
 
        };
1327
 
        this._emit("change", { data: delta });
1328
 
 
1329
 
        return end;
1330
 
    };
1331
 
    this.insertInLine = function(position, text) {
1332
 
        if (text.length == 0)
1333
 
            return position;
1334
 
 
1335
 
        var line = this.$lines[position.row] || "";
1336
 
 
1337
 
        this.$lines[position.row] = line.substring(0, position.column) + text
1338
 
                + line.substring(position.column);
1339
 
 
1340
 
        var end = {
1341
 
            row : position.row,
1342
 
            column : position.column + text.length
1343
 
        };
1344
 
 
1345
 
        var delta = {
1346
 
            action: "insertText",
1347
 
            range: Range.fromPoints(position, end),
1348
 
            text: text
1349
 
        };
1350
 
        this._emit("change", { data: delta });
1351
 
 
1352
 
        return end;
1353
 
    };
1354
 
    this.remove = function(range) {
1355
 
        range.start = this.$clipPosition(range.start);
1356
 
        range.end = this.$clipPosition(range.end);
1357
 
 
1358
 
        if (range.isEmpty())
1359
 
            return range.start;
1360
 
 
1361
 
        var firstRow = range.start.row;
1362
 
        var lastRow = range.end.row;
1363
 
 
1364
 
        if (range.isMultiLine()) {
1365
 
            var firstFullRow = range.start.column == 0 ? firstRow : firstRow + 1;
1366
 
            var lastFullRow = lastRow - 1;
1367
 
 
1368
 
            if (range.end.column > 0)
1369
 
                this.removeInLine(lastRow, 0, range.end.column);
1370
 
 
1371
 
            if (lastFullRow >= firstFullRow)
1372
 
                this.removeLines(firstFullRow, lastFullRow);
1373
 
 
1374
 
            if (firstFullRow != firstRow) {
1375
 
                this.removeInLine(firstRow, range.start.column, this.getLine(firstRow).length);
1376
 
                this.removeNewLine(range.start.row);
1377
 
            }
1378
 
        }
1379
 
        else {
1380
 
            this.removeInLine(firstRow, range.start.column, range.end.column);
1381
 
        }
1382
 
        return range.start;
1383
 
    };
1384
 
    this.removeInLine = function(row, startColumn, endColumn) {
1385
 
        if (startColumn == endColumn)
1386
 
            return;
1387
 
 
1388
 
        var range = new Range(row, startColumn, row, endColumn);
1389
 
        var line = this.getLine(row);
1390
 
        var removed = line.substring(startColumn, endColumn);
1391
 
        var newLine = line.substring(0, startColumn) + line.substring(endColumn, line.length);
1392
 
        this.$lines.splice(row, 1, newLine);
1393
 
 
1394
 
        var delta = {
1395
 
            action: "removeText",
1396
 
            range: range,
1397
 
            text: removed
1398
 
        };
1399
 
        this._emit("change", { data: delta });
1400
 
        return range.start;
1401
 
    };
1402
 
    this.removeLines = function(firstRow, lastRow) {
1403
 
        var range = new Range(firstRow, 0, lastRow + 1, 0);
1404
 
        var removed = this.$lines.splice(firstRow, lastRow - firstRow + 1);
1405
 
 
1406
 
        var delta = {
1407
 
            action: "removeLines",
1408
 
            range: range,
1409
 
            nl: this.getNewLineCharacter(),
1410
 
            lines: removed
1411
 
        };
1412
 
        this._emit("change", { data: delta });
1413
 
        return removed;
1414
 
    };
1415
 
    this.removeNewLine = function(row) {
1416
 
        var firstLine = this.getLine(row);
1417
 
        var secondLine = this.getLine(row+1);
1418
 
 
1419
 
        var range = new Range(row, firstLine.length, row+1, 0);
1420
 
        var line = firstLine + secondLine;
1421
 
 
1422
 
        this.$lines.splice(row, 2, line);
1423
 
 
1424
 
        var delta = {
1425
 
            action: "removeText",
1426
 
            range: range,
1427
 
            text: this.getNewLineCharacter()
1428
 
        };
1429
 
        this._emit("change", { data: delta });
1430
 
    };
1431
 
    this.replace = function(range, text) {
1432
 
        if (text.length == 0 && range.isEmpty())
1433
 
            return range.start;
1434
 
        if (text == this.getTextRange(range))
1435
 
            return range.end;
1436
 
 
1437
 
        this.remove(range);
1438
 
        if (text) {
1439
 
            var end = this.insert(range.start, text);
1440
 
        }
1441
 
        else {
1442
 
            end = range.start;
1443
 
        }
1444
 
 
1445
 
        return end;
1446
 
    };
1447
 
    this.applyDeltas = function(deltas) {
1448
 
        for (var i=0; i<deltas.length; i++) {
1449
 
            var delta = deltas[i];
1450
 
            var range = Range.fromPoints(delta.range.start, delta.range.end);
1451
 
 
1452
 
            if (delta.action == "insertLines")
1453
 
                this.insertLines(range.start.row, delta.lines);
1454
 
            else if (delta.action == "insertText")
1455
 
                this.insert(range.start, delta.text);
1456
 
            else if (delta.action == "removeLines")
1457
 
                this.removeLines(range.start.row, range.end.row - 1);
1458
 
            else if (delta.action == "removeText")
1459
 
                this.remove(range);
1460
 
        }
1461
 
    };
1462
 
    this.revertDeltas = function(deltas) {
1463
 
        for (var i=deltas.length-1; i>=0; i--) {
1464
 
            var delta = deltas[i];
1465
 
 
1466
 
            var range = Range.fromPoints(delta.range.start, delta.range.end);
1467
 
 
1468
 
            if (delta.action == "insertLines")
1469
 
                this.removeLines(range.start.row, range.end.row - 1);
1470
 
            else if (delta.action == "insertText")
1471
 
                this.remove(range);
1472
 
            else if (delta.action == "removeLines")
1473
 
                this.insertLines(range.start.row, delta.lines);
1474
 
            else if (delta.action == "removeText")
1475
 
                this.insert(range.start, delta.text);
1476
 
        }
1477
 
    };
1478
 
    this.indexToPosition = function(index, startRow) {
1479
 
        var lines = this.$lines || this.getAllLines();
1480
 
        var newlineLength = this.getNewLineCharacter().length;
1481
 
        for (var i = startRow || 0, l = lines.length; i < l; i++) {
1482
 
            index -= lines[i].length + newlineLength;
1483
 
            if (index < 0)
1484
 
                return {row: i, column: index + lines[i].length + newlineLength};
1485
 
        }
1486
 
        return {row: l-1, column: lines[l-1].length};
1487
 
    };
1488
 
    this.positionToIndex = function(pos, startRow) {
1489
 
        var lines = this.$lines || this.getAllLines();
1490
 
        var newlineLength = this.getNewLineCharacter().length;
1491
 
        var index = 0;
1492
 
        var row = Math.min(pos.row, lines.length);
1493
 
        for (var i = startRow || 0; i < row; ++i)
1494
 
            index += lines[i].length;
1495
 
 
1496
 
        return index + newlineLength * i + pos.column;
1497
 
    };
1498
 
 
1499
 
}).call(Document.prototype);
1500
 
 
1501
 
exports.Document = Document;
1502
 
});
1503
 
 
1504
 
define('ace/range', ['require', 'exports', 'module' ], function(require, exports, module) {
1505
 
 
1506
 
var comparePoints = function(p1, p2) {
1507
 
    return p1.row - p2.row || p1.column - p2.column;
1508
 
};
1509
 
var Range = function(startRow, startColumn, endRow, endColumn) {
1510
 
    this.start = {
1511
 
        row: startRow,
1512
 
        column: startColumn
1513
 
    };
1514
 
 
1515
 
    this.end = {
1516
 
        row: endRow,
1517
 
        column: endColumn
1518
 
    };
1519
 
};
1520
 
 
1521
 
(function() {
1522
 
    this.isEqual = function(range) {
1523
 
        return this.start.row === range.start.row &&
1524
 
            this.end.row === range.end.row &&
1525
 
            this.start.column === range.start.column &&
1526
 
            this.end.column === range.end.column;
1527
 
    };
1528
 
    this.toString = function() {
1529
 
        return ("Range: [" + this.start.row + "/" + this.start.column +
1530
 
            "] -> [" + this.end.row + "/" + this.end.column + "]");
1531
 
    };
1532
 
 
1533
 
    this.contains = function(row, column) {
1534
 
        return this.compare(row, column) == 0;
1535
 
    };
1536
 
    this.compareRange = function(range) {
1537
 
        var cmp,
1538
 
            end = range.end,
1539
 
            start = range.start;
1540
 
 
1541
 
        cmp = this.compare(end.row, end.column);
1542
 
        if (cmp == 1) {
1543
 
            cmp = this.compare(start.row, start.column);
1544
 
            if (cmp == 1) {
1545
 
                return 2;
1546
 
            } else if (cmp == 0) {
1547
 
                return 1;
1548
 
            } else {
1549
 
                return 0;
1550
 
            }
1551
 
        } else if (cmp == -1) {
1552
 
            return -2;
1553
 
        } else {
1554
 
            cmp = this.compare(start.row, start.column);
1555
 
            if (cmp == -1) {
1556
 
                return -1;
1557
 
            } else if (cmp == 1) {
1558
 
                return 42;
1559
 
            } else {
1560
 
                return 0;
1561
 
            }
1562
 
        }
1563
 
    };
1564
 
    this.comparePoint = function(p) {
1565
 
        return this.compare(p.row, p.column);
1566
 
    };
1567
 
    this.containsRange = function(range) {
1568
 
        return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
1569
 
    };
1570
 
    this.intersects = function(range) {
1571
 
        var cmp = this.compareRange(range);
1572
 
        return (cmp == -1 || cmp == 0 || cmp == 1);
1573
 
    };
1574
 
    this.isEnd = function(row, column) {
1575
 
        return this.end.row == row && this.end.column == column;
1576
 
    };
1577
 
    this.isStart = function(row, column) {
1578
 
        return this.start.row == row && this.start.column == column;
1579
 
    };
1580
 
    this.setStart = function(row, column) {
1581
 
        if (typeof row == "object") {
1582
 
            this.start.column = row.column;
1583
 
            this.start.row = row.row;
1584
 
        } else {
1585
 
            this.start.row = row;
1586
 
            this.start.column = column;
1587
 
        }
1588
 
    };
1589
 
    this.setEnd = function(row, column) {
1590
 
        if (typeof row == "object") {
1591
 
            this.end.column = row.column;
1592
 
            this.end.row = row.row;
1593
 
        } else {
1594
 
            this.end.row = row;
1595
 
            this.end.column = column;
1596
 
        }
1597
 
    };
1598
 
    this.inside = function(row, column) {
1599
 
        if (this.compare(row, column) == 0) {
1600
 
            if (this.isEnd(row, column) || this.isStart(row, column)) {
1601
 
                return false;
1602
 
            } else {
1603
 
                return true;
1604
 
            }
1605
 
        }
1606
 
        return false;
1607
 
    };
1608
 
    this.insideStart = function(row, column) {
1609
 
        if (this.compare(row, column) == 0) {
1610
 
            if (this.isEnd(row, column)) {
1611
 
                return false;
1612
 
            } else {
1613
 
                return true;
1614
 
            }
1615
 
        }
1616
 
        return false;
1617
 
    };
1618
 
    this.insideEnd = function(row, column) {
1619
 
        if (this.compare(row, column) == 0) {
1620
 
            if (this.isStart(row, column)) {
1621
 
                return false;
1622
 
            } else {
1623
 
                return true;
1624
 
            }
1625
 
        }
1626
 
        return false;
1627
 
    };
1628
 
    this.compare = function(row, column) {
1629
 
        if (!this.isMultiLine()) {
1630
 
            if (row === this.start.row) {
1631
 
                return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
1632
 
            };
1633
 
        }
1634
 
 
1635
 
        if (row < this.start.row)
1636
 
            return -1;
1637
 
 
1638
 
        if (row > this.end.row)
1639
 
            return 1;
1640
 
 
1641
 
        if (this.start.row === row)
1642
 
            return column >= this.start.column ? 0 : -1;
1643
 
 
1644
 
        if (this.end.row === row)
1645
 
            return column <= this.end.column ? 0 : 1;
1646
 
 
1647
 
        return 0;
1648
 
    };
1649
 
    this.compareStart = function(row, column) {
1650
 
        if (this.start.row == row && this.start.column == column) {
1651
 
            return -1;
1652
 
        } else {
1653
 
            return this.compare(row, column);
1654
 
        }
1655
 
    };
1656
 
    this.compareEnd = function(row, column) {
1657
 
        if (this.end.row == row && this.end.column == column) {
1658
 
            return 1;
1659
 
        } else {
1660
 
            return this.compare(row, column);
1661
 
        }
1662
 
    };
1663
 
    this.compareInside = function(row, column) {
1664
 
        if (this.end.row == row && this.end.column == column) {
1665
 
            return 1;
1666
 
        } else if (this.start.row == row && this.start.column == column) {
1667
 
            return -1;
1668
 
        } else {
1669
 
            return this.compare(row, column);
1670
 
        }
1671
 
    };
1672
 
    this.clipRows = function(firstRow, lastRow) {
1673
 
        if (this.end.row > lastRow)
1674
 
            var end = {row: lastRow + 1, column: 0};
1675
 
        else if (this.end.row < firstRow)
1676
 
            var end = {row: firstRow, column: 0};
1677
 
 
1678
 
        if (this.start.row > lastRow)
1679
 
            var start = {row: lastRow + 1, column: 0};
1680
 
        else if (this.start.row < firstRow)
1681
 
            var start = {row: firstRow, column: 0};
1682
 
 
1683
 
        return Range.fromPoints(start || this.start, end || this.end);
1684
 
    };
1685
 
    this.extend = function(row, column) {
1686
 
        var cmp = this.compare(row, column);
1687
 
 
1688
 
        if (cmp == 0)
1689
 
            return this;
1690
 
        else if (cmp == -1)
1691
 
            var start = {row: row, column: column};
1692
 
        else
1693
 
            var end = {row: row, column: column};
1694
 
 
1695
 
        return Range.fromPoints(start || this.start, end || this.end);
1696
 
    };
1697
 
 
1698
 
    this.isEmpty = function() {
1699
 
        return (this.start.row === this.end.row && this.start.column === this.end.column);
1700
 
    };
1701
 
    this.isMultiLine = function() {
1702
 
        return (this.start.row !== this.end.row);
1703
 
    };
1704
 
    this.clone = function() {
1705
 
        return Range.fromPoints(this.start, this.end);
1706
 
    };
1707
 
    this.collapseRows = function() {
1708
 
        if (this.end.column == 0)
1709
 
            return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
1710
 
        else
1711
 
            return new Range(this.start.row, 0, this.end.row, 0)
1712
 
    };
1713
 
    this.toScreenRange = function(session) {
1714
 
        var screenPosStart = session.documentToScreenPosition(this.start);
1715
 
        var screenPosEnd = session.documentToScreenPosition(this.end);
1716
 
 
1717
 
        return new Range(
1718
 
            screenPosStart.row, screenPosStart.column,
1719
 
            screenPosEnd.row, screenPosEnd.column
1720
 
        );
1721
 
    };
1722
 
    this.moveBy = function(row, column) {
1723
 
        this.start.row += row;
1724
 
        this.start.column += column;
1725
 
        this.end.row += row;
1726
 
        this.end.column += column;
1727
 
    };
1728
 
 
1729
 
}).call(Range.prototype);
1730
 
Range.fromPoints = function(start, end) {
1731
 
    return new Range(start.row, start.column, end.row, end.column);
1732
 
};
1733
 
Range.comparePoints = comparePoints;
1734
 
 
1735
 
exports.Range = Range;
1736
 
});
1737
 
 
1738
 
define('ace/anchor', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/event_emitter'], function(require, exports, module) {
1739
 
 
1740
 
 
1741
 
var oop = require("./lib/oop");
1742
 
var EventEmitter = require("./lib/event_emitter").EventEmitter;
1743
 
 
1744
 
var Anchor = exports.Anchor = function(doc, row, column) {
1745
 
    this.document = doc;
1746
 
    
1747
 
    if (typeof column == "undefined")
1748
 
        this.setPosition(row.row, row.column);
1749
 
    else
1750
 
        this.setPosition(row, column);
1751
 
 
1752
 
    this.$onChange = this.onChange.bind(this);
1753
 
    doc.on("change", this.$onChange);
1754
 
};
1755
 
 
1756
 
(function() {
1757
 
 
1758
 
    oop.implement(this, EventEmitter);
1759
 
 
1760
 
    this.getPosition = function() {
1761
 
        return this.$clipPositionToDocument(this.row, this.column);
1762
 
    };
1763
 
        
1764
 
    this.getDocument = function() {
1765
 
        return this.document;
1766
 
    };
1767
 
 
1768
 
    this.onChange = function(e) {
1769
 
        var delta = e.data;
1770
 
        var range = delta.range;
1771
 
            
1772
 
        if (range.start.row == range.end.row && range.start.row != this.row)
1773
 
            return;
1774
 
            
1775
 
        if (range.start.row > this.row)
1776
 
            return;
1777
 
            
1778
 
        if (range.start.row == this.row && range.start.column > this.column)
1779
 
            return;
1780
 
    
1781
 
        var row = this.row;
1782
 
        var column = this.column;
1783
 
        
1784
 
        if (delta.action === "insertText") {
1785
 
            if (range.start.row === row && range.start.column <= column) {
1786
 
                if (range.start.row === range.end.row) {
1787
 
                    column += range.end.column - range.start.column;
1788
 
                }
1789
 
                else {
1790
 
                    column -= range.start.column;
1791
 
                    row += range.end.row - range.start.row;
1792
 
                }
1793
 
            }
1794
 
            else if (range.start.row !== range.end.row && range.start.row < row) {
1795
 
                row += range.end.row - range.start.row;
1796
 
            }
1797
 
        } else if (delta.action === "insertLines") {
1798
 
            if (range.start.row <= row) {
1799
 
                row += range.end.row - range.start.row;
1800
 
            }
1801
 
        }
1802
 
        else if (delta.action == "removeText") {
1803
 
            if (range.start.row == row && range.start.column < column) {
1804
 
                if (range.end.column >= column)
1805
 
                    column = range.start.column;
1806
 
                else
1807
 
                    column = Math.max(0, column - (range.end.column - range.start.column));
1808
 
                
1809
 
            } else if (range.start.row !== range.end.row && range.start.row < row) {
1810
 
                if (range.end.row == row) {
1811
 
                    column = Math.max(0, column - range.end.column) + range.start.column;
1812
 
                }
1813
 
                row -= (range.end.row - range.start.row);
1814
 
            }
1815
 
            else if (range.end.row == row) {
1816
 
                row -= range.end.row - range.start.row;
1817
 
                column = Math.max(0, column - range.end.column) + range.start.column;
1818
 
            }
1819
 
        } else if (delta.action == "removeLines") {
1820
 
            if (range.start.row <= row) {
1821
 
                if (range.end.row <= row)
1822
 
                    row -= range.end.row - range.start.row;
1823
 
                else {
1824
 
                    row = range.start.row;
1825
 
                    column = 0;
1826
 
                }
1827
 
            }
1828
 
        }
1829
 
 
1830
 
        this.setPosition(row, column, true);
1831
 
    };
1832
 
 
1833
 
    this.setPosition = function(row, column, noClip) {
1834
 
        var pos;
1835
 
        if (noClip) {
1836
 
            pos = {
1837
 
                row: row,
1838
 
                column: column
1839
 
            };
1840
 
        }
1841
 
        else {
1842
 
            pos = this.$clipPositionToDocument(row, column);
1843
 
        }
1844
 
        
1845
 
        if (this.row == pos.row && this.column == pos.column)
1846
 
            return;
1847
 
            
1848
 
        var old = {
1849
 
            row: this.row,
1850
 
            column: this.column
1851
 
        };
1852
 
        
1853
 
        this.row = pos.row;
1854
 
        this.column = pos.column;
1855
 
        this._emit("change", {
1856
 
            old: old,
1857
 
            value: pos
1858
 
        });
1859
 
    };
1860
 
 
1861
 
    this.detach = function() {
1862
 
        this.document.removeEventListener("change", this.$onChange);
1863
 
    };
1864
 
    this.$clipPositionToDocument = function(row, column) {
1865
 
        var pos = {};
1866
 
    
1867
 
        if (row >= this.document.getLength()) {
1868
 
            pos.row = Math.max(0, this.document.getLength() - 1);
1869
 
            pos.column = this.document.getLine(pos.row).length;
1870
 
        }
1871
 
        else if (row < 0) {
1872
 
            pos.row = 0;
1873
 
            pos.column = 0;
1874
 
        }
1875
 
        else {
1876
 
            pos.row = row;
1877
 
            pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
1878
 
        }
1879
 
        
1880
 
        if (column < 0)
1881
 
            pos.column = 0;
1882
 
            
1883
 
        return pos;
1884
 
    };
1885
 
    
1886
 
}).call(Anchor.prototype);
1887
 
 
1888
 
});
1889
 
 
1890
 
define('ace/lib/lang', ['require', 'exports', 'module' ], function(require, exports, module) {
1891
 
 
1892
 
 
1893
 
exports.stringReverse = function(string) {
1894
 
    return string.split("").reverse().join("");
1895
 
};
1896
 
 
1897
 
exports.stringRepeat = function (string, count) {
1898
 
    var result = '';
1899
 
    while (count > 0) {
1900
 
        if (count & 1)
1901
 
            result += string;
1902
 
 
1903
 
        if (count >>= 1)
1904
 
            string += string;
1905
 
    }
1906
 
    return result;
1907
 
};
1908
 
 
1909
 
var trimBeginRegexp = /^\s\s*/;
1910
 
var trimEndRegexp = /\s\s*$/;
1911
 
 
1912
 
exports.stringTrimLeft = function (string) {
1913
 
    return string.replace(trimBeginRegexp, '');
1914
 
};
1915
 
 
1916
 
exports.stringTrimRight = function (string) {
1917
 
    return string.replace(trimEndRegexp, '');
1918
 
};
1919
 
 
1920
 
exports.copyObject = function(obj) {
1921
 
    var copy = {};
1922
 
    for (var key in obj) {
1923
 
        copy[key] = obj[key];
1924
 
    }
1925
 
    return copy;
1926
 
};
1927
 
 
1928
 
exports.copyArray = function(array){
1929
 
    var copy = [];
1930
 
    for (var i=0, l=array.length; i<l; i++) {
1931
 
        if (array[i] && typeof array[i] == "object")
1932
 
            copy[i] = this.copyObject( array[i] );
1933
 
        else 
1934
 
            copy[i] = array[i];
1935
 
    }
1936
 
    return copy;
1937
 
};
1938
 
 
1939
 
exports.deepCopy = function (obj) {
1940
 
    if (typeof obj != "object") {
1941
 
        return obj;
1942
 
    }
1943
 
    
1944
 
    var copy = obj.constructor();
1945
 
    for (var key in obj) {
1946
 
        if (typeof obj[key] == "object") {
1947
 
            copy[key] = this.deepCopy(obj[key]);
1948
 
        } else {
1949
 
            copy[key] = obj[key];
1950
 
        }
1951
 
    }
1952
 
    return copy;
1953
 
};
1954
 
 
1955
 
exports.arrayToMap = function(arr) {
1956
 
    var map = {};
1957
 
    for (var i=0; i<arr.length; i++) {
1958
 
        map[arr[i]] = 1;
1959
 
    }
1960
 
    return map;
1961
 
 
1962
 
};
1963
 
 
1964
 
exports.createMap = function(props) {
1965
 
    var map = Object.create(null);
1966
 
    for (var i in props) {
1967
 
        map[i] = props[i];
1968
 
    }
1969
 
    return map;
1970
 
};
1971
 
exports.arrayRemove = function(array, value) {
1972
 
  for (var i = 0; i <= array.length; i++) {
1973
 
    if (value === array[i]) {
1974
 
      array.splice(i, 1);
1975
 
    }
1976
 
  }
1977
 
};
1978
 
 
1979
 
exports.escapeRegExp = function(str) {
1980
 
    return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
1981
 
};
1982
 
 
1983
 
exports.escapeHTML = function(str) {
1984
 
    return str.replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
1985
 
};
1986
 
 
1987
 
exports.getMatchOffsets = function(string, regExp) {
1988
 
    var matches = [];
1989
 
 
1990
 
    string.replace(regExp, function(str) {
1991
 
        matches.push({
1992
 
            offset: arguments[arguments.length-2],
1993
 
            length: str.length
1994
 
        });
1995
 
    });
1996
 
 
1997
 
    return matches;
1998
 
};
1999
 
exports.deferredCall = function(fcn) {
2000
 
 
2001
 
    var timer = null;
2002
 
    var callback = function() {
2003
 
        timer = null;
2004
 
        fcn();
2005
 
    };
2006
 
 
2007
 
    var deferred = function(timeout) {
2008
 
        deferred.cancel();
2009
 
        timer = setTimeout(callback, timeout || 0);
2010
 
        return deferred;
2011
 
    };
2012
 
 
2013
 
    deferred.schedule = deferred;
2014
 
 
2015
 
    deferred.call = function() {
2016
 
        this.cancel();
2017
 
        fcn();
2018
 
        return deferred;
2019
 
    };
2020
 
 
2021
 
    deferred.cancel = function() {
2022
 
        clearTimeout(timer);
2023
 
        timer = null;
2024
 
        return deferred;
2025
 
    };
2026
 
 
2027
 
    return deferred;
2028
 
};
2029
 
 
2030
 
 
2031
 
exports.delayedCall = function(fcn, defaultTimeout) {
2032
 
    var timer = null;
2033
 
    var callback = function() {
2034
 
        timer = null;
2035
 
        fcn();
2036
 
    };
2037
 
 
2038
 
    var _self = function(timeout) {
2039
 
        timer && clearTimeout(timer);
2040
 
        timer = setTimeout(callback, timeout || defaultTimeout);
2041
 
    };
2042
 
 
2043
 
    _self.delay = _self;
2044
 
    _self.schedule = function(timeout) {
2045
 
        if (timer == null)
2046
 
            timer = setTimeout(callback, timeout || 0);
2047
 
    };
2048
 
 
2049
 
    _self.call = function() {
2050
 
        this.cancel();
2051
 
        fcn();
2052
 
    };
2053
 
 
2054
 
    _self.cancel = function() {
2055
 
        timer && clearTimeout(timer);
2056
 
        timer = null;
2057
 
    };
2058
 
 
2059
 
    _self.isPending = function() {
2060
 
        return timer;
2061
 
    };
2062
 
 
2063
 
    return _self;
2064
 
};
2065
 
});
2066
 
 
2067
 
define('ace/mode/xquery/JSONParseTreeHandler', ['require', 'exports', 'module' ], function(require, exports, module) {
2068
 
 
2069
 
  var JSONParseTreeHandler = exports.JSONParseTreeHandler = function(code) {
2070
 
    var list = [
2071
 
        "OrExpr", "AndExpr", "ComparisonExpr", "StringConcatExpr", "RangeExpr"
2072
 
        , "UnionExpr", "IntersectExceptExpr", "InstanceofExpr", "TreatExpr", "CastableExpr"
2073
 
        , "CastExpr", "UnaryExpr", "ValueExpr", "FTContainsExpr", "SimpleMapExpr", "PathExpr", "RelativePathExpr"
2074
 
        , "PostfixExpr", "StepExpr"
2075
 
    ];
2076
 
    
2077
 
    var ast = null;
2078
 
    var ptr = null;
2079
 
    var remains = code;
2080
 
    var cursor = 0;
2081
 
    var lineCursor = 0;
2082
 
    var line = 0;
2083
 
    var col = 0;
2084
 
 
2085
 
    function createNode(name){
2086
 
      return { name: name, children: [], getParent: null, pos: { sl: 0, sc: 0, el: 0, ec: 0 } };
2087
 
    }
2088
 
  
2089
 
    function pushNode(name, begin){
2090
 
      var node = createNode(name);
2091
 
      if(ast === null) {
2092
 
        ast = node;
2093
 
        ptr = node;
2094
 
      } else {
2095
 
        node.getParent = ptr;
2096
 
        ptr.children.push(node);
2097
 
        ptr = ptr.children[ptr.children.length - 1];
2098
 
      }
2099
 
    }
2100
 
    
2101
 
    function popNode(){
2102
 
     
2103
 
      if(ptr.children.length > 0) {
2104
 
        var s = ptr.children[0];
2105
 
        var e = null;
2106
 
        for(var i= ptr.children.length - 1; i >= 0;i--) {
2107
 
          e = ptr.children[i];
2108
 
          if(e.pos.el !== 0 || e.pos.ec !== 0) {
2109
 
            break;
2110
 
          }
2111
 
        }
2112
 
        ptr.pos.sl = s.pos.sl;
2113
 
        ptr.pos.sc = s.pos.sc;
2114
 
        ptr.pos.el = e.pos.el;
2115
 
        ptr.pos.ec = e.pos.ec;
2116
 
      }
2117
 
      if(ptr.name === "FunctionName") {
2118
 
        ptr.name = "EQName";  
2119
 
      }
2120
 
      if(ptr.name === "EQName" && ptr.value === undefined) {
2121
 
        ptr.value = ptr.children[0].value;
2122
 
        ptr.children.pop();
2123
 
      }
2124
 
      
2125
 
      if(ptr.getParent !== null) {
2126
 
        ptr = ptr.getParent;
2127
 
      } else {
2128
 
      }
2129
 
      if(ptr.children.length > 0) {
2130
 
        var lastChild = ptr.children[ptr.children.length - 1];
2131
 
        if(lastChild.children.length === 1 && list.indexOf(lastChild.name) !== -1) {
2132
 
          ptr.children[ptr.children.length - 1] = lastChild.children[0];
2133
 
        }
2134
 
      }
2135
 
    }
2136
 
    
2137
 
    this.closeParseTree = function() {
2138
 
      while(ptr.getParent !== null) {
2139
 
        popNode();
2140
 
      }
2141
 
      popNode();
2142
 
    };
2143
 
 
2144
 
    this.peek = function() {
2145
 
      return ptr;    
2146
 
    };
2147
 
    
2148
 
    this.getParseTree = function() {
2149
 
      return ast;
2150
 
    };
2151
 
 
2152
 
    this.reset = function(input) {};
2153
 
 
2154
 
    this.startNonterminal = function(name, begin) {
2155
 
      pushNode(name, begin);
2156
 
    };
2157
 
 
2158
 
    this.endNonterminal = function(name, end) {
2159
 
      popNode();
2160
 
    };
2161
 
 
2162
 
    this.terminal = function(name, begin, end) {
2163
 
      name = (name.substring(0, 1) === "'" && name.substring(name.length - 1) === "'") ? "TOKEN" : name;
2164
 
      pushNode(name, begin); 
2165
 
      setValue(ptr, begin, end);
2166
 
      popNode();
2167
 
    };
2168
 
 
2169
 
    this.whitespace = function(begin, end) {
2170
 
      var name = "WS";
2171
 
      pushNode(name, begin);
2172
 
      setValue(ptr, begin, end);
2173
 
      popNode();
2174
 
    };
2175
 
 
2176
 
    function setValue(node, begin, end) {
2177
 
      
2178
 
      var e = end - cursor;
2179
 
      ptr.value = remains.substring(0, e); 
2180
 
      remains = remains.substring(e);
2181
 
      cursor = end;
2182
 
      
2183
 
      var sl = line;
2184
 
      var sc = lineCursor;
2185
 
      var el = sl + ptr.value.split("\n").length - 1;
2186
 
      var lastIdx = ptr.value.lastIndexOf("\n");
2187
 
      var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx + 1).length;
2188
 
      
2189
 
      line = el;
2190
 
      lineCursor = ec;
2191
 
 
2192
 
      ptr.pos.sl = sl; 
2193
 
      ptr.pos.sc = sc; 
2194
 
      ptr.pos.el = el; 
2195
 
      ptr.pos.ec = ec; 
2196
 
    } 
2197
 
  };
2198
 
});
2199
 
 
2200
 
                                                            define('ace/mode/xquery/XQueryParser', ['require', 'exports', 'module' ], function(require, exports, module) {
2201
 
                                                            var XQueryParser = exports.XQueryParser = function XQueryParser(string, parsingEventHandler)
2202
 
                                                            {
2203
 
                                                              init(string, parsingEventHandler);
2204
 
  var self = this;
2205
 
 
2206
 
  this.ParseException = function(b, e, s, o, x)
2207
 
  {
2208
 
    var
2209
 
      begin = b,
2210
 
      end = e,
2211
 
      state = s,
2212
 
      offending = o,
2213
 
      expected = x;
2214
 
 
2215
 
    this.getBegin = function() {return begin;};
2216
 
    this.getEnd = function() {return end;};
2217
 
    this.getState = function() {return state;};
2218
 
    this.getExpected = function() {return expected;};
2219
 
    this.getOffending = function() {return offending;};
2220
 
 
2221
 
    this.getMessage = function()
2222
 
    {
2223
 
      return offending < 0 ? "lexical analysis failed" : "syntax error";
2224
 
    };
2225
 
  };
2226
 
 
2227
 
  function init(string, parsingEventHandler)
2228
 
  {
2229
 
    eventHandler = parsingEventHandler;
2230
 
    input = string;
2231
 
    size = string.length;
2232
 
    reset(0, 0, 0);
2233
 
  }
2234
 
 
2235
 
  this.getInput = function()
2236
 
  {
2237
 
    return input;
2238
 
  };
2239
 
 
2240
 
  function reset(l, b, e)
2241
 
  {
2242
 
                 b0 = b; e0 = b;
2243
 
    l1 = l; b1 = b; e1 = e;
2244
 
    l2 = 0;
2245
 
    end = e;
2246
 
    ex = -1;
2247
 
    memo = {};
2248
 
    eventHandler.reset(input);
2249
 
  }
2250
 
 
2251
 
  this.getOffendingToken = function(e)
2252
 
  {
2253
 
    var o = e.getOffending();
2254
 
    return o >= 0 ? XQueryParser.TOKEN[o] : null;
2255
 
  };
2256
 
 
2257
 
  this.getExpectedTokenSet = function(e)
2258
 
  {
2259
 
    var expected;
2260
 
    if (e.getExpected() < 0)
2261
 
    {
2262
 
      expected = XQueryParser.getTokenSet(- e.getState());
2263
 
    }
2264
 
    else
2265
 
    {
2266
 
      expected = [XQueryParser.TOKEN[e.getExpected()]];
2267
 
    }
2268
 
    return expected;
2269
 
  };
2270
 
 
2271
 
  this.getErrorMessage = function(e)
2272
 
  {
2273
 
    var tokenSet = this.getExpectedTokenSet(e);
2274
 
    var found = this.getOffendingToken(e);
2275
 
    var prefix = input.substring(0, e.getBegin());
2276
 
    var lines = prefix.split("\n");
2277
 
    var line = lines.length;
2278
 
    var column = lines[line - 1].length + 1;
2279
 
    var size = e.getEnd() - e.getBegin();
2280
 
    return e.getMessage()
2281
 
         + (found == null ? "" : ", found " + found)
2282
 
         + "\nwhile expecting "
2283
 
         + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
2284
 
         + "\n"
2285
 
         + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
2286
 
         + "at line " + line + ", column " + column + ":\n..."
2287
 
         + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
2288
 
         + "...";
2289
 
  };
2290
 
 
2291
 
  this.parse_XQuery = function()
2292
 
  {
2293
 
    eventHandler.startNonterminal("XQuery", e0);
2294
 
    lookahead1W(268);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
2295
 
    whitespace();
2296
 
    parse_Module();
2297
 
    shift(25);                      // EOF
2298
 
    eventHandler.endNonterminal("XQuery", e0);
2299
 
  };
2300
 
 
2301
 
  function parse_Module()
2302
 
  {
2303
 
    eventHandler.startNonterminal("Module", e0);
2304
 
    switch (l1)
2305
 
    {
2306
 
    case 274:                       // 'xquery'
2307
 
      lookahead2W(199);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
2308
 
      break;
2309
 
    default:
2310
 
      lk = l1;
2311
 
    }
2312
 
    if (lk == 64274                 // 'xquery' 'encoding'
2313
 
     || lk == 134930)               // 'xquery' 'version'
2314
 
    {
2315
 
      parse_VersionDecl();
2316
 
    }
2317
 
    lookahead1W(268);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
2318
 
    switch (l1)
2319
 
    {
2320
 
    case 182:                       // 'module'
2321
 
      lookahead2W(194);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
2322
 
      break;
2323
 
    default:
2324
 
      lk = l1;
2325
 
    }
2326
 
    switch (lk)
2327
 
    {
2328
 
    case 94390:                     // 'module' 'namespace'
2329
 
      whitespace();
2330
 
      parse_LibraryModule();
2331
 
      break;
2332
 
    default:
2333
 
      whitespace();
2334
 
      parse_MainModule();
2335
 
    }
2336
 
    eventHandler.endNonterminal("Module", e0);
2337
 
  }
2338
 
 
2339
 
  function parse_VersionDecl()
2340
 
  {
2341
 
    eventHandler.startNonterminal("VersionDecl", e0);
2342
 
    shift(274);                     // 'xquery'
2343
 
    lookahead1W(116);               // S^WS | '(:' | 'encoding' | 'version'
2344
 
    switch (l1)
2345
 
    {
2346
 
    case 125:                       // 'encoding'
2347
 
      shift(125);                   // 'encoding'
2348
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
2349
 
      shift(11);                    // StringLiteral
2350
 
      break;
2351
 
    default:
2352
 
      shift(263);                   // 'version'
2353
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
2354
 
      shift(11);                    // StringLiteral
2355
 
      lookahead1W(109);             // S^WS | '(:' | ';' | 'encoding'
2356
 
      if (l1 == 125)                // 'encoding'
2357
 
      {
2358
 
        shift(125);                 // 'encoding'
2359
 
        lookahead1W(17);            // StringLiteral | S^WS | '(:'
2360
 
        shift(11);                  // StringLiteral
2361
 
      }
2362
 
    }
2363
 
    lookahead1W(28);                // S^WS | '(:' | ';'
2364
 
    whitespace();
2365
 
    parse_Separator();
2366
 
    eventHandler.endNonterminal("VersionDecl", e0);
2367
 
  }
2368
 
 
2369
 
  function parse_LibraryModule()
2370
 
  {
2371
 
    eventHandler.startNonterminal("LibraryModule", e0);
2372
 
    parse_ModuleDecl();
2373
 
    lookahead1W(138);               // S^WS | EOF | '(:' | 'declare' | 'import'
2374
 
    whitespace();
2375
 
    parse_Prolog();
2376
 
    eventHandler.endNonterminal("LibraryModule", e0);
2377
 
  }
2378
 
 
2379
 
  function parse_ModuleDecl()
2380
 
  {
2381
 
    eventHandler.startNonterminal("ModuleDecl", e0);
2382
 
    shift(182);                     // 'module'
2383
 
    lookahead1W(61);                // S^WS | '(:' | 'namespace'
2384
 
    shift(184);                     // 'namespace'
2385
 
    lookahead1W(247);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
2386
 
    whitespace();
2387
 
    parse_NCName();
2388
 
    lookahead1W(29);                // S^WS | '(:' | '='
2389
 
    shift(60);                      // '='
2390
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2391
 
    shift(7);                       // URILiteral
2392
 
    lookahead1W(28);                // S^WS | '(:' | ';'
2393
 
    whitespace();
2394
 
    parse_Separator();
2395
 
    eventHandler.endNonterminal("ModuleDecl", e0);
2396
 
  }
2397
 
 
2398
 
  function parse_Prolog()
2399
 
  {
2400
 
    eventHandler.startNonterminal("Prolog", e0);
2401
 
    for (;;)
2402
 
    {
2403
 
      lookahead1W(268);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
2404
 
      switch (l1)
2405
 
      {
2406
 
      case 108:                     // 'declare'
2407
 
        lookahead2W(213);           // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
2408
 
        break;
2409
 
      case 153:                     // 'import'
2410
 
        lookahead2W(201);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
2411
 
        break;
2412
 
      default:
2413
 
        lk = l1;
2414
 
      }
2415
 
      if (lk != 42604               // 'declare' 'base-uri'
2416
 
       && lk != 43628               // 'declare' 'boundary-space'
2417
 
       && lk != 50284               // 'declare' 'construction'
2418
 
       && lk != 53356               // 'declare' 'copy-namespaces'
2419
 
       && lk != 54380               // 'declare' 'decimal-format'
2420
 
       && lk != 55916               // 'declare' 'default'
2421
 
       && lk != 72300               // 'declare' 'ft-option'
2422
 
       && lk != 93337               // 'import' 'module'
2423
 
       && lk != 94316               // 'declare' 'namespace'
2424
 
       && lk != 104044              // 'declare' 'ordering'
2425
 
       && lk != 113772              // 'declare' 'revalidation'
2426
 
       && lk != 115353)             // 'import' 'schema'
2427
 
      {
2428
 
        break;
2429
 
      }
2430
 
      switch (l1)
2431
 
      {
2432
 
      case 108:                     // 'declare'
2433
 
        lookahead2W(178);           // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
2434
 
        break;
2435
 
      default:
2436
 
        lk = l1;
2437
 
      }
2438
 
      if (lk == 55916)              // 'declare' 'default'
2439
 
      {
2440
 
        lk = memoized(0, e0);
2441
 
        if (lk == 0)
2442
 
        {
2443
 
          var b0A = b0; var e0A = e0; var l1A = l1;
2444
 
          var b1A = b1; var e1A = e1; var l2A = l2;
2445
 
          var b2A = b2; var e2A = e2;
2446
 
          try
2447
 
          {
2448
 
            try_DefaultNamespaceDecl();
2449
 
            lk = -1;
2450
 
          }
2451
 
          catch (p1A)
2452
 
          {
2453
 
            lk = -2;
2454
 
          }
2455
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
2456
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
2457
 
          b2 = b2A; e2 = e2A; end = e2A; }}
2458
 
          memoize(0, e0, lk);
2459
 
        }
2460
 
      }
2461
 
      switch (lk)
2462
 
      {
2463
 
      case -1:
2464
 
        whitespace();
2465
 
        parse_DefaultNamespaceDecl();
2466
 
        break;
2467
 
      case 94316:                   // 'declare' 'namespace'
2468
 
        whitespace();
2469
 
        parse_NamespaceDecl();
2470
 
        break;
2471
 
      case 153:                     // 'import'
2472
 
        whitespace();
2473
 
        parse_Import();
2474
 
        break;
2475
 
      case 72300:                   // 'declare' 'ft-option'
2476
 
        whitespace();
2477
 
        parse_FTOptionDecl();
2478
 
        break;
2479
 
      default:
2480
 
        whitespace();
2481
 
        parse_Setter();
2482
 
      }
2483
 
      lookahead1W(28);              // S^WS | '(:' | ';'
2484
 
      whitespace();
2485
 
      parse_Separator();
2486
 
    }
2487
 
    for (;;)
2488
 
    {
2489
 
      lookahead1W(268);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
2490
 
      switch (l1)
2491
 
      {
2492
 
      case 108:                     // 'declare'
2493
 
        lookahead2W(210);           // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
2494
 
        break;
2495
 
      default:
2496
 
        lk = l1;
2497
 
      }
2498
 
      if (lk != 16492               // 'declare' '%'
2499
 
       && lk != 48748               // 'declare' 'collection'
2500
 
       && lk != 51820               // 'declare' 'context'
2501
 
       && lk != 74348               // 'declare' 'function'
2502
 
       && lk != 79468               // 'declare' 'index'
2503
 
       && lk != 82540               // 'declare' 'integrity'
2504
 
       && lk != 101996              // 'declare' 'option'
2505
 
       && lk != 131692              // 'declare' 'updating'
2506
 
       && lk != 134252)             // 'declare' 'variable'
2507
 
      {
2508
 
        break;
2509
 
      }
2510
 
      switch (l1)
2511
 
      {
2512
 
      case 108:                     // 'declare'
2513
 
        lookahead2W(175);           // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
2514
 
        break;
2515
 
      default:
2516
 
        lk = l1;
2517
 
      }
2518
 
      switch (lk)
2519
 
      {
2520
 
      case 51820:                   // 'declare' 'context'
2521
 
        whitespace();
2522
 
        parse_ContextItemDecl();
2523
 
        break;
2524
 
      case 101996:                  // 'declare' 'option'
2525
 
        whitespace();
2526
 
        parse_OptionDecl();
2527
 
        break;
2528
 
      default:
2529
 
        whitespace();
2530
 
        parse_AnnotatedDecl();
2531
 
      }
2532
 
      lookahead1W(28);              // S^WS | '(:' | ';'
2533
 
      whitespace();
2534
 
      parse_Separator();
2535
 
    }
2536
 
    eventHandler.endNonterminal("Prolog", e0);
2537
 
  }
2538
 
 
2539
 
  function parse_Separator()
2540
 
  {
2541
 
    eventHandler.startNonterminal("Separator", e0);
2542
 
    shift(53);                      // ';'
2543
 
    eventHandler.endNonterminal("Separator", e0);
2544
 
  }
2545
 
 
2546
 
  function parse_Setter()
2547
 
  {
2548
 
    eventHandler.startNonterminal("Setter", e0);
2549
 
    switch (l1)
2550
 
    {
2551
 
    case 108:                       // 'declare'
2552
 
      lookahead2W(172);             // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
2553
 
      break;
2554
 
    default:
2555
 
      lk = l1;
2556
 
    }
2557
 
    if (lk == 55916)                // 'declare' 'default'
2558
 
    {
2559
 
      lk = memoized(1, e0);
2560
 
      if (lk == 0)
2561
 
      {
2562
 
        var b0A = b0; var e0A = e0; var l1A = l1;
2563
 
        var b1A = b1; var e1A = e1; var l2A = l2;
2564
 
        var b2A = b2; var e2A = e2;
2565
 
        try
2566
 
        {
2567
 
          try_DefaultCollationDecl();
2568
 
          lk = -2;
2569
 
        }
2570
 
        catch (p2A)
2571
 
        {
2572
 
          try
2573
 
          {
2574
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
2575
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
2576
 
            b2 = b2A; e2 = e2A; end = e2A; }}
2577
 
            try_EmptyOrderDecl();
2578
 
            lk = -6;
2579
 
          }
2580
 
          catch (p6A)
2581
 
          {
2582
 
            lk = -9;
2583
 
          }
2584
 
        }
2585
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
2586
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
2587
 
        b2 = b2A; e2 = e2A; end = e2A; }}
2588
 
        memoize(1, e0, lk);
2589
 
      }
2590
 
    }
2591
 
    switch (lk)
2592
 
    {
2593
 
    case 43628:                     // 'declare' 'boundary-space'
2594
 
      parse_BoundarySpaceDecl();
2595
 
      break;
2596
 
    case -2:
2597
 
      parse_DefaultCollationDecl();
2598
 
      break;
2599
 
    case 42604:                     // 'declare' 'base-uri'
2600
 
      parse_BaseURIDecl();
2601
 
      break;
2602
 
    case 50284:                     // 'declare' 'construction'
2603
 
      parse_ConstructionDecl();
2604
 
      break;
2605
 
    case 104044:                    // 'declare' 'ordering'
2606
 
      parse_OrderingModeDecl();
2607
 
      break;
2608
 
    case -6:
2609
 
      parse_EmptyOrderDecl();
2610
 
      break;
2611
 
    case 113772:                    // 'declare' 'revalidation'
2612
 
      parse_RevalidationDecl();
2613
 
      break;
2614
 
    case 53356:                     // 'declare' 'copy-namespaces'
2615
 
      parse_CopyNamespacesDecl();
2616
 
      break;
2617
 
    default:
2618
 
      parse_DecimalFormatDecl();
2619
 
    }
2620
 
    eventHandler.endNonterminal("Setter", e0);
2621
 
  }
2622
 
 
2623
 
  function parse_BoundarySpaceDecl()
2624
 
  {
2625
 
    eventHandler.startNonterminal("BoundarySpaceDecl", e0);
2626
 
    shift(108);                     // 'declare'
2627
 
    lookahead1W(33);                // S^WS | '(:' | 'boundary-space'
2628
 
    shift(85);                      // 'boundary-space'
2629
 
    lookahead1W(133);               // S^WS | '(:' | 'preserve' | 'strip'
2630
 
    switch (l1)
2631
 
    {
2632
 
    case 214:                       // 'preserve'
2633
 
      shift(214);                   // 'preserve'
2634
 
      break;
2635
 
    default:
2636
 
      shift(241);                   // 'strip'
2637
 
    }
2638
 
    eventHandler.endNonterminal("BoundarySpaceDecl", e0);
2639
 
  }
2640
 
 
2641
 
  function parse_DefaultCollationDecl()
2642
 
  {
2643
 
    eventHandler.startNonterminal("DefaultCollationDecl", e0);
2644
 
    shift(108);                     // 'declare'
2645
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
2646
 
    shift(109);                     // 'default'
2647
 
    lookahead1W(38);                // S^WS | '(:' | 'collation'
2648
 
    shift(94);                      // 'collation'
2649
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2650
 
    shift(7);                       // URILiteral
2651
 
    eventHandler.endNonterminal("DefaultCollationDecl", e0);
2652
 
  }
2653
 
 
2654
 
  function try_DefaultCollationDecl()
2655
 
  {
2656
 
    shiftT(108);                    // 'declare'
2657
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
2658
 
    shiftT(109);                    // 'default'
2659
 
    lookahead1W(38);                // S^WS | '(:' | 'collation'
2660
 
    shiftT(94);                     // 'collation'
2661
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2662
 
    shiftT(7);                      // URILiteral
2663
 
  }
2664
 
 
2665
 
  function parse_BaseURIDecl()
2666
 
  {
2667
 
    eventHandler.startNonterminal("BaseURIDecl", e0);
2668
 
    shift(108);                     // 'declare'
2669
 
    lookahead1W(32);                // S^WS | '(:' | 'base-uri'
2670
 
    shift(83);                      // 'base-uri'
2671
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2672
 
    shift(7);                       // URILiteral
2673
 
    eventHandler.endNonterminal("BaseURIDecl", e0);
2674
 
  }
2675
 
 
2676
 
  function parse_ConstructionDecl()
2677
 
  {
2678
 
    eventHandler.startNonterminal("ConstructionDecl", e0);
2679
 
    shift(108);                     // 'declare'
2680
 
    lookahead1W(41);                // S^WS | '(:' | 'construction'
2681
 
    shift(98);                      // 'construction'
2682
 
    lookahead1W(133);               // S^WS | '(:' | 'preserve' | 'strip'
2683
 
    switch (l1)
2684
 
    {
2685
 
    case 241:                       // 'strip'
2686
 
      shift(241);                   // 'strip'
2687
 
      break;
2688
 
    default:
2689
 
      shift(214);                   // 'preserve'
2690
 
    }
2691
 
    eventHandler.endNonterminal("ConstructionDecl", e0);
2692
 
  }
2693
 
 
2694
 
  function parse_OrderingModeDecl()
2695
 
  {
2696
 
    eventHandler.startNonterminal("OrderingModeDecl", e0);
2697
 
    shift(108);                     // 'declare'
2698
 
    lookahead1W(68);                // S^WS | '(:' | 'ordering'
2699
 
    shift(203);                     // 'ordering'
2700
 
    lookahead1W(131);               // S^WS | '(:' | 'ordered' | 'unordered'
2701
 
    switch (l1)
2702
 
    {
2703
 
    case 202:                       // 'ordered'
2704
 
      shift(202);                   // 'ordered'
2705
 
      break;
2706
 
    default:
2707
 
      shift(256);                   // 'unordered'
2708
 
    }
2709
 
    eventHandler.endNonterminal("OrderingModeDecl", e0);
2710
 
  }
2711
 
 
2712
 
  function parse_EmptyOrderDecl()
2713
 
  {
2714
 
    eventHandler.startNonterminal("EmptyOrderDecl", e0);
2715
 
    shift(108);                     // 'declare'
2716
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
2717
 
    shift(109);                     // 'default'
2718
 
    lookahead1W(67);                // S^WS | '(:' | 'order'
2719
 
    shift(201);                     // 'order'
2720
 
    lookahead1W(49);                // S^WS | '(:' | 'empty'
2721
 
    shift(123);                     // 'empty'
2722
 
    lookahead1W(121);               // S^WS | '(:' | 'greatest' | 'least'
2723
 
    switch (l1)
2724
 
    {
2725
 
    case 147:                       // 'greatest'
2726
 
      shift(147);                   // 'greatest'
2727
 
      break;
2728
 
    default:
2729
 
      shift(173);                   // 'least'
2730
 
    }
2731
 
    eventHandler.endNonterminal("EmptyOrderDecl", e0);
2732
 
  }
2733
 
 
2734
 
  function try_EmptyOrderDecl()
2735
 
  {
2736
 
    shiftT(108);                    // 'declare'
2737
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
2738
 
    shiftT(109);                    // 'default'
2739
 
    lookahead1W(67);                // S^WS | '(:' | 'order'
2740
 
    shiftT(201);                    // 'order'
2741
 
    lookahead1W(49);                // S^WS | '(:' | 'empty'
2742
 
    shiftT(123);                    // 'empty'
2743
 
    lookahead1W(121);               // S^WS | '(:' | 'greatest' | 'least'
2744
 
    switch (l1)
2745
 
    {
2746
 
    case 147:                       // 'greatest'
2747
 
      shiftT(147);                  // 'greatest'
2748
 
      break;
2749
 
    default:
2750
 
      shiftT(173);                  // 'least'
2751
 
    }
2752
 
  }
2753
 
 
2754
 
  function parse_CopyNamespacesDecl()
2755
 
  {
2756
 
    eventHandler.startNonterminal("CopyNamespacesDecl", e0);
2757
 
    shift(108);                     // 'declare'
2758
 
    lookahead1W(44);                // S^WS | '(:' | 'copy-namespaces'
2759
 
    shift(104);                     // 'copy-namespaces'
2760
 
    lookahead1W(128);               // S^WS | '(:' | 'no-preserve' | 'preserve'
2761
 
    whitespace();
2762
 
    parse_PreserveMode();
2763
 
    lookahead1W(25);                // S^WS | '(:' | ','
2764
 
    shift(41);                      // ','
2765
 
    lookahead1W(123);               // S^WS | '(:' | 'inherit' | 'no-inherit'
2766
 
    whitespace();
2767
 
    parse_InheritMode();
2768
 
    eventHandler.endNonterminal("CopyNamespacesDecl", e0);
2769
 
  }
2770
 
 
2771
 
  function parse_PreserveMode()
2772
 
  {
2773
 
    eventHandler.startNonterminal("PreserveMode", e0);
2774
 
    switch (l1)
2775
 
    {
2776
 
    case 214:                       // 'preserve'
2777
 
      shift(214);                   // 'preserve'
2778
 
      break;
2779
 
    default:
2780
 
      shift(190);                   // 'no-preserve'
2781
 
    }
2782
 
    eventHandler.endNonterminal("PreserveMode", e0);
2783
 
  }
2784
 
 
2785
 
  function parse_InheritMode()
2786
 
  {
2787
 
    eventHandler.startNonterminal("InheritMode", e0);
2788
 
    switch (l1)
2789
 
    {
2790
 
    case 157:                       // 'inherit'
2791
 
      shift(157);                   // 'inherit'
2792
 
      break;
2793
 
    default:
2794
 
      shift(189);                   // 'no-inherit'
2795
 
    }
2796
 
    eventHandler.endNonterminal("InheritMode", e0);
2797
 
  }
2798
 
 
2799
 
  function parse_DecimalFormatDecl()
2800
 
  {
2801
 
    eventHandler.startNonterminal("DecimalFormatDecl", e0);
2802
 
    shift(108);                     // 'declare'
2803
 
    lookahead1W(114);               // S^WS | '(:' | 'decimal-format' | 'default'
2804
 
    switch (l1)
2805
 
    {
2806
 
    case 106:                       // 'decimal-format'
2807
 
      shift(106);                   // 'decimal-format'
2808
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
2809
 
      whitespace();
2810
 
      parse_EQName();
2811
 
      break;
2812
 
    default:
2813
 
      shift(109);                   // 'default'
2814
 
      lookahead1W(45);              // S^WS | '(:' | 'decimal-format'
2815
 
      shift(106);                   // 'decimal-format'
2816
 
    }
2817
 
    for (;;)
2818
 
    {
2819
 
      lookahead1W(180);             // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
2820
 
      if (l1 == 53)                 // ';'
2821
 
      {
2822
 
        break;
2823
 
      }
2824
 
      whitespace();
2825
 
      parse_DFPropertyName();
2826
 
      lookahead1W(29);              // S^WS | '(:' | '='
2827
 
      shift(60);                    // '='
2828
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
2829
 
      shift(11);                    // StringLiteral
2830
 
    }
2831
 
    eventHandler.endNonterminal("DecimalFormatDecl", e0);
2832
 
  }
2833
 
 
2834
 
  function parse_DFPropertyName()
2835
 
  {
2836
 
    eventHandler.startNonterminal("DFPropertyName", e0);
2837
 
    switch (l1)
2838
 
    {
2839
 
    case 107:                       // 'decimal-separator'
2840
 
      shift(107);                   // 'decimal-separator'
2841
 
      break;
2842
 
    case 149:                       // 'grouping-separator'
2843
 
      shift(149);                   // 'grouping-separator'
2844
 
      break;
2845
 
    case 156:                       // 'infinity'
2846
 
      shift(156);                   // 'infinity'
2847
 
      break;
2848
 
    case 179:                       // 'minus-sign'
2849
 
      shift(179);                   // 'minus-sign'
2850
 
      break;
2851
 
    case 67:                        // 'NaN'
2852
 
      shift(67);                    // 'NaN'
2853
 
      break;
2854
 
    case 209:                       // 'percent'
2855
 
      shift(209);                   // 'percent'
2856
 
      break;
2857
 
    case 208:                       // 'per-mille'
2858
 
      shift(208);                   // 'per-mille'
2859
 
      break;
2860
 
    case 275:                       // 'zero-digit'
2861
 
      shift(275);                   // 'zero-digit'
2862
 
      break;
2863
 
    case 116:                       // 'digit'
2864
 
      shift(116);                   // 'digit'
2865
 
      break;
2866
 
    default:
2867
 
      shift(207);                   // 'pattern-separator'
2868
 
    }
2869
 
    eventHandler.endNonterminal("DFPropertyName", e0);
2870
 
  }
2871
 
 
2872
 
  function parse_Import()
2873
 
  {
2874
 
    eventHandler.startNonterminal("Import", e0);
2875
 
    switch (l1)
2876
 
    {
2877
 
    case 153:                       // 'import'
2878
 
      lookahead2W(126);             // S^WS | '(:' | 'module' | 'schema'
2879
 
      break;
2880
 
    default:
2881
 
      lk = l1;
2882
 
    }
2883
 
    switch (lk)
2884
 
    {
2885
 
    case 115353:                    // 'import' 'schema'
2886
 
      parse_SchemaImport();
2887
 
      break;
2888
 
    default:
2889
 
      parse_ModuleImport();
2890
 
    }
2891
 
    eventHandler.endNonterminal("Import", e0);
2892
 
  }
2893
 
 
2894
 
  function parse_SchemaImport()
2895
 
  {
2896
 
    eventHandler.startNonterminal("SchemaImport", e0);
2897
 
    shift(153);                     // 'import'
2898
 
    lookahead1W(73);                // S^WS | '(:' | 'schema'
2899
 
    shift(225);                     // 'schema'
2900
 
    lookahead1W(137);               // URILiteral | S^WS | '(:' | 'default' | 'namespace'
2901
 
    if (l1 != 7)                    // URILiteral
2902
 
    {
2903
 
      whitespace();
2904
 
      parse_SchemaPrefix();
2905
 
    }
2906
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2907
 
    shift(7);                       // URILiteral
2908
 
    lookahead1W(108);               // S^WS | '(:' | ';' | 'at'
2909
 
    if (l1 == 81)                   // 'at'
2910
 
    {
2911
 
      shift(81);                    // 'at'
2912
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
2913
 
      shift(7);                     // URILiteral
2914
 
      for (;;)
2915
 
      {
2916
 
        lookahead1W(103);           // S^WS | '(:' | ',' | ';'
2917
 
        if (l1 != 41)               // ','
2918
 
        {
2919
 
          break;
2920
 
        }
2921
 
        shift(41);                  // ','
2922
 
        lookahead1W(15);            // URILiteral | S^WS | '(:'
2923
 
        shift(7);                   // URILiteral
2924
 
      }
2925
 
    }
2926
 
    eventHandler.endNonterminal("SchemaImport", e0);
2927
 
  }
2928
 
 
2929
 
  function parse_SchemaPrefix()
2930
 
  {
2931
 
    eventHandler.startNonterminal("SchemaPrefix", e0);
2932
 
    switch (l1)
2933
 
    {
2934
 
    case 184:                       // 'namespace'
2935
 
      shift(184);                   // 'namespace'
2936
 
      lookahead1W(247);             // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
2937
 
      whitespace();
2938
 
      parse_NCName();
2939
 
      lookahead1W(29);              // S^WS | '(:' | '='
2940
 
      shift(60);                    // '='
2941
 
      break;
2942
 
    default:
2943
 
      shift(109);                   // 'default'
2944
 
      lookahead1W(47);              // S^WS | '(:' | 'element'
2945
 
      shift(121);                   // 'element'
2946
 
      lookahead1W(61);              // S^WS | '(:' | 'namespace'
2947
 
      shift(184);                   // 'namespace'
2948
 
    }
2949
 
    eventHandler.endNonterminal("SchemaPrefix", e0);
2950
 
  }
2951
 
 
2952
 
  function parse_ModuleImport()
2953
 
  {
2954
 
    eventHandler.startNonterminal("ModuleImport", e0);
2955
 
    shift(153);                     // 'import'
2956
 
    lookahead1W(60);                // S^WS | '(:' | 'module'
2957
 
    shift(182);                     // 'module'
2958
 
    lookahead1W(90);                // URILiteral | S^WS | '(:' | 'namespace'
2959
 
    if (l1 == 184)                  // 'namespace'
2960
 
    {
2961
 
      shift(184);                   // 'namespace'
2962
 
      lookahead1W(247);             // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
2963
 
      whitespace();
2964
 
      parse_NCName();
2965
 
      lookahead1W(29);              // S^WS | '(:' | '='
2966
 
      shift(60);                    // '='
2967
 
    }
2968
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
2969
 
    shift(7);                       // URILiteral
2970
 
    lookahead1W(108);               // S^WS | '(:' | ';' | 'at'
2971
 
    if (l1 == 81)                   // 'at'
2972
 
    {
2973
 
      shift(81);                    // 'at'
2974
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
2975
 
      shift(7);                     // URILiteral
2976
 
      for (;;)
2977
 
      {
2978
 
        lookahead1W(103);           // S^WS | '(:' | ',' | ';'
2979
 
        if (l1 != 41)               // ','
2980
 
        {
2981
 
          break;
2982
 
        }
2983
 
        shift(41);                  // ','
2984
 
        lookahead1W(15);            // URILiteral | S^WS | '(:'
2985
 
        shift(7);                   // URILiteral
2986
 
      }
2987
 
    }
2988
 
    eventHandler.endNonterminal("ModuleImport", e0);
2989
 
  }
2990
 
 
2991
 
  function parse_NamespaceDecl()
2992
 
  {
2993
 
    eventHandler.startNonterminal("NamespaceDecl", e0);
2994
 
    shift(108);                     // 'declare'
2995
 
    lookahead1W(61);                // S^WS | '(:' | 'namespace'
2996
 
    shift(184);                     // 'namespace'
2997
 
    lookahead1W(247);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
2998
 
    whitespace();
2999
 
    parse_NCName();
3000
 
    lookahead1W(29);                // S^WS | '(:' | '='
3001
 
    shift(60);                      // '='
3002
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
3003
 
    shift(7);                       // URILiteral
3004
 
    eventHandler.endNonterminal("NamespaceDecl", e0);
3005
 
  }
3006
 
 
3007
 
  function parse_DefaultNamespaceDecl()
3008
 
  {
3009
 
    eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
3010
 
    shift(108);                     // 'declare'
3011
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
3012
 
    shift(109);                     // 'default'
3013
 
    lookahead1W(115);               // S^WS | '(:' | 'element' | 'function'
3014
 
    switch (l1)
3015
 
    {
3016
 
    case 121:                       // 'element'
3017
 
      shift(121);                   // 'element'
3018
 
      break;
3019
 
    default:
3020
 
      shift(145);                   // 'function'
3021
 
    }
3022
 
    lookahead1W(61);                // S^WS | '(:' | 'namespace'
3023
 
    shift(184);                     // 'namespace'
3024
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
3025
 
    shift(7);                       // URILiteral
3026
 
    eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
3027
 
  }
3028
 
 
3029
 
  function try_DefaultNamespaceDecl()
3030
 
  {
3031
 
    shiftT(108);                    // 'declare'
3032
 
    lookahead1W(46);                // S^WS | '(:' | 'default'
3033
 
    shiftT(109);                    // 'default'
3034
 
    lookahead1W(115);               // S^WS | '(:' | 'element' | 'function'
3035
 
    switch (l1)
3036
 
    {
3037
 
    case 121:                       // 'element'
3038
 
      shiftT(121);                  // 'element'
3039
 
      break;
3040
 
    default:
3041
 
      shiftT(145);                  // 'function'
3042
 
    }
3043
 
    lookahead1W(61);                // S^WS | '(:' | 'namespace'
3044
 
    shiftT(184);                    // 'namespace'
3045
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
3046
 
    shiftT(7);                      // URILiteral
3047
 
  }
3048
 
 
3049
 
  function parse_FTOptionDecl()
3050
 
  {
3051
 
    eventHandler.startNonterminal("FTOptionDecl", e0);
3052
 
    shift(108);                     // 'declare'
3053
 
    lookahead1W(52);                // S^WS | '(:' | 'ft-option'
3054
 
    shift(141);                     // 'ft-option'
3055
 
    lookahead1W(81);                // S^WS | '(:' | 'using'
3056
 
    whitespace();
3057
 
    parse_FTMatchOptions();
3058
 
    eventHandler.endNonterminal("FTOptionDecl", e0);
3059
 
  }
3060
 
 
3061
 
  function parse_AnnotatedDecl()
3062
 
  {
3063
 
    eventHandler.startNonterminal("AnnotatedDecl", e0);
3064
 
    shift(108);                     // 'declare'
3065
 
    for (;;)
3066
 
    {
3067
 
      lookahead1W(170);             // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
3068
 
      if (l1 != 32                  // '%'
3069
 
       && l1 != 257)                // 'updating'
3070
 
      {
3071
 
        break;
3072
 
      }
3073
 
      switch (l1)
3074
 
      {
3075
 
      case 257:                     // 'updating'
3076
 
        whitespace();
3077
 
        parse_CompatibilityAnnotation();
3078
 
        break;
3079
 
      default:
3080
 
        whitespace();
3081
 
        parse_Annotation();
3082
 
      }
3083
 
    }
3084
 
    switch (l1)
3085
 
    {
3086
 
    case 262:                       // 'variable'
3087
 
      whitespace();
3088
 
      parse_VarDecl();
3089
 
      break;
3090
 
    case 145:                       // 'function'
3091
 
      whitespace();
3092
 
      parse_FunctionDecl();
3093
 
      break;
3094
 
    case 95:                        // 'collection'
3095
 
      whitespace();
3096
 
      parse_CollectionDecl();
3097
 
      break;
3098
 
    case 155:                       // 'index'
3099
 
      whitespace();
3100
 
      parse_IndexDecl();
3101
 
      break;
3102
 
    default:
3103
 
      whitespace();
3104
 
      parse_ICDecl();
3105
 
    }
3106
 
    eventHandler.endNonterminal("AnnotatedDecl", e0);
3107
 
  }
3108
 
 
3109
 
  function parse_CompatibilityAnnotation()
3110
 
  {
3111
 
    eventHandler.startNonterminal("CompatibilityAnnotation", e0);
3112
 
    shift(257);                     // 'updating'
3113
 
    eventHandler.endNonterminal("CompatibilityAnnotation", e0);
3114
 
  }
3115
 
 
3116
 
  function parse_Annotation()
3117
 
  {
3118
 
    eventHandler.startNonterminal("Annotation", e0);
3119
 
    shift(32);                      // '%'
3120
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3121
 
    whitespace();
3122
 
    parse_EQName();
3123
 
    lookahead1W(171);               // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
3124
 
    if (l1 == 34)                   // '('
3125
 
    {
3126
 
      shift(34);                    // '('
3127
 
      lookahead1W(154);             // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
3128
 
      whitespace();
3129
 
      parse_Literal();
3130
 
      for (;;)
3131
 
      {
3132
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
3133
 
        if (l1 != 41)               // ','
3134
 
        {
3135
 
          break;
3136
 
        }
3137
 
        shift(41);                  // ','
3138
 
        lookahead1W(154);           // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
3139
 
        whitespace();
3140
 
        parse_Literal();
3141
 
      }
3142
 
      shift(37);                    // ')'
3143
 
    }
3144
 
    eventHandler.endNonterminal("Annotation", e0);
3145
 
  }
3146
 
 
3147
 
  function try_Annotation()
3148
 
  {
3149
 
    shiftT(32);                     // '%'
3150
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3151
 
    try_EQName();
3152
 
    lookahead1W(171);               // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
3153
 
    if (l1 == 34)                   // '('
3154
 
    {
3155
 
      shiftT(34);                   // '('
3156
 
      lookahead1W(154);             // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
3157
 
      try_Literal();
3158
 
      for (;;)
3159
 
      {
3160
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
3161
 
        if (l1 != 41)               // ','
3162
 
        {
3163
 
          break;
3164
 
        }
3165
 
        shiftT(41);                 // ','
3166
 
        lookahead1W(154);           // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
3167
 
        try_Literal();
3168
 
      }
3169
 
      shiftT(37);                   // ')'
3170
 
    }
3171
 
  }
3172
 
 
3173
 
  function parse_VarDecl()
3174
 
  {
3175
 
    eventHandler.startNonterminal("VarDecl", e0);
3176
 
    shift(262);                     // 'variable'
3177
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3178
 
    shift(31);                      // '$'
3179
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3180
 
    whitespace();
3181
 
    parse_VarName();
3182
 
    lookahead1W(147);               // S^WS | '(:' | ':=' | 'as' | 'external'
3183
 
    if (l1 == 79)                   // 'as'
3184
 
    {
3185
 
      whitespace();
3186
 
      parse_TypeDeclaration();
3187
 
    }
3188
 
    lookahead1W(106);               // S^WS | '(:' | ':=' | 'external'
3189
 
    switch (l1)
3190
 
    {
3191
 
    case 52:                        // ':='
3192
 
      shift(52);                    // ':='
3193
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3194
 
      whitespace();
3195
 
      parse_VarValue();
3196
 
      break;
3197
 
    default:
3198
 
      shift(133);                   // 'external'
3199
 
      lookahead1W(104);             // S^WS | '(:' | ':=' | ';'
3200
 
      if (l1 == 52)                 // ':='
3201
 
      {
3202
 
        shift(52);                  // ':='
3203
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3204
 
        whitespace();
3205
 
        parse_VarDefaultValue();
3206
 
      }
3207
 
    }
3208
 
    eventHandler.endNonterminal("VarDecl", e0);
3209
 
  }
3210
 
 
3211
 
  function parse_VarValue()
3212
 
  {
3213
 
    eventHandler.startNonterminal("VarValue", e0);
3214
 
    parse_ExprSingle();
3215
 
    eventHandler.endNonterminal("VarValue", e0);
3216
 
  }
3217
 
 
3218
 
  function parse_VarDefaultValue()
3219
 
  {
3220
 
    eventHandler.startNonterminal("VarDefaultValue", e0);
3221
 
    parse_ExprSingle();
3222
 
    eventHandler.endNonterminal("VarDefaultValue", e0);
3223
 
  }
3224
 
 
3225
 
  function parse_ContextItemDecl()
3226
 
  {
3227
 
    eventHandler.startNonterminal("ContextItemDecl", e0);
3228
 
    shift(108);                     // 'declare'
3229
 
    lookahead1W(43);                // S^WS | '(:' | 'context'
3230
 
    shift(101);                     // 'context'
3231
 
    lookahead1W(55);                // S^WS | '(:' | 'item'
3232
 
    shift(165);                     // 'item'
3233
 
    lookahead1W(147);               // S^WS | '(:' | ':=' | 'as' | 'external'
3234
 
    if (l1 == 79)                   // 'as'
3235
 
    {
3236
 
      shift(79);                    // 'as'
3237
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
3238
 
      whitespace();
3239
 
      parse_ItemType();
3240
 
    }
3241
 
    lookahead1W(106);               // S^WS | '(:' | ':=' | 'external'
3242
 
    switch (l1)
3243
 
    {
3244
 
    case 52:                        // ':='
3245
 
      shift(52);                    // ':='
3246
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3247
 
      whitespace();
3248
 
      parse_VarValue();
3249
 
      break;
3250
 
    default:
3251
 
      shift(133);                   // 'external'
3252
 
      lookahead1W(104);             // S^WS | '(:' | ':=' | ';'
3253
 
      if (l1 == 52)                 // ':='
3254
 
      {
3255
 
        shift(52);                  // ':='
3256
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3257
 
        whitespace();
3258
 
        parse_VarDefaultValue();
3259
 
      }
3260
 
    }
3261
 
    eventHandler.endNonterminal("ContextItemDecl", e0);
3262
 
  }
3263
 
 
3264
 
  function parse_ParamList()
3265
 
  {
3266
 
    eventHandler.startNonterminal("ParamList", e0);
3267
 
    parse_Param();
3268
 
    for (;;)
3269
 
    {
3270
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
3271
 
      if (l1 != 41)                 // ','
3272
 
      {
3273
 
        break;
3274
 
      }
3275
 
      shift(41);                    // ','
3276
 
      lookahead1W(21);              // S^WS | '$' | '(:'
3277
 
      whitespace();
3278
 
      parse_Param();
3279
 
    }
3280
 
    eventHandler.endNonterminal("ParamList", e0);
3281
 
  }
3282
 
 
3283
 
  function try_ParamList()
3284
 
  {
3285
 
    try_Param();
3286
 
    for (;;)
3287
 
    {
3288
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
3289
 
      if (l1 != 41)                 // ','
3290
 
      {
3291
 
        break;
3292
 
      }
3293
 
      shiftT(41);                   // ','
3294
 
      lookahead1W(21);              // S^WS | '$' | '(:'
3295
 
      try_Param();
3296
 
    }
3297
 
  }
3298
 
 
3299
 
  function parse_Param()
3300
 
  {
3301
 
    eventHandler.startNonterminal("Param", e0);
3302
 
    shift(31);                      // '$'
3303
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3304
 
    whitespace();
3305
 
    parse_EQName();
3306
 
    lookahead1W(143);               // S^WS | '(:' | ')' | ',' | 'as'
3307
 
    if (l1 == 79)                   // 'as'
3308
 
    {
3309
 
      whitespace();
3310
 
      parse_TypeDeclaration();
3311
 
    }
3312
 
    eventHandler.endNonterminal("Param", e0);
3313
 
  }
3314
 
 
3315
 
  function try_Param()
3316
 
  {
3317
 
    shiftT(31);                     // '$'
3318
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3319
 
    try_EQName();
3320
 
    lookahead1W(143);               // S^WS | '(:' | ')' | ',' | 'as'
3321
 
    if (l1 == 79)                   // 'as'
3322
 
    {
3323
 
      try_TypeDeclaration();
3324
 
    }
3325
 
  }
3326
 
 
3327
 
  function parse_FunctionBody()
3328
 
  {
3329
 
    eventHandler.startNonterminal("FunctionBody", e0);
3330
 
    parse_EnclosedExpr();
3331
 
    eventHandler.endNonterminal("FunctionBody", e0);
3332
 
  }
3333
 
 
3334
 
  function try_FunctionBody()
3335
 
  {
3336
 
    try_EnclosedExpr();
3337
 
  }
3338
 
 
3339
 
  function parse_EnclosedExpr()
3340
 
  {
3341
 
    eventHandler.startNonterminal("EnclosedExpr", e0);
3342
 
    shift(276);                     // '{'
3343
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3344
 
    whitespace();
3345
 
    parse_Expr();
3346
 
    shift(282);                     // '}'
3347
 
    eventHandler.endNonterminal("EnclosedExpr", e0);
3348
 
  }
3349
 
 
3350
 
  function try_EnclosedExpr()
3351
 
  {
3352
 
    shiftT(276);                    // '{'
3353
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3354
 
    try_Expr();
3355
 
    shiftT(282);                    // '}'
3356
 
  }
3357
 
 
3358
 
  function parse_OptionDecl()
3359
 
  {
3360
 
    eventHandler.startNonterminal("OptionDecl", e0);
3361
 
    shift(108);                     // 'declare'
3362
 
    lookahead1W(66);                // S^WS | '(:' | 'option'
3363
 
    shift(199);                     // 'option'
3364
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3365
 
    whitespace();
3366
 
    parse_EQName();
3367
 
    lookahead1W(17);                // StringLiteral | S^WS | '(:'
3368
 
    shift(11);                      // StringLiteral
3369
 
    eventHandler.endNonterminal("OptionDecl", e0);
3370
 
  }
3371
 
 
3372
 
  function parse_Expr()
3373
 
  {
3374
 
    eventHandler.startNonterminal("Expr", e0);
3375
 
    parse_ExprSingle();
3376
 
    for (;;)
3377
 
    {
3378
 
      if (l1 != 41)                 // ','
3379
 
      {
3380
 
        break;
3381
 
      }
3382
 
      shift(41);                    // ','
3383
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3384
 
      whitespace();
3385
 
      parse_ExprSingle();
3386
 
    }
3387
 
    eventHandler.endNonterminal("Expr", e0);
3388
 
  }
3389
 
 
3390
 
  function try_Expr()
3391
 
  {
3392
 
    try_ExprSingle();
3393
 
    for (;;)
3394
 
    {
3395
 
      if (l1 != 41)                 // ','
3396
 
      {
3397
 
        break;
3398
 
      }
3399
 
      shiftT(41);                   // ','
3400
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3401
 
      try_ExprSingle();
3402
 
    }
3403
 
  }
3404
 
 
3405
 
  function parse_FLWORExpr()
3406
 
  {
3407
 
    eventHandler.startNonterminal("FLWORExpr", e0);
3408
 
    parse_InitialClause();
3409
 
    for (;;)
3410
 
    {
3411
 
      lookahead1W(173);             // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
3412
 
      if (l1 == 220)                // 'return'
3413
 
      {
3414
 
        break;
3415
 
      }
3416
 
      whitespace();
3417
 
      parse_IntermediateClause();
3418
 
    }
3419
 
    whitespace();
3420
 
    parse_ReturnClause();
3421
 
    eventHandler.endNonterminal("FLWORExpr", e0);
3422
 
  }
3423
 
 
3424
 
  function try_FLWORExpr()
3425
 
  {
3426
 
    try_InitialClause();
3427
 
    for (;;)
3428
 
    {
3429
 
      lookahead1W(173);             // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
3430
 
      if (l1 == 220)                // 'return'
3431
 
      {
3432
 
        break;
3433
 
      }
3434
 
      try_IntermediateClause();
3435
 
    }
3436
 
    try_ReturnClause();
3437
 
  }
3438
 
 
3439
 
  function parse_InitialClause()
3440
 
  {
3441
 
    eventHandler.startNonterminal("InitialClause", e0);
3442
 
    switch (l1)
3443
 
    {
3444
 
    case 137:                       // 'for'
3445
 
      lookahead2W(141);             // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
3446
 
      break;
3447
 
    default:
3448
 
      lk = l1;
3449
 
    }
3450
 
    switch (lk)
3451
 
    {
3452
 
    case 16009:                     // 'for' '$'
3453
 
      parse_ForClause();
3454
 
      break;
3455
 
    case 174:                       // 'let'
3456
 
      parse_LetClause();
3457
 
      break;
3458
 
    default:
3459
 
      parse_WindowClause();
3460
 
    }
3461
 
    eventHandler.endNonterminal("InitialClause", e0);
3462
 
  }
3463
 
 
3464
 
  function try_InitialClause()
3465
 
  {
3466
 
    switch (l1)
3467
 
    {
3468
 
    case 137:                       // 'for'
3469
 
      lookahead2W(141);             // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
3470
 
      break;
3471
 
    default:
3472
 
      lk = l1;
3473
 
    }
3474
 
    switch (lk)
3475
 
    {
3476
 
    case 16009:                     // 'for' '$'
3477
 
      try_ForClause();
3478
 
      break;
3479
 
    case 174:                       // 'let'
3480
 
      try_LetClause();
3481
 
      break;
3482
 
    default:
3483
 
      try_WindowClause();
3484
 
    }
3485
 
  }
3486
 
 
3487
 
  function parse_IntermediateClause()
3488
 
  {
3489
 
    eventHandler.startNonterminal("IntermediateClause", e0);
3490
 
    switch (l1)
3491
 
    {
3492
 
    case 137:                       // 'for'
3493
 
    case 174:                       // 'let'
3494
 
      parse_InitialClause();
3495
 
      break;
3496
 
    case 266:                       // 'where'
3497
 
      parse_WhereClause();
3498
 
      break;
3499
 
    case 148:                       // 'group'
3500
 
      parse_GroupByClause();
3501
 
      break;
3502
 
    case 105:                       // 'count'
3503
 
      parse_CountClause();
3504
 
      break;
3505
 
    default:
3506
 
      parse_OrderByClause();
3507
 
    }
3508
 
    eventHandler.endNonterminal("IntermediateClause", e0);
3509
 
  }
3510
 
 
3511
 
  function try_IntermediateClause()
3512
 
  {
3513
 
    switch (l1)
3514
 
    {
3515
 
    case 137:                       // 'for'
3516
 
    case 174:                       // 'let'
3517
 
      try_InitialClause();
3518
 
      break;
3519
 
    case 266:                       // 'where'
3520
 
      try_WhereClause();
3521
 
      break;
3522
 
    case 148:                       // 'group'
3523
 
      try_GroupByClause();
3524
 
      break;
3525
 
    case 105:                       // 'count'
3526
 
      try_CountClause();
3527
 
      break;
3528
 
    default:
3529
 
      try_OrderByClause();
3530
 
    }
3531
 
  }
3532
 
 
3533
 
  function parse_ForClause()
3534
 
  {
3535
 
    eventHandler.startNonterminal("ForClause", e0);
3536
 
    shift(137);                     // 'for'
3537
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3538
 
    whitespace();
3539
 
    parse_ForBinding();
3540
 
    for (;;)
3541
 
    {
3542
 
      if (l1 != 41)                 // ','
3543
 
      {
3544
 
        break;
3545
 
      }
3546
 
      shift(41);                    // ','
3547
 
      lookahead1W(21);              // S^WS | '$' | '(:'
3548
 
      whitespace();
3549
 
      parse_ForBinding();
3550
 
    }
3551
 
    eventHandler.endNonterminal("ForClause", e0);
3552
 
  }
3553
 
 
3554
 
  function try_ForClause()
3555
 
  {
3556
 
    shiftT(137);                    // 'for'
3557
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3558
 
    try_ForBinding();
3559
 
    for (;;)
3560
 
    {
3561
 
      if (l1 != 41)                 // ','
3562
 
      {
3563
 
        break;
3564
 
      }
3565
 
      shiftT(41);                   // ','
3566
 
      lookahead1W(21);              // S^WS | '$' | '(:'
3567
 
      try_ForBinding();
3568
 
    }
3569
 
  }
3570
 
 
3571
 
  function parse_ForBinding()
3572
 
  {
3573
 
    eventHandler.startNonterminal("ForBinding", e0);
3574
 
    shift(31);                      // '$'
3575
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3576
 
    whitespace();
3577
 
    parse_VarName();
3578
 
    lookahead1W(164);               // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
3579
 
    if (l1 == 79)                   // 'as'
3580
 
    {
3581
 
      whitespace();
3582
 
      parse_TypeDeclaration();
3583
 
    }
3584
 
    lookahead1W(158);               // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
3585
 
    if (l1 == 72)                   // 'allowing'
3586
 
    {
3587
 
      whitespace();
3588
 
      parse_AllowingEmpty();
3589
 
    }
3590
 
    lookahead1W(150);               // S^WS | '(:' | 'at' | 'in' | 'score'
3591
 
    if (l1 == 81)                   // 'at'
3592
 
    {
3593
 
      whitespace();
3594
 
      parse_PositionalVar();
3595
 
    }
3596
 
    lookahead1W(122);               // S^WS | '(:' | 'in' | 'score'
3597
 
    if (l1 == 228)                  // 'score'
3598
 
    {
3599
 
      whitespace();
3600
 
      parse_FTScoreVar();
3601
 
    }
3602
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3603
 
    shift(154);                     // 'in'
3604
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3605
 
    whitespace();
3606
 
    parse_ExprSingle();
3607
 
    eventHandler.endNonterminal("ForBinding", e0);
3608
 
  }
3609
 
 
3610
 
  function try_ForBinding()
3611
 
  {
3612
 
    shiftT(31);                     // '$'
3613
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3614
 
    try_VarName();
3615
 
    lookahead1W(164);               // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
3616
 
    if (l1 == 79)                   // 'as'
3617
 
    {
3618
 
      try_TypeDeclaration();
3619
 
    }
3620
 
    lookahead1W(158);               // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
3621
 
    if (l1 == 72)                   // 'allowing'
3622
 
    {
3623
 
      try_AllowingEmpty();
3624
 
    }
3625
 
    lookahead1W(150);               // S^WS | '(:' | 'at' | 'in' | 'score'
3626
 
    if (l1 == 81)                   // 'at'
3627
 
    {
3628
 
      try_PositionalVar();
3629
 
    }
3630
 
    lookahead1W(122);               // S^WS | '(:' | 'in' | 'score'
3631
 
    if (l1 == 228)                  // 'score'
3632
 
    {
3633
 
      try_FTScoreVar();
3634
 
    }
3635
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3636
 
    shiftT(154);                    // 'in'
3637
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3638
 
    try_ExprSingle();
3639
 
  }
3640
 
 
3641
 
  function parse_AllowingEmpty()
3642
 
  {
3643
 
    eventHandler.startNonterminal("AllowingEmpty", e0);
3644
 
    shift(72);                      // 'allowing'
3645
 
    lookahead1W(49);                // S^WS | '(:' | 'empty'
3646
 
    shift(123);                     // 'empty'
3647
 
    eventHandler.endNonterminal("AllowingEmpty", e0);
3648
 
  }
3649
 
 
3650
 
  function try_AllowingEmpty()
3651
 
  {
3652
 
    shiftT(72);                     // 'allowing'
3653
 
    lookahead1W(49);                // S^WS | '(:' | 'empty'
3654
 
    shiftT(123);                    // 'empty'
3655
 
  }
3656
 
 
3657
 
  function parse_PositionalVar()
3658
 
  {
3659
 
    eventHandler.startNonterminal("PositionalVar", e0);
3660
 
    shift(81);                      // 'at'
3661
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3662
 
    shift(31);                      // '$'
3663
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3664
 
    whitespace();
3665
 
    parse_VarName();
3666
 
    eventHandler.endNonterminal("PositionalVar", e0);
3667
 
  }
3668
 
 
3669
 
  function try_PositionalVar()
3670
 
  {
3671
 
    shiftT(81);                     // 'at'
3672
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3673
 
    shiftT(31);                     // '$'
3674
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3675
 
    try_VarName();
3676
 
  }
3677
 
 
3678
 
  function parse_FTScoreVar()
3679
 
  {
3680
 
    eventHandler.startNonterminal("FTScoreVar", e0);
3681
 
    shift(228);                     // 'score'
3682
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3683
 
    shift(31);                      // '$'
3684
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3685
 
    whitespace();
3686
 
    parse_VarName();
3687
 
    eventHandler.endNonterminal("FTScoreVar", e0);
3688
 
  }
3689
 
 
3690
 
  function try_FTScoreVar()
3691
 
  {
3692
 
    shiftT(228);                    // 'score'
3693
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3694
 
    shiftT(31);                     // '$'
3695
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3696
 
    try_VarName();
3697
 
  }
3698
 
 
3699
 
  function parse_LetClause()
3700
 
  {
3701
 
    eventHandler.startNonterminal("LetClause", e0);
3702
 
    shift(174);                     // 'let'
3703
 
    lookahead1W(96);                // S^WS | '$' | '(:' | 'score'
3704
 
    whitespace();
3705
 
    parse_LetBinding();
3706
 
    for (;;)
3707
 
    {
3708
 
      if (l1 != 41)                 // ','
3709
 
      {
3710
 
        break;
3711
 
      }
3712
 
      shift(41);                    // ','
3713
 
      lookahead1W(96);              // S^WS | '$' | '(:' | 'score'
3714
 
      whitespace();
3715
 
      parse_LetBinding();
3716
 
    }
3717
 
    eventHandler.endNonterminal("LetClause", e0);
3718
 
  }
3719
 
 
3720
 
  function try_LetClause()
3721
 
  {
3722
 
    shiftT(174);                    // 'let'
3723
 
    lookahead1W(96);                // S^WS | '$' | '(:' | 'score'
3724
 
    try_LetBinding();
3725
 
    for (;;)
3726
 
    {
3727
 
      if (l1 != 41)                 // ','
3728
 
      {
3729
 
        break;
3730
 
      }
3731
 
      shiftT(41);                   // ','
3732
 
      lookahead1W(96);              // S^WS | '$' | '(:' | 'score'
3733
 
      try_LetBinding();
3734
 
    }
3735
 
  }
3736
 
 
3737
 
  function parse_LetBinding()
3738
 
  {
3739
 
    eventHandler.startNonterminal("LetBinding", e0);
3740
 
    switch (l1)
3741
 
    {
3742
 
    case 31:                        // '$'
3743
 
      shift(31);                    // '$'
3744
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3745
 
      whitespace();
3746
 
      parse_VarName();
3747
 
      lookahead1W(105);             // S^WS | '(:' | ':=' | 'as'
3748
 
      if (l1 == 79)                 // 'as'
3749
 
      {
3750
 
        whitespace();
3751
 
        parse_TypeDeclaration();
3752
 
      }
3753
 
      break;
3754
 
    default:
3755
 
      parse_FTScoreVar();
3756
 
    }
3757
 
    lookahead1W(27);                // S^WS | '(:' | ':='
3758
 
    shift(52);                      // ':='
3759
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3760
 
    whitespace();
3761
 
    parse_ExprSingle();
3762
 
    eventHandler.endNonterminal("LetBinding", e0);
3763
 
  }
3764
 
 
3765
 
  function try_LetBinding()
3766
 
  {
3767
 
    switch (l1)
3768
 
    {
3769
 
    case 31:                        // '$'
3770
 
      shiftT(31);                   // '$'
3771
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3772
 
      try_VarName();
3773
 
      lookahead1W(105);             // S^WS | '(:' | ':=' | 'as'
3774
 
      if (l1 == 79)                 // 'as'
3775
 
      {
3776
 
        try_TypeDeclaration();
3777
 
      }
3778
 
      break;
3779
 
    default:
3780
 
      try_FTScoreVar();
3781
 
    }
3782
 
    lookahead1W(27);                // S^WS | '(:' | ':='
3783
 
    shiftT(52);                     // ':='
3784
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3785
 
    try_ExprSingle();
3786
 
  }
3787
 
 
3788
 
  function parse_WindowClause()
3789
 
  {
3790
 
    eventHandler.startNonterminal("WindowClause", e0);
3791
 
    shift(137);                     // 'for'
3792
 
    lookahead1W(135);               // S^WS | '(:' | 'sliding' | 'tumbling'
3793
 
    switch (l1)
3794
 
    {
3795
 
    case 251:                       // 'tumbling'
3796
 
      whitespace();
3797
 
      parse_TumblingWindowClause();
3798
 
      break;
3799
 
    default:
3800
 
      whitespace();
3801
 
      parse_SlidingWindowClause();
3802
 
    }
3803
 
    eventHandler.endNonterminal("WindowClause", e0);
3804
 
  }
3805
 
 
3806
 
  function try_WindowClause()
3807
 
  {
3808
 
    shiftT(137);                    // 'for'
3809
 
    lookahead1W(135);               // S^WS | '(:' | 'sliding' | 'tumbling'
3810
 
    switch (l1)
3811
 
    {
3812
 
    case 251:                       // 'tumbling'
3813
 
      try_TumblingWindowClause();
3814
 
      break;
3815
 
    default:
3816
 
      try_SlidingWindowClause();
3817
 
    }
3818
 
  }
3819
 
 
3820
 
  function parse_TumblingWindowClause()
3821
 
  {
3822
 
    eventHandler.startNonterminal("TumblingWindowClause", e0);
3823
 
    shift(251);                     // 'tumbling'
3824
 
    lookahead1W(85);                // S^WS | '(:' | 'window'
3825
 
    shift(269);                     // 'window'
3826
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3827
 
    shift(31);                      // '$'
3828
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3829
 
    whitespace();
3830
 
    parse_VarName();
3831
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
3832
 
    if (l1 == 79)                   // 'as'
3833
 
    {
3834
 
      whitespace();
3835
 
      parse_TypeDeclaration();
3836
 
    }
3837
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3838
 
    shift(154);                     // 'in'
3839
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3840
 
    whitespace();
3841
 
    parse_ExprSingle();
3842
 
    whitespace();
3843
 
    parse_WindowStartCondition();
3844
 
    if (l1 == 126                   // 'end'
3845
 
     || l1 == 198)                  // 'only'
3846
 
    {
3847
 
      whitespace();
3848
 
      parse_WindowEndCondition();
3849
 
    }
3850
 
    eventHandler.endNonterminal("TumblingWindowClause", e0);
3851
 
  }
3852
 
 
3853
 
  function try_TumblingWindowClause()
3854
 
  {
3855
 
    shiftT(251);                    // 'tumbling'
3856
 
    lookahead1W(85);                // S^WS | '(:' | 'window'
3857
 
    shiftT(269);                    // 'window'
3858
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3859
 
    shiftT(31);                     // '$'
3860
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3861
 
    try_VarName();
3862
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
3863
 
    if (l1 == 79)                   // 'as'
3864
 
    {
3865
 
      try_TypeDeclaration();
3866
 
    }
3867
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3868
 
    shiftT(154);                    // 'in'
3869
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3870
 
    try_ExprSingle();
3871
 
    try_WindowStartCondition();
3872
 
    if (l1 == 126                   // 'end'
3873
 
     || l1 == 198)                  // 'only'
3874
 
    {
3875
 
      try_WindowEndCondition();
3876
 
    }
3877
 
  }
3878
 
 
3879
 
  function parse_SlidingWindowClause()
3880
 
  {
3881
 
    eventHandler.startNonterminal("SlidingWindowClause", e0);
3882
 
    shift(234);                     // 'sliding'
3883
 
    lookahead1W(85);                // S^WS | '(:' | 'window'
3884
 
    shift(269);                     // 'window'
3885
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3886
 
    shift(31);                      // '$'
3887
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3888
 
    whitespace();
3889
 
    parse_VarName();
3890
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
3891
 
    if (l1 == 79)                   // 'as'
3892
 
    {
3893
 
      whitespace();
3894
 
      parse_TypeDeclaration();
3895
 
    }
3896
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3897
 
    shift(154);                     // 'in'
3898
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3899
 
    whitespace();
3900
 
    parse_ExprSingle();
3901
 
    whitespace();
3902
 
    parse_WindowStartCondition();
3903
 
    whitespace();
3904
 
    parse_WindowEndCondition();
3905
 
    eventHandler.endNonterminal("SlidingWindowClause", e0);
3906
 
  }
3907
 
 
3908
 
  function try_SlidingWindowClause()
3909
 
  {
3910
 
    shiftT(234);                    // 'sliding'
3911
 
    lookahead1W(85);                // S^WS | '(:' | 'window'
3912
 
    shiftT(269);                    // 'window'
3913
 
    lookahead1W(21);                // S^WS | '$' | '(:'
3914
 
    shiftT(31);                     // '$'
3915
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3916
 
    try_VarName();
3917
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
3918
 
    if (l1 == 79)                   // 'as'
3919
 
    {
3920
 
      try_TypeDeclaration();
3921
 
    }
3922
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
3923
 
    shiftT(154);                    // 'in'
3924
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3925
 
    try_ExprSingle();
3926
 
    try_WindowStartCondition();
3927
 
    try_WindowEndCondition();
3928
 
  }
3929
 
 
3930
 
  function parse_WindowStartCondition()
3931
 
  {
3932
 
    eventHandler.startNonterminal("WindowStartCondition", e0);
3933
 
    shift(237);                     // 'start'
3934
 
    lookahead1W(163);               // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
3935
 
    whitespace();
3936
 
    parse_WindowVars();
3937
 
    lookahead1W(83);                // S^WS | '(:' | 'when'
3938
 
    shift(265);                     // 'when'
3939
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3940
 
    whitespace();
3941
 
    parse_ExprSingle();
3942
 
    eventHandler.endNonterminal("WindowStartCondition", e0);
3943
 
  }
3944
 
 
3945
 
  function try_WindowStartCondition()
3946
 
  {
3947
 
    shiftT(237);                    // 'start'
3948
 
    lookahead1W(163);               // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
3949
 
    try_WindowVars();
3950
 
    lookahead1W(83);                // S^WS | '(:' | 'when'
3951
 
    shiftT(265);                    // 'when'
3952
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3953
 
    try_ExprSingle();
3954
 
  }
3955
 
 
3956
 
  function parse_WindowEndCondition()
3957
 
  {
3958
 
    eventHandler.startNonterminal("WindowEndCondition", e0);
3959
 
    if (l1 == 198)                  // 'only'
3960
 
    {
3961
 
      shift(198);                   // 'only'
3962
 
    }
3963
 
    lookahead1W(50);                // S^WS | '(:' | 'end'
3964
 
    shift(126);                     // 'end'
3965
 
    lookahead1W(163);               // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
3966
 
    whitespace();
3967
 
    parse_WindowVars();
3968
 
    lookahead1W(83);                // S^WS | '(:' | 'when'
3969
 
    shift(265);                     // 'when'
3970
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3971
 
    whitespace();
3972
 
    parse_ExprSingle();
3973
 
    eventHandler.endNonterminal("WindowEndCondition", e0);
3974
 
  }
3975
 
 
3976
 
  function try_WindowEndCondition()
3977
 
  {
3978
 
    if (l1 == 198)                  // 'only'
3979
 
    {
3980
 
      shiftT(198);                  // 'only'
3981
 
    }
3982
 
    lookahead1W(50);                // S^WS | '(:' | 'end'
3983
 
    shiftT(126);                    // 'end'
3984
 
    lookahead1W(163);               // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
3985
 
    try_WindowVars();
3986
 
    lookahead1W(83);                // S^WS | '(:' | 'when'
3987
 
    shiftT(265);                    // 'when'
3988
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
3989
 
    try_ExprSingle();
3990
 
  }
3991
 
 
3992
 
  function parse_WindowVars()
3993
 
  {
3994
 
    eventHandler.startNonterminal("WindowVars", e0);
3995
 
    if (l1 == 31)                   // '$'
3996
 
    {
3997
 
      shift(31);                    // '$'
3998
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
3999
 
      whitespace();
4000
 
      parse_CurrentItem();
4001
 
    }
4002
 
    lookahead1W(159);               // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
4003
 
    if (l1 == 81)                   // 'at'
4004
 
    {
4005
 
      whitespace();
4006
 
      parse_PositionalVar();
4007
 
    }
4008
 
    lookahead1W(153);               // S^WS | '(:' | 'next' | 'previous' | 'when'
4009
 
    if (l1 == 215)                  // 'previous'
4010
 
    {
4011
 
      shift(215);                   // 'previous'
4012
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4013
 
      shift(31);                    // '$'
4014
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4015
 
      whitespace();
4016
 
      parse_PreviousItem();
4017
 
    }
4018
 
    lookahead1W(127);               // S^WS | '(:' | 'next' | 'when'
4019
 
    if (l1 == 187)                  // 'next'
4020
 
    {
4021
 
      shift(187);                   // 'next'
4022
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4023
 
      shift(31);                    // '$'
4024
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4025
 
      whitespace();
4026
 
      parse_NextItem();
4027
 
    }
4028
 
    eventHandler.endNonterminal("WindowVars", e0);
4029
 
  }
4030
 
 
4031
 
  function try_WindowVars()
4032
 
  {
4033
 
    if (l1 == 31)                   // '$'
4034
 
    {
4035
 
      shiftT(31);                   // '$'
4036
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4037
 
      try_CurrentItem();
4038
 
    }
4039
 
    lookahead1W(159);               // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
4040
 
    if (l1 == 81)                   // 'at'
4041
 
    {
4042
 
      try_PositionalVar();
4043
 
    }
4044
 
    lookahead1W(153);               // S^WS | '(:' | 'next' | 'previous' | 'when'
4045
 
    if (l1 == 215)                  // 'previous'
4046
 
    {
4047
 
      shiftT(215);                  // 'previous'
4048
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4049
 
      shiftT(31);                   // '$'
4050
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4051
 
      try_PreviousItem();
4052
 
    }
4053
 
    lookahead1W(127);               // S^WS | '(:' | 'next' | 'when'
4054
 
    if (l1 == 187)                  // 'next'
4055
 
    {
4056
 
      shiftT(187);                  // 'next'
4057
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4058
 
      shiftT(31);                   // '$'
4059
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4060
 
      try_NextItem();
4061
 
    }
4062
 
  }
4063
 
 
4064
 
  function parse_CurrentItem()
4065
 
  {
4066
 
    eventHandler.startNonterminal("CurrentItem", e0);
4067
 
    parse_EQName();
4068
 
    eventHandler.endNonterminal("CurrentItem", e0);
4069
 
  }
4070
 
 
4071
 
  function try_CurrentItem()
4072
 
  {
4073
 
    try_EQName();
4074
 
  }
4075
 
 
4076
 
  function parse_PreviousItem()
4077
 
  {
4078
 
    eventHandler.startNonterminal("PreviousItem", e0);
4079
 
    parse_EQName();
4080
 
    eventHandler.endNonterminal("PreviousItem", e0);
4081
 
  }
4082
 
 
4083
 
  function try_PreviousItem()
4084
 
  {
4085
 
    try_EQName();
4086
 
  }
4087
 
 
4088
 
  function parse_NextItem()
4089
 
  {
4090
 
    eventHandler.startNonterminal("NextItem", e0);
4091
 
    parse_EQName();
4092
 
    eventHandler.endNonterminal("NextItem", e0);
4093
 
  }
4094
 
 
4095
 
  function try_NextItem()
4096
 
  {
4097
 
    try_EQName();
4098
 
  }
4099
 
 
4100
 
  function parse_CountClause()
4101
 
  {
4102
 
    eventHandler.startNonterminal("CountClause", e0);
4103
 
    shift(105);                     // 'count'
4104
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4105
 
    shift(31);                      // '$'
4106
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4107
 
    whitespace();
4108
 
    parse_VarName();
4109
 
    eventHandler.endNonterminal("CountClause", e0);
4110
 
  }
4111
 
 
4112
 
  function try_CountClause()
4113
 
  {
4114
 
    shiftT(105);                    // 'count'
4115
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4116
 
    shiftT(31);                     // '$'
4117
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4118
 
    try_VarName();
4119
 
  }
4120
 
 
4121
 
  function parse_WhereClause()
4122
 
  {
4123
 
    eventHandler.startNonterminal("WhereClause", e0);
4124
 
    shift(266);                     // 'where'
4125
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4126
 
    whitespace();
4127
 
    parse_ExprSingle();
4128
 
    eventHandler.endNonterminal("WhereClause", e0);
4129
 
  }
4130
 
 
4131
 
  function try_WhereClause()
4132
 
  {
4133
 
    shiftT(266);                    // 'where'
4134
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4135
 
    try_ExprSingle();
4136
 
  }
4137
 
 
4138
 
  function parse_GroupByClause()
4139
 
  {
4140
 
    eventHandler.startNonterminal("GroupByClause", e0);
4141
 
    shift(148);                     // 'group'
4142
 
    lookahead1W(34);                // S^WS | '(:' | 'by'
4143
 
    shift(87);                      // 'by'
4144
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4145
 
    whitespace();
4146
 
    parse_GroupingSpecList();
4147
 
    eventHandler.endNonterminal("GroupByClause", e0);
4148
 
  }
4149
 
 
4150
 
  function try_GroupByClause()
4151
 
  {
4152
 
    shiftT(148);                    // 'group'
4153
 
    lookahead1W(34);                // S^WS | '(:' | 'by'
4154
 
    shiftT(87);                     // 'by'
4155
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4156
 
    try_GroupingSpecList();
4157
 
  }
4158
 
 
4159
 
  function parse_GroupingSpecList()
4160
 
  {
4161
 
    eventHandler.startNonterminal("GroupingSpecList", e0);
4162
 
    parse_GroupingSpec();
4163
 
    for (;;)
4164
 
    {
4165
 
      lookahead1W(176);             // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
4166
 
      if (l1 != 41)                 // ','
4167
 
      {
4168
 
        break;
4169
 
      }
4170
 
      shift(41);                    // ','
4171
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4172
 
      whitespace();
4173
 
      parse_GroupingSpec();
4174
 
    }
4175
 
    eventHandler.endNonterminal("GroupingSpecList", e0);
4176
 
  }
4177
 
 
4178
 
  function try_GroupingSpecList()
4179
 
  {
4180
 
    try_GroupingSpec();
4181
 
    for (;;)
4182
 
    {
4183
 
      lookahead1W(176);             // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
4184
 
      if (l1 != 41)                 // ','
4185
 
      {
4186
 
        break;
4187
 
      }
4188
 
      shiftT(41);                   // ','
4189
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4190
 
      try_GroupingSpec();
4191
 
    }
4192
 
  }
4193
 
 
4194
 
  function parse_GroupingSpec()
4195
 
  {
4196
 
    eventHandler.startNonterminal("GroupingSpec", e0);
4197
 
    parse_GroupingVariable();
4198
 
    lookahead1W(182);               // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
4199
 
    if (l1 == 52                    // ':='
4200
 
     || l1 == 79)                   // 'as'
4201
 
    {
4202
 
      if (l1 == 79)                 // 'as'
4203
 
      {
4204
 
        whitespace();
4205
 
        parse_TypeDeclaration();
4206
 
      }
4207
 
      lookahead1W(27);              // S^WS | '(:' | ':='
4208
 
      shift(52);                    // ':='
4209
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4210
 
      whitespace();
4211
 
      parse_ExprSingle();
4212
 
    }
4213
 
    if (l1 == 94)                   // 'collation'
4214
 
    {
4215
 
      shift(94);                    // 'collation'
4216
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
4217
 
      shift(7);                     // URILiteral
4218
 
    }
4219
 
    eventHandler.endNonterminal("GroupingSpec", e0);
4220
 
  }
4221
 
 
4222
 
  function try_GroupingSpec()
4223
 
  {
4224
 
    try_GroupingVariable();
4225
 
    lookahead1W(182);               // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
4226
 
    if (l1 == 52                    // ':='
4227
 
     || l1 == 79)                   // 'as'
4228
 
    {
4229
 
      if (l1 == 79)                 // 'as'
4230
 
      {
4231
 
        try_TypeDeclaration();
4232
 
      }
4233
 
      lookahead1W(27);              // S^WS | '(:' | ':='
4234
 
      shiftT(52);                   // ':='
4235
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4236
 
      try_ExprSingle();
4237
 
    }
4238
 
    if (l1 == 94)                   // 'collation'
4239
 
    {
4240
 
      shiftT(94);                   // 'collation'
4241
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
4242
 
      shiftT(7);                    // URILiteral
4243
 
    }
4244
 
  }
4245
 
 
4246
 
  function parse_GroupingVariable()
4247
 
  {
4248
 
    eventHandler.startNonterminal("GroupingVariable", e0);
4249
 
    shift(31);                      // '$'
4250
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4251
 
    whitespace();
4252
 
    parse_VarName();
4253
 
    eventHandler.endNonterminal("GroupingVariable", e0);
4254
 
  }
4255
 
 
4256
 
  function try_GroupingVariable()
4257
 
  {
4258
 
    shiftT(31);                     // '$'
4259
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4260
 
    try_VarName();
4261
 
  }
4262
 
 
4263
 
  function parse_OrderByClause()
4264
 
  {
4265
 
    eventHandler.startNonterminal("OrderByClause", e0);
4266
 
    switch (l1)
4267
 
    {
4268
 
    case 201:                       // 'order'
4269
 
      shift(201);                   // 'order'
4270
 
      lookahead1W(34);              // S^WS | '(:' | 'by'
4271
 
      shift(87);                    // 'by'
4272
 
      break;
4273
 
    default:
4274
 
      shift(236);                   // 'stable'
4275
 
      lookahead1W(67);              // S^WS | '(:' | 'order'
4276
 
      shift(201);                   // 'order'
4277
 
      lookahead1W(34);              // S^WS | '(:' | 'by'
4278
 
      shift(87);                    // 'by'
4279
 
    }
4280
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4281
 
    whitespace();
4282
 
    parse_OrderSpecList();
4283
 
    eventHandler.endNonterminal("OrderByClause", e0);
4284
 
  }
4285
 
 
4286
 
  function try_OrderByClause()
4287
 
  {
4288
 
    switch (l1)
4289
 
    {
4290
 
    case 201:                       // 'order'
4291
 
      shiftT(201);                  // 'order'
4292
 
      lookahead1W(34);              // S^WS | '(:' | 'by'
4293
 
      shiftT(87);                   // 'by'
4294
 
      break;
4295
 
    default:
4296
 
      shiftT(236);                  // 'stable'
4297
 
      lookahead1W(67);              // S^WS | '(:' | 'order'
4298
 
      shiftT(201);                  // 'order'
4299
 
      lookahead1W(34);              // S^WS | '(:' | 'by'
4300
 
      shiftT(87);                   // 'by'
4301
 
    }
4302
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4303
 
    try_OrderSpecList();
4304
 
  }
4305
 
 
4306
 
  function parse_OrderSpecList()
4307
 
  {
4308
 
    eventHandler.startNonterminal("OrderSpecList", e0);
4309
 
    parse_OrderSpec();
4310
 
    for (;;)
4311
 
    {
4312
 
      lookahead1W(176);             // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
4313
 
      if (l1 != 41)                 // ','
4314
 
      {
4315
 
        break;
4316
 
      }
4317
 
      shift(41);                    // ','
4318
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4319
 
      whitespace();
4320
 
      parse_OrderSpec();
4321
 
    }
4322
 
    eventHandler.endNonterminal("OrderSpecList", e0);
4323
 
  }
4324
 
 
4325
 
  function try_OrderSpecList()
4326
 
  {
4327
 
    try_OrderSpec();
4328
 
    for (;;)
4329
 
    {
4330
 
      lookahead1W(176);             // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
4331
 
      if (l1 != 41)                 // ','
4332
 
      {
4333
 
        break;
4334
 
      }
4335
 
      shiftT(41);                   // ','
4336
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4337
 
      try_OrderSpec();
4338
 
    }
4339
 
  }
4340
 
 
4341
 
  function parse_OrderSpec()
4342
 
  {
4343
 
    eventHandler.startNonterminal("OrderSpec", e0);
4344
 
    parse_ExprSingle();
4345
 
    whitespace();
4346
 
    parse_OrderModifier();
4347
 
    eventHandler.endNonterminal("OrderSpec", e0);
4348
 
  }
4349
 
 
4350
 
  function try_OrderSpec()
4351
 
  {
4352
 
    try_ExprSingle();
4353
 
    try_OrderModifier();
4354
 
  }
4355
 
 
4356
 
  function parse_OrderModifier()
4357
 
  {
4358
 
    eventHandler.startNonterminal("OrderModifier", e0);
4359
 
    if (l1 == 80                    // 'ascending'
4360
 
     || l1 == 113)                  // 'descending'
4361
 
    {
4362
 
      switch (l1)
4363
 
      {
4364
 
      case 80:                      // 'ascending'
4365
 
        shift(80);                  // 'ascending'
4366
 
        break;
4367
 
      default:
4368
 
        shift(113);                 // 'descending'
4369
 
      }
4370
 
    }
4371
 
    lookahead1W(179);               // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
4372
 
    if (l1 == 123)                  // 'empty'
4373
 
    {
4374
 
      shift(123);                   // 'empty'
4375
 
      lookahead1W(121);             // S^WS | '(:' | 'greatest' | 'least'
4376
 
      switch (l1)
4377
 
      {
4378
 
      case 147:                     // 'greatest'
4379
 
        shift(147);                 // 'greatest'
4380
 
        break;
4381
 
      default:
4382
 
        shift(173);                 // 'least'
4383
 
      }
4384
 
    }
4385
 
    lookahead1W(177);               // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
4386
 
    if (l1 == 94)                   // 'collation'
4387
 
    {
4388
 
      shift(94);                    // 'collation'
4389
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
4390
 
      shift(7);                     // URILiteral
4391
 
    }
4392
 
    eventHandler.endNonterminal("OrderModifier", e0);
4393
 
  }
4394
 
 
4395
 
  function try_OrderModifier()
4396
 
  {
4397
 
    if (l1 == 80                    // 'ascending'
4398
 
     || l1 == 113)                  // 'descending'
4399
 
    {
4400
 
      switch (l1)
4401
 
      {
4402
 
      case 80:                      // 'ascending'
4403
 
        shiftT(80);                 // 'ascending'
4404
 
        break;
4405
 
      default:
4406
 
        shiftT(113);                // 'descending'
4407
 
      }
4408
 
    }
4409
 
    lookahead1W(179);               // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
4410
 
    if (l1 == 123)                  // 'empty'
4411
 
    {
4412
 
      shiftT(123);                  // 'empty'
4413
 
      lookahead1W(121);             // S^WS | '(:' | 'greatest' | 'least'
4414
 
      switch (l1)
4415
 
      {
4416
 
      case 147:                     // 'greatest'
4417
 
        shiftT(147);                // 'greatest'
4418
 
        break;
4419
 
      default:
4420
 
        shiftT(173);                // 'least'
4421
 
      }
4422
 
    }
4423
 
    lookahead1W(177);               // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
4424
 
    if (l1 == 94)                   // 'collation'
4425
 
    {
4426
 
      shiftT(94);                   // 'collation'
4427
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
4428
 
      shiftT(7);                    // URILiteral
4429
 
    }
4430
 
  }
4431
 
 
4432
 
  function parse_ReturnClause()
4433
 
  {
4434
 
    eventHandler.startNonterminal("ReturnClause", e0);
4435
 
    shift(220);                     // 'return'
4436
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4437
 
    whitespace();
4438
 
    parse_ExprSingle();
4439
 
    eventHandler.endNonterminal("ReturnClause", e0);
4440
 
  }
4441
 
 
4442
 
  function try_ReturnClause()
4443
 
  {
4444
 
    shiftT(220);                    // 'return'
4445
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4446
 
    try_ExprSingle();
4447
 
  }
4448
 
 
4449
 
  function parse_QuantifiedExpr()
4450
 
  {
4451
 
    eventHandler.startNonterminal("QuantifiedExpr", e0);
4452
 
    switch (l1)
4453
 
    {
4454
 
    case 235:                       // 'some'
4455
 
      shift(235);                   // 'some'
4456
 
      break;
4457
 
    default:
4458
 
      shift(129);                   // 'every'
4459
 
    }
4460
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4461
 
    shift(31);                      // '$'
4462
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4463
 
    whitespace();
4464
 
    parse_VarName();
4465
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
4466
 
    if (l1 == 79)                   // 'as'
4467
 
    {
4468
 
      whitespace();
4469
 
      parse_TypeDeclaration();
4470
 
    }
4471
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
4472
 
    shift(154);                     // 'in'
4473
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4474
 
    whitespace();
4475
 
    parse_ExprSingle();
4476
 
    for (;;)
4477
 
    {
4478
 
      if (l1 != 41)                 // ','
4479
 
      {
4480
 
        break;
4481
 
      }
4482
 
      shift(41);                    // ','
4483
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4484
 
      shift(31);                    // '$'
4485
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4486
 
      whitespace();
4487
 
      parse_VarName();
4488
 
      lookahead1W(110);             // S^WS | '(:' | 'as' | 'in'
4489
 
      if (l1 == 79)                 // 'as'
4490
 
      {
4491
 
        whitespace();
4492
 
        parse_TypeDeclaration();
4493
 
      }
4494
 
      lookahead1W(53);              // S^WS | '(:' | 'in'
4495
 
      shift(154);                   // 'in'
4496
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4497
 
      whitespace();
4498
 
      parse_ExprSingle();
4499
 
    }
4500
 
    shift(224);                     // 'satisfies'
4501
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4502
 
    whitespace();
4503
 
    parse_ExprSingle();
4504
 
    eventHandler.endNonterminal("QuantifiedExpr", e0);
4505
 
  }
4506
 
 
4507
 
  function try_QuantifiedExpr()
4508
 
  {
4509
 
    switch (l1)
4510
 
    {
4511
 
    case 235:                       // 'some'
4512
 
      shiftT(235);                  // 'some'
4513
 
      break;
4514
 
    default:
4515
 
      shiftT(129);                  // 'every'
4516
 
    }
4517
 
    lookahead1W(21);                // S^WS | '$' | '(:'
4518
 
    shiftT(31);                     // '$'
4519
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4520
 
    try_VarName();
4521
 
    lookahead1W(110);               // S^WS | '(:' | 'as' | 'in'
4522
 
    if (l1 == 79)                   // 'as'
4523
 
    {
4524
 
      try_TypeDeclaration();
4525
 
    }
4526
 
    lookahead1W(53);                // S^WS | '(:' | 'in'
4527
 
    shiftT(154);                    // 'in'
4528
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4529
 
    try_ExprSingle();
4530
 
    for (;;)
4531
 
    {
4532
 
      if (l1 != 41)                 // ','
4533
 
      {
4534
 
        break;
4535
 
      }
4536
 
      shiftT(41);                   // ','
4537
 
      lookahead1W(21);              // S^WS | '$' | '(:'
4538
 
      shiftT(31);                   // '$'
4539
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4540
 
      try_VarName();
4541
 
      lookahead1W(110);             // S^WS | '(:' | 'as' | 'in'
4542
 
      if (l1 == 79)                 // 'as'
4543
 
      {
4544
 
        try_TypeDeclaration();
4545
 
      }
4546
 
      lookahead1W(53);              // S^WS | '(:' | 'in'
4547
 
      shiftT(154);                  // 'in'
4548
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4549
 
      try_ExprSingle();
4550
 
    }
4551
 
    shiftT(224);                    // 'satisfies'
4552
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4553
 
    try_ExprSingle();
4554
 
  }
4555
 
 
4556
 
  function parse_SwitchExpr()
4557
 
  {
4558
 
    eventHandler.startNonterminal("SwitchExpr", e0);
4559
 
    shift(243);                     // 'switch'
4560
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4561
 
    shift(34);                      // '('
4562
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4563
 
    whitespace();
4564
 
    parse_Expr();
4565
 
    shift(37);                      // ')'
4566
 
    for (;;)
4567
 
    {
4568
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
4569
 
      whitespace();
4570
 
      parse_SwitchCaseClause();
4571
 
      if (l1 != 88)                 // 'case'
4572
 
      {
4573
 
        break;
4574
 
      }
4575
 
    }
4576
 
    shift(109);                     // 'default'
4577
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
4578
 
    shift(220);                     // 'return'
4579
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4580
 
    whitespace();
4581
 
    parse_ExprSingle();
4582
 
    eventHandler.endNonterminal("SwitchExpr", e0);
4583
 
  }
4584
 
 
4585
 
  function try_SwitchExpr()
4586
 
  {
4587
 
    shiftT(243);                    // 'switch'
4588
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4589
 
    shiftT(34);                     // '('
4590
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4591
 
    try_Expr();
4592
 
    shiftT(37);                     // ')'
4593
 
    for (;;)
4594
 
    {
4595
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
4596
 
      try_SwitchCaseClause();
4597
 
      if (l1 != 88)                 // 'case'
4598
 
      {
4599
 
        break;
4600
 
      }
4601
 
    }
4602
 
    shiftT(109);                    // 'default'
4603
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
4604
 
    shiftT(220);                    // 'return'
4605
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4606
 
    try_ExprSingle();
4607
 
  }
4608
 
 
4609
 
  function parse_SwitchCaseClause()
4610
 
  {
4611
 
    eventHandler.startNonterminal("SwitchCaseClause", e0);
4612
 
    for (;;)
4613
 
    {
4614
 
      shift(88);                    // 'case'
4615
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4616
 
      whitespace();
4617
 
      parse_SwitchCaseOperand();
4618
 
      if (l1 != 88)                 // 'case'
4619
 
      {
4620
 
        break;
4621
 
      }
4622
 
    }
4623
 
    shift(220);                     // 'return'
4624
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4625
 
    whitespace();
4626
 
    parse_ExprSingle();
4627
 
    eventHandler.endNonterminal("SwitchCaseClause", e0);
4628
 
  }
4629
 
 
4630
 
  function try_SwitchCaseClause()
4631
 
  {
4632
 
    for (;;)
4633
 
    {
4634
 
      shiftT(88);                   // 'case'
4635
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4636
 
      try_SwitchCaseOperand();
4637
 
      if (l1 != 88)                 // 'case'
4638
 
      {
4639
 
        break;
4640
 
      }
4641
 
    }
4642
 
    shiftT(220);                    // 'return'
4643
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4644
 
    try_ExprSingle();
4645
 
  }
4646
 
 
4647
 
  function parse_SwitchCaseOperand()
4648
 
  {
4649
 
    eventHandler.startNonterminal("SwitchCaseOperand", e0);
4650
 
    parse_ExprSingle();
4651
 
    eventHandler.endNonterminal("SwitchCaseOperand", e0);
4652
 
  }
4653
 
 
4654
 
  function try_SwitchCaseOperand()
4655
 
  {
4656
 
    try_ExprSingle();
4657
 
  }
4658
 
 
4659
 
  function parse_TypeswitchExpr()
4660
 
  {
4661
 
    eventHandler.startNonterminal("TypeswitchExpr", e0);
4662
 
    shift(253);                     // 'typeswitch'
4663
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4664
 
    shift(34);                      // '('
4665
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4666
 
    whitespace();
4667
 
    parse_Expr();
4668
 
    shift(37);                      // ')'
4669
 
    for (;;)
4670
 
    {
4671
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
4672
 
      whitespace();
4673
 
      parse_CaseClause();
4674
 
      if (l1 != 88)                 // 'case'
4675
 
      {
4676
 
        break;
4677
 
      }
4678
 
    }
4679
 
    shift(109);                     // 'default'
4680
 
    lookahead1W(95);                // S^WS | '$' | '(:' | 'return'
4681
 
    if (l1 == 31)                   // '$'
4682
 
    {
4683
 
      shift(31);                    // '$'
4684
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4685
 
      whitespace();
4686
 
      parse_VarName();
4687
 
    }
4688
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
4689
 
    shift(220);                     // 'return'
4690
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4691
 
    whitespace();
4692
 
    parse_ExprSingle();
4693
 
    eventHandler.endNonterminal("TypeswitchExpr", e0);
4694
 
  }
4695
 
 
4696
 
  function try_TypeswitchExpr()
4697
 
  {
4698
 
    shiftT(253);                    // 'typeswitch'
4699
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4700
 
    shiftT(34);                     // '('
4701
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4702
 
    try_Expr();
4703
 
    shiftT(37);                     // ')'
4704
 
    for (;;)
4705
 
    {
4706
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
4707
 
      try_CaseClause();
4708
 
      if (l1 != 88)                 // 'case'
4709
 
      {
4710
 
        break;
4711
 
      }
4712
 
    }
4713
 
    shiftT(109);                    // 'default'
4714
 
    lookahead1W(95);                // S^WS | '$' | '(:' | 'return'
4715
 
    if (l1 == 31)                   // '$'
4716
 
    {
4717
 
      shiftT(31);                   // '$'
4718
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4719
 
      try_VarName();
4720
 
    }
4721
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
4722
 
    shiftT(220);                    // 'return'
4723
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4724
 
    try_ExprSingle();
4725
 
  }
4726
 
 
4727
 
  function parse_CaseClause()
4728
 
  {
4729
 
    eventHandler.startNonterminal("CaseClause", e0);
4730
 
    shift(88);                      // 'case'
4731
 
    lookahead1W(260);               // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
4732
 
    if (l1 == 31)                   // '$'
4733
 
    {
4734
 
      shift(31);                    // '$'
4735
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4736
 
      whitespace();
4737
 
      parse_VarName();
4738
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
4739
 
      shift(79);                    // 'as'
4740
 
    }
4741
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
4742
 
    whitespace();
4743
 
    parse_SequenceTypeUnion();
4744
 
    shift(220);                     // 'return'
4745
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4746
 
    whitespace();
4747
 
    parse_ExprSingle();
4748
 
    eventHandler.endNonterminal("CaseClause", e0);
4749
 
  }
4750
 
 
4751
 
  function try_CaseClause()
4752
 
  {
4753
 
    shiftT(88);                     // 'case'
4754
 
    lookahead1W(260);               // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
4755
 
    if (l1 == 31)                   // '$'
4756
 
    {
4757
 
      shiftT(31);                   // '$'
4758
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4759
 
      try_VarName();
4760
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
4761
 
      shiftT(79);                   // 'as'
4762
 
    }
4763
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
4764
 
    try_SequenceTypeUnion();
4765
 
    shiftT(220);                    // 'return'
4766
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4767
 
    try_ExprSingle();
4768
 
  }
4769
 
 
4770
 
  function parse_SequenceTypeUnion()
4771
 
  {
4772
 
    eventHandler.startNonterminal("SequenceTypeUnion", e0);
4773
 
    parse_SequenceType();
4774
 
    for (;;)
4775
 
    {
4776
 
      lookahead1W(134);             // S^WS | '(:' | 'return' | '|'
4777
 
      if (l1 != 279)                // '|'
4778
 
      {
4779
 
        break;
4780
 
      }
4781
 
      shift(279);                   // '|'
4782
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
4783
 
      whitespace();
4784
 
      parse_SequenceType();
4785
 
    }
4786
 
    eventHandler.endNonterminal("SequenceTypeUnion", e0);
4787
 
  }
4788
 
 
4789
 
  function try_SequenceTypeUnion()
4790
 
  {
4791
 
    try_SequenceType();
4792
 
    for (;;)
4793
 
    {
4794
 
      lookahead1W(134);             // S^WS | '(:' | 'return' | '|'
4795
 
      if (l1 != 279)                // '|'
4796
 
      {
4797
 
        break;
4798
 
      }
4799
 
      shiftT(279);                  // '|'
4800
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
4801
 
      try_SequenceType();
4802
 
    }
4803
 
  }
4804
 
 
4805
 
  function parse_IfExpr()
4806
 
  {
4807
 
    eventHandler.startNonterminal("IfExpr", e0);
4808
 
    shift(152);                     // 'if'
4809
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4810
 
    shift(34);                      // '('
4811
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4812
 
    whitespace();
4813
 
    parse_Expr();
4814
 
    shift(37);                      // ')'
4815
 
    lookahead1W(77);                // S^WS | '(:' | 'then'
4816
 
    shift(245);                     // 'then'
4817
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4818
 
    whitespace();
4819
 
    parse_ExprSingle();
4820
 
    shift(122);                     // 'else'
4821
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4822
 
    whitespace();
4823
 
    parse_ExprSingle();
4824
 
    eventHandler.endNonterminal("IfExpr", e0);
4825
 
  }
4826
 
 
4827
 
  function try_IfExpr()
4828
 
  {
4829
 
    shiftT(152);                    // 'if'
4830
 
    lookahead1W(22);                // S^WS | '(' | '(:'
4831
 
    shiftT(34);                     // '('
4832
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4833
 
    try_Expr();
4834
 
    shiftT(37);                     // ')'
4835
 
    lookahead1W(77);                // S^WS | '(:' | 'then'
4836
 
    shiftT(245);                    // 'then'
4837
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4838
 
    try_ExprSingle();
4839
 
    shiftT(122);                    // 'else'
4840
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4841
 
    try_ExprSingle();
4842
 
  }
4843
 
 
4844
 
  function parse_TryCatchExpr()
4845
 
  {
4846
 
    eventHandler.startNonterminal("TryCatchExpr", e0);
4847
 
    parse_TryClause();
4848
 
    for (;;)
4849
 
    {
4850
 
      lookahead1W(36);              // S^WS | '(:' | 'catch'
4851
 
      whitespace();
4852
 
      parse_CatchClause();
4853
 
      lookahead1W(184);             // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
4854
 
      if (l1 != 91)                 // 'catch'
4855
 
      {
4856
 
        break;
4857
 
      }
4858
 
    }
4859
 
    eventHandler.endNonterminal("TryCatchExpr", e0);
4860
 
  }
4861
 
 
4862
 
  function try_TryCatchExpr()
4863
 
  {
4864
 
    try_TryClause();
4865
 
    for (;;)
4866
 
    {
4867
 
      lookahead1W(36);              // S^WS | '(:' | 'catch'
4868
 
      try_CatchClause();
4869
 
      lookahead1W(184);             // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
4870
 
      if (l1 != 91)                 // 'catch'
4871
 
      {
4872
 
        break;
4873
 
      }
4874
 
    }
4875
 
  }
4876
 
 
4877
 
  function parse_TryClause()
4878
 
  {
4879
 
    eventHandler.startNonterminal("TryClause", e0);
4880
 
    shift(250);                     // 'try'
4881
 
    lookahead1W(87);                // S^WS | '(:' | '{'
4882
 
    shift(276);                     // '{'
4883
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4884
 
    whitespace();
4885
 
    parse_TryTargetExpr();
4886
 
    shift(282);                     // '}'
4887
 
    eventHandler.endNonterminal("TryClause", e0);
4888
 
  }
4889
 
 
4890
 
  function try_TryClause()
4891
 
  {
4892
 
    shiftT(250);                    // 'try'
4893
 
    lookahead1W(87);                // S^WS | '(:' | '{'
4894
 
    shiftT(276);                    // '{'
4895
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4896
 
    try_TryTargetExpr();
4897
 
    shiftT(282);                    // '}'
4898
 
  }
4899
 
 
4900
 
  function parse_TryTargetExpr()
4901
 
  {
4902
 
    eventHandler.startNonterminal("TryTargetExpr", e0);
4903
 
    parse_Expr();
4904
 
    eventHandler.endNonterminal("TryTargetExpr", e0);
4905
 
  }
4906
 
 
4907
 
  function try_TryTargetExpr()
4908
 
  {
4909
 
    try_Expr();
4910
 
  }
4911
 
 
4912
 
  function parse_CatchClause()
4913
 
  {
4914
 
    eventHandler.startNonterminal("CatchClause", e0);
4915
 
    shift(91);                      // 'catch'
4916
 
    lookahead1W(255);               // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4917
 
    whitespace();
4918
 
    parse_CatchErrorList();
4919
 
    shift(276);                     // '{'
4920
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4921
 
    whitespace();
4922
 
    parse_Expr();
4923
 
    shift(282);                     // '}'
4924
 
    eventHandler.endNonterminal("CatchClause", e0);
4925
 
  }
4926
 
 
4927
 
  function try_CatchClause()
4928
 
  {
4929
 
    shiftT(91);                     // 'catch'
4930
 
    lookahead1W(255);               // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4931
 
    try_CatchErrorList();
4932
 
    shiftT(276);                    // '{'
4933
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4934
 
    try_Expr();
4935
 
    shiftT(282);                    // '}'
4936
 
  }
4937
 
 
4938
 
  function parse_CatchErrorList()
4939
 
  {
4940
 
    eventHandler.startNonterminal("CatchErrorList", e0);
4941
 
    parse_NameTest();
4942
 
    for (;;)
4943
 
    {
4944
 
      lookahead1W(136);             // S^WS | '(:' | '{' | '|'
4945
 
      if (l1 != 279)                // '|'
4946
 
      {
4947
 
        break;
4948
 
      }
4949
 
      shift(279);                   // '|'
4950
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4951
 
      whitespace();
4952
 
      parse_NameTest();
4953
 
    }
4954
 
    eventHandler.endNonterminal("CatchErrorList", e0);
4955
 
  }
4956
 
 
4957
 
  function try_CatchErrorList()
4958
 
  {
4959
 
    try_NameTest();
4960
 
    for (;;)
4961
 
    {
4962
 
      lookahead1W(136);             // S^WS | '(:' | '{' | '|'
4963
 
      if (l1 != 279)                // '|'
4964
 
      {
4965
 
        break;
4966
 
      }
4967
 
      shiftT(279);                  // '|'
4968
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
4969
 
      try_NameTest();
4970
 
    }
4971
 
  }
4972
 
 
4973
 
  function parse_OrExpr()
4974
 
  {
4975
 
    eventHandler.startNonterminal("OrExpr", e0);
4976
 
    parse_AndExpr();
4977
 
    for (;;)
4978
 
    {
4979
 
      if (l1 != 200)                // 'or'
4980
 
      {
4981
 
        break;
4982
 
      }
4983
 
      shift(200);                   // 'or'
4984
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
4985
 
      whitespace();
4986
 
      parse_AndExpr();
4987
 
    }
4988
 
    eventHandler.endNonterminal("OrExpr", e0);
4989
 
  }
4990
 
 
4991
 
  function try_OrExpr()
4992
 
  {
4993
 
    try_AndExpr();
4994
 
    for (;;)
4995
 
    {
4996
 
      if (l1 != 200)                // 'or'
4997
 
      {
4998
 
        break;
4999
 
      }
5000
 
      shiftT(200);                  // 'or'
5001
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5002
 
      try_AndExpr();
5003
 
    }
5004
 
  }
5005
 
 
5006
 
  function parse_AndExpr()
5007
 
  {
5008
 
    eventHandler.startNonterminal("AndExpr", e0);
5009
 
    parse_ComparisonExpr();
5010
 
    for (;;)
5011
 
    {
5012
 
      if (l1 != 75)                 // 'and'
5013
 
      {
5014
 
        break;
5015
 
      }
5016
 
      shift(75);                    // 'and'
5017
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5018
 
      whitespace();
5019
 
      parse_ComparisonExpr();
5020
 
    }
5021
 
    eventHandler.endNonterminal("AndExpr", e0);
5022
 
  }
5023
 
 
5024
 
  function try_AndExpr()
5025
 
  {
5026
 
    try_ComparisonExpr();
5027
 
    for (;;)
5028
 
    {
5029
 
      if (l1 != 75)                 // 'and'
5030
 
      {
5031
 
        break;
5032
 
      }
5033
 
      shiftT(75);                   // 'and'
5034
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5035
 
      try_ComparisonExpr();
5036
 
    }
5037
 
  }
5038
 
 
5039
 
  function parse_ComparisonExpr()
5040
 
  {
5041
 
    eventHandler.startNonterminal("ComparisonExpr", e0);
5042
 
    parse_FTContainsExpr();
5043
 
    if (l1 == 27                    // '!='
5044
 
     || l1 == 54                    // '<'
5045
 
     || l1 == 57                    // '<<'
5046
 
     || l1 == 58                    // '<='
5047
 
     || l1 == 60                    // '='
5048
 
     || l1 == 61                    // '>'
5049
 
     || l1 == 62                    // '>='
5050
 
     || l1 == 63                    // '>>'
5051
 
     || l1 == 128                   // 'eq'
5052
 
     || l1 == 146                   // 'ge'
5053
 
     || l1 == 150                   // 'gt'
5054
 
     || l1 == 164                   // 'is'
5055
 
     || l1 == 172                   // 'le'
5056
 
     || l1 == 178                   // 'lt'
5057
 
     || l1 == 186)                  // 'ne'
5058
 
    {
5059
 
      switch (l1)
5060
 
      {
5061
 
      case 128:                     // 'eq'
5062
 
      case 146:                     // 'ge'
5063
 
      case 150:                     // 'gt'
5064
 
      case 172:                     // 'le'
5065
 
      case 178:                     // 'lt'
5066
 
      case 186:                     // 'ne'
5067
 
        whitespace();
5068
 
        parse_ValueComp();
5069
 
        break;
5070
 
      case 57:                      // '<<'
5071
 
      case 63:                      // '>>'
5072
 
      case 164:                     // 'is'
5073
 
        whitespace();
5074
 
        parse_NodeComp();
5075
 
        break;
5076
 
      default:
5077
 
        whitespace();
5078
 
        parse_GeneralComp();
5079
 
      }
5080
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5081
 
      whitespace();
5082
 
      parse_FTContainsExpr();
5083
 
    }
5084
 
    eventHandler.endNonterminal("ComparisonExpr", e0);
5085
 
  }
5086
 
 
5087
 
  function try_ComparisonExpr()
5088
 
  {
5089
 
    try_FTContainsExpr();
5090
 
    if (l1 == 27                    // '!='
5091
 
     || l1 == 54                    // '<'
5092
 
     || l1 == 57                    // '<<'
5093
 
     || l1 == 58                    // '<='
5094
 
     || l1 == 60                    // '='
5095
 
     || l1 == 61                    // '>'
5096
 
     || l1 == 62                    // '>='
5097
 
     || l1 == 63                    // '>>'
5098
 
     || l1 == 128                   // 'eq'
5099
 
     || l1 == 146                   // 'ge'
5100
 
     || l1 == 150                   // 'gt'
5101
 
     || l1 == 164                   // 'is'
5102
 
     || l1 == 172                   // 'le'
5103
 
     || l1 == 178                   // 'lt'
5104
 
     || l1 == 186)                  // 'ne'
5105
 
    {
5106
 
      switch (l1)
5107
 
      {
5108
 
      case 128:                     // 'eq'
5109
 
      case 146:                     // 'ge'
5110
 
      case 150:                     // 'gt'
5111
 
      case 172:                     // 'le'
5112
 
      case 178:                     // 'lt'
5113
 
      case 186:                     // 'ne'
5114
 
        try_ValueComp();
5115
 
        break;
5116
 
      case 57:                      // '<<'
5117
 
      case 63:                      // '>>'
5118
 
      case 164:                     // 'is'
5119
 
        try_NodeComp();
5120
 
        break;
5121
 
      default:
5122
 
        try_GeneralComp();
5123
 
      }
5124
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5125
 
      try_FTContainsExpr();
5126
 
    }
5127
 
  }
5128
 
 
5129
 
  function parse_FTContainsExpr()
5130
 
  {
5131
 
    eventHandler.startNonterminal("FTContainsExpr", e0);
5132
 
    parse_StringConcatExpr();
5133
 
    if (l1 == 99)                   // 'contains'
5134
 
    {
5135
 
      shift(99);                    // 'contains'
5136
 
      lookahead1W(76);              // S^WS | '(:' | 'text'
5137
 
      shift(244);                   // 'text'
5138
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
5139
 
      whitespace();
5140
 
      parse_FTSelection();
5141
 
      if (l1 == 271)                // 'without'
5142
 
      {
5143
 
        whitespace();
5144
 
        parse_FTIgnoreOption();
5145
 
      }
5146
 
    }
5147
 
    eventHandler.endNonterminal("FTContainsExpr", e0);
5148
 
  }
5149
 
 
5150
 
  function try_FTContainsExpr()
5151
 
  {
5152
 
    try_StringConcatExpr();
5153
 
    if (l1 == 99)                   // 'contains'
5154
 
    {
5155
 
      shiftT(99);                   // 'contains'
5156
 
      lookahead1W(76);              // S^WS | '(:' | 'text'
5157
 
      shiftT(244);                  // 'text'
5158
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
5159
 
      try_FTSelection();
5160
 
      if (l1 == 271)                // 'without'
5161
 
      {
5162
 
        try_FTIgnoreOption();
5163
 
      }
5164
 
    }
5165
 
  }
5166
 
 
5167
 
  function parse_StringConcatExpr()
5168
 
  {
5169
 
    eventHandler.startNonterminal("StringConcatExpr", e0);
5170
 
    parse_RangeExpr();
5171
 
    for (;;)
5172
 
    {
5173
 
      if (l1 != 280)                // '||'
5174
 
      {
5175
 
        break;
5176
 
      }
5177
 
      shift(280);                   // '||'
5178
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5179
 
      whitespace();
5180
 
      parse_RangeExpr();
5181
 
    }
5182
 
    eventHandler.endNonterminal("StringConcatExpr", e0);
5183
 
  }
5184
 
 
5185
 
  function try_StringConcatExpr()
5186
 
  {
5187
 
    try_RangeExpr();
5188
 
    for (;;)
5189
 
    {
5190
 
      if (l1 != 280)                // '||'
5191
 
      {
5192
 
        break;
5193
 
      }
5194
 
      shiftT(280);                  // '||'
5195
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5196
 
      try_RangeExpr();
5197
 
    }
5198
 
  }
5199
 
 
5200
 
  function parse_RangeExpr()
5201
 
  {
5202
 
    eventHandler.startNonterminal("RangeExpr", e0);
5203
 
    parse_AdditiveExpr();
5204
 
    if (l1 == 248)                  // 'to'
5205
 
    {
5206
 
      shift(248);                   // 'to'
5207
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5208
 
      whitespace();
5209
 
      parse_AdditiveExpr();
5210
 
    }
5211
 
    eventHandler.endNonterminal("RangeExpr", e0);
5212
 
  }
5213
 
 
5214
 
  function try_RangeExpr()
5215
 
  {
5216
 
    try_AdditiveExpr();
5217
 
    if (l1 == 248)                  // 'to'
5218
 
    {
5219
 
      shiftT(248);                  // 'to'
5220
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5221
 
      try_AdditiveExpr();
5222
 
    }
5223
 
  }
5224
 
 
5225
 
  function parse_AdditiveExpr()
5226
 
  {
5227
 
    eventHandler.startNonterminal("AdditiveExpr", e0);
5228
 
    parse_MultiplicativeExpr();
5229
 
    for (;;)
5230
 
    {
5231
 
      if (l1 != 40                  // '+'
5232
 
       && l1 != 42)                 // '-'
5233
 
      {
5234
 
        break;
5235
 
      }
5236
 
      switch (l1)
5237
 
      {
5238
 
      case 40:                      // '+'
5239
 
        shift(40);                  // '+'
5240
 
        break;
5241
 
      default:
5242
 
        shift(42);                  // '-'
5243
 
      }
5244
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5245
 
      whitespace();
5246
 
      parse_MultiplicativeExpr();
5247
 
    }
5248
 
    eventHandler.endNonterminal("AdditiveExpr", e0);
5249
 
  }
5250
 
 
5251
 
  function try_AdditiveExpr()
5252
 
  {
5253
 
    try_MultiplicativeExpr();
5254
 
    for (;;)
5255
 
    {
5256
 
      if (l1 != 40                  // '+'
5257
 
       && l1 != 42)                 // '-'
5258
 
      {
5259
 
        break;
5260
 
      }
5261
 
      switch (l1)
5262
 
      {
5263
 
      case 40:                      // '+'
5264
 
        shiftT(40);                 // '+'
5265
 
        break;
5266
 
      default:
5267
 
        shiftT(42);                 // '-'
5268
 
      }
5269
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5270
 
      try_MultiplicativeExpr();
5271
 
    }
5272
 
  }
5273
 
 
5274
 
  function parse_MultiplicativeExpr()
5275
 
  {
5276
 
    eventHandler.startNonterminal("MultiplicativeExpr", e0);
5277
 
    parse_UnionExpr();
5278
 
    for (;;)
5279
 
    {
5280
 
      if (l1 != 38                  // '*'
5281
 
       && l1 != 118                 // 'div'
5282
 
       && l1 != 151                 // 'idiv'
5283
 
       && l1 != 180)                // 'mod'
5284
 
      {
5285
 
        break;
5286
 
      }
5287
 
      switch (l1)
5288
 
      {
5289
 
      case 38:                      // '*'
5290
 
        shift(38);                  // '*'
5291
 
        break;
5292
 
      case 118:                     // 'div'
5293
 
        shift(118);                 // 'div'
5294
 
        break;
5295
 
      case 151:                     // 'idiv'
5296
 
        shift(151);                 // 'idiv'
5297
 
        break;
5298
 
      default:
5299
 
        shift(180);                 // 'mod'
5300
 
      }
5301
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5302
 
      whitespace();
5303
 
      parse_UnionExpr();
5304
 
    }
5305
 
    eventHandler.endNonterminal("MultiplicativeExpr", e0);
5306
 
  }
5307
 
 
5308
 
  function try_MultiplicativeExpr()
5309
 
  {
5310
 
    try_UnionExpr();
5311
 
    for (;;)
5312
 
    {
5313
 
      if (l1 != 38                  // '*'
5314
 
       && l1 != 118                 // 'div'
5315
 
       && l1 != 151                 // 'idiv'
5316
 
       && l1 != 180)                // 'mod'
5317
 
      {
5318
 
        break;
5319
 
      }
5320
 
      switch (l1)
5321
 
      {
5322
 
      case 38:                      // '*'
5323
 
        shiftT(38);                 // '*'
5324
 
        break;
5325
 
      case 118:                     // 'div'
5326
 
        shiftT(118);                // 'div'
5327
 
        break;
5328
 
      case 151:                     // 'idiv'
5329
 
        shiftT(151);                // 'idiv'
5330
 
        break;
5331
 
      default:
5332
 
        shiftT(180);                // 'mod'
5333
 
      }
5334
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5335
 
      try_UnionExpr();
5336
 
    }
5337
 
  }
5338
 
 
5339
 
  function parse_UnionExpr()
5340
 
  {
5341
 
    eventHandler.startNonterminal("UnionExpr", e0);
5342
 
    parse_IntersectExceptExpr();
5343
 
    for (;;)
5344
 
    {
5345
 
      if (l1 != 254                 // 'union'
5346
 
       && l1 != 279)                // '|'
5347
 
      {
5348
 
        break;
5349
 
      }
5350
 
      switch (l1)
5351
 
      {
5352
 
      case 254:                     // 'union'
5353
 
        shift(254);                 // 'union'
5354
 
        break;
5355
 
      default:
5356
 
        shift(279);                 // '|'
5357
 
      }
5358
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5359
 
      whitespace();
5360
 
      parse_IntersectExceptExpr();
5361
 
    }
5362
 
    eventHandler.endNonterminal("UnionExpr", e0);
5363
 
  }
5364
 
 
5365
 
  function try_UnionExpr()
5366
 
  {
5367
 
    try_IntersectExceptExpr();
5368
 
    for (;;)
5369
 
    {
5370
 
      if (l1 != 254                 // 'union'
5371
 
       && l1 != 279)                // '|'
5372
 
      {
5373
 
        break;
5374
 
      }
5375
 
      switch (l1)
5376
 
      {
5377
 
      case 254:                     // 'union'
5378
 
        shiftT(254);                // 'union'
5379
 
        break;
5380
 
      default:
5381
 
        shiftT(279);                // '|'
5382
 
      }
5383
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5384
 
      try_IntersectExceptExpr();
5385
 
    }
5386
 
  }
5387
 
 
5388
 
  function parse_IntersectExceptExpr()
5389
 
  {
5390
 
    eventHandler.startNonterminal("IntersectExceptExpr", e0);
5391
 
    parse_InstanceofExpr();
5392
 
    for (;;)
5393
 
    {
5394
 
      lookahead1W(222);             // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5395
 
      if (l1 != 131                 // 'except'
5396
 
       && l1 != 162)                // 'intersect'
5397
 
      {
5398
 
        break;
5399
 
      }
5400
 
      switch (l1)
5401
 
      {
5402
 
      case 162:                     // 'intersect'
5403
 
        shift(162);                 // 'intersect'
5404
 
        break;
5405
 
      default:
5406
 
        shift(131);                 // 'except'
5407
 
      }
5408
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5409
 
      whitespace();
5410
 
      parse_InstanceofExpr();
5411
 
    }
5412
 
    eventHandler.endNonterminal("IntersectExceptExpr", e0);
5413
 
  }
5414
 
 
5415
 
  function try_IntersectExceptExpr()
5416
 
  {
5417
 
    try_InstanceofExpr();
5418
 
    for (;;)
5419
 
    {
5420
 
      lookahead1W(222);             // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5421
 
      if (l1 != 131                 // 'except'
5422
 
       && l1 != 162)                // 'intersect'
5423
 
      {
5424
 
        break;
5425
 
      }
5426
 
      switch (l1)
5427
 
      {
5428
 
      case 162:                     // 'intersect'
5429
 
        shiftT(162);                // 'intersect'
5430
 
        break;
5431
 
      default:
5432
 
        shiftT(131);                // 'except'
5433
 
      }
5434
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5435
 
      try_InstanceofExpr();
5436
 
    }
5437
 
  }
5438
 
 
5439
 
  function parse_InstanceofExpr()
5440
 
  {
5441
 
    eventHandler.startNonterminal("InstanceofExpr", e0);
5442
 
    parse_TreatExpr();
5443
 
    lookahead1W(223);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5444
 
    if (l1 == 160)                  // 'instance'
5445
 
    {
5446
 
      shift(160);                   // 'instance'
5447
 
      lookahead1W(64);              // S^WS | '(:' | 'of'
5448
 
      shift(196);                   // 'of'
5449
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
5450
 
      whitespace();
5451
 
      parse_SequenceType();
5452
 
    }
5453
 
    eventHandler.endNonterminal("InstanceofExpr", e0);
5454
 
  }
5455
 
 
5456
 
  function try_InstanceofExpr()
5457
 
  {
5458
 
    try_TreatExpr();
5459
 
    lookahead1W(223);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5460
 
    if (l1 == 160)                  // 'instance'
5461
 
    {
5462
 
      shiftT(160);                  // 'instance'
5463
 
      lookahead1W(64);              // S^WS | '(:' | 'of'
5464
 
      shiftT(196);                  // 'of'
5465
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
5466
 
      try_SequenceType();
5467
 
    }
5468
 
  }
5469
 
 
5470
 
  function parse_TreatExpr()
5471
 
  {
5472
 
    eventHandler.startNonterminal("TreatExpr", e0);
5473
 
    parse_CastableExpr();
5474
 
    lookahead1W(224);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5475
 
    if (l1 == 249)                  // 'treat'
5476
 
    {
5477
 
      shift(249);                   // 'treat'
5478
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5479
 
      shift(79);                    // 'as'
5480
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
5481
 
      whitespace();
5482
 
      parse_SequenceType();
5483
 
    }
5484
 
    eventHandler.endNonterminal("TreatExpr", e0);
5485
 
  }
5486
 
 
5487
 
  function try_TreatExpr()
5488
 
  {
5489
 
    try_CastableExpr();
5490
 
    lookahead1W(224);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5491
 
    if (l1 == 249)                  // 'treat'
5492
 
    {
5493
 
      shiftT(249);                  // 'treat'
5494
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5495
 
      shiftT(79);                   // 'as'
5496
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
5497
 
      try_SequenceType();
5498
 
    }
5499
 
  }
5500
 
 
5501
 
  function parse_CastableExpr()
5502
 
  {
5503
 
    eventHandler.startNonterminal("CastableExpr", e0);
5504
 
    parse_CastExpr();
5505
 
    lookahead1W(225);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5506
 
    if (l1 == 90)                   // 'castable'
5507
 
    {
5508
 
      shift(90);                    // 'castable'
5509
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5510
 
      shift(79);                    // 'as'
5511
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5512
 
      whitespace();
5513
 
      parse_SingleType();
5514
 
    }
5515
 
    eventHandler.endNonterminal("CastableExpr", e0);
5516
 
  }
5517
 
 
5518
 
  function try_CastableExpr()
5519
 
  {
5520
 
    try_CastExpr();
5521
 
    lookahead1W(225);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5522
 
    if (l1 == 90)                   // 'castable'
5523
 
    {
5524
 
      shiftT(90);                   // 'castable'
5525
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5526
 
      shiftT(79);                   // 'as'
5527
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5528
 
      try_SingleType();
5529
 
    }
5530
 
  }
5531
 
 
5532
 
  function parse_CastExpr()
5533
 
  {
5534
 
    eventHandler.startNonterminal("CastExpr", e0);
5535
 
    parse_UnaryExpr();
5536
 
    lookahead1W(227);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5537
 
    if (l1 == 89)                   // 'cast'
5538
 
    {
5539
 
      shift(89);                    // 'cast'
5540
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5541
 
      shift(79);                    // 'as'
5542
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5543
 
      whitespace();
5544
 
      parse_SingleType();
5545
 
    }
5546
 
    eventHandler.endNonterminal("CastExpr", e0);
5547
 
  }
5548
 
 
5549
 
  function try_CastExpr()
5550
 
  {
5551
 
    try_UnaryExpr();
5552
 
    lookahead1W(227);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
5553
 
    if (l1 == 89)                   // 'cast'
5554
 
    {
5555
 
      shiftT(89);                   // 'cast'
5556
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
5557
 
      shiftT(79);                   // 'as'
5558
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5559
 
      try_SingleType();
5560
 
    }
5561
 
  }
5562
 
 
5563
 
  function parse_UnaryExpr()
5564
 
  {
5565
 
    eventHandler.startNonterminal("UnaryExpr", e0);
5566
 
    for (;;)
5567
 
    {
5568
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5569
 
      if (l1 != 40                  // '+'
5570
 
       && l1 != 42)                 // '-'
5571
 
      {
5572
 
        break;
5573
 
      }
5574
 
      switch (l1)
5575
 
      {
5576
 
      case 42:                      // '-'
5577
 
        shift(42);                  // '-'
5578
 
        break;
5579
 
      default:
5580
 
        shift(40);                  // '+'
5581
 
      }
5582
 
    }
5583
 
    whitespace();
5584
 
    parse_ValueExpr();
5585
 
    eventHandler.endNonterminal("UnaryExpr", e0);
5586
 
  }
5587
 
 
5588
 
  function try_UnaryExpr()
5589
 
  {
5590
 
    for (;;)
5591
 
    {
5592
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5593
 
      if (l1 != 40                  // '+'
5594
 
       && l1 != 42)                 // '-'
5595
 
      {
5596
 
        break;
5597
 
      }
5598
 
      switch (l1)
5599
 
      {
5600
 
      case 42:                      // '-'
5601
 
        shiftT(42);                 // '-'
5602
 
        break;
5603
 
      default:
5604
 
        shiftT(40);                 // '+'
5605
 
      }
5606
 
    }
5607
 
    try_ValueExpr();
5608
 
  }
5609
 
 
5610
 
  function parse_ValueExpr()
5611
 
  {
5612
 
    eventHandler.startNonterminal("ValueExpr", e0);
5613
 
    switch (l1)
5614
 
    {
5615
 
    case 260:                       // 'validate'
5616
 
      lookahead2W(246);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
5617
 
      break;
5618
 
    default:
5619
 
      lk = l1;
5620
 
    }
5621
 
    switch (lk)
5622
 
    {
5623
 
    case 87812:                     // 'validate' 'lax'
5624
 
    case 123140:                    // 'validate' 'strict'
5625
 
    case 129284:                    // 'validate' 'type'
5626
 
    case 141572:                    // 'validate' '{'
5627
 
      parse_ValidateExpr();
5628
 
      break;
5629
 
    case 35:                        // '(#'
5630
 
      parse_ExtensionExpr();
5631
 
      break;
5632
 
    default:
5633
 
      parse_SimpleMapExpr();
5634
 
    }
5635
 
    eventHandler.endNonterminal("ValueExpr", e0);
5636
 
  }
5637
 
 
5638
 
  function try_ValueExpr()
5639
 
  {
5640
 
    switch (l1)
5641
 
    {
5642
 
    case 260:                       // 'validate'
5643
 
      lookahead2W(246);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
5644
 
      break;
5645
 
    default:
5646
 
      lk = l1;
5647
 
    }
5648
 
    switch (lk)
5649
 
    {
5650
 
    case 87812:                     // 'validate' 'lax'
5651
 
    case 123140:                    // 'validate' 'strict'
5652
 
    case 129284:                    // 'validate' 'type'
5653
 
    case 141572:                    // 'validate' '{'
5654
 
      try_ValidateExpr();
5655
 
      break;
5656
 
    case 35:                        // '(#'
5657
 
      try_ExtensionExpr();
5658
 
      break;
5659
 
    default:
5660
 
      try_SimpleMapExpr();
5661
 
    }
5662
 
  }
5663
 
 
5664
 
  function parse_SimpleMapExpr()
5665
 
  {
5666
 
    eventHandler.startNonterminal("SimpleMapExpr", e0);
5667
 
    parse_PathExpr();
5668
 
    for (;;)
5669
 
    {
5670
 
      if (l1 != 26)                 // '!'
5671
 
      {
5672
 
        break;
5673
 
      }
5674
 
      shift(26);                    // '!'
5675
 
      lookahead1W(264);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5676
 
      whitespace();
5677
 
      parse_PathExpr();
5678
 
    }
5679
 
    eventHandler.endNonterminal("SimpleMapExpr", e0);
5680
 
  }
5681
 
 
5682
 
  function try_SimpleMapExpr()
5683
 
  {
5684
 
    try_PathExpr();
5685
 
    for (;;)
5686
 
    {
5687
 
      if (l1 != 26)                 // '!'
5688
 
      {
5689
 
        break;
5690
 
      }
5691
 
      shiftT(26);                   // '!'
5692
 
      lookahead1W(264);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5693
 
      try_PathExpr();
5694
 
    }
5695
 
  }
5696
 
 
5697
 
  function parse_GeneralComp()
5698
 
  {
5699
 
    eventHandler.startNonterminal("GeneralComp", e0);
5700
 
    switch (l1)
5701
 
    {
5702
 
    case 60:                        // '='
5703
 
      shift(60);                    // '='
5704
 
      break;
5705
 
    case 27:                        // '!='
5706
 
      shift(27);                    // '!='
5707
 
      break;
5708
 
    case 54:                        // '<'
5709
 
      shift(54);                    // '<'
5710
 
      break;
5711
 
    case 58:                        // '<='
5712
 
      shift(58);                    // '<='
5713
 
      break;
5714
 
    case 61:                        // '>'
5715
 
      shift(61);                    // '>'
5716
 
      break;
5717
 
    default:
5718
 
      shift(62);                    // '>='
5719
 
    }
5720
 
    eventHandler.endNonterminal("GeneralComp", e0);
5721
 
  }
5722
 
 
5723
 
  function try_GeneralComp()
5724
 
  {
5725
 
    switch (l1)
5726
 
    {
5727
 
    case 60:                        // '='
5728
 
      shiftT(60);                   // '='
5729
 
      break;
5730
 
    case 27:                        // '!='
5731
 
      shiftT(27);                   // '!='
5732
 
      break;
5733
 
    case 54:                        // '<'
5734
 
      shiftT(54);                   // '<'
5735
 
      break;
5736
 
    case 58:                        // '<='
5737
 
      shiftT(58);                   // '<='
5738
 
      break;
5739
 
    case 61:                        // '>'
5740
 
      shiftT(61);                   // '>'
5741
 
      break;
5742
 
    default:
5743
 
      shiftT(62);                   // '>='
5744
 
    }
5745
 
  }
5746
 
 
5747
 
  function parse_ValueComp()
5748
 
  {
5749
 
    eventHandler.startNonterminal("ValueComp", e0);
5750
 
    switch (l1)
5751
 
    {
5752
 
    case 128:                       // 'eq'
5753
 
      shift(128);                   // 'eq'
5754
 
      break;
5755
 
    case 186:                       // 'ne'
5756
 
      shift(186);                   // 'ne'
5757
 
      break;
5758
 
    case 178:                       // 'lt'
5759
 
      shift(178);                   // 'lt'
5760
 
      break;
5761
 
    case 172:                       // 'le'
5762
 
      shift(172);                   // 'le'
5763
 
      break;
5764
 
    case 150:                       // 'gt'
5765
 
      shift(150);                   // 'gt'
5766
 
      break;
5767
 
    default:
5768
 
      shift(146);                   // 'ge'
5769
 
    }
5770
 
    eventHandler.endNonterminal("ValueComp", e0);
5771
 
  }
5772
 
 
5773
 
  function try_ValueComp()
5774
 
  {
5775
 
    switch (l1)
5776
 
    {
5777
 
    case 128:                       // 'eq'
5778
 
      shiftT(128);                  // 'eq'
5779
 
      break;
5780
 
    case 186:                       // 'ne'
5781
 
      shiftT(186);                  // 'ne'
5782
 
      break;
5783
 
    case 178:                       // 'lt'
5784
 
      shiftT(178);                  // 'lt'
5785
 
      break;
5786
 
    case 172:                       // 'le'
5787
 
      shiftT(172);                  // 'le'
5788
 
      break;
5789
 
    case 150:                       // 'gt'
5790
 
      shiftT(150);                  // 'gt'
5791
 
      break;
5792
 
    default:
5793
 
      shiftT(146);                  // 'ge'
5794
 
    }
5795
 
  }
5796
 
 
5797
 
  function parse_NodeComp()
5798
 
  {
5799
 
    eventHandler.startNonterminal("NodeComp", e0);
5800
 
    switch (l1)
5801
 
    {
5802
 
    case 164:                       // 'is'
5803
 
      shift(164);                   // 'is'
5804
 
      break;
5805
 
    case 57:                        // '<<'
5806
 
      shift(57);                    // '<<'
5807
 
      break;
5808
 
    default:
5809
 
      shift(63);                    // '>>'
5810
 
    }
5811
 
    eventHandler.endNonterminal("NodeComp", e0);
5812
 
  }
5813
 
 
5814
 
  function try_NodeComp()
5815
 
  {
5816
 
    switch (l1)
5817
 
    {
5818
 
    case 164:                       // 'is'
5819
 
      shiftT(164);                  // 'is'
5820
 
      break;
5821
 
    case 57:                        // '<<'
5822
 
      shiftT(57);                   // '<<'
5823
 
      break;
5824
 
    default:
5825
 
      shiftT(63);                   // '>>'
5826
 
    }
5827
 
  }
5828
 
 
5829
 
  function parse_ValidateExpr()
5830
 
  {
5831
 
    eventHandler.startNonterminal("ValidateExpr", e0);
5832
 
    shift(260);                     // 'validate'
5833
 
    lookahead1W(160);               // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
5834
 
    if (l1 != 276)                  // '{'
5835
 
    {
5836
 
      switch (l1)
5837
 
      {
5838
 
      case 252:                     // 'type'
5839
 
        shift(252);                 // 'type'
5840
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5841
 
        whitespace();
5842
 
        parse_TypeName();
5843
 
        break;
5844
 
      default:
5845
 
        whitespace();
5846
 
        parse_ValidationMode();
5847
 
      }
5848
 
    }
5849
 
    lookahead1W(87);                // S^WS | '(:' | '{'
5850
 
    shift(276);                     // '{'
5851
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5852
 
    whitespace();
5853
 
    parse_Expr();
5854
 
    shift(282);                     // '}'
5855
 
    eventHandler.endNonterminal("ValidateExpr", e0);
5856
 
  }
5857
 
 
5858
 
  function try_ValidateExpr()
5859
 
  {
5860
 
    shiftT(260);                    // 'validate'
5861
 
    lookahead1W(160);               // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
5862
 
    if (l1 != 276)                  // '{'
5863
 
    {
5864
 
      switch (l1)
5865
 
      {
5866
 
      case 252:                     // 'type'
5867
 
        shiftT(252);                // 'type'
5868
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
5869
 
        try_TypeName();
5870
 
        break;
5871
 
      default:
5872
 
        try_ValidationMode();
5873
 
      }
5874
 
    }
5875
 
    lookahead1W(87);                // S^WS | '(:' | '{'
5876
 
    shiftT(276);                    // '{'
5877
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5878
 
    try_Expr();
5879
 
    shiftT(282);                    // '}'
5880
 
  }
5881
 
 
5882
 
  function parse_ValidationMode()
5883
 
  {
5884
 
    eventHandler.startNonterminal("ValidationMode", e0);
5885
 
    switch (l1)
5886
 
    {
5887
 
    case 171:                       // 'lax'
5888
 
      shift(171);                   // 'lax'
5889
 
      break;
5890
 
    default:
5891
 
      shift(240);                   // 'strict'
5892
 
    }
5893
 
    eventHandler.endNonterminal("ValidationMode", e0);
5894
 
  }
5895
 
 
5896
 
  function try_ValidationMode()
5897
 
  {
5898
 
    switch (l1)
5899
 
    {
5900
 
    case 171:                       // 'lax'
5901
 
      shiftT(171);                  // 'lax'
5902
 
      break;
5903
 
    default:
5904
 
      shiftT(240);                  // 'strict'
5905
 
    }
5906
 
  }
5907
 
 
5908
 
  function parse_ExtensionExpr()
5909
 
  {
5910
 
    eventHandler.startNonterminal("ExtensionExpr", e0);
5911
 
    for (;;)
5912
 
    {
5913
 
      whitespace();
5914
 
      parse_Pragma();
5915
 
      lookahead1W(100);             // S^WS | '(#' | '(:' | '{'
5916
 
      if (l1 != 35)                 // '(#'
5917
 
      {
5918
 
        break;
5919
 
      }
5920
 
    }
5921
 
    shift(276);                     // '{'
5922
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5923
 
    if (l1 != 282)                  // '}'
5924
 
    {
5925
 
      whitespace();
5926
 
      parse_Expr();
5927
 
    }
5928
 
    shift(282);                     // '}'
5929
 
    eventHandler.endNonterminal("ExtensionExpr", e0);
5930
 
  }
5931
 
 
5932
 
  function try_ExtensionExpr()
5933
 
  {
5934
 
    for (;;)
5935
 
    {
5936
 
      try_Pragma();
5937
 
      lookahead1W(100);             // S^WS | '(#' | '(:' | '{'
5938
 
      if (l1 != 35)                 // '(#'
5939
 
      {
5940
 
        break;
5941
 
      }
5942
 
    }
5943
 
    shiftT(276);                    // '{'
5944
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
5945
 
    if (l1 != 282)                  // '}'
5946
 
    {
5947
 
      try_Expr();
5948
 
    }
5949
 
    shiftT(282);                    // '}'
5950
 
  }
5951
 
 
5952
 
  function parse_Pragma()
5953
 
  {
5954
 
    eventHandler.startNonterminal("Pragma", e0);
5955
 
    shift(35);                      // '(#'
5956
 
    lookahead1(250);                // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
5957
 
    if (l1 == 21)                   // S
5958
 
    {
5959
 
      shift(21);                    // S
5960
 
    }
5961
 
    parse_EQName();
5962
 
    lookahead1(10);                 // S | '#)'
5963
 
    if (l1 == 21)                   // S
5964
 
    {
5965
 
      shift(21);                    // S
5966
 
      lookahead1(0);                // PragmaContents
5967
 
      shift(1);                     // PragmaContents
5968
 
    }
5969
 
    lookahead1(5);                  // '#)'
5970
 
    shift(30);                      // '#)'
5971
 
    eventHandler.endNonterminal("Pragma", e0);
5972
 
  }
5973
 
 
5974
 
  function try_Pragma()
5975
 
  {
5976
 
    shiftT(35);                     // '(#'
5977
 
    lookahead1(250);                // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
5978
 
    if (l1 == 21)                   // S
5979
 
    {
5980
 
      shiftT(21);                   // S
5981
 
    }
5982
 
    try_EQName();
5983
 
    lookahead1(10);                 // S | '#)'
5984
 
    if (l1 == 21)                   // S
5985
 
    {
5986
 
      shiftT(21);                   // S
5987
 
      lookahead1(0);                // PragmaContents
5988
 
      shiftT(1);                    // PragmaContents
5989
 
    }
5990
 
    lookahead1(5);                  // '#)'
5991
 
    shiftT(30);                     // '#)'
5992
 
  }
5993
 
 
5994
 
  function parse_PathExpr()
5995
 
  {
5996
 
    eventHandler.startNonterminal("PathExpr", e0);
5997
 
    switch (l1)
5998
 
    {
5999
 
    case 46:                        // '/'
6000
 
      shift(46);                    // '/'
6001
 
      lookahead1W(283);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6002
 
      switch (l1)
6003
 
      {
6004
 
      case 25:                      // EOF
6005
 
      case 26:                      // '!'
6006
 
      case 27:                      // '!='
6007
 
      case 37:                      // ')'
6008
 
      case 38:                      // '*'
6009
 
      case 40:                      // '+'
6010
 
      case 41:                      // ','
6011
 
      case 42:                      // '-'
6012
 
      case 49:                      // ':'
6013
 
      case 53:                      // ';'
6014
 
      case 57:                      // '<<'
6015
 
      case 58:                      // '<='
6016
 
      case 60:                      // '='
6017
 
      case 61:                      // '>'
6018
 
      case 62:                      // '>='
6019
 
      case 63:                      // '>>'
6020
 
      case 69:                      // ']'
6021
 
      case 87:                      // 'by'
6022
 
      case 99:                      // 'contains'
6023
 
      case 205:                     // 'paragraphs'
6024
 
      case 232:                     // 'sentences'
6025
 
      case 247:                     // 'times'
6026
 
      case 273:                     // 'words'
6027
 
      case 279:                     // '|'
6028
 
      case 280:                     // '||'
6029
 
      case 281:                     // '|}'
6030
 
      case 282:                     // '}'
6031
 
        break;
6032
 
      default:
6033
 
        whitespace();
6034
 
        parse_RelativePathExpr();
6035
 
      }
6036
 
      break;
6037
 
    case 47:                        // '//'
6038
 
      shift(47);                    // '//'
6039
 
      lookahead1W(263);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6040
 
      whitespace();
6041
 
      parse_RelativePathExpr();
6042
 
      break;
6043
 
    default:
6044
 
      parse_RelativePathExpr();
6045
 
    }
6046
 
    eventHandler.endNonterminal("PathExpr", e0);
6047
 
  }
6048
 
 
6049
 
  function try_PathExpr()
6050
 
  {
6051
 
    switch (l1)
6052
 
    {
6053
 
    case 46:                        // '/'
6054
 
      shiftT(46);                   // '/'
6055
 
      lookahead1W(283);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6056
 
      switch (l1)
6057
 
      {
6058
 
      case 25:                      // EOF
6059
 
      case 26:                      // '!'
6060
 
      case 27:                      // '!='
6061
 
      case 37:                      // ')'
6062
 
      case 38:                      // '*'
6063
 
      case 40:                      // '+'
6064
 
      case 41:                      // ','
6065
 
      case 42:                      // '-'
6066
 
      case 49:                      // ':'
6067
 
      case 53:                      // ';'
6068
 
      case 57:                      // '<<'
6069
 
      case 58:                      // '<='
6070
 
      case 60:                      // '='
6071
 
      case 61:                      // '>'
6072
 
      case 62:                      // '>='
6073
 
      case 63:                      // '>>'
6074
 
      case 69:                      // ']'
6075
 
      case 87:                      // 'by'
6076
 
      case 99:                      // 'contains'
6077
 
      case 205:                     // 'paragraphs'
6078
 
      case 232:                     // 'sentences'
6079
 
      case 247:                     // 'times'
6080
 
      case 273:                     // 'words'
6081
 
      case 279:                     // '|'
6082
 
      case 280:                     // '||'
6083
 
      case 281:                     // '|}'
6084
 
      case 282:                     // '}'
6085
 
        break;
6086
 
      default:
6087
 
        try_RelativePathExpr();
6088
 
      }
6089
 
      break;
6090
 
    case 47:                        // '//'
6091
 
      shiftT(47);                   // '//'
6092
 
      lookahead1W(263);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6093
 
      try_RelativePathExpr();
6094
 
      break;
6095
 
    default:
6096
 
      try_RelativePathExpr();
6097
 
    }
6098
 
  }
6099
 
 
6100
 
  function parse_RelativePathExpr()
6101
 
  {
6102
 
    eventHandler.startNonterminal("RelativePathExpr", e0);
6103
 
    parse_StepExpr();
6104
 
    for (;;)
6105
 
    {
6106
 
      switch (l1)
6107
 
      {
6108
 
      case 26:                      // '!'
6109
 
        lookahead2W(264);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6110
 
        break;
6111
 
      default:
6112
 
        lk = l1;
6113
 
      }
6114
 
      if (lk != 25                  // EOF
6115
 
       && lk != 27                  // '!='
6116
 
       && lk != 37                  // ')'
6117
 
       && lk != 38                  // '*'
6118
 
       && lk != 40                  // '+'
6119
 
       && lk != 41                  // ','
6120
 
       && lk != 42                  // '-'
6121
 
       && lk != 46                  // '/'
6122
 
       && lk != 47                  // '//'
6123
 
       && lk != 49                  // ':'
6124
 
       && lk != 53                  // ';'
6125
 
       && lk != 54                  // '<'
6126
 
       && lk != 57                  // '<<'
6127
 
       && lk != 58                  // '<='
6128
 
       && lk != 60                  // '='
6129
 
       && lk != 61                  // '>'
6130
 
       && lk != 62                  // '>='
6131
 
       && lk != 63                  // '>>'
6132
 
       && lk != 69                  // ']'
6133
 
       && lk != 70                  // 'after'
6134
 
       && lk != 75                  // 'and'
6135
 
       && lk != 79                  // 'as'
6136
 
       && lk != 80                  // 'ascending'
6137
 
       && lk != 81                  // 'at'
6138
 
       && lk != 84                  // 'before'
6139
 
       && lk != 87                  // 'by'
6140
 
       && lk != 88                  // 'case'
6141
 
       && lk != 89                  // 'cast'
6142
 
       && lk != 90                  // 'castable'
6143
 
       && lk != 94                  // 'collation'
6144
 
       && lk != 99                  // 'contains'
6145
 
       && lk != 105                 // 'count'
6146
 
       && lk != 109                 // 'default'
6147
 
       && lk != 113                 // 'descending'
6148
 
       && lk != 118                 // 'div'
6149
 
       && lk != 122                 // 'else'
6150
 
       && lk != 123                 // 'empty'
6151
 
       && lk != 126                 // 'end'
6152
 
       && lk != 128                 // 'eq'
6153
 
       && lk != 131                 // 'except'
6154
 
       && lk != 137                 // 'for'
6155
 
       && lk != 146                 // 'ge'
6156
 
       && lk != 148                 // 'group'
6157
 
       && lk != 150                 // 'gt'
6158
 
       && lk != 151                 // 'idiv'
6159
 
       && lk != 160                 // 'instance'
6160
 
       && lk != 162                 // 'intersect'
6161
 
       && lk != 163                 // 'into'
6162
 
       && lk != 164                 // 'is'
6163
 
       && lk != 172                 // 'le'
6164
 
       && lk != 174                 // 'let'
6165
 
       && lk != 178                 // 'lt'
6166
 
       && lk != 180                 // 'mod'
6167
 
       && lk != 181                 // 'modify'
6168
 
       && lk != 186                 // 'ne'
6169
 
       && lk != 198                 // 'only'
6170
 
       && lk != 200                 // 'or'
6171
 
       && lk != 201                 // 'order'
6172
 
       && lk != 205                 // 'paragraphs'
6173
 
       && lk != 220                 // 'return'
6174
 
       && lk != 224                 // 'satisfies'
6175
 
       && lk != 232                 // 'sentences'
6176
 
       && lk != 236                 // 'stable'
6177
 
       && lk != 237                 // 'start'
6178
 
       && lk != 247                 // 'times'
6179
 
       && lk != 248                 // 'to'
6180
 
       && lk != 249                 // 'treat'
6181
 
       && lk != 254                 // 'union'
6182
 
       && lk != 266                 // 'where'
6183
 
       && lk != 270                 // 'with'
6184
 
       && lk != 273                 // 'words'
6185
 
       && lk != 279                 // '|'
6186
 
       && lk != 280                 // '||'
6187
 
       && lk != 281                 // '|}'
6188
 
       && lk != 282                 // '}'
6189
 
       && lk != 23578               // '!' '/'
6190
 
       && lk != 24090)              // '!' '//'
6191
 
      {
6192
 
        lk = memoized(2, e0);
6193
 
        if (lk == 0)
6194
 
        {
6195
 
          var b0A = b0; var e0A = e0; var l1A = l1;
6196
 
          var b1A = b1; var e1A = e1; var l2A = l2;
6197
 
          var b2A = b2; var e2A = e2;
6198
 
          try
6199
 
          {
6200
 
            switch (l1)
6201
 
            {
6202
 
            case 46:                // '/'
6203
 
              shiftT(46);           // '/'
6204
 
              break;
6205
 
            case 47:                // '//'
6206
 
              shiftT(47);           // '//'
6207
 
              break;
6208
 
            default:
6209
 
              shiftT(26);           // '!'
6210
 
            }
6211
 
            lookahead1W(263);       // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6212
 
            try_StepExpr();
6213
 
            lk = -1;
6214
 
          }
6215
 
          catch (p1A)
6216
 
          {
6217
 
            lk = -2;
6218
 
          }
6219
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
6220
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
6221
 
          b2 = b2A; e2 = e2A; end = e2A; }}
6222
 
          memoize(2, e0, lk);
6223
 
        }
6224
 
      }
6225
 
      if (lk != -1
6226
 
       && lk != 46                  // '/'
6227
 
       && lk != 47)                 // '//'
6228
 
      {
6229
 
        break;
6230
 
      }
6231
 
      switch (l1)
6232
 
      {
6233
 
      case 46:                      // '/'
6234
 
        shift(46);                  // '/'
6235
 
        break;
6236
 
      case 47:                      // '//'
6237
 
        shift(47);                  // '//'
6238
 
        break;
6239
 
      default:
6240
 
        shift(26);                  // '!'
6241
 
      }
6242
 
      lookahead1W(263);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6243
 
      whitespace();
6244
 
      parse_StepExpr();
6245
 
    }
6246
 
    eventHandler.endNonterminal("RelativePathExpr", e0);
6247
 
  }
6248
 
 
6249
 
  function try_RelativePathExpr()
6250
 
  {
6251
 
    try_StepExpr();
6252
 
    for (;;)
6253
 
    {
6254
 
      switch (l1)
6255
 
      {
6256
 
      case 26:                      // '!'
6257
 
        lookahead2W(264);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6258
 
        break;
6259
 
      default:
6260
 
        lk = l1;
6261
 
      }
6262
 
      if (lk != 25                  // EOF
6263
 
       && lk != 27                  // '!='
6264
 
       && lk != 37                  // ')'
6265
 
       && lk != 38                  // '*'
6266
 
       && lk != 40                  // '+'
6267
 
       && lk != 41                  // ','
6268
 
       && lk != 42                  // '-'
6269
 
       && lk != 46                  // '/'
6270
 
       && lk != 47                  // '//'
6271
 
       && lk != 49                  // ':'
6272
 
       && lk != 53                  // ';'
6273
 
       && lk != 54                  // '<'
6274
 
       && lk != 57                  // '<<'
6275
 
       && lk != 58                  // '<='
6276
 
       && lk != 60                  // '='
6277
 
       && lk != 61                  // '>'
6278
 
       && lk != 62                  // '>='
6279
 
       && lk != 63                  // '>>'
6280
 
       && lk != 69                  // ']'
6281
 
       && lk != 70                  // 'after'
6282
 
       && lk != 75                  // 'and'
6283
 
       && lk != 79                  // 'as'
6284
 
       && lk != 80                  // 'ascending'
6285
 
       && lk != 81                  // 'at'
6286
 
       && lk != 84                  // 'before'
6287
 
       && lk != 87                  // 'by'
6288
 
       && lk != 88                  // 'case'
6289
 
       && lk != 89                  // 'cast'
6290
 
       && lk != 90                  // 'castable'
6291
 
       && lk != 94                  // 'collation'
6292
 
       && lk != 99                  // 'contains'
6293
 
       && lk != 105                 // 'count'
6294
 
       && lk != 109                 // 'default'
6295
 
       && lk != 113                 // 'descending'
6296
 
       && lk != 118                 // 'div'
6297
 
       && lk != 122                 // 'else'
6298
 
       && lk != 123                 // 'empty'
6299
 
       && lk != 126                 // 'end'
6300
 
       && lk != 128                 // 'eq'
6301
 
       && lk != 131                 // 'except'
6302
 
       && lk != 137                 // 'for'
6303
 
       && lk != 146                 // 'ge'
6304
 
       && lk != 148                 // 'group'
6305
 
       && lk != 150                 // 'gt'
6306
 
       && lk != 151                 // 'idiv'
6307
 
       && lk != 160                 // 'instance'
6308
 
       && lk != 162                 // 'intersect'
6309
 
       && lk != 163                 // 'into'
6310
 
       && lk != 164                 // 'is'
6311
 
       && lk != 172                 // 'le'
6312
 
       && lk != 174                 // 'let'
6313
 
       && lk != 178                 // 'lt'
6314
 
       && lk != 180                 // 'mod'
6315
 
       && lk != 181                 // 'modify'
6316
 
       && lk != 186                 // 'ne'
6317
 
       && lk != 198                 // 'only'
6318
 
       && lk != 200                 // 'or'
6319
 
       && lk != 201                 // 'order'
6320
 
       && lk != 205                 // 'paragraphs'
6321
 
       && lk != 220                 // 'return'
6322
 
       && lk != 224                 // 'satisfies'
6323
 
       && lk != 232                 // 'sentences'
6324
 
       && lk != 236                 // 'stable'
6325
 
       && lk != 237                 // 'start'
6326
 
       && lk != 247                 // 'times'
6327
 
       && lk != 248                 // 'to'
6328
 
       && lk != 249                 // 'treat'
6329
 
       && lk != 254                 // 'union'
6330
 
       && lk != 266                 // 'where'
6331
 
       && lk != 270                 // 'with'
6332
 
       && lk != 273                 // 'words'
6333
 
       && lk != 279                 // '|'
6334
 
       && lk != 280                 // '||'
6335
 
       && lk != 281                 // '|}'
6336
 
       && lk != 282                 // '}'
6337
 
       && lk != 23578               // '!' '/'
6338
 
       && lk != 24090)              // '!' '//'
6339
 
      {
6340
 
        lk = memoized(2, e0);
6341
 
        if (lk == 0)
6342
 
        {
6343
 
          var b0A = b0; var e0A = e0; var l1A = l1;
6344
 
          var b1A = b1; var e1A = e1; var l2A = l2;
6345
 
          var b2A = b2; var e2A = e2;
6346
 
          try
6347
 
          {
6348
 
            switch (l1)
6349
 
            {
6350
 
            case 46:                // '/'
6351
 
              shiftT(46);           // '/'
6352
 
              break;
6353
 
            case 47:                // '//'
6354
 
              shiftT(47);           // '//'
6355
 
              break;
6356
 
            default:
6357
 
              shiftT(26);           // '!'
6358
 
            }
6359
 
            lookahead1W(263);       // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6360
 
            try_StepExpr();
6361
 
            memoize(2, e0A, -1);
6362
 
            continue;
6363
 
          }
6364
 
          catch (p1A)
6365
 
          {
6366
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
6367
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
6368
 
            b2 = b2A; e2 = e2A; end = e2A; }}
6369
 
            memoize(2, e0A, -2);
6370
 
            break;
6371
 
          }
6372
 
        }
6373
 
      }
6374
 
      if (lk != -1
6375
 
       && lk != 46                  // '/'
6376
 
       && lk != 47)                 // '//'
6377
 
      {
6378
 
        break;
6379
 
      }
6380
 
      switch (l1)
6381
 
      {
6382
 
      case 46:                      // '/'
6383
 
        shiftT(46);                 // '/'
6384
 
        break;
6385
 
      case 47:                      // '//'
6386
 
        shiftT(47);                 // '//'
6387
 
        break;
6388
 
      default:
6389
 
        shiftT(26);                 // '!'
6390
 
      }
6391
 
      lookahead1W(263);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
6392
 
      try_StepExpr();
6393
 
    }
6394
 
  }
6395
 
 
6396
 
  function parse_StepExpr()
6397
 
  {
6398
 
    eventHandler.startNonterminal("StepExpr", e0);
6399
 
    switch (l1)
6400
 
    {
6401
 
    case 82:                        // 'attribute'
6402
 
      lookahead2W(282);             // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
6403
 
      break;
6404
 
    case 121:                       // 'element'
6405
 
      lookahead2W(280);             // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
6406
 
      break;
6407
 
    case 184:                       // 'namespace'
6408
 
    case 216:                       // 'processing-instruction'
6409
 
      lookahead2W(279);             // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
6410
 
      break;
6411
 
    case 96:                        // 'comment'
6412
 
    case 119:                       // 'document'
6413
 
    case 202:                       // 'ordered'
6414
 
    case 244:                       // 'text'
6415
 
    case 256:                       // 'unordered'
6416
 
      lookahead2W(245);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
6417
 
      break;
6418
 
    case 124:                       // 'empty-sequence'
6419
 
    case 152:                       // 'if'
6420
 
    case 165:                       // 'item'
6421
 
    case 243:                       // 'switch'
6422
 
    case 253:                       // 'typeswitch'
6423
 
      lookahead2W(238);             // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
6424
 
      break;
6425
 
    case 73:                        // 'ancestor'
6426
 
    case 74:                        // 'ancestor-or-self'
6427
 
    case 93:                        // 'child'
6428
 
    case 111:                       // 'descendant'
6429
 
    case 112:                       // 'descendant-or-self'
6430
 
    case 135:                       // 'following'
6431
 
    case 136:                       // 'following-sibling'
6432
 
    case 206:                       // 'parent'
6433
 
    case 212:                       // 'preceding'
6434
 
    case 213:                       // 'preceding-sibling'
6435
 
    case 229:                       // 'self'
6436
 
      lookahead2W(244);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
6437
 
      break;
6438
 
    case 6:                         // EQName^Token
6439
 
    case 70:                        // 'after'
6440
 
    case 72:                        // 'allowing'
6441
 
    case 75:                        // 'and'
6442
 
    case 78:                        // 'array'
6443
 
    case 79:                        // 'as'
6444
 
    case 80:                        // 'ascending'
6445
 
    case 81:                        // 'at'
6446
 
    case 83:                        // 'base-uri'
6447
 
    case 84:                        // 'before'
6448
 
    case 85:                        // 'boundary-space'
6449
 
    case 86:                        // 'break'
6450
 
    case 88:                        // 'case'
6451
 
    case 89:                        // 'cast'
6452
 
    case 90:                        // 'castable'
6453
 
    case 91:                        // 'catch'
6454
 
    case 94:                        // 'collation'
6455
 
    case 97:                        // 'constraint'
6456
 
    case 98:                        // 'construction'
6457
 
    case 101:                       // 'context'
6458
 
    case 102:                       // 'continue'
6459
 
    case 103:                       // 'copy'
6460
 
    case 104:                       // 'copy-namespaces'
6461
 
    case 105:                       // 'count'
6462
 
    case 106:                       // 'decimal-format'
6463
 
    case 108:                       // 'declare'
6464
 
    case 109:                       // 'default'
6465
 
    case 110:                       // 'delete'
6466
 
    case 113:                       // 'descending'
6467
 
    case 118:                       // 'div'
6468
 
    case 120:                       // 'document-node'
6469
 
    case 122:                       // 'else'
6470
 
    case 123:                       // 'empty'
6471
 
    case 125:                       // 'encoding'
6472
 
    case 126:                       // 'end'
6473
 
    case 128:                       // 'eq'
6474
 
    case 129:                       // 'every'
6475
 
    case 131:                       // 'except'
6476
 
    case 132:                       // 'exit'
6477
 
    case 133:                       // 'external'
6478
 
    case 134:                       // 'first'
6479
 
    case 137:                       // 'for'
6480
 
    case 141:                       // 'ft-option'
6481
 
    case 145:                       // 'function'
6482
 
    case 146:                       // 'ge'
6483
 
    case 148:                       // 'group'
6484
 
    case 150:                       // 'gt'
6485
 
    case 151:                       // 'idiv'
6486
 
    case 153:                       // 'import'
6487
 
    case 154:                       // 'in'
6488
 
    case 155:                       // 'index'
6489
 
    case 159:                       // 'insert'
6490
 
    case 160:                       // 'instance'
6491
 
    case 161:                       // 'integrity'
6492
 
    case 162:                       // 'intersect'
6493
 
    case 163:                       // 'into'
6494
 
    case 164:                       // 'is'
6495
 
    case 167:                       // 'json-item'
6496
 
    case 170:                       // 'last'
6497
 
    case 171:                       // 'lax'
6498
 
    case 172:                       // 'le'
6499
 
    case 174:                       // 'let'
6500
 
    case 176:                       // 'loop'
6501
 
    case 178:                       // 'lt'
6502
 
    case 180:                       // 'mod'
6503
 
    case 181:                       // 'modify'
6504
 
    case 182:                       // 'module'
6505
 
    case 185:                       // 'namespace-node'
6506
 
    case 186:                       // 'ne'
6507
 
    case 191:                       // 'node'
6508
 
    case 192:                       // 'nodes'
6509
 
    case 194:                       // 'object'
6510
 
    case 198:                       // 'only'
6511
 
    case 199:                       // 'option'
6512
 
    case 200:                       // 'or'
6513
 
    case 201:                       // 'order'
6514
 
    case 203:                       // 'ordering'
6515
 
    case 218:                       // 'rename'
6516
 
    case 219:                       // 'replace'
6517
 
    case 220:                       // 'return'
6518
 
    case 221:                       // 'returning'
6519
 
    case 222:                       // 'revalidation'
6520
 
    case 224:                       // 'satisfies'
6521
 
    case 225:                       // 'schema'
6522
 
    case 226:                       // 'schema-attribute'
6523
 
    case 227:                       // 'schema-element'
6524
 
    case 228:                       // 'score'
6525
 
    case 234:                       // 'sliding'
6526
 
    case 235:                       // 'some'
6527
 
    case 236:                       // 'stable'
6528
 
    case 237:                       // 'start'
6529
 
    case 240:                       // 'strict'
6530
 
    case 248:                       // 'to'
6531
 
    case 249:                       // 'treat'
6532
 
    case 250:                       // 'try'
6533
 
    case 251:                       // 'tumbling'
6534
 
    case 252:                       // 'type'
6535
 
    case 254:                       // 'union'
6536
 
    case 257:                       // 'updating'
6537
 
    case 260:                       // 'validate'
6538
 
    case 261:                       // 'value'
6539
 
    case 262:                       // 'variable'
6540
 
    case 263:                       // 'version'
6541
 
    case 266:                       // 'where'
6542
 
    case 267:                       // 'while'
6543
 
    case 270:                       // 'with'
6544
 
    case 274:                       // 'xquery'
6545
 
      lookahead2W(242);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
6546
 
      break;
6547
 
    default:
6548
 
      lk = l1;
6549
 
    }
6550
 
    if (lk == 17486                 // 'array' '('
6551
 
     || lk == 17575                 // 'json-item' '('
6552
 
     || lk == 17602                 // 'object' '('
6553
 
     || lk == 35922                 // 'attribute' 'after'
6554
 
     || lk == 35961                 // 'element' 'after'
6555
 
     || lk == 36024                 // 'namespace' 'after'
6556
 
     || lk == 36056                 // 'processing-instruction' 'after'
6557
 
     || lk == 38482                 // 'attribute' 'and'
6558
 
     || lk == 38521                 // 'element' 'and'
6559
 
     || lk == 38584                 // 'namespace' 'and'
6560
 
     || lk == 38616                 // 'processing-instruction' 'and'
6561
 
     || lk == 40530                 // 'attribute' 'as'
6562
 
     || lk == 40569                 // 'element' 'as'
6563
 
     || lk == 40632                 // 'namespace' 'as'
6564
 
     || lk == 40664                 // 'processing-instruction' 'as'
6565
 
     || lk == 41042                 // 'attribute' 'ascending'
6566
 
     || lk == 41081                 // 'element' 'ascending'
6567
 
     || lk == 41144                 // 'namespace' 'ascending'
6568
 
     || lk == 41176                 // 'processing-instruction' 'ascending'
6569
 
     || lk == 41554                 // 'attribute' 'at'
6570
 
     || lk == 41593                 // 'element' 'at'
6571
 
     || lk == 41656                 // 'namespace' 'at'
6572
 
     || lk == 41688                 // 'processing-instruction' 'at'
6573
 
     || lk == 43090                 // 'attribute' 'before'
6574
 
     || lk == 43129                 // 'element' 'before'
6575
 
     || lk == 43192                 // 'namespace' 'before'
6576
 
     || lk == 43224                 // 'processing-instruction' 'before'
6577
 
     || lk == 45138                 // 'attribute' 'case'
6578
 
     || lk == 45177                 // 'element' 'case'
6579
 
     || lk == 45240                 // 'namespace' 'case'
6580
 
     || lk == 45272                 // 'processing-instruction' 'case'
6581
 
     || lk == 45650                 // 'attribute' 'cast'
6582
 
     || lk == 45689                 // 'element' 'cast'
6583
 
     || lk == 45752                 // 'namespace' 'cast'
6584
 
     || lk == 45784                 // 'processing-instruction' 'cast'
6585
 
     || lk == 46162                 // 'attribute' 'castable'
6586
 
     || lk == 46201                 // 'element' 'castable'
6587
 
     || lk == 46264                 // 'namespace' 'castable'
6588
 
     || lk == 46296                 // 'processing-instruction' 'castable'
6589
 
     || lk == 48210                 // 'attribute' 'collation'
6590
 
     || lk == 48249                 // 'element' 'collation'
6591
 
     || lk == 48312                 // 'namespace' 'collation'
6592
 
     || lk == 48344                 // 'processing-instruction' 'collation'
6593
 
     || lk == 53842                 // 'attribute' 'count'
6594
 
     || lk == 53881                 // 'element' 'count'
6595
 
     || lk == 53944                 // 'namespace' 'count'
6596
 
     || lk == 53976                 // 'processing-instruction' 'count'
6597
 
     || lk == 55890                 // 'attribute' 'default'
6598
 
     || lk == 55929                 // 'element' 'default'
6599
 
     || lk == 55992                 // 'namespace' 'default'
6600
 
     || lk == 56024                 // 'processing-instruction' 'default'
6601
 
     || lk == 57938                 // 'attribute' 'descending'
6602
 
     || lk == 57977                 // 'element' 'descending'
6603
 
     || lk == 58040                 // 'namespace' 'descending'
6604
 
     || lk == 58072                 // 'processing-instruction' 'descending'
6605
 
     || lk == 60498                 // 'attribute' 'div'
6606
 
     || lk == 60537                 // 'element' 'div'
6607
 
     || lk == 60600                 // 'namespace' 'div'
6608
 
     || lk == 60632                 // 'processing-instruction' 'div'
6609
 
     || lk == 62546                 // 'attribute' 'else'
6610
 
     || lk == 62585                 // 'element' 'else'
6611
 
     || lk == 62648                 // 'namespace' 'else'
6612
 
     || lk == 62680                 // 'processing-instruction' 'else'
6613
 
     || lk == 63058                 // 'attribute' 'empty'
6614
 
     || lk == 63097                 // 'element' 'empty'
6615
 
     || lk == 63160                 // 'namespace' 'empty'
6616
 
     || lk == 63192                 // 'processing-instruction' 'empty'
6617
 
     || lk == 64594                 // 'attribute' 'end'
6618
 
     || lk == 64633                 // 'element' 'end'
6619
 
     || lk == 64696                 // 'namespace' 'end'
6620
 
     || lk == 64728                 // 'processing-instruction' 'end'
6621
 
     || lk == 65618                 // 'attribute' 'eq'
6622
 
     || lk == 65657                 // 'element' 'eq'
6623
 
     || lk == 65720                 // 'namespace' 'eq'
6624
 
     || lk == 65752                 // 'processing-instruction' 'eq'
6625
 
     || lk == 67154                 // 'attribute' 'except'
6626
 
     || lk == 67193                 // 'element' 'except'
6627
 
     || lk == 67256                 // 'namespace' 'except'
6628
 
     || lk == 67288                 // 'processing-instruction' 'except'
6629
 
     || lk == 70226                 // 'attribute' 'for'
6630
 
     || lk == 70265                 // 'element' 'for'
6631
 
     || lk == 70328                 // 'namespace' 'for'
6632
 
     || lk == 70360                 // 'processing-instruction' 'for'
6633
 
     || lk == 74834                 // 'attribute' 'ge'
6634
 
     || lk == 74873                 // 'element' 'ge'
6635
 
     || lk == 74936                 // 'namespace' 'ge'
6636
 
     || lk == 74968                 // 'processing-instruction' 'ge'
6637
 
     || lk == 75858                 // 'attribute' 'group'
6638
 
     || lk == 75897                 // 'element' 'group'
6639
 
     || lk == 75960                 // 'namespace' 'group'
6640
 
     || lk == 75992                 // 'processing-instruction' 'group'
6641
 
     || lk == 76882                 // 'attribute' 'gt'
6642
 
     || lk == 76921                 // 'element' 'gt'
6643
 
     || lk == 76984                 // 'namespace' 'gt'
6644
 
     || lk == 77016                 // 'processing-instruction' 'gt'
6645
 
     || lk == 77394                 // 'attribute' 'idiv'
6646
 
     || lk == 77433                 // 'element' 'idiv'
6647
 
     || lk == 77496                 // 'namespace' 'idiv'
6648
 
     || lk == 77528                 // 'processing-instruction' 'idiv'
6649
 
     || lk == 82002                 // 'attribute' 'instance'
6650
 
     || lk == 82041                 // 'element' 'instance'
6651
 
     || lk == 82104                 // 'namespace' 'instance'
6652
 
     || lk == 82136                 // 'processing-instruction' 'instance'
6653
 
     || lk == 83026                 // 'attribute' 'intersect'
6654
 
     || lk == 83065                 // 'element' 'intersect'
6655
 
     || lk == 83128                 // 'namespace' 'intersect'
6656
 
     || lk == 83160                 // 'processing-instruction' 'intersect'
6657
 
     || lk == 83538                 // 'attribute' 'into'
6658
 
     || lk == 83577                 // 'element' 'into'
6659
 
     || lk == 83640                 // 'namespace' 'into'
6660
 
     || lk == 83672                 // 'processing-instruction' 'into'
6661
 
     || lk == 84050                 // 'attribute' 'is'
6662
 
     || lk == 84089                 // 'element' 'is'
6663
 
     || lk == 84152                 // 'namespace' 'is'
6664
 
     || lk == 84184                 // 'processing-instruction' 'is'
6665
 
     || lk == 88146                 // 'attribute' 'le'
6666
 
     || lk == 88185                 // 'element' 'le'
6667
 
     || lk == 88248                 // 'namespace' 'le'
6668
 
     || lk == 88280                 // 'processing-instruction' 'le'
6669
 
     || lk == 89170                 // 'attribute' 'let'
6670
 
     || lk == 89209                 // 'element' 'let'
6671
 
     || lk == 89272                 // 'namespace' 'let'
6672
 
     || lk == 89304                 // 'processing-instruction' 'let'
6673
 
     || lk == 91218                 // 'attribute' 'lt'
6674
 
     || lk == 91257                 // 'element' 'lt'
6675
 
     || lk == 91320                 // 'namespace' 'lt'
6676
 
     || lk == 91352                 // 'processing-instruction' 'lt'
6677
 
     || lk == 92242                 // 'attribute' 'mod'
6678
 
     || lk == 92281                 // 'element' 'mod'
6679
 
     || lk == 92344                 // 'namespace' 'mod'
6680
 
     || lk == 92376                 // 'processing-instruction' 'mod'
6681
 
     || lk == 92754                 // 'attribute' 'modify'
6682
 
     || lk == 92793                 // 'element' 'modify'
6683
 
     || lk == 92856                 // 'namespace' 'modify'
6684
 
     || lk == 92888                 // 'processing-instruction' 'modify'
6685
 
     || lk == 95314                 // 'attribute' 'ne'
6686
 
     || lk == 95353                 // 'element' 'ne'
6687
 
     || lk == 95416                 // 'namespace' 'ne'
6688
 
     || lk == 95448                 // 'processing-instruction' 'ne'
6689
 
     || lk == 101458                // 'attribute' 'only'
6690
 
     || lk == 101497                // 'element' 'only'
6691
 
     || lk == 101560                // 'namespace' 'only'
6692
 
     || lk == 101592                // 'processing-instruction' 'only'
6693
 
     || lk == 102482                // 'attribute' 'or'
6694
 
     || lk == 102521                // 'element' 'or'
6695
 
     || lk == 102584                // 'namespace' 'or'
6696
 
     || lk == 102616                // 'processing-instruction' 'or'
6697
 
     || lk == 102994                // 'attribute' 'order'
6698
 
     || lk == 103033                // 'element' 'order'
6699
 
     || lk == 103096                // 'namespace' 'order'
6700
 
     || lk == 103128                // 'processing-instruction' 'order'
6701
 
     || lk == 112722                // 'attribute' 'return'
6702
 
     || lk == 112761                // 'element' 'return'
6703
 
     || lk == 112824                // 'namespace' 'return'
6704
 
     || lk == 112856                // 'processing-instruction' 'return'
6705
 
     || lk == 114770                // 'attribute' 'satisfies'
6706
 
     || lk == 114809                // 'element' 'satisfies'
6707
 
     || lk == 114872                // 'namespace' 'satisfies'
6708
 
     || lk == 114904                // 'processing-instruction' 'satisfies'
6709
 
     || lk == 120914                // 'attribute' 'stable'
6710
 
     || lk == 120953                // 'element' 'stable'
6711
 
     || lk == 121016                // 'namespace' 'stable'
6712
 
     || lk == 121048                // 'processing-instruction' 'stable'
6713
 
     || lk == 121426                // 'attribute' 'start'
6714
 
     || lk == 121465                // 'element' 'start'
6715
 
     || lk == 121528                // 'namespace' 'start'
6716
 
     || lk == 121560                // 'processing-instruction' 'start'
6717
 
     || lk == 127058                // 'attribute' 'to'
6718
 
     || lk == 127097                // 'element' 'to'
6719
 
     || lk == 127160                // 'namespace' 'to'
6720
 
     || lk == 127192                // 'processing-instruction' 'to'
6721
 
     || lk == 127570                // 'attribute' 'treat'
6722
 
     || lk == 127609                // 'element' 'treat'
6723
 
     || lk == 127672                // 'namespace' 'treat'
6724
 
     || lk == 127704                // 'processing-instruction' 'treat'
6725
 
     || lk == 130130                // 'attribute' 'union'
6726
 
     || lk == 130169                // 'element' 'union'
6727
 
     || lk == 130232                // 'namespace' 'union'
6728
 
     || lk == 130264                // 'processing-instruction' 'union'
6729
 
     || lk == 136274                // 'attribute' 'where'
6730
 
     || lk == 136313                // 'element' 'where'
6731
 
     || lk == 136376                // 'namespace' 'where'
6732
 
     || lk == 136408                // 'processing-instruction' 'where'
6733
 
     || lk == 138322                // 'attribute' 'with'
6734
 
     || lk == 138361                // 'element' 'with'
6735
 
     || lk == 138424                // 'namespace' 'with'
6736
 
     || lk == 138456)               // 'processing-instruction' 'with'
6737
 
    {
6738
 
      lk = memoized(3, e0);
6739
 
      if (lk == 0)
6740
 
      {
6741
 
        var b0A = b0; var e0A = e0; var l1A = l1;
6742
 
        var b1A = b1; var e1A = e1; var l2A = l2;
6743
 
        var b2A = b2; var e2A = e2;
6744
 
        try
6745
 
        {
6746
 
          try_PostfixExpr();
6747
 
          lk = -1;
6748
 
        }
6749
 
        catch (p1A)
6750
 
        {
6751
 
          lk = -2;
6752
 
        }
6753
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
6754
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
6755
 
        b2 = b2A; e2 = e2A; end = e2A; }}
6756
 
        memoize(3, e0, lk);
6757
 
      }
6758
 
    }
6759
 
    switch (lk)
6760
 
    {
6761
 
    case -1:
6762
 
    case 8:                         // IntegerLiteral
6763
 
    case 9:                         // DecimalLiteral
6764
 
    case 10:                        // DoubleLiteral
6765
 
    case 11:                        // StringLiteral
6766
 
    case 31:                        // '$'
6767
 
    case 32:                        // '%'
6768
 
    case 34:                        // '('
6769
 
    case 44:                        // '.'
6770
 
    case 54:                        // '<'
6771
 
    case 55:                        // '<!--'
6772
 
    case 59:                        // '<?'
6773
 
    case 68:                        // '['
6774
 
    case 276:                       // '{'
6775
 
    case 278:                       // '{|'
6776
 
    case 3154:                      // 'attribute' EQName^Token
6777
 
    case 3193:                      // 'element' EQName^Token
6778
 
    case 9912:                      // 'namespace' NCName^Token
6779
 
    case 9944:                      // 'processing-instruction' NCName^Token
6780
 
    case 14854:                     // EQName^Token '#'
6781
 
    case 14918:                     // 'after' '#'
6782
 
    case 14920:                     // 'allowing' '#'
6783
 
    case 14921:                     // 'ancestor' '#'
6784
 
    case 14922:                     // 'ancestor-or-self' '#'
6785
 
    case 14923:                     // 'and' '#'
6786
 
    case 14926:                     // 'array' '#'
6787
 
    case 14927:                     // 'as' '#'
6788
 
    case 14928:                     // 'ascending' '#'
6789
 
    case 14929:                     // 'at' '#'
6790
 
    case 14930:                     // 'attribute' '#'
6791
 
    case 14931:                     // 'base-uri' '#'
6792
 
    case 14932:                     // 'before' '#'
6793
 
    case 14933:                     // 'boundary-space' '#'
6794
 
    case 14934:                     // 'break' '#'
6795
 
    case 14936:                     // 'case' '#'
6796
 
    case 14937:                     // 'cast' '#'
6797
 
    case 14938:                     // 'castable' '#'
6798
 
    case 14939:                     // 'catch' '#'
6799
 
    case 14941:                     // 'child' '#'
6800
 
    case 14942:                     // 'collation' '#'
6801
 
    case 14944:                     // 'comment' '#'
6802
 
    case 14945:                     // 'constraint' '#'
6803
 
    case 14946:                     // 'construction' '#'
6804
 
    case 14949:                     // 'context' '#'
6805
 
    case 14950:                     // 'continue' '#'
6806
 
    case 14951:                     // 'copy' '#'
6807
 
    case 14952:                     // 'copy-namespaces' '#'
6808
 
    case 14953:                     // 'count' '#'
6809
 
    case 14954:                     // 'decimal-format' '#'
6810
 
    case 14956:                     // 'declare' '#'
6811
 
    case 14957:                     // 'default' '#'
6812
 
    case 14958:                     // 'delete' '#'
6813
 
    case 14959:                     // 'descendant' '#'
6814
 
    case 14960:                     // 'descendant-or-self' '#'
6815
 
    case 14961:                     // 'descending' '#'
6816
 
    case 14966:                     // 'div' '#'
6817
 
    case 14967:                     // 'document' '#'
6818
 
    case 14968:                     // 'document-node' '#'
6819
 
    case 14969:                     // 'element' '#'
6820
 
    case 14970:                     // 'else' '#'
6821
 
    case 14971:                     // 'empty' '#'
6822
 
    case 14972:                     // 'empty-sequence' '#'
6823
 
    case 14973:                     // 'encoding' '#'
6824
 
    case 14974:                     // 'end' '#'
6825
 
    case 14976:                     // 'eq' '#'
6826
 
    case 14977:                     // 'every' '#'
6827
 
    case 14979:                     // 'except' '#'
6828
 
    case 14980:                     // 'exit' '#'
6829
 
    case 14981:                     // 'external' '#'
6830
 
    case 14982:                     // 'first' '#'
6831
 
    case 14983:                     // 'following' '#'
6832
 
    case 14984:                     // 'following-sibling' '#'
6833
 
    case 14985:                     // 'for' '#'
6834
 
    case 14989:                     // 'ft-option' '#'
6835
 
    case 14993:                     // 'function' '#'
6836
 
    case 14994:                     // 'ge' '#'
6837
 
    case 14996:                     // 'group' '#'
6838
 
    case 14998:                     // 'gt' '#'
6839
 
    case 14999:                     // 'idiv' '#'
6840
 
    case 15000:                     // 'if' '#'
6841
 
    case 15001:                     // 'import' '#'
6842
 
    case 15002:                     // 'in' '#'
6843
 
    case 15003:                     // 'index' '#'
6844
 
    case 15007:                     // 'insert' '#'
6845
 
    case 15008:                     // 'instance' '#'
6846
 
    case 15009:                     // 'integrity' '#'
6847
 
    case 15010:                     // 'intersect' '#'
6848
 
    case 15011:                     // 'into' '#'
6849
 
    case 15012:                     // 'is' '#'
6850
 
    case 15013:                     // 'item' '#'
6851
 
    case 15015:                     // 'json-item' '#'
6852
 
    case 15018:                     // 'last' '#'
6853
 
    case 15019:                     // 'lax' '#'
6854
 
    case 15020:                     // 'le' '#'
6855
 
    case 15022:                     // 'let' '#'
6856
 
    case 15024:                     // 'loop' '#'
6857
 
    case 15026:                     // 'lt' '#'
6858
 
    case 15028:                     // 'mod' '#'
6859
 
    case 15029:                     // 'modify' '#'
6860
 
    case 15030:                     // 'module' '#'
6861
 
    case 15032:                     // 'namespace' '#'
6862
 
    case 15033:                     // 'namespace-node' '#'
6863
 
    case 15034:                     // 'ne' '#'
6864
 
    case 15039:                     // 'node' '#'
6865
 
    case 15040:                     // 'nodes' '#'
6866
 
    case 15042:                     // 'object' '#'
6867
 
    case 15046:                     // 'only' '#'
6868
 
    case 15047:                     // 'option' '#'
6869
 
    case 15048:                     // 'or' '#'
6870
 
    case 15049:                     // 'order' '#'
6871
 
    case 15050:                     // 'ordered' '#'
6872
 
    case 15051:                     // 'ordering' '#'
6873
 
    case 15054:                     // 'parent' '#'
6874
 
    case 15060:                     // 'preceding' '#'
6875
 
    case 15061:                     // 'preceding-sibling' '#'
6876
 
    case 15064:                     // 'processing-instruction' '#'
6877
 
    case 15066:                     // 'rename' '#'
6878
 
    case 15067:                     // 'replace' '#'
6879
 
    case 15068:                     // 'return' '#'
6880
 
    case 15069:                     // 'returning' '#'
6881
 
    case 15070:                     // 'revalidation' '#'
6882
 
    case 15072:                     // 'satisfies' '#'
6883
 
    case 15073:                     // 'schema' '#'
6884
 
    case 15074:                     // 'schema-attribute' '#'
6885
 
    case 15075:                     // 'schema-element' '#'
6886
 
    case 15076:                     // 'score' '#'
6887
 
    case 15077:                     // 'self' '#'
6888
 
    case 15082:                     // 'sliding' '#'
6889
 
    case 15083:                     // 'some' '#'
6890
 
    case 15084:                     // 'stable' '#'
6891
 
    case 15085:                     // 'start' '#'
6892
 
    case 15088:                     // 'strict' '#'
6893
 
    case 15091:                     // 'switch' '#'
6894
 
    case 15092:                     // 'text' '#'
6895
 
    case 15096:                     // 'to' '#'
6896
 
    case 15097:                     // 'treat' '#'
6897
 
    case 15098:                     // 'try' '#'
6898
 
    case 15099:                     // 'tumbling' '#'
6899
 
    case 15100:                     // 'type' '#'
6900
 
    case 15101:                     // 'typeswitch' '#'
6901
 
    case 15102:                     // 'union' '#'
6902
 
    case 15104:                     // 'unordered' '#'
6903
 
    case 15105:                     // 'updating' '#'
6904
 
    case 15108:                     // 'validate' '#'
6905
 
    case 15109:                     // 'value' '#'
6906
 
    case 15110:                     // 'variable' '#'
6907
 
    case 15111:                     // 'version' '#'
6908
 
    case 15114:                     // 'where' '#'
6909
 
    case 15115:                     // 'while' '#'
6910
 
    case 15118:                     // 'with' '#'
6911
 
    case 15122:                     // 'xquery' '#'
6912
 
    case 17414:                     // EQName^Token '('
6913
 
    case 17478:                     // 'after' '('
6914
 
    case 17480:                     // 'allowing' '('
6915
 
    case 17481:                     // 'ancestor' '('
6916
 
    case 17482:                     // 'ancestor-or-self' '('
6917
 
    case 17483:                     // 'and' '('
6918
 
    case 17487:                     // 'as' '('
6919
 
    case 17488:                     // 'ascending' '('
6920
 
    case 17489:                     // 'at' '('
6921
 
    case 17491:                     // 'base-uri' '('
6922
 
    case 17492:                     // 'before' '('
6923
 
    case 17493:                     // 'boundary-space' '('
6924
 
    case 17494:                     // 'break' '('
6925
 
    case 17496:                     // 'case' '('
6926
 
    case 17497:                     // 'cast' '('
6927
 
    case 17498:                     // 'castable' '('
6928
 
    case 17499:                     // 'catch' '('
6929
 
    case 17501:                     // 'child' '('
6930
 
    case 17502:                     // 'collation' '('
6931
 
    case 17505:                     // 'constraint' '('
6932
 
    case 17506:                     // 'construction' '('
6933
 
    case 17509:                     // 'context' '('
6934
 
    case 17510:                     // 'continue' '('
6935
 
    case 17511:                     // 'copy' '('
6936
 
    case 17512:                     // 'copy-namespaces' '('
6937
 
    case 17513:                     // 'count' '('
6938
 
    case 17514:                     // 'decimal-format' '('
6939
 
    case 17516:                     // 'declare' '('
6940
 
    case 17517:                     // 'default' '('
6941
 
    case 17518:                     // 'delete' '('
6942
 
    case 17519:                     // 'descendant' '('
6943
 
    case 17520:                     // 'descendant-or-self' '('
6944
 
    case 17521:                     // 'descending' '('
6945
 
    case 17526:                     // 'div' '('
6946
 
    case 17527:                     // 'document' '('
6947
 
    case 17530:                     // 'else' '('
6948
 
    case 17531:                     // 'empty' '('
6949
 
    case 17533:                     // 'encoding' '('
6950
 
    case 17534:                     // 'end' '('
6951
 
    case 17536:                     // 'eq' '('
6952
 
    case 17537:                     // 'every' '('
6953
 
    case 17539:                     // 'except' '('
6954
 
    case 17540:                     // 'exit' '('
6955
 
    case 17541:                     // 'external' '('
6956
 
    case 17542:                     // 'first' '('
6957
 
    case 17543:                     // 'following' '('
6958
 
    case 17544:                     // 'following-sibling' '('
6959
 
    case 17545:                     // 'for' '('
6960
 
    case 17549:                     // 'ft-option' '('
6961
 
    case 17553:                     // 'function' '('
6962
 
    case 17554:                     // 'ge' '('
6963
 
    case 17556:                     // 'group' '('
6964
 
    case 17558:                     // 'gt' '('
6965
 
    case 17559:                     // 'idiv' '('
6966
 
    case 17561:                     // 'import' '('
6967
 
    case 17562:                     // 'in' '('
6968
 
    case 17563:                     // 'index' '('
6969
 
    case 17567:                     // 'insert' '('
6970
 
    case 17568:                     // 'instance' '('
6971
 
    case 17569:                     // 'integrity' '('
6972
 
    case 17570:                     // 'intersect' '('
6973
 
    case 17571:                     // 'into' '('
6974
 
    case 17572:                     // 'is' '('
6975
 
    case 17578:                     // 'last' '('
6976
 
    case 17579:                     // 'lax' '('
6977
 
    case 17580:                     // 'le' '('
6978
 
    case 17582:                     // 'let' '('
6979
 
    case 17584:                     // 'loop' '('
6980
 
    case 17586:                     // 'lt' '('
6981
 
    case 17588:                     // 'mod' '('
6982
 
    case 17589:                     // 'modify' '('
6983
 
    case 17590:                     // 'module' '('
6984
 
    case 17592:                     // 'namespace' '('
6985
 
    case 17594:                     // 'ne' '('
6986
 
    case 17600:                     // 'nodes' '('
6987
 
    case 17606:                     // 'only' '('
6988
 
    case 17607:                     // 'option' '('
6989
 
    case 17608:                     // 'or' '('
6990
 
    case 17609:                     // 'order' '('
6991
 
    case 17610:                     // 'ordered' '('
6992
 
    case 17611:                     // 'ordering' '('
6993
 
    case 17614:                     // 'parent' '('
6994
 
    case 17620:                     // 'preceding' '('
6995
 
    case 17621:                     // 'preceding-sibling' '('
6996
 
    case 17626:                     // 'rename' '('
6997
 
    case 17627:                     // 'replace' '('
6998
 
    case 17628:                     // 'return' '('
6999
 
    case 17629:                     // 'returning' '('
7000
 
    case 17630:                     // 'revalidation' '('
7001
 
    case 17632:                     // 'satisfies' '('
7002
 
    case 17633:                     // 'schema' '('
7003
 
    case 17636:                     // 'score' '('
7004
 
    case 17637:                     // 'self' '('
7005
 
    case 17642:                     // 'sliding' '('
7006
 
    case 17643:                     // 'some' '('
7007
 
    case 17644:                     // 'stable' '('
7008
 
    case 17645:                     // 'start' '('
7009
 
    case 17648:                     // 'strict' '('
7010
 
    case 17656:                     // 'to' '('
7011
 
    case 17657:                     // 'treat' '('
7012
 
    case 17658:                     // 'try' '('
7013
 
    case 17659:                     // 'tumbling' '('
7014
 
    case 17660:                     // 'type' '('
7015
 
    case 17662:                     // 'union' '('
7016
 
    case 17664:                     // 'unordered' '('
7017
 
    case 17665:                     // 'updating' '('
7018
 
    case 17668:                     // 'validate' '('
7019
 
    case 17669:                     // 'value' '('
7020
 
    case 17670:                     // 'variable' '('
7021
 
    case 17671:                     // 'version' '('
7022
 
    case 17674:                     // 'where' '('
7023
 
    case 17675:                     // 'while' '('
7024
 
    case 17678:                     // 'with' '('
7025
 
    case 17682:                     // 'xquery' '('
7026
 
    case 36946:                     // 'attribute' 'allowing'
7027
 
    case 36985:                     // 'element' 'allowing'
7028
 
    case 37048:                     // 'namespace' 'allowing'
7029
 
    case 37080:                     // 'processing-instruction' 'allowing'
7030
 
    case 37458:                     // 'attribute' 'ancestor'
7031
 
    case 37497:                     // 'element' 'ancestor'
7032
 
    case 37560:                     // 'namespace' 'ancestor'
7033
 
    case 37592:                     // 'processing-instruction' 'ancestor'
7034
 
    case 37970:                     // 'attribute' 'ancestor-or-self'
7035
 
    case 38009:                     // 'element' 'ancestor-or-self'
7036
 
    case 38072:                     // 'namespace' 'ancestor-or-self'
7037
 
    case 38104:                     // 'processing-instruction' 'ancestor-or-self'
7038
 
    case 40018:                     // 'attribute' 'array'
7039
 
    case 40057:                     // 'element' 'array'
7040
 
    case 42066:                     // 'attribute' 'attribute'
7041
 
    case 42105:                     // 'element' 'attribute'
7042
 
    case 42168:                     // 'namespace' 'attribute'
7043
 
    case 42200:                     // 'processing-instruction' 'attribute'
7044
 
    case 42578:                     // 'attribute' 'base-uri'
7045
 
    case 42617:                     // 'element' 'base-uri'
7046
 
    case 42680:                     // 'namespace' 'base-uri'
7047
 
    case 42712:                     // 'processing-instruction' 'base-uri'
7048
 
    case 43602:                     // 'attribute' 'boundary-space'
7049
 
    case 43641:                     // 'element' 'boundary-space'
7050
 
    case 43704:                     // 'namespace' 'boundary-space'
7051
 
    case 43736:                     // 'processing-instruction' 'boundary-space'
7052
 
    case 44114:                     // 'attribute' 'break'
7053
 
    case 44153:                     // 'element' 'break'
7054
 
    case 44216:                     // 'namespace' 'break'
7055
 
    case 44248:                     // 'processing-instruction' 'break'
7056
 
    case 46674:                     // 'attribute' 'catch'
7057
 
    case 46713:                     // 'element' 'catch'
7058
 
    case 46776:                     // 'namespace' 'catch'
7059
 
    case 46808:                     // 'processing-instruction' 'catch'
7060
 
    case 47698:                     // 'attribute' 'child'
7061
 
    case 47737:                     // 'element' 'child'
7062
 
    case 47800:                     // 'namespace' 'child'
7063
 
    case 47832:                     // 'processing-instruction' 'child'
7064
 
    case 49234:                     // 'attribute' 'comment'
7065
 
    case 49273:                     // 'element' 'comment'
7066
 
    case 49336:                     // 'namespace' 'comment'
7067
 
    case 49368:                     // 'processing-instruction' 'comment'
7068
 
    case 49746:                     // 'attribute' 'constraint'
7069
 
    case 49785:                     // 'element' 'constraint'
7070
 
    case 49848:                     // 'namespace' 'constraint'
7071
 
    case 49880:                     // 'processing-instruction' 'constraint'
7072
 
    case 50258:                     // 'attribute' 'construction'
7073
 
    case 50297:                     // 'element' 'construction'
7074
 
    case 50360:                     // 'namespace' 'construction'
7075
 
    case 50392:                     // 'processing-instruction' 'construction'
7076
 
    case 51794:                     // 'attribute' 'context'
7077
 
    case 51833:                     // 'element' 'context'
7078
 
    case 51896:                     // 'namespace' 'context'
7079
 
    case 51928:                     // 'processing-instruction' 'context'
7080
 
    case 52306:                     // 'attribute' 'continue'
7081
 
    case 52345:                     // 'element' 'continue'
7082
 
    case 52408:                     // 'namespace' 'continue'
7083
 
    case 52440:                     // 'processing-instruction' 'continue'
7084
 
    case 52818:                     // 'attribute' 'copy'
7085
 
    case 52857:                     // 'element' 'copy'
7086
 
    case 52920:                     // 'namespace' 'copy'
7087
 
    case 52952:                     // 'processing-instruction' 'copy'
7088
 
    case 53330:                     // 'attribute' 'copy-namespaces'
7089
 
    case 53369:                     // 'element' 'copy-namespaces'
7090
 
    case 53432:                     // 'namespace' 'copy-namespaces'
7091
 
    case 53464:                     // 'processing-instruction' 'copy-namespaces'
7092
 
    case 54354:                     // 'attribute' 'decimal-format'
7093
 
    case 54393:                     // 'element' 'decimal-format'
7094
 
    case 54456:                     // 'namespace' 'decimal-format'
7095
 
    case 54488:                     // 'processing-instruction' 'decimal-format'
7096
 
    case 55378:                     // 'attribute' 'declare'
7097
 
    case 55417:                     // 'element' 'declare'
7098
 
    case 55480:                     // 'namespace' 'declare'
7099
 
    case 55512:                     // 'processing-instruction' 'declare'
7100
 
    case 56402:                     // 'attribute' 'delete'
7101
 
    case 56441:                     // 'element' 'delete'
7102
 
    case 56504:                     // 'namespace' 'delete'
7103
 
    case 56536:                     // 'processing-instruction' 'delete'
7104
 
    case 56914:                     // 'attribute' 'descendant'
7105
 
    case 56953:                     // 'element' 'descendant'
7106
 
    case 57016:                     // 'namespace' 'descendant'
7107
 
    case 57048:                     // 'processing-instruction' 'descendant'
7108
 
    case 57426:                     // 'attribute' 'descendant-or-self'
7109
 
    case 57465:                     // 'element' 'descendant-or-self'
7110
 
    case 57528:                     // 'namespace' 'descendant-or-self'
7111
 
    case 57560:                     // 'processing-instruction' 'descendant-or-self'
7112
 
    case 61010:                     // 'attribute' 'document'
7113
 
    case 61049:                     // 'element' 'document'
7114
 
    case 61112:                     // 'namespace' 'document'
7115
 
    case 61144:                     // 'processing-instruction' 'document'
7116
 
    case 61522:                     // 'attribute' 'document-node'
7117
 
    case 61561:                     // 'element' 'document-node'
7118
 
    case 61624:                     // 'namespace' 'document-node'
7119
 
    case 61656:                     // 'processing-instruction' 'document-node'
7120
 
    case 62034:                     // 'attribute' 'element'
7121
 
    case 62073:                     // 'element' 'element'
7122
 
    case 62136:                     // 'namespace' 'element'
7123
 
    case 62168:                     // 'processing-instruction' 'element'
7124
 
    case 63570:                     // 'attribute' 'empty-sequence'
7125
 
    case 63609:                     // 'element' 'empty-sequence'
7126
 
    case 63672:                     // 'namespace' 'empty-sequence'
7127
 
    case 63704:                     // 'processing-instruction' 'empty-sequence'
7128
 
    case 64082:                     // 'attribute' 'encoding'
7129
 
    case 64121:                     // 'element' 'encoding'
7130
 
    case 64184:                     // 'namespace' 'encoding'
7131
 
    case 64216:                     // 'processing-instruction' 'encoding'
7132
 
    case 66130:                     // 'attribute' 'every'
7133
 
    case 66169:                     // 'element' 'every'
7134
 
    case 66232:                     // 'namespace' 'every'
7135
 
    case 66264:                     // 'processing-instruction' 'every'
7136
 
    case 67666:                     // 'attribute' 'exit'
7137
 
    case 67705:                     // 'element' 'exit'
7138
 
    case 67768:                     // 'namespace' 'exit'
7139
 
    case 67800:                     // 'processing-instruction' 'exit'
7140
 
    case 68178:                     // 'attribute' 'external'
7141
 
    case 68217:                     // 'element' 'external'
7142
 
    case 68280:                     // 'namespace' 'external'
7143
 
    case 68312:                     // 'processing-instruction' 'external'
7144
 
    case 68690:                     // 'attribute' 'first'
7145
 
    case 68729:                     // 'element' 'first'
7146
 
    case 68792:                     // 'namespace' 'first'
7147
 
    case 68824:                     // 'processing-instruction' 'first'
7148
 
    case 69202:                     // 'attribute' 'following'
7149
 
    case 69241:                     // 'element' 'following'
7150
 
    case 69304:                     // 'namespace' 'following'
7151
 
    case 69336:                     // 'processing-instruction' 'following'
7152
 
    case 69714:                     // 'attribute' 'following-sibling'
7153
 
    case 69753:                     // 'element' 'following-sibling'
7154
 
    case 69816:                     // 'namespace' 'following-sibling'
7155
 
    case 69848:                     // 'processing-instruction' 'following-sibling'
7156
 
    case 72274:                     // 'attribute' 'ft-option'
7157
 
    case 72313:                     // 'element' 'ft-option'
7158
 
    case 72376:                     // 'namespace' 'ft-option'
7159
 
    case 72408:                     // 'processing-instruction' 'ft-option'
7160
 
    case 74322:                     // 'attribute' 'function'
7161
 
    case 74361:                     // 'element' 'function'
7162
 
    case 74424:                     // 'namespace' 'function'
7163
 
    case 74456:                     // 'processing-instruction' 'function'
7164
 
    case 77906:                     // 'attribute' 'if'
7165
 
    case 77945:                     // 'element' 'if'
7166
 
    case 78008:                     // 'namespace' 'if'
7167
 
    case 78040:                     // 'processing-instruction' 'if'
7168
 
    case 78418:                     // 'attribute' 'import'
7169
 
    case 78457:                     // 'element' 'import'
7170
 
    case 78520:                     // 'namespace' 'import'
7171
 
    case 78552:                     // 'processing-instruction' 'import'
7172
 
    case 78930:                     // 'attribute' 'in'
7173
 
    case 78969:                     // 'element' 'in'
7174
 
    case 79032:                     // 'namespace' 'in'
7175
 
    case 79064:                     // 'processing-instruction' 'in'
7176
 
    case 79442:                     // 'attribute' 'index'
7177
 
    case 79481:                     // 'element' 'index'
7178
 
    case 79544:                     // 'namespace' 'index'
7179
 
    case 79576:                     // 'processing-instruction' 'index'
7180
 
    case 81490:                     // 'attribute' 'insert'
7181
 
    case 81529:                     // 'element' 'insert'
7182
 
    case 81592:                     // 'namespace' 'insert'
7183
 
    case 81624:                     // 'processing-instruction' 'insert'
7184
 
    case 82514:                     // 'attribute' 'integrity'
7185
 
    case 82553:                     // 'element' 'integrity'
7186
 
    case 82616:                     // 'namespace' 'integrity'
7187
 
    case 82648:                     // 'processing-instruction' 'integrity'
7188
 
    case 84562:                     // 'attribute' 'item'
7189
 
    case 84601:                     // 'element' 'item'
7190
 
    case 84664:                     // 'namespace' 'item'
7191
 
    case 84696:                     // 'processing-instruction' 'item'
7192
 
    case 85586:                     // 'attribute' 'json-item'
7193
 
    case 85625:                     // 'element' 'json-item'
7194
 
    case 87122:                     // 'attribute' 'last'
7195
 
    case 87161:                     // 'element' 'last'
7196
 
    case 87224:                     // 'namespace' 'last'
7197
 
    case 87256:                     // 'processing-instruction' 'last'
7198
 
    case 87634:                     // 'attribute' 'lax'
7199
 
    case 87673:                     // 'element' 'lax'
7200
 
    case 87736:                     // 'namespace' 'lax'
7201
 
    case 87768:                     // 'processing-instruction' 'lax'
7202
 
    case 90194:                     // 'attribute' 'loop'
7203
 
    case 90233:                     // 'element' 'loop'
7204
 
    case 90296:                     // 'namespace' 'loop'
7205
 
    case 90328:                     // 'processing-instruction' 'loop'
7206
 
    case 93266:                     // 'attribute' 'module'
7207
 
    case 93305:                     // 'element' 'module'
7208
 
    case 93368:                     // 'namespace' 'module'
7209
 
    case 93400:                     // 'processing-instruction' 'module'
7210
 
    case 94290:                     // 'attribute' 'namespace'
7211
 
    case 94329:                     // 'element' 'namespace'
7212
 
    case 94392:                     // 'namespace' 'namespace'
7213
 
    case 94424:                     // 'processing-instruction' 'namespace'
7214
 
    case 94802:                     // 'attribute' 'namespace-node'
7215
 
    case 94841:                     // 'element' 'namespace-node'
7216
 
    case 94904:                     // 'namespace' 'namespace-node'
7217
 
    case 94936:                     // 'processing-instruction' 'namespace-node'
7218
 
    case 97874:                     // 'attribute' 'node'
7219
 
    case 97913:                     // 'element' 'node'
7220
 
    case 97976:                     // 'namespace' 'node'
7221
 
    case 98008:                     // 'processing-instruction' 'node'
7222
 
    case 98386:                     // 'attribute' 'nodes'
7223
 
    case 98425:                     // 'element' 'nodes'
7224
 
    case 98488:                     // 'namespace' 'nodes'
7225
 
    case 98520:                     // 'processing-instruction' 'nodes'
7226
 
    case 99410:                     // 'attribute' 'object'
7227
 
    case 99449:                     // 'element' 'object'
7228
 
    case 101970:                    // 'attribute' 'option'
7229
 
    case 102009:                    // 'element' 'option'
7230
 
    case 102072:                    // 'namespace' 'option'
7231
 
    case 102104:                    // 'processing-instruction' 'option'
7232
 
    case 103506:                    // 'attribute' 'ordered'
7233
 
    case 103545:                    // 'element' 'ordered'
7234
 
    case 103608:                    // 'namespace' 'ordered'
7235
 
    case 103640:                    // 'processing-instruction' 'ordered'
7236
 
    case 104018:                    // 'attribute' 'ordering'
7237
 
    case 104057:                    // 'element' 'ordering'
7238
 
    case 104120:                    // 'namespace' 'ordering'
7239
 
    case 104152:                    // 'processing-instruction' 'ordering'
7240
 
    case 105554:                    // 'attribute' 'parent'
7241
 
    case 105593:                    // 'element' 'parent'
7242
 
    case 105656:                    // 'namespace' 'parent'
7243
 
    case 105688:                    // 'processing-instruction' 'parent'
7244
 
    case 108626:                    // 'attribute' 'preceding'
7245
 
    case 108665:                    // 'element' 'preceding'
7246
 
    case 108728:                    // 'namespace' 'preceding'
7247
 
    case 108760:                    // 'processing-instruction' 'preceding'
7248
 
    case 109138:                    // 'attribute' 'preceding-sibling'
7249
 
    case 109177:                    // 'element' 'preceding-sibling'
7250
 
    case 109240:                    // 'namespace' 'preceding-sibling'
7251
 
    case 109272:                    // 'processing-instruction' 'preceding-sibling'
7252
 
    case 110674:                    // 'attribute' 'processing-instruction'
7253
 
    case 110713:                    // 'element' 'processing-instruction'
7254
 
    case 110776:                    // 'namespace' 'processing-instruction'
7255
 
    case 110808:                    // 'processing-instruction' 'processing-instruction'
7256
 
    case 111698:                    // 'attribute' 'rename'
7257
 
    case 111737:                    // 'element' 'rename'
7258
 
    case 111800:                    // 'namespace' 'rename'
7259
 
    case 111832:                    // 'processing-instruction' 'rename'
7260
 
    case 112210:                    // 'attribute' 'replace'
7261
 
    case 112249:                    // 'element' 'replace'
7262
 
    case 112312:                    // 'namespace' 'replace'
7263
 
    case 112344:                    // 'processing-instruction' 'replace'
7264
 
    case 113234:                    // 'attribute' 'returning'
7265
 
    case 113273:                    // 'element' 'returning'
7266
 
    case 113336:                    // 'namespace' 'returning'
7267
 
    case 113368:                    // 'processing-instruction' 'returning'
7268
 
    case 113746:                    // 'attribute' 'revalidation'
7269
 
    case 113785:                    // 'element' 'revalidation'
7270
 
    case 113848:                    // 'namespace' 'revalidation'
7271
 
    case 113880:                    // 'processing-instruction' 'revalidation'
7272
 
    case 115282:                    // 'attribute' 'schema'
7273
 
    case 115321:                    // 'element' 'schema'
7274
 
    case 115384:                    // 'namespace' 'schema'
7275
 
    case 115416:                    // 'processing-instruction' 'schema'
7276
 
    case 115794:                    // 'attribute' 'schema-attribute'
7277
 
    case 115833:                    // 'element' 'schema-attribute'
7278
 
    case 115896:                    // 'namespace' 'schema-attribute'
7279
 
    case 115928:                    // 'processing-instruction' 'schema-attribute'
7280
 
    case 116306:                    // 'attribute' 'schema-element'
7281
 
    case 116345:                    // 'element' 'schema-element'
7282
 
    case 116408:                    // 'namespace' 'schema-element'
7283
 
    case 116440:                    // 'processing-instruction' 'schema-element'
7284
 
    case 116818:                    // 'attribute' 'score'
7285
 
    case 116857:                    // 'element' 'score'
7286
 
    case 116920:                    // 'namespace' 'score'
7287
 
    case 116952:                    // 'processing-instruction' 'score'
7288
 
    case 117330:                    // 'attribute' 'self'
7289
 
    case 117369:                    // 'element' 'self'
7290
 
    case 117432:                    // 'namespace' 'self'
7291
 
    case 117464:                    // 'processing-instruction' 'self'
7292
 
    case 119890:                    // 'attribute' 'sliding'
7293
 
    case 119929:                    // 'element' 'sliding'
7294
 
    case 119992:                    // 'namespace' 'sliding'
7295
 
    case 120024:                    // 'processing-instruction' 'sliding'
7296
 
    case 120402:                    // 'attribute' 'some'
7297
 
    case 120441:                    // 'element' 'some'
7298
 
    case 120504:                    // 'namespace' 'some'
7299
 
    case 120536:                    // 'processing-instruction' 'some'
7300
 
    case 122962:                    // 'attribute' 'strict'
7301
 
    case 123001:                    // 'element' 'strict'
7302
 
    case 123064:                    // 'namespace' 'strict'
7303
 
    case 123096:                    // 'processing-instruction' 'strict'
7304
 
    case 124498:                    // 'attribute' 'switch'
7305
 
    case 124537:                    // 'element' 'switch'
7306
 
    case 124600:                    // 'namespace' 'switch'
7307
 
    case 124632:                    // 'processing-instruction' 'switch'
7308
 
    case 125010:                    // 'attribute' 'text'
7309
 
    case 125049:                    // 'element' 'text'
7310
 
    case 125112:                    // 'namespace' 'text'
7311
 
    case 125144:                    // 'processing-instruction' 'text'
7312
 
    case 128082:                    // 'attribute' 'try'
7313
 
    case 128121:                    // 'element' 'try'
7314
 
    case 128184:                    // 'namespace' 'try'
7315
 
    case 128216:                    // 'processing-instruction' 'try'
7316
 
    case 128594:                    // 'attribute' 'tumbling'
7317
 
    case 128633:                    // 'element' 'tumbling'
7318
 
    case 128696:                    // 'namespace' 'tumbling'
7319
 
    case 128728:                    // 'processing-instruction' 'tumbling'
7320
 
    case 129106:                    // 'attribute' 'type'
7321
 
    case 129145:                    // 'element' 'type'
7322
 
    case 129208:                    // 'namespace' 'type'
7323
 
    case 129240:                    // 'processing-instruction' 'type'
7324
 
    case 129618:                    // 'attribute' 'typeswitch'
7325
 
    case 129657:                    // 'element' 'typeswitch'
7326
 
    case 129720:                    // 'namespace' 'typeswitch'
7327
 
    case 129752:                    // 'processing-instruction' 'typeswitch'
7328
 
    case 131154:                    // 'attribute' 'unordered'
7329
 
    case 131193:                    // 'element' 'unordered'
7330
 
    case 131256:                    // 'namespace' 'unordered'
7331
 
    case 131288:                    // 'processing-instruction' 'unordered'
7332
 
    case 131666:                    // 'attribute' 'updating'
7333
 
    case 131705:                    // 'element' 'updating'
7334
 
    case 131768:                    // 'namespace' 'updating'
7335
 
    case 131800:                    // 'processing-instruction' 'updating'
7336
 
    case 133202:                    // 'attribute' 'validate'
7337
 
    case 133241:                    // 'element' 'validate'
7338
 
    case 133304:                    // 'namespace' 'validate'
7339
 
    case 133336:                    // 'processing-instruction' 'validate'
7340
 
    case 133714:                    // 'attribute' 'value'
7341
 
    case 133753:                    // 'element' 'value'
7342
 
    case 133816:                    // 'namespace' 'value'
7343
 
    case 133848:                    // 'processing-instruction' 'value'
7344
 
    case 134226:                    // 'attribute' 'variable'
7345
 
    case 134265:                    // 'element' 'variable'
7346
 
    case 134328:                    // 'namespace' 'variable'
7347
 
    case 134360:                    // 'processing-instruction' 'variable'
7348
 
    case 134738:                    // 'attribute' 'version'
7349
 
    case 134777:                    // 'element' 'version'
7350
 
    case 134840:                    // 'namespace' 'version'
7351
 
    case 134872:                    // 'processing-instruction' 'version'
7352
 
    case 136786:                    // 'attribute' 'while'
7353
 
    case 136825:                    // 'element' 'while'
7354
 
    case 136888:                    // 'namespace' 'while'
7355
 
    case 136920:                    // 'processing-instruction' 'while'
7356
 
    case 140370:                    // 'attribute' 'xquery'
7357
 
    case 140409:                    // 'element' 'xquery'
7358
 
    case 140472:                    // 'namespace' 'xquery'
7359
 
    case 140504:                    // 'processing-instruction' 'xquery'
7360
 
    case 141394:                    // 'attribute' '{'
7361
 
    case 141408:                    // 'comment' '{'
7362
 
    case 141431:                    // 'document' '{'
7363
 
    case 141433:                    // 'element' '{'
7364
 
    case 141496:                    // 'namespace' '{'
7365
 
    case 141514:                    // 'ordered' '{'
7366
 
    case 141528:                    // 'processing-instruction' '{'
7367
 
    case 141556:                    // 'text' '{'
7368
 
    case 141568:                    // 'unordered' '{'
7369
 
      parse_PostfixExpr();
7370
 
      break;
7371
 
    default:
7372
 
      parse_AxisStep();
7373
 
    }
7374
 
    eventHandler.endNonterminal("StepExpr", e0);
7375
 
  }
7376
 
 
7377
 
  function try_StepExpr()
7378
 
  {
7379
 
    switch (l1)
7380
 
    {
7381
 
    case 82:                        // 'attribute'
7382
 
      lookahead2W(282);             // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
7383
 
      break;
7384
 
    case 121:                       // 'element'
7385
 
      lookahead2W(280);             // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
7386
 
      break;
7387
 
    case 184:                       // 'namespace'
7388
 
    case 216:                       // 'processing-instruction'
7389
 
      lookahead2W(279);             // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
7390
 
      break;
7391
 
    case 96:                        // 'comment'
7392
 
    case 119:                       // 'document'
7393
 
    case 202:                       // 'ordered'
7394
 
    case 244:                       // 'text'
7395
 
    case 256:                       // 'unordered'
7396
 
      lookahead2W(245);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
7397
 
      break;
7398
 
    case 124:                       // 'empty-sequence'
7399
 
    case 152:                       // 'if'
7400
 
    case 165:                       // 'item'
7401
 
    case 243:                       // 'switch'
7402
 
    case 253:                       // 'typeswitch'
7403
 
      lookahead2W(238);             // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
7404
 
      break;
7405
 
    case 73:                        // 'ancestor'
7406
 
    case 74:                        // 'ancestor-or-self'
7407
 
    case 93:                        // 'child'
7408
 
    case 111:                       // 'descendant'
7409
 
    case 112:                       // 'descendant-or-self'
7410
 
    case 135:                       // 'following'
7411
 
    case 136:                       // 'following-sibling'
7412
 
    case 206:                       // 'parent'
7413
 
    case 212:                       // 'preceding'
7414
 
    case 213:                       // 'preceding-sibling'
7415
 
    case 229:                       // 'self'
7416
 
      lookahead2W(244);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
7417
 
      break;
7418
 
    case 6:                         // EQName^Token
7419
 
    case 70:                        // 'after'
7420
 
    case 72:                        // 'allowing'
7421
 
    case 75:                        // 'and'
7422
 
    case 78:                        // 'array'
7423
 
    case 79:                        // 'as'
7424
 
    case 80:                        // 'ascending'
7425
 
    case 81:                        // 'at'
7426
 
    case 83:                        // 'base-uri'
7427
 
    case 84:                        // 'before'
7428
 
    case 85:                        // 'boundary-space'
7429
 
    case 86:                        // 'break'
7430
 
    case 88:                        // 'case'
7431
 
    case 89:                        // 'cast'
7432
 
    case 90:                        // 'castable'
7433
 
    case 91:                        // 'catch'
7434
 
    case 94:                        // 'collation'
7435
 
    case 97:                        // 'constraint'
7436
 
    case 98:                        // 'construction'
7437
 
    case 101:                       // 'context'
7438
 
    case 102:                       // 'continue'
7439
 
    case 103:                       // 'copy'
7440
 
    case 104:                       // 'copy-namespaces'
7441
 
    case 105:                       // 'count'
7442
 
    case 106:                       // 'decimal-format'
7443
 
    case 108:                       // 'declare'
7444
 
    case 109:                       // 'default'
7445
 
    case 110:                       // 'delete'
7446
 
    case 113:                       // 'descending'
7447
 
    case 118:                       // 'div'
7448
 
    case 120:                       // 'document-node'
7449
 
    case 122:                       // 'else'
7450
 
    case 123:                       // 'empty'
7451
 
    case 125:                       // 'encoding'
7452
 
    case 126:                       // 'end'
7453
 
    case 128:                       // 'eq'
7454
 
    case 129:                       // 'every'
7455
 
    case 131:                       // 'except'
7456
 
    case 132:                       // 'exit'
7457
 
    case 133:                       // 'external'
7458
 
    case 134:                       // 'first'
7459
 
    case 137:                       // 'for'
7460
 
    case 141:                       // 'ft-option'
7461
 
    case 145:                       // 'function'
7462
 
    case 146:                       // 'ge'
7463
 
    case 148:                       // 'group'
7464
 
    case 150:                       // 'gt'
7465
 
    case 151:                       // 'idiv'
7466
 
    case 153:                       // 'import'
7467
 
    case 154:                       // 'in'
7468
 
    case 155:                       // 'index'
7469
 
    case 159:                       // 'insert'
7470
 
    case 160:                       // 'instance'
7471
 
    case 161:                       // 'integrity'
7472
 
    case 162:                       // 'intersect'
7473
 
    case 163:                       // 'into'
7474
 
    case 164:                       // 'is'
7475
 
    case 167:                       // 'json-item'
7476
 
    case 170:                       // 'last'
7477
 
    case 171:                       // 'lax'
7478
 
    case 172:                       // 'le'
7479
 
    case 174:                       // 'let'
7480
 
    case 176:                       // 'loop'
7481
 
    case 178:                       // 'lt'
7482
 
    case 180:                       // 'mod'
7483
 
    case 181:                       // 'modify'
7484
 
    case 182:                       // 'module'
7485
 
    case 185:                       // 'namespace-node'
7486
 
    case 186:                       // 'ne'
7487
 
    case 191:                       // 'node'
7488
 
    case 192:                       // 'nodes'
7489
 
    case 194:                       // 'object'
7490
 
    case 198:                       // 'only'
7491
 
    case 199:                       // 'option'
7492
 
    case 200:                       // 'or'
7493
 
    case 201:                       // 'order'
7494
 
    case 203:                       // 'ordering'
7495
 
    case 218:                       // 'rename'
7496
 
    case 219:                       // 'replace'
7497
 
    case 220:                       // 'return'
7498
 
    case 221:                       // 'returning'
7499
 
    case 222:                       // 'revalidation'
7500
 
    case 224:                       // 'satisfies'
7501
 
    case 225:                       // 'schema'
7502
 
    case 226:                       // 'schema-attribute'
7503
 
    case 227:                       // 'schema-element'
7504
 
    case 228:                       // 'score'
7505
 
    case 234:                       // 'sliding'
7506
 
    case 235:                       // 'some'
7507
 
    case 236:                       // 'stable'
7508
 
    case 237:                       // 'start'
7509
 
    case 240:                       // 'strict'
7510
 
    case 248:                       // 'to'
7511
 
    case 249:                       // 'treat'
7512
 
    case 250:                       // 'try'
7513
 
    case 251:                       // 'tumbling'
7514
 
    case 252:                       // 'type'
7515
 
    case 254:                       // 'union'
7516
 
    case 257:                       // 'updating'
7517
 
    case 260:                       // 'validate'
7518
 
    case 261:                       // 'value'
7519
 
    case 262:                       // 'variable'
7520
 
    case 263:                       // 'version'
7521
 
    case 266:                       // 'where'
7522
 
    case 267:                       // 'while'
7523
 
    case 270:                       // 'with'
7524
 
    case 274:                       // 'xquery'
7525
 
      lookahead2W(242);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
7526
 
      break;
7527
 
    default:
7528
 
      lk = l1;
7529
 
    }
7530
 
    if (lk == 17486                 // 'array' '('
7531
 
     || lk == 17575                 // 'json-item' '('
7532
 
     || lk == 17602                 // 'object' '('
7533
 
     || lk == 35922                 // 'attribute' 'after'
7534
 
     || lk == 35961                 // 'element' 'after'
7535
 
     || lk == 36024                 // 'namespace' 'after'
7536
 
     || lk == 36056                 // 'processing-instruction' 'after'
7537
 
     || lk == 38482                 // 'attribute' 'and'
7538
 
     || lk == 38521                 // 'element' 'and'
7539
 
     || lk == 38584                 // 'namespace' 'and'
7540
 
     || lk == 38616                 // 'processing-instruction' 'and'
7541
 
     || lk == 40530                 // 'attribute' 'as'
7542
 
     || lk == 40569                 // 'element' 'as'
7543
 
     || lk == 40632                 // 'namespace' 'as'
7544
 
     || lk == 40664                 // 'processing-instruction' 'as'
7545
 
     || lk == 41042                 // 'attribute' 'ascending'
7546
 
     || lk == 41081                 // 'element' 'ascending'
7547
 
     || lk == 41144                 // 'namespace' 'ascending'
7548
 
     || lk == 41176                 // 'processing-instruction' 'ascending'
7549
 
     || lk == 41554                 // 'attribute' 'at'
7550
 
     || lk == 41593                 // 'element' 'at'
7551
 
     || lk == 41656                 // 'namespace' 'at'
7552
 
     || lk == 41688                 // 'processing-instruction' 'at'
7553
 
     || lk == 43090                 // 'attribute' 'before'
7554
 
     || lk == 43129                 // 'element' 'before'
7555
 
     || lk == 43192                 // 'namespace' 'before'
7556
 
     || lk == 43224                 // 'processing-instruction' 'before'
7557
 
     || lk == 45138                 // 'attribute' 'case'
7558
 
     || lk == 45177                 // 'element' 'case'
7559
 
     || lk == 45240                 // 'namespace' 'case'
7560
 
     || lk == 45272                 // 'processing-instruction' 'case'
7561
 
     || lk == 45650                 // 'attribute' 'cast'
7562
 
     || lk == 45689                 // 'element' 'cast'
7563
 
     || lk == 45752                 // 'namespace' 'cast'
7564
 
     || lk == 45784                 // 'processing-instruction' 'cast'
7565
 
     || lk == 46162                 // 'attribute' 'castable'
7566
 
     || lk == 46201                 // 'element' 'castable'
7567
 
     || lk == 46264                 // 'namespace' 'castable'
7568
 
     || lk == 46296                 // 'processing-instruction' 'castable'
7569
 
     || lk == 48210                 // 'attribute' 'collation'
7570
 
     || lk == 48249                 // 'element' 'collation'
7571
 
     || lk == 48312                 // 'namespace' 'collation'
7572
 
     || lk == 48344                 // 'processing-instruction' 'collation'
7573
 
     || lk == 53842                 // 'attribute' 'count'
7574
 
     || lk == 53881                 // 'element' 'count'
7575
 
     || lk == 53944                 // 'namespace' 'count'
7576
 
     || lk == 53976                 // 'processing-instruction' 'count'
7577
 
     || lk == 55890                 // 'attribute' 'default'
7578
 
     || lk == 55929                 // 'element' 'default'
7579
 
     || lk == 55992                 // 'namespace' 'default'
7580
 
     || lk == 56024                 // 'processing-instruction' 'default'
7581
 
     || lk == 57938                 // 'attribute' 'descending'
7582
 
     || lk == 57977                 // 'element' 'descending'
7583
 
     || lk == 58040                 // 'namespace' 'descending'
7584
 
     || lk == 58072                 // 'processing-instruction' 'descending'
7585
 
     || lk == 60498                 // 'attribute' 'div'
7586
 
     || lk == 60537                 // 'element' 'div'
7587
 
     || lk == 60600                 // 'namespace' 'div'
7588
 
     || lk == 60632                 // 'processing-instruction' 'div'
7589
 
     || lk == 62546                 // 'attribute' 'else'
7590
 
     || lk == 62585                 // 'element' 'else'
7591
 
     || lk == 62648                 // 'namespace' 'else'
7592
 
     || lk == 62680                 // 'processing-instruction' 'else'
7593
 
     || lk == 63058                 // 'attribute' 'empty'
7594
 
     || lk == 63097                 // 'element' 'empty'
7595
 
     || lk == 63160                 // 'namespace' 'empty'
7596
 
     || lk == 63192                 // 'processing-instruction' 'empty'
7597
 
     || lk == 64594                 // 'attribute' 'end'
7598
 
     || lk == 64633                 // 'element' 'end'
7599
 
     || lk == 64696                 // 'namespace' 'end'
7600
 
     || lk == 64728                 // 'processing-instruction' 'end'
7601
 
     || lk == 65618                 // 'attribute' 'eq'
7602
 
     || lk == 65657                 // 'element' 'eq'
7603
 
     || lk == 65720                 // 'namespace' 'eq'
7604
 
     || lk == 65752                 // 'processing-instruction' 'eq'
7605
 
     || lk == 67154                 // 'attribute' 'except'
7606
 
     || lk == 67193                 // 'element' 'except'
7607
 
     || lk == 67256                 // 'namespace' 'except'
7608
 
     || lk == 67288                 // 'processing-instruction' 'except'
7609
 
     || lk == 70226                 // 'attribute' 'for'
7610
 
     || lk == 70265                 // 'element' 'for'
7611
 
     || lk == 70328                 // 'namespace' 'for'
7612
 
     || lk == 70360                 // 'processing-instruction' 'for'
7613
 
     || lk == 74834                 // 'attribute' 'ge'
7614
 
     || lk == 74873                 // 'element' 'ge'
7615
 
     || lk == 74936                 // 'namespace' 'ge'
7616
 
     || lk == 74968                 // 'processing-instruction' 'ge'
7617
 
     || lk == 75858                 // 'attribute' 'group'
7618
 
     || lk == 75897                 // 'element' 'group'
7619
 
     || lk == 75960                 // 'namespace' 'group'
7620
 
     || lk == 75992                 // 'processing-instruction' 'group'
7621
 
     || lk == 76882                 // 'attribute' 'gt'
7622
 
     || lk == 76921                 // 'element' 'gt'
7623
 
     || lk == 76984                 // 'namespace' 'gt'
7624
 
     || lk == 77016                 // 'processing-instruction' 'gt'
7625
 
     || lk == 77394                 // 'attribute' 'idiv'
7626
 
     || lk == 77433                 // 'element' 'idiv'
7627
 
     || lk == 77496                 // 'namespace' 'idiv'
7628
 
     || lk == 77528                 // 'processing-instruction' 'idiv'
7629
 
     || lk == 82002                 // 'attribute' 'instance'
7630
 
     || lk == 82041                 // 'element' 'instance'
7631
 
     || lk == 82104                 // 'namespace' 'instance'
7632
 
     || lk == 82136                 // 'processing-instruction' 'instance'
7633
 
     || lk == 83026                 // 'attribute' 'intersect'
7634
 
     || lk == 83065                 // 'element' 'intersect'
7635
 
     || lk == 83128                 // 'namespace' 'intersect'
7636
 
     || lk == 83160                 // 'processing-instruction' 'intersect'
7637
 
     || lk == 83538                 // 'attribute' 'into'
7638
 
     || lk == 83577                 // 'element' 'into'
7639
 
     || lk == 83640                 // 'namespace' 'into'
7640
 
     || lk == 83672                 // 'processing-instruction' 'into'
7641
 
     || lk == 84050                 // 'attribute' 'is'
7642
 
     || lk == 84089                 // 'element' 'is'
7643
 
     || lk == 84152                 // 'namespace' 'is'
7644
 
     || lk == 84184                 // 'processing-instruction' 'is'
7645
 
     || lk == 88146                 // 'attribute' 'le'
7646
 
     || lk == 88185                 // 'element' 'le'
7647
 
     || lk == 88248                 // 'namespace' 'le'
7648
 
     || lk == 88280                 // 'processing-instruction' 'le'
7649
 
     || lk == 89170                 // 'attribute' 'let'
7650
 
     || lk == 89209                 // 'element' 'let'
7651
 
     || lk == 89272                 // 'namespace' 'let'
7652
 
     || lk == 89304                 // 'processing-instruction' 'let'
7653
 
     || lk == 91218                 // 'attribute' 'lt'
7654
 
     || lk == 91257                 // 'element' 'lt'
7655
 
     || lk == 91320                 // 'namespace' 'lt'
7656
 
     || lk == 91352                 // 'processing-instruction' 'lt'
7657
 
     || lk == 92242                 // 'attribute' 'mod'
7658
 
     || lk == 92281                 // 'element' 'mod'
7659
 
     || lk == 92344                 // 'namespace' 'mod'
7660
 
     || lk == 92376                 // 'processing-instruction' 'mod'
7661
 
     || lk == 92754                 // 'attribute' 'modify'
7662
 
     || lk == 92793                 // 'element' 'modify'
7663
 
     || lk == 92856                 // 'namespace' 'modify'
7664
 
     || lk == 92888                 // 'processing-instruction' 'modify'
7665
 
     || lk == 95314                 // 'attribute' 'ne'
7666
 
     || lk == 95353                 // 'element' 'ne'
7667
 
     || lk == 95416                 // 'namespace' 'ne'
7668
 
     || lk == 95448                 // 'processing-instruction' 'ne'
7669
 
     || lk == 101458                // 'attribute' 'only'
7670
 
     || lk == 101497                // 'element' 'only'
7671
 
     || lk == 101560                // 'namespace' 'only'
7672
 
     || lk == 101592                // 'processing-instruction' 'only'
7673
 
     || lk == 102482                // 'attribute' 'or'
7674
 
     || lk == 102521                // 'element' 'or'
7675
 
     || lk == 102584                // 'namespace' 'or'
7676
 
     || lk == 102616                // 'processing-instruction' 'or'
7677
 
     || lk == 102994                // 'attribute' 'order'
7678
 
     || lk == 103033                // 'element' 'order'
7679
 
     || lk == 103096                // 'namespace' 'order'
7680
 
     || lk == 103128                // 'processing-instruction' 'order'
7681
 
     || lk == 112722                // 'attribute' 'return'
7682
 
     || lk == 112761                // 'element' 'return'
7683
 
     || lk == 112824                // 'namespace' 'return'
7684
 
     || lk == 112856                // 'processing-instruction' 'return'
7685
 
     || lk == 114770                // 'attribute' 'satisfies'
7686
 
     || lk == 114809                // 'element' 'satisfies'
7687
 
     || lk == 114872                // 'namespace' 'satisfies'
7688
 
     || lk == 114904                // 'processing-instruction' 'satisfies'
7689
 
     || lk == 120914                // 'attribute' 'stable'
7690
 
     || lk == 120953                // 'element' 'stable'
7691
 
     || lk == 121016                // 'namespace' 'stable'
7692
 
     || lk == 121048                // 'processing-instruction' 'stable'
7693
 
     || lk == 121426                // 'attribute' 'start'
7694
 
     || lk == 121465                // 'element' 'start'
7695
 
     || lk == 121528                // 'namespace' 'start'
7696
 
     || lk == 121560                // 'processing-instruction' 'start'
7697
 
     || lk == 127058                // 'attribute' 'to'
7698
 
     || lk == 127097                // 'element' 'to'
7699
 
     || lk == 127160                // 'namespace' 'to'
7700
 
     || lk == 127192                // 'processing-instruction' 'to'
7701
 
     || lk == 127570                // 'attribute' 'treat'
7702
 
     || lk == 127609                // 'element' 'treat'
7703
 
     || lk == 127672                // 'namespace' 'treat'
7704
 
     || lk == 127704                // 'processing-instruction' 'treat'
7705
 
     || lk == 130130                // 'attribute' 'union'
7706
 
     || lk == 130169                // 'element' 'union'
7707
 
     || lk == 130232                // 'namespace' 'union'
7708
 
     || lk == 130264                // 'processing-instruction' 'union'
7709
 
     || lk == 136274                // 'attribute' 'where'
7710
 
     || lk == 136313                // 'element' 'where'
7711
 
     || lk == 136376                // 'namespace' 'where'
7712
 
     || lk == 136408                // 'processing-instruction' 'where'
7713
 
     || lk == 138322                // 'attribute' 'with'
7714
 
     || lk == 138361                // 'element' 'with'
7715
 
     || lk == 138424                // 'namespace' 'with'
7716
 
     || lk == 138456)               // 'processing-instruction' 'with'
7717
 
    {
7718
 
      lk = memoized(3, e0);
7719
 
      if (lk == 0)
7720
 
      {
7721
 
        var b0A = b0; var e0A = e0; var l1A = l1;
7722
 
        var b1A = b1; var e1A = e1; var l2A = l2;
7723
 
        var b2A = b2; var e2A = e2;
7724
 
        try
7725
 
        {
7726
 
          try_PostfixExpr();
7727
 
          memoize(3, e0A, -1);
7728
 
          lk = -3;
7729
 
        }
7730
 
        catch (p1A)
7731
 
        {
7732
 
          lk = -2;
7733
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
7734
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
7735
 
          b2 = b2A; e2 = e2A; end = e2A; }}
7736
 
          memoize(3, e0A, -2);
7737
 
        }
7738
 
      }
7739
 
    }
7740
 
    switch (lk)
7741
 
    {
7742
 
    case -1:
7743
 
    case 8:                         // IntegerLiteral
7744
 
    case 9:                         // DecimalLiteral
7745
 
    case 10:                        // DoubleLiteral
7746
 
    case 11:                        // StringLiteral
7747
 
    case 31:                        // '$'
7748
 
    case 32:                        // '%'
7749
 
    case 34:                        // '('
7750
 
    case 44:                        // '.'
7751
 
    case 54:                        // '<'
7752
 
    case 55:                        // '<!--'
7753
 
    case 59:                        // '<?'
7754
 
    case 68:                        // '['
7755
 
    case 276:                       // '{'
7756
 
    case 278:                       // '{|'
7757
 
    case 3154:                      // 'attribute' EQName^Token
7758
 
    case 3193:                      // 'element' EQName^Token
7759
 
    case 9912:                      // 'namespace' NCName^Token
7760
 
    case 9944:                      // 'processing-instruction' NCName^Token
7761
 
    case 14854:                     // EQName^Token '#'
7762
 
    case 14918:                     // 'after' '#'
7763
 
    case 14920:                     // 'allowing' '#'
7764
 
    case 14921:                     // 'ancestor' '#'
7765
 
    case 14922:                     // 'ancestor-or-self' '#'
7766
 
    case 14923:                     // 'and' '#'
7767
 
    case 14926:                     // 'array' '#'
7768
 
    case 14927:                     // 'as' '#'
7769
 
    case 14928:                     // 'ascending' '#'
7770
 
    case 14929:                     // 'at' '#'
7771
 
    case 14930:                     // 'attribute' '#'
7772
 
    case 14931:                     // 'base-uri' '#'
7773
 
    case 14932:                     // 'before' '#'
7774
 
    case 14933:                     // 'boundary-space' '#'
7775
 
    case 14934:                     // 'break' '#'
7776
 
    case 14936:                     // 'case' '#'
7777
 
    case 14937:                     // 'cast' '#'
7778
 
    case 14938:                     // 'castable' '#'
7779
 
    case 14939:                     // 'catch' '#'
7780
 
    case 14941:                     // 'child' '#'
7781
 
    case 14942:                     // 'collation' '#'
7782
 
    case 14944:                     // 'comment' '#'
7783
 
    case 14945:                     // 'constraint' '#'
7784
 
    case 14946:                     // 'construction' '#'
7785
 
    case 14949:                     // 'context' '#'
7786
 
    case 14950:                     // 'continue' '#'
7787
 
    case 14951:                     // 'copy' '#'
7788
 
    case 14952:                     // 'copy-namespaces' '#'
7789
 
    case 14953:                     // 'count' '#'
7790
 
    case 14954:                     // 'decimal-format' '#'
7791
 
    case 14956:                     // 'declare' '#'
7792
 
    case 14957:                     // 'default' '#'
7793
 
    case 14958:                     // 'delete' '#'
7794
 
    case 14959:                     // 'descendant' '#'
7795
 
    case 14960:                     // 'descendant-or-self' '#'
7796
 
    case 14961:                     // 'descending' '#'
7797
 
    case 14966:                     // 'div' '#'
7798
 
    case 14967:                     // 'document' '#'
7799
 
    case 14968:                     // 'document-node' '#'
7800
 
    case 14969:                     // 'element' '#'
7801
 
    case 14970:                     // 'else' '#'
7802
 
    case 14971:                     // 'empty' '#'
7803
 
    case 14972:                     // 'empty-sequence' '#'
7804
 
    case 14973:                     // 'encoding' '#'
7805
 
    case 14974:                     // 'end' '#'
7806
 
    case 14976:                     // 'eq' '#'
7807
 
    case 14977:                     // 'every' '#'
7808
 
    case 14979:                     // 'except' '#'
7809
 
    case 14980:                     // 'exit' '#'
7810
 
    case 14981:                     // 'external' '#'
7811
 
    case 14982:                     // 'first' '#'
7812
 
    case 14983:                     // 'following' '#'
7813
 
    case 14984:                     // 'following-sibling' '#'
7814
 
    case 14985:                     // 'for' '#'
7815
 
    case 14989:                     // 'ft-option' '#'
7816
 
    case 14993:                     // 'function' '#'
7817
 
    case 14994:                     // 'ge' '#'
7818
 
    case 14996:                     // 'group' '#'
7819
 
    case 14998:                     // 'gt' '#'
7820
 
    case 14999:                     // 'idiv' '#'
7821
 
    case 15000:                     // 'if' '#'
7822
 
    case 15001:                     // 'import' '#'
7823
 
    case 15002:                     // 'in' '#'
7824
 
    case 15003:                     // 'index' '#'
7825
 
    case 15007:                     // 'insert' '#'
7826
 
    case 15008:                     // 'instance' '#'
7827
 
    case 15009:                     // 'integrity' '#'
7828
 
    case 15010:                     // 'intersect' '#'
7829
 
    case 15011:                     // 'into' '#'
7830
 
    case 15012:                     // 'is' '#'
7831
 
    case 15013:                     // 'item' '#'
7832
 
    case 15015:                     // 'json-item' '#'
7833
 
    case 15018:                     // 'last' '#'
7834
 
    case 15019:                     // 'lax' '#'
7835
 
    case 15020:                     // 'le' '#'
7836
 
    case 15022:                     // 'let' '#'
7837
 
    case 15024:                     // 'loop' '#'
7838
 
    case 15026:                     // 'lt' '#'
7839
 
    case 15028:                     // 'mod' '#'
7840
 
    case 15029:                     // 'modify' '#'
7841
 
    case 15030:                     // 'module' '#'
7842
 
    case 15032:                     // 'namespace' '#'
7843
 
    case 15033:                     // 'namespace-node' '#'
7844
 
    case 15034:                     // 'ne' '#'
7845
 
    case 15039:                     // 'node' '#'
7846
 
    case 15040:                     // 'nodes' '#'
7847
 
    case 15042:                     // 'object' '#'
7848
 
    case 15046:                     // 'only' '#'
7849
 
    case 15047:                     // 'option' '#'
7850
 
    case 15048:                     // 'or' '#'
7851
 
    case 15049:                     // 'order' '#'
7852
 
    case 15050:                     // 'ordered' '#'
7853
 
    case 15051:                     // 'ordering' '#'
7854
 
    case 15054:                     // 'parent' '#'
7855
 
    case 15060:                     // 'preceding' '#'
7856
 
    case 15061:                     // 'preceding-sibling' '#'
7857
 
    case 15064:                     // 'processing-instruction' '#'
7858
 
    case 15066:                     // 'rename' '#'
7859
 
    case 15067:                     // 'replace' '#'
7860
 
    case 15068:                     // 'return' '#'
7861
 
    case 15069:                     // 'returning' '#'
7862
 
    case 15070:                     // 'revalidation' '#'
7863
 
    case 15072:                     // 'satisfies' '#'
7864
 
    case 15073:                     // 'schema' '#'
7865
 
    case 15074:                     // 'schema-attribute' '#'
7866
 
    case 15075:                     // 'schema-element' '#'
7867
 
    case 15076:                     // 'score' '#'
7868
 
    case 15077:                     // 'self' '#'
7869
 
    case 15082:                     // 'sliding' '#'
7870
 
    case 15083:                     // 'some' '#'
7871
 
    case 15084:                     // 'stable' '#'
7872
 
    case 15085:                     // 'start' '#'
7873
 
    case 15088:                     // 'strict' '#'
7874
 
    case 15091:                     // 'switch' '#'
7875
 
    case 15092:                     // 'text' '#'
7876
 
    case 15096:                     // 'to' '#'
7877
 
    case 15097:                     // 'treat' '#'
7878
 
    case 15098:                     // 'try' '#'
7879
 
    case 15099:                     // 'tumbling' '#'
7880
 
    case 15100:                     // 'type' '#'
7881
 
    case 15101:                     // 'typeswitch' '#'
7882
 
    case 15102:                     // 'union' '#'
7883
 
    case 15104:                     // 'unordered' '#'
7884
 
    case 15105:                     // 'updating' '#'
7885
 
    case 15108:                     // 'validate' '#'
7886
 
    case 15109:                     // 'value' '#'
7887
 
    case 15110:                     // 'variable' '#'
7888
 
    case 15111:                     // 'version' '#'
7889
 
    case 15114:                     // 'where' '#'
7890
 
    case 15115:                     // 'while' '#'
7891
 
    case 15118:                     // 'with' '#'
7892
 
    case 15122:                     // 'xquery' '#'
7893
 
    case 17414:                     // EQName^Token '('
7894
 
    case 17478:                     // 'after' '('
7895
 
    case 17480:                     // 'allowing' '('
7896
 
    case 17481:                     // 'ancestor' '('
7897
 
    case 17482:                     // 'ancestor-or-self' '('
7898
 
    case 17483:                     // 'and' '('
7899
 
    case 17487:                     // 'as' '('
7900
 
    case 17488:                     // 'ascending' '('
7901
 
    case 17489:                     // 'at' '('
7902
 
    case 17491:                     // 'base-uri' '('
7903
 
    case 17492:                     // 'before' '('
7904
 
    case 17493:                     // 'boundary-space' '('
7905
 
    case 17494:                     // 'break' '('
7906
 
    case 17496:                     // 'case' '('
7907
 
    case 17497:                     // 'cast' '('
7908
 
    case 17498:                     // 'castable' '('
7909
 
    case 17499:                     // 'catch' '('
7910
 
    case 17501:                     // 'child' '('
7911
 
    case 17502:                     // 'collation' '('
7912
 
    case 17505:                     // 'constraint' '('
7913
 
    case 17506:                     // 'construction' '('
7914
 
    case 17509:                     // 'context' '('
7915
 
    case 17510:                     // 'continue' '('
7916
 
    case 17511:                     // 'copy' '('
7917
 
    case 17512:                     // 'copy-namespaces' '('
7918
 
    case 17513:                     // 'count' '('
7919
 
    case 17514:                     // 'decimal-format' '('
7920
 
    case 17516:                     // 'declare' '('
7921
 
    case 17517:                     // 'default' '('
7922
 
    case 17518:                     // 'delete' '('
7923
 
    case 17519:                     // 'descendant' '('
7924
 
    case 17520:                     // 'descendant-or-self' '('
7925
 
    case 17521:                     // 'descending' '('
7926
 
    case 17526:                     // 'div' '('
7927
 
    case 17527:                     // 'document' '('
7928
 
    case 17530:                     // 'else' '('
7929
 
    case 17531:                     // 'empty' '('
7930
 
    case 17533:                     // 'encoding' '('
7931
 
    case 17534:                     // 'end' '('
7932
 
    case 17536:                     // 'eq' '('
7933
 
    case 17537:                     // 'every' '('
7934
 
    case 17539:                     // 'except' '('
7935
 
    case 17540:                     // 'exit' '('
7936
 
    case 17541:                     // 'external' '('
7937
 
    case 17542:                     // 'first' '('
7938
 
    case 17543:                     // 'following' '('
7939
 
    case 17544:                     // 'following-sibling' '('
7940
 
    case 17545:                     // 'for' '('
7941
 
    case 17549:                     // 'ft-option' '('
7942
 
    case 17553:                     // 'function' '('
7943
 
    case 17554:                     // 'ge' '('
7944
 
    case 17556:                     // 'group' '('
7945
 
    case 17558:                     // 'gt' '('
7946
 
    case 17559:                     // 'idiv' '('
7947
 
    case 17561:                     // 'import' '('
7948
 
    case 17562:                     // 'in' '('
7949
 
    case 17563:                     // 'index' '('
7950
 
    case 17567:                     // 'insert' '('
7951
 
    case 17568:                     // 'instance' '('
7952
 
    case 17569:                     // 'integrity' '('
7953
 
    case 17570:                     // 'intersect' '('
7954
 
    case 17571:                     // 'into' '('
7955
 
    case 17572:                     // 'is' '('
7956
 
    case 17578:                     // 'last' '('
7957
 
    case 17579:                     // 'lax' '('
7958
 
    case 17580:                     // 'le' '('
7959
 
    case 17582:                     // 'let' '('
7960
 
    case 17584:                     // 'loop' '('
7961
 
    case 17586:                     // 'lt' '('
7962
 
    case 17588:                     // 'mod' '('
7963
 
    case 17589:                     // 'modify' '('
7964
 
    case 17590:                     // 'module' '('
7965
 
    case 17592:                     // 'namespace' '('
7966
 
    case 17594:                     // 'ne' '('
7967
 
    case 17600:                     // 'nodes' '('
7968
 
    case 17606:                     // 'only' '('
7969
 
    case 17607:                     // 'option' '('
7970
 
    case 17608:                     // 'or' '('
7971
 
    case 17609:                     // 'order' '('
7972
 
    case 17610:                     // 'ordered' '('
7973
 
    case 17611:                     // 'ordering' '('
7974
 
    case 17614:                     // 'parent' '('
7975
 
    case 17620:                     // 'preceding' '('
7976
 
    case 17621:                     // 'preceding-sibling' '('
7977
 
    case 17626:                     // 'rename' '('
7978
 
    case 17627:                     // 'replace' '('
7979
 
    case 17628:                     // 'return' '('
7980
 
    case 17629:                     // 'returning' '('
7981
 
    case 17630:                     // 'revalidation' '('
7982
 
    case 17632:                     // 'satisfies' '('
7983
 
    case 17633:                     // 'schema' '('
7984
 
    case 17636:                     // 'score' '('
7985
 
    case 17637:                     // 'self' '('
7986
 
    case 17642:                     // 'sliding' '('
7987
 
    case 17643:                     // 'some' '('
7988
 
    case 17644:                     // 'stable' '('
7989
 
    case 17645:                     // 'start' '('
7990
 
    case 17648:                     // 'strict' '('
7991
 
    case 17656:                     // 'to' '('
7992
 
    case 17657:                     // 'treat' '('
7993
 
    case 17658:                     // 'try' '('
7994
 
    case 17659:                     // 'tumbling' '('
7995
 
    case 17660:                     // 'type' '('
7996
 
    case 17662:                     // 'union' '('
7997
 
    case 17664:                     // 'unordered' '('
7998
 
    case 17665:                     // 'updating' '('
7999
 
    case 17668:                     // 'validate' '('
8000
 
    case 17669:                     // 'value' '('
8001
 
    case 17670:                     // 'variable' '('
8002
 
    case 17671:                     // 'version' '('
8003
 
    case 17674:                     // 'where' '('
8004
 
    case 17675:                     // 'while' '('
8005
 
    case 17678:                     // 'with' '('
8006
 
    case 17682:                     // 'xquery' '('
8007
 
    case 36946:                     // 'attribute' 'allowing'
8008
 
    case 36985:                     // 'element' 'allowing'
8009
 
    case 37048:                     // 'namespace' 'allowing'
8010
 
    case 37080:                     // 'processing-instruction' 'allowing'
8011
 
    case 37458:                     // 'attribute' 'ancestor'
8012
 
    case 37497:                     // 'element' 'ancestor'
8013
 
    case 37560:                     // 'namespace' 'ancestor'
8014
 
    case 37592:                     // 'processing-instruction' 'ancestor'
8015
 
    case 37970:                     // 'attribute' 'ancestor-or-self'
8016
 
    case 38009:                     // 'element' 'ancestor-or-self'
8017
 
    case 38072:                     // 'namespace' 'ancestor-or-self'
8018
 
    case 38104:                     // 'processing-instruction' 'ancestor-or-self'
8019
 
    case 40018:                     // 'attribute' 'array'
8020
 
    case 40057:                     // 'element' 'array'
8021
 
    case 42066:                     // 'attribute' 'attribute'
8022
 
    case 42105:                     // 'element' 'attribute'
8023
 
    case 42168:                     // 'namespace' 'attribute'
8024
 
    case 42200:                     // 'processing-instruction' 'attribute'
8025
 
    case 42578:                     // 'attribute' 'base-uri'
8026
 
    case 42617:                     // 'element' 'base-uri'
8027
 
    case 42680:                     // 'namespace' 'base-uri'
8028
 
    case 42712:                     // 'processing-instruction' 'base-uri'
8029
 
    case 43602:                     // 'attribute' 'boundary-space'
8030
 
    case 43641:                     // 'element' 'boundary-space'
8031
 
    case 43704:                     // 'namespace' 'boundary-space'
8032
 
    case 43736:                     // 'processing-instruction' 'boundary-space'
8033
 
    case 44114:                     // 'attribute' 'break'
8034
 
    case 44153:                     // 'element' 'break'
8035
 
    case 44216:                     // 'namespace' 'break'
8036
 
    case 44248:                     // 'processing-instruction' 'break'
8037
 
    case 46674:                     // 'attribute' 'catch'
8038
 
    case 46713:                     // 'element' 'catch'
8039
 
    case 46776:                     // 'namespace' 'catch'
8040
 
    case 46808:                     // 'processing-instruction' 'catch'
8041
 
    case 47698:                     // 'attribute' 'child'
8042
 
    case 47737:                     // 'element' 'child'
8043
 
    case 47800:                     // 'namespace' 'child'
8044
 
    case 47832:                     // 'processing-instruction' 'child'
8045
 
    case 49234:                     // 'attribute' 'comment'
8046
 
    case 49273:                     // 'element' 'comment'
8047
 
    case 49336:                     // 'namespace' 'comment'
8048
 
    case 49368:                     // 'processing-instruction' 'comment'
8049
 
    case 49746:                     // 'attribute' 'constraint'
8050
 
    case 49785:                     // 'element' 'constraint'
8051
 
    case 49848:                     // 'namespace' 'constraint'
8052
 
    case 49880:                     // 'processing-instruction' 'constraint'
8053
 
    case 50258:                     // 'attribute' 'construction'
8054
 
    case 50297:                     // 'element' 'construction'
8055
 
    case 50360:                     // 'namespace' 'construction'
8056
 
    case 50392:                     // 'processing-instruction' 'construction'
8057
 
    case 51794:                     // 'attribute' 'context'
8058
 
    case 51833:                     // 'element' 'context'
8059
 
    case 51896:                     // 'namespace' 'context'
8060
 
    case 51928:                     // 'processing-instruction' 'context'
8061
 
    case 52306:                     // 'attribute' 'continue'
8062
 
    case 52345:                     // 'element' 'continue'
8063
 
    case 52408:                     // 'namespace' 'continue'
8064
 
    case 52440:                     // 'processing-instruction' 'continue'
8065
 
    case 52818:                     // 'attribute' 'copy'
8066
 
    case 52857:                     // 'element' 'copy'
8067
 
    case 52920:                     // 'namespace' 'copy'
8068
 
    case 52952:                     // 'processing-instruction' 'copy'
8069
 
    case 53330:                     // 'attribute' 'copy-namespaces'
8070
 
    case 53369:                     // 'element' 'copy-namespaces'
8071
 
    case 53432:                     // 'namespace' 'copy-namespaces'
8072
 
    case 53464:                     // 'processing-instruction' 'copy-namespaces'
8073
 
    case 54354:                     // 'attribute' 'decimal-format'
8074
 
    case 54393:                     // 'element' 'decimal-format'
8075
 
    case 54456:                     // 'namespace' 'decimal-format'
8076
 
    case 54488:                     // 'processing-instruction' 'decimal-format'
8077
 
    case 55378:                     // 'attribute' 'declare'
8078
 
    case 55417:                     // 'element' 'declare'
8079
 
    case 55480:                     // 'namespace' 'declare'
8080
 
    case 55512:                     // 'processing-instruction' 'declare'
8081
 
    case 56402:                     // 'attribute' 'delete'
8082
 
    case 56441:                     // 'element' 'delete'
8083
 
    case 56504:                     // 'namespace' 'delete'
8084
 
    case 56536:                     // 'processing-instruction' 'delete'
8085
 
    case 56914:                     // 'attribute' 'descendant'
8086
 
    case 56953:                     // 'element' 'descendant'
8087
 
    case 57016:                     // 'namespace' 'descendant'
8088
 
    case 57048:                     // 'processing-instruction' 'descendant'
8089
 
    case 57426:                     // 'attribute' 'descendant-or-self'
8090
 
    case 57465:                     // 'element' 'descendant-or-self'
8091
 
    case 57528:                     // 'namespace' 'descendant-or-self'
8092
 
    case 57560:                     // 'processing-instruction' 'descendant-or-self'
8093
 
    case 61010:                     // 'attribute' 'document'
8094
 
    case 61049:                     // 'element' 'document'
8095
 
    case 61112:                     // 'namespace' 'document'
8096
 
    case 61144:                     // 'processing-instruction' 'document'
8097
 
    case 61522:                     // 'attribute' 'document-node'
8098
 
    case 61561:                     // 'element' 'document-node'
8099
 
    case 61624:                     // 'namespace' 'document-node'
8100
 
    case 61656:                     // 'processing-instruction' 'document-node'
8101
 
    case 62034:                     // 'attribute' 'element'
8102
 
    case 62073:                     // 'element' 'element'
8103
 
    case 62136:                     // 'namespace' 'element'
8104
 
    case 62168:                     // 'processing-instruction' 'element'
8105
 
    case 63570:                     // 'attribute' 'empty-sequence'
8106
 
    case 63609:                     // 'element' 'empty-sequence'
8107
 
    case 63672:                     // 'namespace' 'empty-sequence'
8108
 
    case 63704:                     // 'processing-instruction' 'empty-sequence'
8109
 
    case 64082:                     // 'attribute' 'encoding'
8110
 
    case 64121:                     // 'element' 'encoding'
8111
 
    case 64184:                     // 'namespace' 'encoding'
8112
 
    case 64216:                     // 'processing-instruction' 'encoding'
8113
 
    case 66130:                     // 'attribute' 'every'
8114
 
    case 66169:                     // 'element' 'every'
8115
 
    case 66232:                     // 'namespace' 'every'
8116
 
    case 66264:                     // 'processing-instruction' 'every'
8117
 
    case 67666:                     // 'attribute' 'exit'
8118
 
    case 67705:                     // 'element' 'exit'
8119
 
    case 67768:                     // 'namespace' 'exit'
8120
 
    case 67800:                     // 'processing-instruction' 'exit'
8121
 
    case 68178:                     // 'attribute' 'external'
8122
 
    case 68217:                     // 'element' 'external'
8123
 
    case 68280:                     // 'namespace' 'external'
8124
 
    case 68312:                     // 'processing-instruction' 'external'
8125
 
    case 68690:                     // 'attribute' 'first'
8126
 
    case 68729:                     // 'element' 'first'
8127
 
    case 68792:                     // 'namespace' 'first'
8128
 
    case 68824:                     // 'processing-instruction' 'first'
8129
 
    case 69202:                     // 'attribute' 'following'
8130
 
    case 69241:                     // 'element' 'following'
8131
 
    case 69304:                     // 'namespace' 'following'
8132
 
    case 69336:                     // 'processing-instruction' 'following'
8133
 
    case 69714:                     // 'attribute' 'following-sibling'
8134
 
    case 69753:                     // 'element' 'following-sibling'
8135
 
    case 69816:                     // 'namespace' 'following-sibling'
8136
 
    case 69848:                     // 'processing-instruction' 'following-sibling'
8137
 
    case 72274:                     // 'attribute' 'ft-option'
8138
 
    case 72313:                     // 'element' 'ft-option'
8139
 
    case 72376:                     // 'namespace' 'ft-option'
8140
 
    case 72408:                     // 'processing-instruction' 'ft-option'
8141
 
    case 74322:                     // 'attribute' 'function'
8142
 
    case 74361:                     // 'element' 'function'
8143
 
    case 74424:                     // 'namespace' 'function'
8144
 
    case 74456:                     // 'processing-instruction' 'function'
8145
 
    case 77906:                     // 'attribute' 'if'
8146
 
    case 77945:                     // 'element' 'if'
8147
 
    case 78008:                     // 'namespace' 'if'
8148
 
    case 78040:                     // 'processing-instruction' 'if'
8149
 
    case 78418:                     // 'attribute' 'import'
8150
 
    case 78457:                     // 'element' 'import'
8151
 
    case 78520:                     // 'namespace' 'import'
8152
 
    case 78552:                     // 'processing-instruction' 'import'
8153
 
    case 78930:                     // 'attribute' 'in'
8154
 
    case 78969:                     // 'element' 'in'
8155
 
    case 79032:                     // 'namespace' 'in'
8156
 
    case 79064:                     // 'processing-instruction' 'in'
8157
 
    case 79442:                     // 'attribute' 'index'
8158
 
    case 79481:                     // 'element' 'index'
8159
 
    case 79544:                     // 'namespace' 'index'
8160
 
    case 79576:                     // 'processing-instruction' 'index'
8161
 
    case 81490:                     // 'attribute' 'insert'
8162
 
    case 81529:                     // 'element' 'insert'
8163
 
    case 81592:                     // 'namespace' 'insert'
8164
 
    case 81624:                     // 'processing-instruction' 'insert'
8165
 
    case 82514:                     // 'attribute' 'integrity'
8166
 
    case 82553:                     // 'element' 'integrity'
8167
 
    case 82616:                     // 'namespace' 'integrity'
8168
 
    case 82648:                     // 'processing-instruction' 'integrity'
8169
 
    case 84562:                     // 'attribute' 'item'
8170
 
    case 84601:                     // 'element' 'item'
8171
 
    case 84664:                     // 'namespace' 'item'
8172
 
    case 84696:                     // 'processing-instruction' 'item'
8173
 
    case 85586:                     // 'attribute' 'json-item'
8174
 
    case 85625:                     // 'element' 'json-item'
8175
 
    case 87122:                     // 'attribute' 'last'
8176
 
    case 87161:                     // 'element' 'last'
8177
 
    case 87224:                     // 'namespace' 'last'
8178
 
    case 87256:                     // 'processing-instruction' 'last'
8179
 
    case 87634:                     // 'attribute' 'lax'
8180
 
    case 87673:                     // 'element' 'lax'
8181
 
    case 87736:                     // 'namespace' 'lax'
8182
 
    case 87768:                     // 'processing-instruction' 'lax'
8183
 
    case 90194:                     // 'attribute' 'loop'
8184
 
    case 90233:                     // 'element' 'loop'
8185
 
    case 90296:                     // 'namespace' 'loop'
8186
 
    case 90328:                     // 'processing-instruction' 'loop'
8187
 
    case 93266:                     // 'attribute' 'module'
8188
 
    case 93305:                     // 'element' 'module'
8189
 
    case 93368:                     // 'namespace' 'module'
8190
 
    case 93400:                     // 'processing-instruction' 'module'
8191
 
    case 94290:                     // 'attribute' 'namespace'
8192
 
    case 94329:                     // 'element' 'namespace'
8193
 
    case 94392:                     // 'namespace' 'namespace'
8194
 
    case 94424:                     // 'processing-instruction' 'namespace'
8195
 
    case 94802:                     // 'attribute' 'namespace-node'
8196
 
    case 94841:                     // 'element' 'namespace-node'
8197
 
    case 94904:                     // 'namespace' 'namespace-node'
8198
 
    case 94936:                     // 'processing-instruction' 'namespace-node'
8199
 
    case 97874:                     // 'attribute' 'node'
8200
 
    case 97913:                     // 'element' 'node'
8201
 
    case 97976:                     // 'namespace' 'node'
8202
 
    case 98008:                     // 'processing-instruction' 'node'
8203
 
    case 98386:                     // 'attribute' 'nodes'
8204
 
    case 98425:                     // 'element' 'nodes'
8205
 
    case 98488:                     // 'namespace' 'nodes'
8206
 
    case 98520:                     // 'processing-instruction' 'nodes'
8207
 
    case 99410:                     // 'attribute' 'object'
8208
 
    case 99449:                     // 'element' 'object'
8209
 
    case 101970:                    // 'attribute' 'option'
8210
 
    case 102009:                    // 'element' 'option'
8211
 
    case 102072:                    // 'namespace' 'option'
8212
 
    case 102104:                    // 'processing-instruction' 'option'
8213
 
    case 103506:                    // 'attribute' 'ordered'
8214
 
    case 103545:                    // 'element' 'ordered'
8215
 
    case 103608:                    // 'namespace' 'ordered'
8216
 
    case 103640:                    // 'processing-instruction' 'ordered'
8217
 
    case 104018:                    // 'attribute' 'ordering'
8218
 
    case 104057:                    // 'element' 'ordering'
8219
 
    case 104120:                    // 'namespace' 'ordering'
8220
 
    case 104152:                    // 'processing-instruction' 'ordering'
8221
 
    case 105554:                    // 'attribute' 'parent'
8222
 
    case 105593:                    // 'element' 'parent'
8223
 
    case 105656:                    // 'namespace' 'parent'
8224
 
    case 105688:                    // 'processing-instruction' 'parent'
8225
 
    case 108626:                    // 'attribute' 'preceding'
8226
 
    case 108665:                    // 'element' 'preceding'
8227
 
    case 108728:                    // 'namespace' 'preceding'
8228
 
    case 108760:                    // 'processing-instruction' 'preceding'
8229
 
    case 109138:                    // 'attribute' 'preceding-sibling'
8230
 
    case 109177:                    // 'element' 'preceding-sibling'
8231
 
    case 109240:                    // 'namespace' 'preceding-sibling'
8232
 
    case 109272:                    // 'processing-instruction' 'preceding-sibling'
8233
 
    case 110674:                    // 'attribute' 'processing-instruction'
8234
 
    case 110713:                    // 'element' 'processing-instruction'
8235
 
    case 110776:                    // 'namespace' 'processing-instruction'
8236
 
    case 110808:                    // 'processing-instruction' 'processing-instruction'
8237
 
    case 111698:                    // 'attribute' 'rename'
8238
 
    case 111737:                    // 'element' 'rename'
8239
 
    case 111800:                    // 'namespace' 'rename'
8240
 
    case 111832:                    // 'processing-instruction' 'rename'
8241
 
    case 112210:                    // 'attribute' 'replace'
8242
 
    case 112249:                    // 'element' 'replace'
8243
 
    case 112312:                    // 'namespace' 'replace'
8244
 
    case 112344:                    // 'processing-instruction' 'replace'
8245
 
    case 113234:                    // 'attribute' 'returning'
8246
 
    case 113273:                    // 'element' 'returning'
8247
 
    case 113336:                    // 'namespace' 'returning'
8248
 
    case 113368:                    // 'processing-instruction' 'returning'
8249
 
    case 113746:                    // 'attribute' 'revalidation'
8250
 
    case 113785:                    // 'element' 'revalidation'
8251
 
    case 113848:                    // 'namespace' 'revalidation'
8252
 
    case 113880:                    // 'processing-instruction' 'revalidation'
8253
 
    case 115282:                    // 'attribute' 'schema'
8254
 
    case 115321:                    // 'element' 'schema'
8255
 
    case 115384:                    // 'namespace' 'schema'
8256
 
    case 115416:                    // 'processing-instruction' 'schema'
8257
 
    case 115794:                    // 'attribute' 'schema-attribute'
8258
 
    case 115833:                    // 'element' 'schema-attribute'
8259
 
    case 115896:                    // 'namespace' 'schema-attribute'
8260
 
    case 115928:                    // 'processing-instruction' 'schema-attribute'
8261
 
    case 116306:                    // 'attribute' 'schema-element'
8262
 
    case 116345:                    // 'element' 'schema-element'
8263
 
    case 116408:                    // 'namespace' 'schema-element'
8264
 
    case 116440:                    // 'processing-instruction' 'schema-element'
8265
 
    case 116818:                    // 'attribute' 'score'
8266
 
    case 116857:                    // 'element' 'score'
8267
 
    case 116920:                    // 'namespace' 'score'
8268
 
    case 116952:                    // 'processing-instruction' 'score'
8269
 
    case 117330:                    // 'attribute' 'self'
8270
 
    case 117369:                    // 'element' 'self'
8271
 
    case 117432:                    // 'namespace' 'self'
8272
 
    case 117464:                    // 'processing-instruction' 'self'
8273
 
    case 119890:                    // 'attribute' 'sliding'
8274
 
    case 119929:                    // 'element' 'sliding'
8275
 
    case 119992:                    // 'namespace' 'sliding'
8276
 
    case 120024:                    // 'processing-instruction' 'sliding'
8277
 
    case 120402:                    // 'attribute' 'some'
8278
 
    case 120441:                    // 'element' 'some'
8279
 
    case 120504:                    // 'namespace' 'some'
8280
 
    case 120536:                    // 'processing-instruction' 'some'
8281
 
    case 122962:                    // 'attribute' 'strict'
8282
 
    case 123001:                    // 'element' 'strict'
8283
 
    case 123064:                    // 'namespace' 'strict'
8284
 
    case 123096:                    // 'processing-instruction' 'strict'
8285
 
    case 124498:                    // 'attribute' 'switch'
8286
 
    case 124537:                    // 'element' 'switch'
8287
 
    case 124600:                    // 'namespace' 'switch'
8288
 
    case 124632:                    // 'processing-instruction' 'switch'
8289
 
    case 125010:                    // 'attribute' 'text'
8290
 
    case 125049:                    // 'element' 'text'
8291
 
    case 125112:                    // 'namespace' 'text'
8292
 
    case 125144:                    // 'processing-instruction' 'text'
8293
 
    case 128082:                    // 'attribute' 'try'
8294
 
    case 128121:                    // 'element' 'try'
8295
 
    case 128184:                    // 'namespace' 'try'
8296
 
    case 128216:                    // 'processing-instruction' 'try'
8297
 
    case 128594:                    // 'attribute' 'tumbling'
8298
 
    case 128633:                    // 'element' 'tumbling'
8299
 
    case 128696:                    // 'namespace' 'tumbling'
8300
 
    case 128728:                    // 'processing-instruction' 'tumbling'
8301
 
    case 129106:                    // 'attribute' 'type'
8302
 
    case 129145:                    // 'element' 'type'
8303
 
    case 129208:                    // 'namespace' 'type'
8304
 
    case 129240:                    // 'processing-instruction' 'type'
8305
 
    case 129618:                    // 'attribute' 'typeswitch'
8306
 
    case 129657:                    // 'element' 'typeswitch'
8307
 
    case 129720:                    // 'namespace' 'typeswitch'
8308
 
    case 129752:                    // 'processing-instruction' 'typeswitch'
8309
 
    case 131154:                    // 'attribute' 'unordered'
8310
 
    case 131193:                    // 'element' 'unordered'
8311
 
    case 131256:                    // 'namespace' 'unordered'
8312
 
    case 131288:                    // 'processing-instruction' 'unordered'
8313
 
    case 131666:                    // 'attribute' 'updating'
8314
 
    case 131705:                    // 'element' 'updating'
8315
 
    case 131768:                    // 'namespace' 'updating'
8316
 
    case 131800:                    // 'processing-instruction' 'updating'
8317
 
    case 133202:                    // 'attribute' 'validate'
8318
 
    case 133241:                    // 'element' 'validate'
8319
 
    case 133304:                    // 'namespace' 'validate'
8320
 
    case 133336:                    // 'processing-instruction' 'validate'
8321
 
    case 133714:                    // 'attribute' 'value'
8322
 
    case 133753:                    // 'element' 'value'
8323
 
    case 133816:                    // 'namespace' 'value'
8324
 
    case 133848:                    // 'processing-instruction' 'value'
8325
 
    case 134226:                    // 'attribute' 'variable'
8326
 
    case 134265:                    // 'element' 'variable'
8327
 
    case 134328:                    // 'namespace' 'variable'
8328
 
    case 134360:                    // 'processing-instruction' 'variable'
8329
 
    case 134738:                    // 'attribute' 'version'
8330
 
    case 134777:                    // 'element' 'version'
8331
 
    case 134840:                    // 'namespace' 'version'
8332
 
    case 134872:                    // 'processing-instruction' 'version'
8333
 
    case 136786:                    // 'attribute' 'while'
8334
 
    case 136825:                    // 'element' 'while'
8335
 
    case 136888:                    // 'namespace' 'while'
8336
 
    case 136920:                    // 'processing-instruction' 'while'
8337
 
    case 140370:                    // 'attribute' 'xquery'
8338
 
    case 140409:                    // 'element' 'xquery'
8339
 
    case 140472:                    // 'namespace' 'xquery'
8340
 
    case 140504:                    // 'processing-instruction' 'xquery'
8341
 
    case 141394:                    // 'attribute' '{'
8342
 
    case 141408:                    // 'comment' '{'
8343
 
    case 141431:                    // 'document' '{'
8344
 
    case 141433:                    // 'element' '{'
8345
 
    case 141496:                    // 'namespace' '{'
8346
 
    case 141514:                    // 'ordered' '{'
8347
 
    case 141528:                    // 'processing-instruction' '{'
8348
 
    case 141556:                    // 'text' '{'
8349
 
    case 141568:                    // 'unordered' '{'
8350
 
      try_PostfixExpr();
8351
 
      break;
8352
 
    case -3:
8353
 
      break;
8354
 
    default:
8355
 
      try_AxisStep();
8356
 
    }
8357
 
  }
8358
 
 
8359
 
  function parse_AxisStep()
8360
 
  {
8361
 
    eventHandler.startNonterminal("AxisStep", e0);
8362
 
    switch (l1)
8363
 
    {
8364
 
    case 73:                        // 'ancestor'
8365
 
    case 74:                        // 'ancestor-or-self'
8366
 
    case 206:                       // 'parent'
8367
 
    case 212:                       // 'preceding'
8368
 
    case 213:                       // 'preceding-sibling'
8369
 
      lookahead2W(240);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8370
 
      break;
8371
 
    default:
8372
 
      lk = l1;
8373
 
    }
8374
 
    switch (lk)
8375
 
    {
8376
 
    case 45:                        // '..'
8377
 
    case 26185:                     // 'ancestor' '::'
8378
 
    case 26186:                     // 'ancestor-or-self' '::'
8379
 
    case 26318:                     // 'parent' '::'
8380
 
    case 26324:                     // 'preceding' '::'
8381
 
    case 26325:                     // 'preceding-sibling' '::'
8382
 
      parse_ReverseStep();
8383
 
      break;
8384
 
    default:
8385
 
      parse_ForwardStep();
8386
 
    }
8387
 
    lookahead1W(236);               // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8388
 
    whitespace();
8389
 
    parse_PredicateList();
8390
 
    eventHandler.endNonterminal("AxisStep", e0);
8391
 
  }
8392
 
 
8393
 
  function try_AxisStep()
8394
 
  {
8395
 
    switch (l1)
8396
 
    {
8397
 
    case 73:                        // 'ancestor'
8398
 
    case 74:                        // 'ancestor-or-self'
8399
 
    case 206:                       // 'parent'
8400
 
    case 212:                       // 'preceding'
8401
 
    case 213:                       // 'preceding-sibling'
8402
 
      lookahead2W(240);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8403
 
      break;
8404
 
    default:
8405
 
      lk = l1;
8406
 
    }
8407
 
    switch (lk)
8408
 
    {
8409
 
    case 45:                        // '..'
8410
 
    case 26185:                     // 'ancestor' '::'
8411
 
    case 26186:                     // 'ancestor-or-self' '::'
8412
 
    case 26318:                     // 'parent' '::'
8413
 
    case 26324:                     // 'preceding' '::'
8414
 
    case 26325:                     // 'preceding-sibling' '::'
8415
 
      try_ReverseStep();
8416
 
      break;
8417
 
    default:
8418
 
      try_ForwardStep();
8419
 
    }
8420
 
    lookahead1W(236);               // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8421
 
    try_PredicateList();
8422
 
  }
8423
 
 
8424
 
  function parse_ForwardStep()
8425
 
  {
8426
 
    eventHandler.startNonterminal("ForwardStep", e0);
8427
 
    switch (l1)
8428
 
    {
8429
 
    case 82:                        // 'attribute'
8430
 
      lookahead2W(243);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8431
 
      break;
8432
 
    case 93:                        // 'child'
8433
 
    case 111:                       // 'descendant'
8434
 
    case 112:                       // 'descendant-or-self'
8435
 
    case 135:                       // 'following'
8436
 
    case 136:                       // 'following-sibling'
8437
 
    case 229:                       // 'self'
8438
 
      lookahead2W(240);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8439
 
      break;
8440
 
    default:
8441
 
      lk = l1;
8442
 
    }
8443
 
    switch (lk)
8444
 
    {
8445
 
    case 26194:                     // 'attribute' '::'
8446
 
    case 26205:                     // 'child' '::'
8447
 
    case 26223:                     // 'descendant' '::'
8448
 
    case 26224:                     // 'descendant-or-self' '::'
8449
 
    case 26247:                     // 'following' '::'
8450
 
    case 26248:                     // 'following-sibling' '::'
8451
 
    case 26341:                     // 'self' '::'
8452
 
      parse_ForwardAxis();
8453
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8454
 
      whitespace();
8455
 
      parse_NodeTest();
8456
 
      break;
8457
 
    default:
8458
 
      parse_AbbrevForwardStep();
8459
 
    }
8460
 
    eventHandler.endNonterminal("ForwardStep", e0);
8461
 
  }
8462
 
 
8463
 
  function try_ForwardStep()
8464
 
  {
8465
 
    switch (l1)
8466
 
    {
8467
 
    case 82:                        // 'attribute'
8468
 
      lookahead2W(243);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8469
 
      break;
8470
 
    case 93:                        // 'child'
8471
 
    case 111:                       // 'descendant'
8472
 
    case 112:                       // 'descendant-or-self'
8473
 
    case 135:                       // 'following'
8474
 
    case 136:                       // 'following-sibling'
8475
 
    case 229:                       // 'self'
8476
 
      lookahead2W(240);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8477
 
      break;
8478
 
    default:
8479
 
      lk = l1;
8480
 
    }
8481
 
    switch (lk)
8482
 
    {
8483
 
    case 26194:                     // 'attribute' '::'
8484
 
    case 26205:                     // 'child' '::'
8485
 
    case 26223:                     // 'descendant' '::'
8486
 
    case 26224:                     // 'descendant-or-self' '::'
8487
 
    case 26247:                     // 'following' '::'
8488
 
    case 26248:                     // 'following-sibling' '::'
8489
 
    case 26341:                     // 'self' '::'
8490
 
      try_ForwardAxis();
8491
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8492
 
      try_NodeTest();
8493
 
      break;
8494
 
    default:
8495
 
      try_AbbrevForwardStep();
8496
 
    }
8497
 
  }
8498
 
 
8499
 
  function parse_ForwardAxis()
8500
 
  {
8501
 
    eventHandler.startNonterminal("ForwardAxis", e0);
8502
 
    switch (l1)
8503
 
    {
8504
 
    case 93:                        // 'child'
8505
 
      shift(93);                    // 'child'
8506
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8507
 
      shift(51);                    // '::'
8508
 
      break;
8509
 
    case 111:                       // 'descendant'
8510
 
      shift(111);                   // 'descendant'
8511
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8512
 
      shift(51);                    // '::'
8513
 
      break;
8514
 
    case 82:                        // 'attribute'
8515
 
      shift(82);                    // 'attribute'
8516
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8517
 
      shift(51);                    // '::'
8518
 
      break;
8519
 
    case 229:                       // 'self'
8520
 
      shift(229);                   // 'self'
8521
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8522
 
      shift(51);                    // '::'
8523
 
      break;
8524
 
    case 112:                       // 'descendant-or-self'
8525
 
      shift(112);                   // 'descendant-or-self'
8526
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8527
 
      shift(51);                    // '::'
8528
 
      break;
8529
 
    case 136:                       // 'following-sibling'
8530
 
      shift(136);                   // 'following-sibling'
8531
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8532
 
      shift(51);                    // '::'
8533
 
      break;
8534
 
    default:
8535
 
      shift(135);                   // 'following'
8536
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8537
 
      shift(51);                    // '::'
8538
 
    }
8539
 
    eventHandler.endNonterminal("ForwardAxis", e0);
8540
 
  }
8541
 
 
8542
 
  function try_ForwardAxis()
8543
 
  {
8544
 
    switch (l1)
8545
 
    {
8546
 
    case 93:                        // 'child'
8547
 
      shiftT(93);                   // 'child'
8548
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8549
 
      shiftT(51);                   // '::'
8550
 
      break;
8551
 
    case 111:                       // 'descendant'
8552
 
      shiftT(111);                  // 'descendant'
8553
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8554
 
      shiftT(51);                   // '::'
8555
 
      break;
8556
 
    case 82:                        // 'attribute'
8557
 
      shiftT(82);                   // 'attribute'
8558
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8559
 
      shiftT(51);                   // '::'
8560
 
      break;
8561
 
    case 229:                       // 'self'
8562
 
      shiftT(229);                  // 'self'
8563
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8564
 
      shiftT(51);                   // '::'
8565
 
      break;
8566
 
    case 112:                       // 'descendant-or-self'
8567
 
      shiftT(112);                  // 'descendant-or-self'
8568
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8569
 
      shiftT(51);                   // '::'
8570
 
      break;
8571
 
    case 136:                       // 'following-sibling'
8572
 
      shiftT(136);                  // 'following-sibling'
8573
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8574
 
      shiftT(51);                   // '::'
8575
 
      break;
8576
 
    default:
8577
 
      shiftT(135);                  // 'following'
8578
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8579
 
      shiftT(51);                   // '::'
8580
 
    }
8581
 
  }
8582
 
 
8583
 
  function parse_AbbrevForwardStep()
8584
 
  {
8585
 
    eventHandler.startNonterminal("AbbrevForwardStep", e0);
8586
 
    if (l1 == 66)                   // '@'
8587
 
    {
8588
 
      shift(66);                    // '@'
8589
 
    }
8590
 
    lookahead1W(255);               // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8591
 
    whitespace();
8592
 
    parse_NodeTest();
8593
 
    eventHandler.endNonterminal("AbbrevForwardStep", e0);
8594
 
  }
8595
 
 
8596
 
  function try_AbbrevForwardStep()
8597
 
  {
8598
 
    if (l1 == 66)                   // '@'
8599
 
    {
8600
 
      shiftT(66);                   // '@'
8601
 
    }
8602
 
    lookahead1W(255);               // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8603
 
    try_NodeTest();
8604
 
  }
8605
 
 
8606
 
  function parse_ReverseStep()
8607
 
  {
8608
 
    eventHandler.startNonterminal("ReverseStep", e0);
8609
 
    switch (l1)
8610
 
    {
8611
 
    case 45:                        // '..'
8612
 
      parse_AbbrevReverseStep();
8613
 
      break;
8614
 
    default:
8615
 
      parse_ReverseAxis();
8616
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8617
 
      whitespace();
8618
 
      parse_NodeTest();
8619
 
    }
8620
 
    eventHandler.endNonterminal("ReverseStep", e0);
8621
 
  }
8622
 
 
8623
 
  function try_ReverseStep()
8624
 
  {
8625
 
    switch (l1)
8626
 
    {
8627
 
    case 45:                        // '..'
8628
 
      try_AbbrevReverseStep();
8629
 
      break;
8630
 
    default:
8631
 
      try_ReverseAxis();
8632
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
8633
 
      try_NodeTest();
8634
 
    }
8635
 
  }
8636
 
 
8637
 
  function parse_ReverseAxis()
8638
 
  {
8639
 
    eventHandler.startNonterminal("ReverseAxis", e0);
8640
 
    switch (l1)
8641
 
    {
8642
 
    case 206:                       // 'parent'
8643
 
      shift(206);                   // 'parent'
8644
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8645
 
      shift(51);                    // '::'
8646
 
      break;
8647
 
    case 73:                        // 'ancestor'
8648
 
      shift(73);                    // 'ancestor'
8649
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8650
 
      shift(51);                    // '::'
8651
 
      break;
8652
 
    case 213:                       // 'preceding-sibling'
8653
 
      shift(213);                   // 'preceding-sibling'
8654
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8655
 
      shift(51);                    // '::'
8656
 
      break;
8657
 
    case 212:                       // 'preceding'
8658
 
      shift(212);                   // 'preceding'
8659
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8660
 
      shift(51);                    // '::'
8661
 
      break;
8662
 
    default:
8663
 
      shift(74);                    // 'ancestor-or-self'
8664
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8665
 
      shift(51);                    // '::'
8666
 
    }
8667
 
    eventHandler.endNonterminal("ReverseAxis", e0);
8668
 
  }
8669
 
 
8670
 
  function try_ReverseAxis()
8671
 
  {
8672
 
    switch (l1)
8673
 
    {
8674
 
    case 206:                       // 'parent'
8675
 
      shiftT(206);                  // 'parent'
8676
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8677
 
      shiftT(51);                   // '::'
8678
 
      break;
8679
 
    case 73:                        // 'ancestor'
8680
 
      shiftT(73);                   // 'ancestor'
8681
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8682
 
      shiftT(51);                   // '::'
8683
 
      break;
8684
 
    case 213:                       // 'preceding-sibling'
8685
 
      shiftT(213);                  // 'preceding-sibling'
8686
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8687
 
      shiftT(51);                   // '::'
8688
 
      break;
8689
 
    case 212:                       // 'preceding'
8690
 
      shiftT(212);                  // 'preceding'
8691
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8692
 
      shiftT(51);                   // '::'
8693
 
      break;
8694
 
    default:
8695
 
      shiftT(74);                   // 'ancestor-or-self'
8696
 
      lookahead1W(26);              // S^WS | '(:' | '::'
8697
 
      shiftT(51);                   // '::'
8698
 
    }
8699
 
  }
8700
 
 
8701
 
  function parse_AbbrevReverseStep()
8702
 
  {
8703
 
    eventHandler.startNonterminal("AbbrevReverseStep", e0);
8704
 
    shift(45);                      // '..'
8705
 
    eventHandler.endNonterminal("AbbrevReverseStep", e0);
8706
 
  }
8707
 
 
8708
 
  function try_AbbrevReverseStep()
8709
 
  {
8710
 
    shiftT(45);                     // '..'
8711
 
  }
8712
 
 
8713
 
  function parse_NodeTest()
8714
 
  {
8715
 
    eventHandler.startNonterminal("NodeTest", e0);
8716
 
    switch (l1)
8717
 
    {
8718
 
    case 78:                        // 'array'
8719
 
    case 82:                        // 'attribute'
8720
 
    case 96:                        // 'comment'
8721
 
    case 120:                       // 'document-node'
8722
 
    case 121:                       // 'element'
8723
 
    case 167:                       // 'json-item'
8724
 
    case 185:                       // 'namespace-node'
8725
 
    case 191:                       // 'node'
8726
 
    case 194:                       // 'object'
8727
 
    case 216:                       // 'processing-instruction'
8728
 
    case 226:                       // 'schema-attribute'
8729
 
    case 227:                       // 'schema-element'
8730
 
    case 244:                       // 'text'
8731
 
      lookahead2W(239);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8732
 
      break;
8733
 
    default:
8734
 
      lk = l1;
8735
 
    }
8736
 
    switch (lk)
8737
 
    {
8738
 
    case 17486:                     // 'array' '('
8739
 
    case 17490:                     // 'attribute' '('
8740
 
    case 17504:                     // 'comment' '('
8741
 
    case 17528:                     // 'document-node' '('
8742
 
    case 17529:                     // 'element' '('
8743
 
    case 17575:                     // 'json-item' '('
8744
 
    case 17593:                     // 'namespace-node' '('
8745
 
    case 17599:                     // 'node' '('
8746
 
    case 17602:                     // 'object' '('
8747
 
    case 17624:                     // 'processing-instruction' '('
8748
 
    case 17634:                     // 'schema-attribute' '('
8749
 
    case 17635:                     // 'schema-element' '('
8750
 
    case 17652:                     // 'text' '('
8751
 
      parse_KindTest();
8752
 
      break;
8753
 
    default:
8754
 
      parse_NameTest();
8755
 
    }
8756
 
    eventHandler.endNonterminal("NodeTest", e0);
8757
 
  }
8758
 
 
8759
 
  function try_NodeTest()
8760
 
  {
8761
 
    switch (l1)
8762
 
    {
8763
 
    case 78:                        // 'array'
8764
 
    case 82:                        // 'attribute'
8765
 
    case 96:                        // 'comment'
8766
 
    case 120:                       // 'document-node'
8767
 
    case 121:                       // 'element'
8768
 
    case 167:                       // 'json-item'
8769
 
    case 185:                       // 'namespace-node'
8770
 
    case 191:                       // 'node'
8771
 
    case 194:                       // 'object'
8772
 
    case 216:                       // 'processing-instruction'
8773
 
    case 226:                       // 'schema-attribute'
8774
 
    case 227:                       // 'schema-element'
8775
 
    case 244:                       // 'text'
8776
 
      lookahead2W(239);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8777
 
      break;
8778
 
    default:
8779
 
      lk = l1;
8780
 
    }
8781
 
    switch (lk)
8782
 
    {
8783
 
    case 17486:                     // 'array' '('
8784
 
    case 17490:                     // 'attribute' '('
8785
 
    case 17504:                     // 'comment' '('
8786
 
    case 17528:                     // 'document-node' '('
8787
 
    case 17529:                     // 'element' '('
8788
 
    case 17575:                     // 'json-item' '('
8789
 
    case 17593:                     // 'namespace-node' '('
8790
 
    case 17599:                     // 'node' '('
8791
 
    case 17602:                     // 'object' '('
8792
 
    case 17624:                     // 'processing-instruction' '('
8793
 
    case 17634:                     // 'schema-attribute' '('
8794
 
    case 17635:                     // 'schema-element' '('
8795
 
    case 17652:                     // 'text' '('
8796
 
      try_KindTest();
8797
 
      break;
8798
 
    default:
8799
 
      try_NameTest();
8800
 
    }
8801
 
  }
8802
 
 
8803
 
  function parse_NameTest()
8804
 
  {
8805
 
    eventHandler.startNonterminal("NameTest", e0);
8806
 
    switch (l1)
8807
 
    {
8808
 
    case 5:                         // Wildcard
8809
 
      shift(5);                     // Wildcard
8810
 
      break;
8811
 
    default:
8812
 
      parse_EQName();
8813
 
    }
8814
 
    eventHandler.endNonterminal("NameTest", e0);
8815
 
  }
8816
 
 
8817
 
  function try_NameTest()
8818
 
  {
8819
 
    switch (l1)
8820
 
    {
8821
 
    case 5:                         // Wildcard
8822
 
      shiftT(5);                    // Wildcard
8823
 
      break;
8824
 
    default:
8825
 
      try_EQName();
8826
 
    }
8827
 
  }
8828
 
 
8829
 
  function parse_PostfixExpr()
8830
 
  {
8831
 
    eventHandler.startNonterminal("PostfixExpr", e0);
8832
 
    parse_PrimaryExpr();
8833
 
    for (;;)
8834
 
    {
8835
 
      lookahead1W(239);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8836
 
      if (l1 != 34                  // '('
8837
 
       && l1 != 68)                 // '['
8838
 
      {
8839
 
        break;
8840
 
      }
8841
 
      switch (l1)
8842
 
      {
8843
 
      case 68:                      // '['
8844
 
        whitespace();
8845
 
        parse_Predicate();
8846
 
        break;
8847
 
      default:
8848
 
        whitespace();
8849
 
        parse_ArgumentList();
8850
 
      }
8851
 
    }
8852
 
    eventHandler.endNonterminal("PostfixExpr", e0);
8853
 
  }
8854
 
 
8855
 
  function try_PostfixExpr()
8856
 
  {
8857
 
    try_PrimaryExpr();
8858
 
    for (;;)
8859
 
    {
8860
 
      lookahead1W(239);             // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
8861
 
      if (l1 != 34                  // '('
8862
 
       && l1 != 68)                 // '['
8863
 
      {
8864
 
        break;
8865
 
      }
8866
 
      switch (l1)
8867
 
      {
8868
 
      case 68:                      // '['
8869
 
        try_Predicate();
8870
 
        break;
8871
 
      default:
8872
 
        try_ArgumentList();
8873
 
      }
8874
 
    }
8875
 
  }
8876
 
 
8877
 
  function parse_ArgumentList()
8878
 
  {
8879
 
    eventHandler.startNonterminal("ArgumentList", e0);
8880
 
    shift(34);                      // '('
8881
 
    lookahead1W(275);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8882
 
    if (l1 != 37)                   // ')'
8883
 
    {
8884
 
      whitespace();
8885
 
      parse_Argument();
8886
 
      for (;;)
8887
 
      {
8888
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
8889
 
        if (l1 != 41)               // ','
8890
 
        {
8891
 
          break;
8892
 
        }
8893
 
        shift(41);                  // ','
8894
 
        lookahead1W(270);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8895
 
        whitespace();
8896
 
        parse_Argument();
8897
 
      }
8898
 
    }
8899
 
    shift(37);                      // ')'
8900
 
    eventHandler.endNonterminal("ArgumentList", e0);
8901
 
  }
8902
 
 
8903
 
  function try_ArgumentList()
8904
 
  {
8905
 
    shiftT(34);                     // '('
8906
 
    lookahead1W(275);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8907
 
    if (l1 != 37)                   // ')'
8908
 
    {
8909
 
      try_Argument();
8910
 
      for (;;)
8911
 
      {
8912
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
8913
 
        if (l1 != 41)               // ','
8914
 
        {
8915
 
          break;
8916
 
        }
8917
 
        shiftT(41);                 // ','
8918
 
        lookahead1W(270);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8919
 
        try_Argument();
8920
 
      }
8921
 
    }
8922
 
    shiftT(37);                     // ')'
8923
 
  }
8924
 
 
8925
 
  function parse_PredicateList()
8926
 
  {
8927
 
    eventHandler.startNonterminal("PredicateList", e0);
8928
 
    for (;;)
8929
 
    {
8930
 
      lookahead1W(236);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8931
 
      if (l1 != 68)                 // '['
8932
 
      {
8933
 
        break;
8934
 
      }
8935
 
      whitespace();
8936
 
      parse_Predicate();
8937
 
    }
8938
 
    eventHandler.endNonterminal("PredicateList", e0);
8939
 
  }
8940
 
 
8941
 
  function try_PredicateList()
8942
 
  {
8943
 
    for (;;)
8944
 
    {
8945
 
      lookahead1W(236);             // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
8946
 
      if (l1 != 68)                 // '['
8947
 
      {
8948
 
        break;
8949
 
      }
8950
 
      try_Predicate();
8951
 
    }
8952
 
  }
8953
 
 
8954
 
  function parse_Predicate()
8955
 
  {
8956
 
    eventHandler.startNonterminal("Predicate", e0);
8957
 
    shift(68);                      // '['
8958
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8959
 
    whitespace();
8960
 
    parse_Expr();
8961
 
    shift(69);                      // ']'
8962
 
    eventHandler.endNonterminal("Predicate", e0);
8963
 
  }
8964
 
 
8965
 
  function try_Predicate()
8966
 
  {
8967
 
    shiftT(68);                     // '['
8968
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
8969
 
    try_Expr();
8970
 
    shiftT(69);                     // ']'
8971
 
  }
8972
 
 
8973
 
  function parse_Literal()
8974
 
  {
8975
 
    eventHandler.startNonterminal("Literal", e0);
8976
 
    switch (l1)
8977
 
    {
8978
 
    case 11:                        // StringLiteral
8979
 
      shift(11);                    // StringLiteral
8980
 
      break;
8981
 
    default:
8982
 
      parse_NumericLiteral();
8983
 
    }
8984
 
    eventHandler.endNonterminal("Literal", e0);
8985
 
  }
8986
 
 
8987
 
  function try_Literal()
8988
 
  {
8989
 
    switch (l1)
8990
 
    {
8991
 
    case 11:                        // StringLiteral
8992
 
      shiftT(11);                   // StringLiteral
8993
 
      break;
8994
 
    default:
8995
 
      try_NumericLiteral();
8996
 
    }
8997
 
  }
8998
 
 
8999
 
  function parse_NumericLiteral()
9000
 
  {
9001
 
    eventHandler.startNonterminal("NumericLiteral", e0);
9002
 
    switch (l1)
9003
 
    {
9004
 
    case 8:                         // IntegerLiteral
9005
 
      shift(8);                     // IntegerLiteral
9006
 
      break;
9007
 
    case 9:                         // DecimalLiteral
9008
 
      shift(9);                     // DecimalLiteral
9009
 
      break;
9010
 
    default:
9011
 
      shift(10);                    // DoubleLiteral
9012
 
    }
9013
 
    eventHandler.endNonterminal("NumericLiteral", e0);
9014
 
  }
9015
 
 
9016
 
  function try_NumericLiteral()
9017
 
  {
9018
 
    switch (l1)
9019
 
    {
9020
 
    case 8:                         // IntegerLiteral
9021
 
      shiftT(8);                    // IntegerLiteral
9022
 
      break;
9023
 
    case 9:                         // DecimalLiteral
9024
 
      shiftT(9);                    // DecimalLiteral
9025
 
      break;
9026
 
    default:
9027
 
      shiftT(10);                   // DoubleLiteral
9028
 
    }
9029
 
  }
9030
 
 
9031
 
  function parse_VarRef()
9032
 
  {
9033
 
    eventHandler.startNonterminal("VarRef", e0);
9034
 
    shift(31);                      // '$'
9035
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9036
 
    whitespace();
9037
 
    parse_VarName();
9038
 
    eventHandler.endNonterminal("VarRef", e0);
9039
 
  }
9040
 
 
9041
 
  function try_VarRef()
9042
 
  {
9043
 
    shiftT(31);                     // '$'
9044
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9045
 
    try_VarName();
9046
 
  }
9047
 
 
9048
 
  function parse_VarName()
9049
 
  {
9050
 
    eventHandler.startNonterminal("VarName", e0);
9051
 
    parse_EQName();
9052
 
    eventHandler.endNonterminal("VarName", e0);
9053
 
  }
9054
 
 
9055
 
  function try_VarName()
9056
 
  {
9057
 
    try_EQName();
9058
 
  }
9059
 
 
9060
 
  function parse_ParenthesizedExpr()
9061
 
  {
9062
 
    eventHandler.startNonterminal("ParenthesizedExpr", e0);
9063
 
    shift(34);                      // '('
9064
 
    lookahead1W(269);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9065
 
    if (l1 != 37)                   // ')'
9066
 
    {
9067
 
      whitespace();
9068
 
      parse_Expr();
9069
 
    }
9070
 
    shift(37);                      // ')'
9071
 
    eventHandler.endNonterminal("ParenthesizedExpr", e0);
9072
 
  }
9073
 
 
9074
 
  function try_ParenthesizedExpr()
9075
 
  {
9076
 
    shiftT(34);                     // '('
9077
 
    lookahead1W(269);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9078
 
    if (l1 != 37)                   // ')'
9079
 
    {
9080
 
      try_Expr();
9081
 
    }
9082
 
    shiftT(37);                     // ')'
9083
 
  }
9084
 
 
9085
 
  function parse_ContextItemExpr()
9086
 
  {
9087
 
    eventHandler.startNonterminal("ContextItemExpr", e0);
9088
 
    shift(44);                      // '.'
9089
 
    eventHandler.endNonterminal("ContextItemExpr", e0);
9090
 
  }
9091
 
 
9092
 
  function try_ContextItemExpr()
9093
 
  {
9094
 
    shiftT(44);                     // '.'
9095
 
  }
9096
 
 
9097
 
  function parse_OrderedExpr()
9098
 
  {
9099
 
    eventHandler.startNonterminal("OrderedExpr", e0);
9100
 
    shift(202);                     // 'ordered'
9101
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9102
 
    shift(276);                     // '{'
9103
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9104
 
    whitespace();
9105
 
    parse_Expr();
9106
 
    shift(282);                     // '}'
9107
 
    eventHandler.endNonterminal("OrderedExpr", e0);
9108
 
  }
9109
 
 
9110
 
  function try_OrderedExpr()
9111
 
  {
9112
 
    shiftT(202);                    // 'ordered'
9113
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9114
 
    shiftT(276);                    // '{'
9115
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9116
 
    try_Expr();
9117
 
    shiftT(282);                    // '}'
9118
 
  }
9119
 
 
9120
 
  function parse_UnorderedExpr()
9121
 
  {
9122
 
    eventHandler.startNonterminal("UnorderedExpr", e0);
9123
 
    shift(256);                     // 'unordered'
9124
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9125
 
    shift(276);                     // '{'
9126
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9127
 
    whitespace();
9128
 
    parse_Expr();
9129
 
    shift(282);                     // '}'
9130
 
    eventHandler.endNonterminal("UnorderedExpr", e0);
9131
 
  }
9132
 
 
9133
 
  function try_UnorderedExpr()
9134
 
  {
9135
 
    shiftT(256);                    // 'unordered'
9136
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9137
 
    shiftT(276);                    // '{'
9138
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9139
 
    try_Expr();
9140
 
    shiftT(282);                    // '}'
9141
 
  }
9142
 
 
9143
 
  function parse_FunctionCall()
9144
 
  {
9145
 
    eventHandler.startNonterminal("FunctionCall", e0);
9146
 
    parse_FunctionName();
9147
 
    lookahead1W(22);                // S^WS | '(' | '(:'
9148
 
    whitespace();
9149
 
    parse_ArgumentList();
9150
 
    eventHandler.endNonterminal("FunctionCall", e0);
9151
 
  }
9152
 
 
9153
 
  function try_FunctionCall()
9154
 
  {
9155
 
    try_FunctionName();
9156
 
    lookahead1W(22);                // S^WS | '(' | '(:'
9157
 
    try_ArgumentList();
9158
 
  }
9159
 
 
9160
 
  function parse_Argument()
9161
 
  {
9162
 
    eventHandler.startNonterminal("Argument", e0);
9163
 
    switch (l1)
9164
 
    {
9165
 
    case 64:                        // '?'
9166
 
      parse_ArgumentPlaceholder();
9167
 
      break;
9168
 
    default:
9169
 
      parse_ExprSingle();
9170
 
    }
9171
 
    eventHandler.endNonterminal("Argument", e0);
9172
 
  }
9173
 
 
9174
 
  function try_Argument()
9175
 
  {
9176
 
    switch (l1)
9177
 
    {
9178
 
    case 64:                        // '?'
9179
 
      try_ArgumentPlaceholder();
9180
 
      break;
9181
 
    default:
9182
 
      try_ExprSingle();
9183
 
    }
9184
 
  }
9185
 
 
9186
 
  function parse_ArgumentPlaceholder()
9187
 
  {
9188
 
    eventHandler.startNonterminal("ArgumentPlaceholder", e0);
9189
 
    shift(64);                      // '?'
9190
 
    eventHandler.endNonterminal("ArgumentPlaceholder", e0);
9191
 
  }
9192
 
 
9193
 
  function try_ArgumentPlaceholder()
9194
 
  {
9195
 
    shiftT(64);                     // '?'
9196
 
  }
9197
 
 
9198
 
  function parse_Constructor()
9199
 
  {
9200
 
    eventHandler.startNonterminal("Constructor", e0);
9201
 
    switch (l1)
9202
 
    {
9203
 
    case 54:                        // '<'
9204
 
    case 55:                        // '<!--'
9205
 
    case 59:                        // '<?'
9206
 
      parse_DirectConstructor();
9207
 
      break;
9208
 
    default:
9209
 
      parse_ComputedConstructor();
9210
 
    }
9211
 
    eventHandler.endNonterminal("Constructor", e0);
9212
 
  }
9213
 
 
9214
 
  function try_Constructor()
9215
 
  {
9216
 
    switch (l1)
9217
 
    {
9218
 
    case 54:                        // '<'
9219
 
    case 55:                        // '<!--'
9220
 
    case 59:                        // '<?'
9221
 
      try_DirectConstructor();
9222
 
      break;
9223
 
    default:
9224
 
      try_ComputedConstructor();
9225
 
    }
9226
 
  }
9227
 
 
9228
 
  function parse_DirectConstructor()
9229
 
  {
9230
 
    eventHandler.startNonterminal("DirectConstructor", e0);
9231
 
    switch (l1)
9232
 
    {
9233
 
    case 54:                        // '<'
9234
 
      parse_DirElemConstructor();
9235
 
      break;
9236
 
    case 55:                        // '<!--'
9237
 
      parse_DirCommentConstructor();
9238
 
      break;
9239
 
    default:
9240
 
      parse_DirPIConstructor();
9241
 
    }
9242
 
    eventHandler.endNonterminal("DirectConstructor", e0);
9243
 
  }
9244
 
 
9245
 
  function try_DirectConstructor()
9246
 
  {
9247
 
    switch (l1)
9248
 
    {
9249
 
    case 54:                        // '<'
9250
 
      try_DirElemConstructor();
9251
 
      break;
9252
 
    case 55:                        // '<!--'
9253
 
      try_DirCommentConstructor();
9254
 
      break;
9255
 
    default:
9256
 
      try_DirPIConstructor();
9257
 
    }
9258
 
  }
9259
 
 
9260
 
  function parse_DirElemConstructor()
9261
 
  {
9262
 
    eventHandler.startNonterminal("DirElemConstructor", e0);
9263
 
    shift(54);                      // '<'
9264
 
    lookahead1(4);                  // QName
9265
 
    shift(20);                      // QName
9266
 
    parse_DirAttributeList();
9267
 
    switch (l1)
9268
 
    {
9269
 
    case 48:                        // '/>'
9270
 
      shift(48);                    // '/>'
9271
 
      break;
9272
 
    default:
9273
 
      shift(61);                    // '>'
9274
 
      for (;;)
9275
 
      {
9276
 
        lookahead1(174);            // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
9277
 
        if (l1 == 56)               // '</'
9278
 
        {
9279
 
          break;
9280
 
        }
9281
 
        parse_DirElemContent();
9282
 
      }
9283
 
      shift(56);                    // '</'
9284
 
      lookahead1(4);                // QName
9285
 
      shift(20);                    // QName
9286
 
      lookahead1(12);               // S | '>'
9287
 
      if (l1 == 21)                 // S
9288
 
      {
9289
 
        shift(21);                  // S
9290
 
      }
9291
 
      lookahead1(8);                // '>'
9292
 
      shift(61);                    // '>'
9293
 
    }
9294
 
    eventHandler.endNonterminal("DirElemConstructor", e0);
9295
 
  }
9296
 
 
9297
 
  function try_DirElemConstructor()
9298
 
  {
9299
 
    shiftT(54);                     // '<'
9300
 
    lookahead1(4);                  // QName
9301
 
    shiftT(20);                     // QName
9302
 
    try_DirAttributeList();
9303
 
    switch (l1)
9304
 
    {
9305
 
    case 48:                        // '/>'
9306
 
      shiftT(48);                   // '/>'
9307
 
      break;
9308
 
    default:
9309
 
      shiftT(61);                   // '>'
9310
 
      for (;;)
9311
 
      {
9312
 
        lookahead1(174);            // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
9313
 
        if (l1 == 56)               // '</'
9314
 
        {
9315
 
          break;
9316
 
        }
9317
 
        try_DirElemContent();
9318
 
      }
9319
 
      shiftT(56);                   // '</'
9320
 
      lookahead1(4);                // QName
9321
 
      shiftT(20);                   // QName
9322
 
      lookahead1(12);               // S | '>'
9323
 
      if (l1 == 21)                 // S
9324
 
      {
9325
 
        shiftT(21);                 // S
9326
 
      }
9327
 
      lookahead1(8);                // '>'
9328
 
      shiftT(61);                   // '>'
9329
 
    }
9330
 
  }
9331
 
 
9332
 
  function parse_DirAttributeList()
9333
 
  {
9334
 
    eventHandler.startNonterminal("DirAttributeList", e0);
9335
 
    for (;;)
9336
 
    {
9337
 
      lookahead1(19);               // S | '/>' | '>'
9338
 
      if (l1 != 21)                 // S
9339
 
      {
9340
 
        break;
9341
 
      }
9342
 
      shift(21);                    // S
9343
 
      lookahead1(91);               // QName | S | '/>' | '>'
9344
 
      if (l1 == 20)                 // QName
9345
 
      {
9346
 
        shift(20);                  // QName
9347
 
        lookahead1(11);             // S | '='
9348
 
        if (l1 == 21)               // S
9349
 
        {
9350
 
          shift(21);                // S
9351
 
        }
9352
 
        lookahead1(7);              // '='
9353
 
        shift(60);                  // '='
9354
 
        lookahead1(18);             // S | '"' | "'"
9355
 
        if (l1 == 21)               // S
9356
 
        {
9357
 
          shift(21);                // S
9358
 
        }
9359
 
        parse_DirAttributeValue();
9360
 
      }
9361
 
    }
9362
 
    eventHandler.endNonterminal("DirAttributeList", e0);
9363
 
  }
9364
 
 
9365
 
  function try_DirAttributeList()
9366
 
  {
9367
 
    for (;;)
9368
 
    {
9369
 
      lookahead1(19);               // S | '/>' | '>'
9370
 
      if (l1 != 21)                 // S
9371
 
      {
9372
 
        break;
9373
 
      }
9374
 
      shiftT(21);                   // S
9375
 
      lookahead1(91);               // QName | S | '/>' | '>'
9376
 
      if (l1 == 20)                 // QName
9377
 
      {
9378
 
        shiftT(20);                 // QName
9379
 
        lookahead1(11);             // S | '='
9380
 
        if (l1 == 21)               // S
9381
 
        {
9382
 
          shiftT(21);               // S
9383
 
        }
9384
 
        lookahead1(7);              // '='
9385
 
        shiftT(60);                 // '='
9386
 
        lookahead1(18);             // S | '"' | "'"
9387
 
        if (l1 == 21)               // S
9388
 
        {
9389
 
          shiftT(21);               // S
9390
 
        }
9391
 
        try_DirAttributeValue();
9392
 
      }
9393
 
    }
9394
 
  }
9395
 
 
9396
 
  function parse_DirAttributeValue()
9397
 
  {
9398
 
    eventHandler.startNonterminal("DirAttributeValue", e0);
9399
 
    lookahead1(14);                 // '"' | "'"
9400
 
    switch (l1)
9401
 
    {
9402
 
    case 28:                        // '"'
9403
 
      shift(28);                    // '"'
9404
 
      for (;;)
9405
 
      {
9406
 
        lookahead1(167);            // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
9407
 
        if (l1 == 28)               // '"'
9408
 
        {
9409
 
          break;
9410
 
        }
9411
 
        switch (l1)
9412
 
        {
9413
 
        case 13:                    // EscapeQuot
9414
 
          shift(13);                // EscapeQuot
9415
 
          break;
9416
 
        default:
9417
 
          parse_QuotAttrValueContent();
9418
 
        }
9419
 
      }
9420
 
      shift(28);                    // '"'
9421
 
      break;
9422
 
    default:
9423
 
      shift(33);                    // "'"
9424
 
      for (;;)
9425
 
      {
9426
 
        lookahead1(168);            // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
9427
 
        if (l1 == 33)               // "'"
9428
 
        {
9429
 
          break;
9430
 
        }
9431
 
        switch (l1)
9432
 
        {
9433
 
        case 14:                    // EscapeApos
9434
 
          shift(14);                // EscapeApos
9435
 
          break;
9436
 
        default:
9437
 
          parse_AposAttrValueContent();
9438
 
        }
9439
 
      }
9440
 
      shift(33);                    // "'"
9441
 
    }
9442
 
    eventHandler.endNonterminal("DirAttributeValue", e0);
9443
 
  }
9444
 
 
9445
 
  function try_DirAttributeValue()
9446
 
  {
9447
 
    lookahead1(14);                 // '"' | "'"
9448
 
    switch (l1)
9449
 
    {
9450
 
    case 28:                        // '"'
9451
 
      shiftT(28);                   // '"'
9452
 
      for (;;)
9453
 
      {
9454
 
        lookahead1(167);            // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
9455
 
        if (l1 == 28)               // '"'
9456
 
        {
9457
 
          break;
9458
 
        }
9459
 
        switch (l1)
9460
 
        {
9461
 
        case 13:                    // EscapeQuot
9462
 
          shiftT(13);               // EscapeQuot
9463
 
          break;
9464
 
        default:
9465
 
          try_QuotAttrValueContent();
9466
 
        }
9467
 
      }
9468
 
      shiftT(28);                   // '"'
9469
 
      break;
9470
 
    default:
9471
 
      shiftT(33);                   // "'"
9472
 
      for (;;)
9473
 
      {
9474
 
        lookahead1(168);            // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
9475
 
        if (l1 == 33)               // "'"
9476
 
        {
9477
 
          break;
9478
 
        }
9479
 
        switch (l1)
9480
 
        {
9481
 
        case 14:                    // EscapeApos
9482
 
          shiftT(14);               // EscapeApos
9483
 
          break;
9484
 
        default:
9485
 
          try_AposAttrValueContent();
9486
 
        }
9487
 
      }
9488
 
      shiftT(33);                   // "'"
9489
 
    }
9490
 
  }
9491
 
 
9492
 
  function parse_QuotAttrValueContent()
9493
 
  {
9494
 
    eventHandler.startNonterminal("QuotAttrValueContent", e0);
9495
 
    switch (l1)
9496
 
    {
9497
 
    case 16:                        // QuotAttrContentChar
9498
 
      shift(16);                    // QuotAttrContentChar
9499
 
      break;
9500
 
    default:
9501
 
      parse_CommonContent();
9502
 
    }
9503
 
    eventHandler.endNonterminal("QuotAttrValueContent", e0);
9504
 
  }
9505
 
 
9506
 
  function try_QuotAttrValueContent()
9507
 
  {
9508
 
    switch (l1)
9509
 
    {
9510
 
    case 16:                        // QuotAttrContentChar
9511
 
      shiftT(16);                   // QuotAttrContentChar
9512
 
      break;
9513
 
    default:
9514
 
      try_CommonContent();
9515
 
    }
9516
 
  }
9517
 
 
9518
 
  function parse_AposAttrValueContent()
9519
 
  {
9520
 
    eventHandler.startNonterminal("AposAttrValueContent", e0);
9521
 
    switch (l1)
9522
 
    {
9523
 
    case 17:                        // AposAttrContentChar
9524
 
      shift(17);                    // AposAttrContentChar
9525
 
      break;
9526
 
    default:
9527
 
      parse_CommonContent();
9528
 
    }
9529
 
    eventHandler.endNonterminal("AposAttrValueContent", e0);
9530
 
  }
9531
 
 
9532
 
  function try_AposAttrValueContent()
9533
 
  {
9534
 
    switch (l1)
9535
 
    {
9536
 
    case 17:                        // AposAttrContentChar
9537
 
      shiftT(17);                   // AposAttrContentChar
9538
 
      break;
9539
 
    default:
9540
 
      try_CommonContent();
9541
 
    }
9542
 
  }
9543
 
 
9544
 
  function parse_DirElemContent()
9545
 
  {
9546
 
    eventHandler.startNonterminal("DirElemContent", e0);
9547
 
    switch (l1)
9548
 
    {
9549
 
    case 54:                        // '<'
9550
 
    case 55:                        // '<!--'
9551
 
    case 59:                        // '<?'
9552
 
      parse_DirectConstructor();
9553
 
      break;
9554
 
    case 4:                         // CDataSection
9555
 
      shift(4);                     // CDataSection
9556
 
      break;
9557
 
    case 15:                        // ElementContentChar
9558
 
      shift(15);                    // ElementContentChar
9559
 
      break;
9560
 
    default:
9561
 
      parse_CommonContent();
9562
 
    }
9563
 
    eventHandler.endNonterminal("DirElemContent", e0);
9564
 
  }
9565
 
 
9566
 
  function try_DirElemContent()
9567
 
  {
9568
 
    switch (l1)
9569
 
    {
9570
 
    case 54:                        // '<'
9571
 
    case 55:                        // '<!--'
9572
 
    case 59:                        // '<?'
9573
 
      try_DirectConstructor();
9574
 
      break;
9575
 
    case 4:                         // CDataSection
9576
 
      shiftT(4);                    // CDataSection
9577
 
      break;
9578
 
    case 15:                        // ElementContentChar
9579
 
      shiftT(15);                   // ElementContentChar
9580
 
      break;
9581
 
    default:
9582
 
      try_CommonContent();
9583
 
    }
9584
 
  }
9585
 
 
9586
 
  function parse_DirCommentConstructor()
9587
 
  {
9588
 
    eventHandler.startNonterminal("DirCommentConstructor", e0);
9589
 
    shift(55);                      // '<!--'
9590
 
    lookahead1(1);                  // DirCommentContents
9591
 
    shift(2);                       // DirCommentContents
9592
 
    lookahead1(6);                  // '-->'
9593
 
    shift(43);                      // '-->'
9594
 
    eventHandler.endNonterminal("DirCommentConstructor", e0);
9595
 
  }
9596
 
 
9597
 
  function try_DirCommentConstructor()
9598
 
  {
9599
 
    shiftT(55);                     // '<!--'
9600
 
    lookahead1(1);                  // DirCommentContents
9601
 
    shiftT(2);                      // DirCommentContents
9602
 
    lookahead1(6);                  // '-->'
9603
 
    shiftT(43);                     // '-->'
9604
 
  }
9605
 
 
9606
 
  function parse_DirPIConstructor()
9607
 
  {
9608
 
    eventHandler.startNonterminal("DirPIConstructor", e0);
9609
 
    shift(59);                      // '<?'
9610
 
    lookahead1(3);                  // PITarget
9611
 
    shift(18);                      // PITarget
9612
 
    lookahead1(13);                 // S | '?>'
9613
 
    if (l1 == 21)                   // S
9614
 
    {
9615
 
      shift(21);                    // S
9616
 
      lookahead1(2);                // DirPIContents
9617
 
      shift(3);                     // DirPIContents
9618
 
    }
9619
 
    lookahead1(9);                  // '?>'
9620
 
    shift(65);                      // '?>'
9621
 
    eventHandler.endNonterminal("DirPIConstructor", e0);
9622
 
  }
9623
 
 
9624
 
  function try_DirPIConstructor()
9625
 
  {
9626
 
    shiftT(59);                     // '<?'
9627
 
    lookahead1(3);                  // PITarget
9628
 
    shiftT(18);                     // PITarget
9629
 
    lookahead1(13);                 // S | '?>'
9630
 
    if (l1 == 21)                   // S
9631
 
    {
9632
 
      shiftT(21);                   // S
9633
 
      lookahead1(2);                // DirPIContents
9634
 
      shiftT(3);                    // DirPIContents
9635
 
    }
9636
 
    lookahead1(9);                  // '?>'
9637
 
    shiftT(65);                     // '?>'
9638
 
  }
9639
 
 
9640
 
  function parse_ComputedConstructor()
9641
 
  {
9642
 
    eventHandler.startNonterminal("ComputedConstructor", e0);
9643
 
    switch (l1)
9644
 
    {
9645
 
    case 119:                       // 'document'
9646
 
      parse_CompDocConstructor();
9647
 
      break;
9648
 
    case 121:                       // 'element'
9649
 
      parse_CompElemConstructor();
9650
 
      break;
9651
 
    case 82:                        // 'attribute'
9652
 
      parse_CompAttrConstructor();
9653
 
      break;
9654
 
    case 184:                       // 'namespace'
9655
 
      parse_CompNamespaceConstructor();
9656
 
      break;
9657
 
    case 244:                       // 'text'
9658
 
      parse_CompTextConstructor();
9659
 
      break;
9660
 
    case 96:                        // 'comment'
9661
 
      parse_CompCommentConstructor();
9662
 
      break;
9663
 
    default:
9664
 
      parse_CompPIConstructor();
9665
 
    }
9666
 
    eventHandler.endNonterminal("ComputedConstructor", e0);
9667
 
  }
9668
 
 
9669
 
  function try_ComputedConstructor()
9670
 
  {
9671
 
    switch (l1)
9672
 
    {
9673
 
    case 119:                       // 'document'
9674
 
      try_CompDocConstructor();
9675
 
      break;
9676
 
    case 121:                       // 'element'
9677
 
      try_CompElemConstructor();
9678
 
      break;
9679
 
    case 82:                        // 'attribute'
9680
 
      try_CompAttrConstructor();
9681
 
      break;
9682
 
    case 184:                       // 'namespace'
9683
 
      try_CompNamespaceConstructor();
9684
 
      break;
9685
 
    case 244:                       // 'text'
9686
 
      try_CompTextConstructor();
9687
 
      break;
9688
 
    case 96:                        // 'comment'
9689
 
      try_CompCommentConstructor();
9690
 
      break;
9691
 
    default:
9692
 
      try_CompPIConstructor();
9693
 
    }
9694
 
  }
9695
 
 
9696
 
  function parse_CompElemConstructor()
9697
 
  {
9698
 
    eventHandler.startNonterminal("CompElemConstructor", e0);
9699
 
    shift(121);                     // 'element'
9700
 
    lookahead1W(256);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9701
 
    switch (l1)
9702
 
    {
9703
 
    case 276:                       // '{'
9704
 
      shift(276);                   // '{'
9705
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9706
 
      whitespace();
9707
 
      parse_Expr();
9708
 
      shift(282);                   // '}'
9709
 
      break;
9710
 
    default:
9711
 
      whitespace();
9712
 
      parse_EQName();
9713
 
    }
9714
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9715
 
    shift(276);                     // '{'
9716
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9717
 
    if (l1 != 282)                  // '}'
9718
 
    {
9719
 
      whitespace();
9720
 
      parse_ContentExpr();
9721
 
    }
9722
 
    shift(282);                     // '}'
9723
 
    eventHandler.endNonterminal("CompElemConstructor", e0);
9724
 
  }
9725
 
 
9726
 
  function try_CompElemConstructor()
9727
 
  {
9728
 
    shiftT(121);                    // 'element'
9729
 
    lookahead1W(256);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9730
 
    switch (l1)
9731
 
    {
9732
 
    case 276:                       // '{'
9733
 
      shiftT(276);                  // '{'
9734
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9735
 
      try_Expr();
9736
 
      shiftT(282);                  // '}'
9737
 
      break;
9738
 
    default:
9739
 
      try_EQName();
9740
 
    }
9741
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9742
 
    shiftT(276);                    // '{'
9743
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9744
 
    if (l1 != 282)                  // '}'
9745
 
    {
9746
 
      try_ContentExpr();
9747
 
    }
9748
 
    shiftT(282);                    // '}'
9749
 
  }
9750
 
 
9751
 
  function parse_CompNamespaceConstructor()
9752
 
  {
9753
 
    eventHandler.startNonterminal("CompNamespaceConstructor", e0);
9754
 
    shift(184);                     // 'namespace'
9755
 
    lookahead1W(249);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9756
 
    switch (l1)
9757
 
    {
9758
 
    case 276:                       // '{'
9759
 
      shift(276);                   // '{'
9760
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9761
 
      whitespace();
9762
 
      parse_PrefixExpr();
9763
 
      shift(282);                   // '}'
9764
 
      break;
9765
 
    default:
9766
 
      whitespace();
9767
 
      parse_Prefix();
9768
 
    }
9769
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9770
 
    shift(276);                     // '{'
9771
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9772
 
    whitespace();
9773
 
    parse_URIExpr();
9774
 
    shift(282);                     // '}'
9775
 
    eventHandler.endNonterminal("CompNamespaceConstructor", e0);
9776
 
  }
9777
 
 
9778
 
  function try_CompNamespaceConstructor()
9779
 
  {
9780
 
    shiftT(184);                    // 'namespace'
9781
 
    lookahead1W(249);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
9782
 
    switch (l1)
9783
 
    {
9784
 
    case 276:                       // '{'
9785
 
      shiftT(276);                  // '{'
9786
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9787
 
      try_PrefixExpr();
9788
 
      shiftT(282);                  // '}'
9789
 
      break;
9790
 
    default:
9791
 
      try_Prefix();
9792
 
    }
9793
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9794
 
    shiftT(276);                    // '{'
9795
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
9796
 
    try_URIExpr();
9797
 
    shiftT(282);                    // '}'
9798
 
  }
9799
 
 
9800
 
  function parse_Prefix()
9801
 
  {
9802
 
    eventHandler.startNonterminal("Prefix", e0);
9803
 
    parse_NCName();
9804
 
    eventHandler.endNonterminal("Prefix", e0);
9805
 
  }
9806
 
 
9807
 
  function try_Prefix()
9808
 
  {
9809
 
    try_NCName();
9810
 
  }
9811
 
 
9812
 
  function parse_PrefixExpr()
9813
 
  {
9814
 
    eventHandler.startNonterminal("PrefixExpr", e0);
9815
 
    parse_Expr();
9816
 
    eventHandler.endNonterminal("PrefixExpr", e0);
9817
 
  }
9818
 
 
9819
 
  function try_PrefixExpr()
9820
 
  {
9821
 
    try_Expr();
9822
 
  }
9823
 
 
9824
 
  function parse_URIExpr()
9825
 
  {
9826
 
    eventHandler.startNonterminal("URIExpr", e0);
9827
 
    parse_Expr();
9828
 
    eventHandler.endNonterminal("URIExpr", e0);
9829
 
  }
9830
 
 
9831
 
  function try_URIExpr()
9832
 
  {
9833
 
    try_Expr();
9834
 
  }
9835
 
 
9836
 
  function parse_FunctionItemExpr()
9837
 
  {
9838
 
    eventHandler.startNonterminal("FunctionItemExpr", e0);
9839
 
    switch (l1)
9840
 
    {
9841
 
    case 145:                       // 'function'
9842
 
      lookahead2W(92);              // S^WS | '#' | '(' | '(:'
9843
 
      break;
9844
 
    default:
9845
 
      lk = l1;
9846
 
    }
9847
 
    switch (lk)
9848
 
    {
9849
 
    case 32:                        // '%'
9850
 
    case 17553:                     // 'function' '('
9851
 
      parse_InlineFunctionExpr();
9852
 
      break;
9853
 
    default:
9854
 
      parse_NamedFunctionRef();
9855
 
    }
9856
 
    eventHandler.endNonterminal("FunctionItemExpr", e0);
9857
 
  }
9858
 
 
9859
 
  function try_FunctionItemExpr()
9860
 
  {
9861
 
    switch (l1)
9862
 
    {
9863
 
    case 145:                       // 'function'
9864
 
      lookahead2W(92);              // S^WS | '#' | '(' | '(:'
9865
 
      break;
9866
 
    default:
9867
 
      lk = l1;
9868
 
    }
9869
 
    switch (lk)
9870
 
    {
9871
 
    case 32:                        // '%'
9872
 
    case 17553:                     // 'function' '('
9873
 
      try_InlineFunctionExpr();
9874
 
      break;
9875
 
    default:
9876
 
      try_NamedFunctionRef();
9877
 
    }
9878
 
  }
9879
 
 
9880
 
  function parse_NamedFunctionRef()
9881
 
  {
9882
 
    eventHandler.startNonterminal("NamedFunctionRef", e0);
9883
 
    parse_EQName();
9884
 
    lookahead1W(20);                // S^WS | '#' | '(:'
9885
 
    shift(29);                      // '#'
9886
 
    lookahead1W(16);                // IntegerLiteral | S^WS | '(:'
9887
 
    shift(8);                       // IntegerLiteral
9888
 
    eventHandler.endNonterminal("NamedFunctionRef", e0);
9889
 
  }
9890
 
 
9891
 
  function try_NamedFunctionRef()
9892
 
  {
9893
 
    try_EQName();
9894
 
    lookahead1W(20);                // S^WS | '#' | '(:'
9895
 
    shiftT(29);                     // '#'
9896
 
    lookahead1W(16);                // IntegerLiteral | S^WS | '(:'
9897
 
    shiftT(8);                      // IntegerLiteral
9898
 
  }
9899
 
 
9900
 
  function parse_InlineFunctionExpr()
9901
 
  {
9902
 
    eventHandler.startNonterminal("InlineFunctionExpr", e0);
9903
 
    for (;;)
9904
 
    {
9905
 
      lookahead1W(97);              // S^WS | '%' | '(:' | 'function'
9906
 
      if (l1 != 32)                 // '%'
9907
 
      {
9908
 
        break;
9909
 
      }
9910
 
      whitespace();
9911
 
      parse_Annotation();
9912
 
    }
9913
 
    shift(145);                     // 'function'
9914
 
    lookahead1W(22);                // S^WS | '(' | '(:'
9915
 
    shift(34);                      // '('
9916
 
    lookahead1W(94);                // S^WS | '$' | '(:' | ')'
9917
 
    if (l1 == 31)                   // '$'
9918
 
    {
9919
 
      whitespace();
9920
 
      parse_ParamList();
9921
 
    }
9922
 
    shift(37);                      // ')'
9923
 
    lookahead1W(111);               // S^WS | '(:' | 'as' | '{'
9924
 
    if (l1 == 79)                   // 'as'
9925
 
    {
9926
 
      shift(79);                    // 'as'
9927
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
9928
 
      whitespace();
9929
 
      parse_SequenceType();
9930
 
    }
9931
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9932
 
    whitespace();
9933
 
    parse_FunctionBody();
9934
 
    eventHandler.endNonterminal("InlineFunctionExpr", e0);
9935
 
  }
9936
 
 
9937
 
  function try_InlineFunctionExpr()
9938
 
  {
9939
 
    for (;;)
9940
 
    {
9941
 
      lookahead1W(97);              // S^WS | '%' | '(:' | 'function'
9942
 
      if (l1 != 32)                 // '%'
9943
 
      {
9944
 
        break;
9945
 
      }
9946
 
      try_Annotation();
9947
 
    }
9948
 
    shiftT(145);                    // 'function'
9949
 
    lookahead1W(22);                // S^WS | '(' | '(:'
9950
 
    shiftT(34);                     // '('
9951
 
    lookahead1W(94);                // S^WS | '$' | '(:' | ')'
9952
 
    if (l1 == 31)                   // '$'
9953
 
    {
9954
 
      try_ParamList();
9955
 
    }
9956
 
    shiftT(37);                     // ')'
9957
 
    lookahead1W(111);               // S^WS | '(:' | 'as' | '{'
9958
 
    if (l1 == 79)                   // 'as'
9959
 
    {
9960
 
      shiftT(79);                   // 'as'
9961
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
9962
 
      try_SequenceType();
9963
 
    }
9964
 
    lookahead1W(87);                // S^WS | '(:' | '{'
9965
 
    try_FunctionBody();
9966
 
  }
9967
 
 
9968
 
  function parse_SingleType()
9969
 
  {
9970
 
    eventHandler.startNonterminal("SingleType", e0);
9971
 
    parse_SimpleTypeName();
9972
 
    lookahead1W(226);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
9973
 
    if (l1 == 64)                   // '?'
9974
 
    {
9975
 
      shift(64);                    // '?'
9976
 
    }
9977
 
    eventHandler.endNonterminal("SingleType", e0);
9978
 
  }
9979
 
 
9980
 
  function try_SingleType()
9981
 
  {
9982
 
    try_SimpleTypeName();
9983
 
    lookahead1W(226);               // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
9984
 
    if (l1 == 64)                   // '?'
9985
 
    {
9986
 
      shiftT(64);                   // '?'
9987
 
    }
9988
 
  }
9989
 
 
9990
 
  function parse_TypeDeclaration()
9991
 
  {
9992
 
    eventHandler.startNonterminal("TypeDeclaration", e0);
9993
 
    shift(79);                      // 'as'
9994
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
9995
 
    whitespace();
9996
 
    parse_SequenceType();
9997
 
    eventHandler.endNonterminal("TypeDeclaration", e0);
9998
 
  }
9999
 
 
10000
 
  function try_TypeDeclaration()
10001
 
  {
10002
 
    shiftT(79);                     // 'as'
10003
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
10004
 
    try_SequenceType();
10005
 
  }
10006
 
 
10007
 
  function parse_SequenceType()
10008
 
  {
10009
 
    eventHandler.startNonterminal("SequenceType", e0);
10010
 
    switch (l1)
10011
 
    {
10012
 
    case 124:                       // 'empty-sequence'
10013
 
      lookahead2W(241);             // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
10014
 
      break;
10015
 
    default:
10016
 
      lk = l1;
10017
 
    }
10018
 
    switch (lk)
10019
 
    {
10020
 
    case 17532:                     // 'empty-sequence' '('
10021
 
      shift(124);                   // 'empty-sequence'
10022
 
      lookahead1W(22);              // S^WS | '(' | '(:'
10023
 
      shift(34);                    // '('
10024
 
      lookahead1W(23);              // S^WS | '(:' | ')'
10025
 
      shift(37);                    // ')'
10026
 
      break;
10027
 
    default:
10028
 
      parse_ItemType();
10029
 
      lookahead1W(237);             // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
10030
 
      switch (l1)
10031
 
      {
10032
 
      case 39:                      // '*'
10033
 
      case 40:                      // '+'
10034
 
      case 64:                      // '?'
10035
 
        whitespace();
10036
 
        parse_OccurrenceIndicator();
10037
 
        break;
10038
 
      default:
10039
 
        break;
10040
 
      }
10041
 
    }
10042
 
    eventHandler.endNonterminal("SequenceType", e0);
10043
 
  }
10044
 
 
10045
 
  function try_SequenceType()
10046
 
  {
10047
 
    switch (l1)
10048
 
    {
10049
 
    case 124:                       // 'empty-sequence'
10050
 
      lookahead2W(241);             // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
10051
 
      break;
10052
 
    default:
10053
 
      lk = l1;
10054
 
    }
10055
 
    switch (lk)
10056
 
    {
10057
 
    case 17532:                     // 'empty-sequence' '('
10058
 
      shiftT(124);                  // 'empty-sequence'
10059
 
      lookahead1W(22);              // S^WS | '(' | '(:'
10060
 
      shiftT(34);                   // '('
10061
 
      lookahead1W(23);              // S^WS | '(:' | ')'
10062
 
      shiftT(37);                   // ')'
10063
 
      break;
10064
 
    default:
10065
 
      try_ItemType();
10066
 
      lookahead1W(237);             // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
10067
 
      switch (l1)
10068
 
      {
10069
 
      case 39:                      // '*'
10070
 
      case 40:                      // '+'
10071
 
      case 64:                      // '?'
10072
 
        try_OccurrenceIndicator();
10073
 
        break;
10074
 
      default:
10075
 
        break;
10076
 
      }
10077
 
    }
10078
 
  }
10079
 
 
10080
 
  function parse_OccurrenceIndicator()
10081
 
  {
10082
 
    eventHandler.startNonterminal("OccurrenceIndicator", e0);
10083
 
    switch (l1)
10084
 
    {
10085
 
    case 64:                        // '?'
10086
 
      shift(64);                    // '?'
10087
 
      break;
10088
 
    case 39:                        // '*'
10089
 
      shift(39);                    // '*'
10090
 
      break;
10091
 
    default:
10092
 
      shift(40);                    // '+'
10093
 
    }
10094
 
    eventHandler.endNonterminal("OccurrenceIndicator", e0);
10095
 
  }
10096
 
 
10097
 
  function try_OccurrenceIndicator()
10098
 
  {
10099
 
    switch (l1)
10100
 
    {
10101
 
    case 64:                        // '?'
10102
 
      shiftT(64);                   // '?'
10103
 
      break;
10104
 
    case 39:                        // '*'
10105
 
      shiftT(39);                   // '*'
10106
 
      break;
10107
 
    default:
10108
 
      shiftT(40);                   // '+'
10109
 
    }
10110
 
  }
10111
 
 
10112
 
  function parse_ItemType()
10113
 
  {
10114
 
    eventHandler.startNonterminal("ItemType", e0);
10115
 
    switch (l1)
10116
 
    {
10117
 
    case 78:                        // 'array'
10118
 
    case 82:                        // 'attribute'
10119
 
    case 96:                        // 'comment'
10120
 
    case 120:                       // 'document-node'
10121
 
    case 121:                       // 'element'
10122
 
    case 145:                       // 'function'
10123
 
    case 165:                       // 'item'
10124
 
    case 167:                       // 'json-item'
10125
 
    case 185:                       // 'namespace-node'
10126
 
    case 191:                       // 'node'
10127
 
    case 194:                       // 'object'
10128
 
    case 216:                       // 'processing-instruction'
10129
 
    case 226:                       // 'schema-attribute'
10130
 
    case 227:                       // 'schema-element'
10131
 
    case 244:                       // 'text'
10132
 
      lookahead2W(241);             // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
10133
 
      break;
10134
 
    default:
10135
 
      lk = l1;
10136
 
    }
10137
 
    if (lk == 17486                 // 'array' '('
10138
 
     || lk == 17575                 // 'json-item' '('
10139
 
     || lk == 17602)                // 'object' '('
10140
 
    {
10141
 
      lk = memoized(4, e0);
10142
 
      if (lk == 0)
10143
 
      {
10144
 
        var b0A = b0; var e0A = e0; var l1A = l1;
10145
 
        var b1A = b1; var e1A = e1; var l2A = l2;
10146
 
        var b2A = b2; var e2A = e2;
10147
 
        try
10148
 
        {
10149
 
          try_KindTest();
10150
 
          lk = -1;
10151
 
        }
10152
 
        catch (p1A)
10153
 
        {
10154
 
          lk = -6;
10155
 
        }
10156
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
10157
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
10158
 
        b2 = b2A; e2 = e2A; end = e2A; }}
10159
 
        memoize(4, e0, lk);
10160
 
      }
10161
 
    }
10162
 
    switch (lk)
10163
 
    {
10164
 
    case -1:
10165
 
    case 17490:                     // 'attribute' '('
10166
 
    case 17504:                     // 'comment' '('
10167
 
    case 17528:                     // 'document-node' '('
10168
 
    case 17529:                     // 'element' '('
10169
 
    case 17593:                     // 'namespace-node' '('
10170
 
    case 17599:                     // 'node' '('
10171
 
    case 17624:                     // 'processing-instruction' '('
10172
 
    case 17634:                     // 'schema-attribute' '('
10173
 
    case 17635:                     // 'schema-element' '('
10174
 
    case 17652:                     // 'text' '('
10175
 
      parse_KindTest();
10176
 
      break;
10177
 
    case 17573:                     // 'item' '('
10178
 
      shift(165);                   // 'item'
10179
 
      lookahead1W(22);              // S^WS | '(' | '(:'
10180
 
      shift(34);                    // '('
10181
 
      lookahead1W(23);              // S^WS | '(:' | ')'
10182
 
      shift(37);                    // ')'
10183
 
      break;
10184
 
    case 32:                        // '%'
10185
 
    case 17553:                     // 'function' '('
10186
 
      parse_FunctionTest();
10187
 
      break;
10188
 
    case 34:                        // '('
10189
 
      parse_ParenthesizedItemType();
10190
 
      break;
10191
 
    case -6:
10192
 
      parse_JSONTest();
10193
 
      break;
10194
 
    case 242:                       // 'structured-item'
10195
 
      parse_StructuredItemTest();
10196
 
      break;
10197
 
    default:
10198
 
      parse_AtomicOrUnionType();
10199
 
    }
10200
 
    eventHandler.endNonterminal("ItemType", e0);
10201
 
  }
10202
 
 
10203
 
  function try_ItemType()
10204
 
  {
10205
 
    switch (l1)
10206
 
    {
10207
 
    case 78:                        // 'array'
10208
 
    case 82:                        // 'attribute'
10209
 
    case 96:                        // 'comment'
10210
 
    case 120:                       // 'document-node'
10211
 
    case 121:                       // 'element'
10212
 
    case 145:                       // 'function'
10213
 
    case 165:                       // 'item'
10214
 
    case 167:                       // 'json-item'
10215
 
    case 185:                       // 'namespace-node'
10216
 
    case 191:                       // 'node'
10217
 
    case 194:                       // 'object'
10218
 
    case 216:                       // 'processing-instruction'
10219
 
    case 226:                       // 'schema-attribute'
10220
 
    case 227:                       // 'schema-element'
10221
 
    case 244:                       // 'text'
10222
 
      lookahead2W(241);             // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
10223
 
      break;
10224
 
    default:
10225
 
      lk = l1;
10226
 
    }
10227
 
    if (lk == 17486                 // 'array' '('
10228
 
     || lk == 17575                 // 'json-item' '('
10229
 
     || lk == 17602)                // 'object' '('
10230
 
    {
10231
 
      lk = memoized(4, e0);
10232
 
      if (lk == 0)
10233
 
      {
10234
 
        var b0A = b0; var e0A = e0; var l1A = l1;
10235
 
        var b1A = b1; var e1A = e1; var l2A = l2;
10236
 
        var b2A = b2; var e2A = e2;
10237
 
        try
10238
 
        {
10239
 
          try_KindTest();
10240
 
          memoize(4, e0A, -1);
10241
 
          lk = -8;
10242
 
        }
10243
 
        catch (p1A)
10244
 
        {
10245
 
          lk = -6;
10246
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
10247
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
10248
 
          b2 = b2A; e2 = e2A; end = e2A; }}
10249
 
          memoize(4, e0A, -6);
10250
 
        }
10251
 
      }
10252
 
    }
10253
 
    switch (lk)
10254
 
    {
10255
 
    case -1:
10256
 
    case 17490:                     // 'attribute' '('
10257
 
    case 17504:                     // 'comment' '('
10258
 
    case 17528:                     // 'document-node' '('
10259
 
    case 17529:                     // 'element' '('
10260
 
    case 17593:                     // 'namespace-node' '('
10261
 
    case 17599:                     // 'node' '('
10262
 
    case 17624:                     // 'processing-instruction' '('
10263
 
    case 17634:                     // 'schema-attribute' '('
10264
 
    case 17635:                     // 'schema-element' '('
10265
 
    case 17652:                     // 'text' '('
10266
 
      try_KindTest();
10267
 
      break;
10268
 
    case 17573:                     // 'item' '('
10269
 
      shiftT(165);                  // 'item'
10270
 
      lookahead1W(22);              // S^WS | '(' | '(:'
10271
 
      shiftT(34);                   // '('
10272
 
      lookahead1W(23);              // S^WS | '(:' | ')'
10273
 
      shiftT(37);                   // ')'
10274
 
      break;
10275
 
    case 32:                        // '%'
10276
 
    case 17553:                     // 'function' '('
10277
 
      try_FunctionTest();
10278
 
      break;
10279
 
    case 34:                        // '('
10280
 
      try_ParenthesizedItemType();
10281
 
      break;
10282
 
    case -6:
10283
 
      try_JSONTest();
10284
 
      break;
10285
 
    case 242:                       // 'structured-item'
10286
 
      try_StructuredItemTest();
10287
 
      break;
10288
 
    case -8:
10289
 
      break;
10290
 
    default:
10291
 
      try_AtomicOrUnionType();
10292
 
    }
10293
 
  }
10294
 
 
10295
 
  function parse_JSONTest()
10296
 
  {
10297
 
    eventHandler.startNonterminal("JSONTest", e0);
10298
 
    switch (l1)
10299
 
    {
10300
 
    case 167:                       // 'json-item'
10301
 
      parse_JSONItemTest();
10302
 
      break;
10303
 
    case 194:                       // 'object'
10304
 
      parse_JSONObjectTest();
10305
 
      break;
10306
 
    default:
10307
 
      parse_JSONArrayTest();
10308
 
    }
10309
 
    eventHandler.endNonterminal("JSONTest", e0);
10310
 
  }
10311
 
 
10312
 
  function try_JSONTest()
10313
 
  {
10314
 
    switch (l1)
10315
 
    {
10316
 
    case 167:                       // 'json-item'
10317
 
      try_JSONItemTest();
10318
 
      break;
10319
 
    case 194:                       // 'object'
10320
 
      try_JSONObjectTest();
10321
 
      break;
10322
 
    default:
10323
 
      try_JSONArrayTest();
10324
 
    }
10325
 
  }
10326
 
 
10327
 
  function parse_StructuredItemTest()
10328
 
  {
10329
 
    eventHandler.startNonterminal("StructuredItemTest", e0);
10330
 
    shift(242);                     // 'structured-item'
10331
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10332
 
    shift(34);                      // '('
10333
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10334
 
    shift(37);                      // ')'
10335
 
    eventHandler.endNonterminal("StructuredItemTest", e0);
10336
 
  }
10337
 
 
10338
 
  function try_StructuredItemTest()
10339
 
  {
10340
 
    shiftT(242);                    // 'structured-item'
10341
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10342
 
    shiftT(34);                     // '('
10343
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10344
 
    shiftT(37);                     // ')'
10345
 
  }
10346
 
 
10347
 
  function parse_JSONItemTest()
10348
 
  {
10349
 
    eventHandler.startNonterminal("JSONItemTest", e0);
10350
 
    shift(167);                     // 'json-item'
10351
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10352
 
    shift(34);                      // '('
10353
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10354
 
    shift(37);                      // ')'
10355
 
    eventHandler.endNonterminal("JSONItemTest", e0);
10356
 
  }
10357
 
 
10358
 
  function try_JSONItemTest()
10359
 
  {
10360
 
    shiftT(167);                    // 'json-item'
10361
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10362
 
    shiftT(34);                     // '('
10363
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10364
 
    shiftT(37);                     // ')'
10365
 
  }
10366
 
 
10367
 
  function parse_JSONObjectTest()
10368
 
  {
10369
 
    eventHandler.startNonterminal("JSONObjectTest", e0);
10370
 
    shift(194);                     // 'object'
10371
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10372
 
    shift(34);                      // '('
10373
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10374
 
    shift(37);                      // ')'
10375
 
    eventHandler.endNonterminal("JSONObjectTest", e0);
10376
 
  }
10377
 
 
10378
 
  function try_JSONObjectTest()
10379
 
  {
10380
 
    shiftT(194);                    // 'object'
10381
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10382
 
    shiftT(34);                     // '('
10383
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10384
 
    shiftT(37);                     // ')'
10385
 
  }
10386
 
 
10387
 
  function parse_JSONArrayTest()
10388
 
  {
10389
 
    eventHandler.startNonterminal("JSONArrayTest", e0);
10390
 
    shift(78);                      // 'array'
10391
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10392
 
    shift(34);                      // '('
10393
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10394
 
    shift(37);                      // ')'
10395
 
    eventHandler.endNonterminal("JSONArrayTest", e0);
10396
 
  }
10397
 
 
10398
 
  function try_JSONArrayTest()
10399
 
  {
10400
 
    shiftT(78);                     // 'array'
10401
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10402
 
    shiftT(34);                     // '('
10403
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10404
 
    shiftT(37);                     // ')'
10405
 
  }
10406
 
 
10407
 
  function parse_AtomicOrUnionType()
10408
 
  {
10409
 
    eventHandler.startNonterminal("AtomicOrUnionType", e0);
10410
 
    parse_EQName();
10411
 
    eventHandler.endNonterminal("AtomicOrUnionType", e0);
10412
 
  }
10413
 
 
10414
 
  function try_AtomicOrUnionType()
10415
 
  {
10416
 
    try_EQName();
10417
 
  }
10418
 
 
10419
 
  function parse_KindTest()
10420
 
  {
10421
 
    eventHandler.startNonterminal("KindTest", e0);
10422
 
    switch (l1)
10423
 
    {
10424
 
    case 120:                       // 'document-node'
10425
 
      parse_DocumentTest();
10426
 
      break;
10427
 
    case 121:                       // 'element'
10428
 
      parse_ElementTest();
10429
 
      break;
10430
 
    case 82:                        // 'attribute'
10431
 
      parse_AttributeTest();
10432
 
      break;
10433
 
    case 227:                       // 'schema-element'
10434
 
      parse_SchemaElementTest();
10435
 
      break;
10436
 
    case 226:                       // 'schema-attribute'
10437
 
      parse_SchemaAttributeTest();
10438
 
      break;
10439
 
    case 216:                       // 'processing-instruction'
10440
 
      parse_PITest();
10441
 
      break;
10442
 
    case 96:                        // 'comment'
10443
 
      parse_CommentTest();
10444
 
      break;
10445
 
    case 244:                       // 'text'
10446
 
      parse_TextTest();
10447
 
      break;
10448
 
    case 185:                       // 'namespace-node'
10449
 
      parse_NamespaceNodeTest();
10450
 
      break;
10451
 
    case 191:                       // 'node'
10452
 
      parse_AnyKindTest();
10453
 
      break;
10454
 
    default:
10455
 
      parse_JSONTest();
10456
 
    }
10457
 
    eventHandler.endNonterminal("KindTest", e0);
10458
 
  }
10459
 
 
10460
 
  function try_KindTest()
10461
 
  {
10462
 
    switch (l1)
10463
 
    {
10464
 
    case 120:                       // 'document-node'
10465
 
      try_DocumentTest();
10466
 
      break;
10467
 
    case 121:                       // 'element'
10468
 
      try_ElementTest();
10469
 
      break;
10470
 
    case 82:                        // 'attribute'
10471
 
      try_AttributeTest();
10472
 
      break;
10473
 
    case 227:                       // 'schema-element'
10474
 
      try_SchemaElementTest();
10475
 
      break;
10476
 
    case 226:                       // 'schema-attribute'
10477
 
      try_SchemaAttributeTest();
10478
 
      break;
10479
 
    case 216:                       // 'processing-instruction'
10480
 
      try_PITest();
10481
 
      break;
10482
 
    case 96:                        // 'comment'
10483
 
      try_CommentTest();
10484
 
      break;
10485
 
    case 244:                       // 'text'
10486
 
      try_TextTest();
10487
 
      break;
10488
 
    case 185:                       // 'namespace-node'
10489
 
      try_NamespaceNodeTest();
10490
 
      break;
10491
 
    case 191:                       // 'node'
10492
 
      try_AnyKindTest();
10493
 
      break;
10494
 
    default:
10495
 
      try_JSONTest();
10496
 
    }
10497
 
  }
10498
 
 
10499
 
  function parse_AnyKindTest()
10500
 
  {
10501
 
    eventHandler.startNonterminal("AnyKindTest", e0);
10502
 
    shift(191);                     // 'node'
10503
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10504
 
    shift(34);                      // '('
10505
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10506
 
    shift(37);                      // ')'
10507
 
    eventHandler.endNonterminal("AnyKindTest", e0);
10508
 
  }
10509
 
 
10510
 
  function try_AnyKindTest()
10511
 
  {
10512
 
    shiftT(191);                    // 'node'
10513
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10514
 
    shiftT(34);                     // '('
10515
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10516
 
    shiftT(37);                     // ')'
10517
 
  }
10518
 
 
10519
 
  function parse_DocumentTest()
10520
 
  {
10521
 
    eventHandler.startNonterminal("DocumentTest", e0);
10522
 
    shift(120);                     // 'document-node'
10523
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10524
 
    shift(34);                      // '('
10525
 
    lookahead1W(144);               // S^WS | '(:' | ')' | 'element' | 'schema-element'
10526
 
    if (l1 != 37)                   // ')'
10527
 
    {
10528
 
      switch (l1)
10529
 
      {
10530
 
      case 121:                     // 'element'
10531
 
        whitespace();
10532
 
        parse_ElementTest();
10533
 
        break;
10534
 
      default:
10535
 
        whitespace();
10536
 
        parse_SchemaElementTest();
10537
 
      }
10538
 
    }
10539
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10540
 
    shift(37);                      // ')'
10541
 
    eventHandler.endNonterminal("DocumentTest", e0);
10542
 
  }
10543
 
 
10544
 
  function try_DocumentTest()
10545
 
  {
10546
 
    shiftT(120);                    // 'document-node'
10547
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10548
 
    shiftT(34);                     // '('
10549
 
    lookahead1W(144);               // S^WS | '(:' | ')' | 'element' | 'schema-element'
10550
 
    if (l1 != 37)                   // ')'
10551
 
    {
10552
 
      switch (l1)
10553
 
      {
10554
 
      case 121:                     // 'element'
10555
 
        try_ElementTest();
10556
 
        break;
10557
 
      default:
10558
 
        try_SchemaElementTest();
10559
 
      }
10560
 
    }
10561
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10562
 
    shiftT(37);                     // ')'
10563
 
  }
10564
 
 
10565
 
  function parse_TextTest()
10566
 
  {
10567
 
    eventHandler.startNonterminal("TextTest", e0);
10568
 
    shift(244);                     // 'text'
10569
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10570
 
    shift(34);                      // '('
10571
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10572
 
    shift(37);                      // ')'
10573
 
    eventHandler.endNonterminal("TextTest", e0);
10574
 
  }
10575
 
 
10576
 
  function try_TextTest()
10577
 
  {
10578
 
    shiftT(244);                    // 'text'
10579
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10580
 
    shiftT(34);                     // '('
10581
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10582
 
    shiftT(37);                     // ')'
10583
 
  }
10584
 
 
10585
 
  function parse_CommentTest()
10586
 
  {
10587
 
    eventHandler.startNonterminal("CommentTest", e0);
10588
 
    shift(96);                      // 'comment'
10589
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10590
 
    shift(34);                      // '('
10591
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10592
 
    shift(37);                      // ')'
10593
 
    eventHandler.endNonterminal("CommentTest", e0);
10594
 
  }
10595
 
 
10596
 
  function try_CommentTest()
10597
 
  {
10598
 
    shiftT(96);                     // 'comment'
10599
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10600
 
    shiftT(34);                     // '('
10601
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10602
 
    shiftT(37);                     // ')'
10603
 
  }
10604
 
 
10605
 
  function parse_NamespaceNodeTest()
10606
 
  {
10607
 
    eventHandler.startNonterminal("NamespaceNodeTest", e0);
10608
 
    shift(185);                     // 'namespace-node'
10609
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10610
 
    shift(34);                      // '('
10611
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10612
 
    shift(37);                      // ')'
10613
 
    eventHandler.endNonterminal("NamespaceNodeTest", e0);
10614
 
  }
10615
 
 
10616
 
  function try_NamespaceNodeTest()
10617
 
  {
10618
 
    shiftT(185);                    // 'namespace-node'
10619
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10620
 
    shiftT(34);                     // '('
10621
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10622
 
    shiftT(37);                     // ')'
10623
 
  }
10624
 
 
10625
 
  function parse_PITest()
10626
 
  {
10627
 
    eventHandler.startNonterminal("PITest", e0);
10628
 
    shift(216);                     // 'processing-instruction'
10629
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10630
 
    shift(34);                      // '('
10631
 
    lookahead1W(251);               // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
10632
 
    if (l1 != 37)                   // ')'
10633
 
    {
10634
 
      switch (l1)
10635
 
      {
10636
 
      case 11:                      // StringLiteral
10637
 
        shift(11);                  // StringLiteral
10638
 
        break;
10639
 
      default:
10640
 
        whitespace();
10641
 
        parse_NCName();
10642
 
      }
10643
 
    }
10644
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10645
 
    shift(37);                      // ')'
10646
 
    eventHandler.endNonterminal("PITest", e0);
10647
 
  }
10648
 
 
10649
 
  function try_PITest()
10650
 
  {
10651
 
    shiftT(216);                    // 'processing-instruction'
10652
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10653
 
    shiftT(34);                     // '('
10654
 
    lookahead1W(251);               // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
10655
 
    if (l1 != 37)                   // ')'
10656
 
    {
10657
 
      switch (l1)
10658
 
      {
10659
 
      case 11:                      // StringLiteral
10660
 
        shiftT(11);                 // StringLiteral
10661
 
        break;
10662
 
      default:
10663
 
        try_NCName();
10664
 
      }
10665
 
    }
10666
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10667
 
    shiftT(37);                     // ')'
10668
 
  }
10669
 
 
10670
 
  function parse_AttributeTest()
10671
 
  {
10672
 
    eventHandler.startNonterminal("AttributeTest", e0);
10673
 
    shift(82);                      // 'attribute'
10674
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10675
 
    shift(34);                      // '('
10676
 
    lookahead1W(258);               // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
10677
 
    if (l1 != 37)                   // ')'
10678
 
    {
10679
 
      whitespace();
10680
 
      parse_AttribNameOrWildcard();
10681
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
10682
 
      if (l1 == 41)                 // ','
10683
 
      {
10684
 
        shift(41);                  // ','
10685
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10686
 
        whitespace();
10687
 
        parse_TypeName();
10688
 
      }
10689
 
    }
10690
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10691
 
    shift(37);                      // ')'
10692
 
    eventHandler.endNonterminal("AttributeTest", e0);
10693
 
  }
10694
 
 
10695
 
  function try_AttributeTest()
10696
 
  {
10697
 
    shiftT(82);                     // 'attribute'
10698
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10699
 
    shiftT(34);                     // '('
10700
 
    lookahead1W(258);               // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
10701
 
    if (l1 != 37)                   // ')'
10702
 
    {
10703
 
      try_AttribNameOrWildcard();
10704
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
10705
 
      if (l1 == 41)                 // ','
10706
 
      {
10707
 
        shiftT(41);                 // ','
10708
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10709
 
        try_TypeName();
10710
 
      }
10711
 
    }
10712
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10713
 
    shiftT(37);                     // ')'
10714
 
  }
10715
 
 
10716
 
  function parse_AttribNameOrWildcard()
10717
 
  {
10718
 
    eventHandler.startNonterminal("AttribNameOrWildcard", e0);
10719
 
    switch (l1)
10720
 
    {
10721
 
    case 38:                        // '*'
10722
 
      shift(38);                    // '*'
10723
 
      break;
10724
 
    default:
10725
 
      parse_AttributeName();
10726
 
    }
10727
 
    eventHandler.endNonterminal("AttribNameOrWildcard", e0);
10728
 
  }
10729
 
 
10730
 
  function try_AttribNameOrWildcard()
10731
 
  {
10732
 
    switch (l1)
10733
 
    {
10734
 
    case 38:                        // '*'
10735
 
      shiftT(38);                   // '*'
10736
 
      break;
10737
 
    default:
10738
 
      try_AttributeName();
10739
 
    }
10740
 
  }
10741
 
 
10742
 
  function parse_SchemaAttributeTest()
10743
 
  {
10744
 
    eventHandler.startNonterminal("SchemaAttributeTest", e0);
10745
 
    shift(226);                     // 'schema-attribute'
10746
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10747
 
    shift(34);                      // '('
10748
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10749
 
    whitespace();
10750
 
    parse_AttributeDeclaration();
10751
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10752
 
    shift(37);                      // ')'
10753
 
    eventHandler.endNonterminal("SchemaAttributeTest", e0);
10754
 
  }
10755
 
 
10756
 
  function try_SchemaAttributeTest()
10757
 
  {
10758
 
    shiftT(226);                    // 'schema-attribute'
10759
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10760
 
    shiftT(34);                     // '('
10761
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10762
 
    try_AttributeDeclaration();
10763
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10764
 
    shiftT(37);                     // ')'
10765
 
  }
10766
 
 
10767
 
  function parse_AttributeDeclaration()
10768
 
  {
10769
 
    eventHandler.startNonterminal("AttributeDeclaration", e0);
10770
 
    parse_AttributeName();
10771
 
    eventHandler.endNonterminal("AttributeDeclaration", e0);
10772
 
  }
10773
 
 
10774
 
  function try_AttributeDeclaration()
10775
 
  {
10776
 
    try_AttributeName();
10777
 
  }
10778
 
 
10779
 
  function parse_ElementTest()
10780
 
  {
10781
 
    eventHandler.startNonterminal("ElementTest", e0);
10782
 
    shift(121);                     // 'element'
10783
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10784
 
    shift(34);                      // '('
10785
 
    lookahead1W(258);               // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
10786
 
    if (l1 != 37)                   // ')'
10787
 
    {
10788
 
      whitespace();
10789
 
      parse_ElementNameOrWildcard();
10790
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
10791
 
      if (l1 == 41)                 // ','
10792
 
      {
10793
 
        shift(41);                  // ','
10794
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10795
 
        whitespace();
10796
 
        parse_TypeName();
10797
 
        lookahead1W(102);           // S^WS | '(:' | ')' | '?'
10798
 
        if (l1 == 64)               // '?'
10799
 
        {
10800
 
          shift(64);                // '?'
10801
 
        }
10802
 
      }
10803
 
    }
10804
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10805
 
    shift(37);                      // ')'
10806
 
    eventHandler.endNonterminal("ElementTest", e0);
10807
 
  }
10808
 
 
10809
 
  function try_ElementTest()
10810
 
  {
10811
 
    shiftT(121);                    // 'element'
10812
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10813
 
    shiftT(34);                     // '('
10814
 
    lookahead1W(258);               // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
10815
 
    if (l1 != 37)                   // ')'
10816
 
    {
10817
 
      try_ElementNameOrWildcard();
10818
 
      lookahead1W(101);             // S^WS | '(:' | ')' | ','
10819
 
      if (l1 == 41)                 // ','
10820
 
      {
10821
 
        shiftT(41);                 // ','
10822
 
        lookahead1W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10823
 
        try_TypeName();
10824
 
        lookahead1W(102);           // S^WS | '(:' | ')' | '?'
10825
 
        if (l1 == 64)               // '?'
10826
 
        {
10827
 
          shiftT(64);               // '?'
10828
 
        }
10829
 
      }
10830
 
    }
10831
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10832
 
    shiftT(37);                     // ')'
10833
 
  }
10834
 
 
10835
 
  function parse_ElementNameOrWildcard()
10836
 
  {
10837
 
    eventHandler.startNonterminal("ElementNameOrWildcard", e0);
10838
 
    switch (l1)
10839
 
    {
10840
 
    case 38:                        // '*'
10841
 
      shift(38);                    // '*'
10842
 
      break;
10843
 
    default:
10844
 
      parse_ElementName();
10845
 
    }
10846
 
    eventHandler.endNonterminal("ElementNameOrWildcard", e0);
10847
 
  }
10848
 
 
10849
 
  function try_ElementNameOrWildcard()
10850
 
  {
10851
 
    switch (l1)
10852
 
    {
10853
 
    case 38:                        // '*'
10854
 
      shiftT(38);                   // '*'
10855
 
      break;
10856
 
    default:
10857
 
      try_ElementName();
10858
 
    }
10859
 
  }
10860
 
 
10861
 
  function parse_SchemaElementTest()
10862
 
  {
10863
 
    eventHandler.startNonterminal("SchemaElementTest", e0);
10864
 
    shift(227);                     // 'schema-element'
10865
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10866
 
    shift(34);                      // '('
10867
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10868
 
    whitespace();
10869
 
    parse_ElementDeclaration();
10870
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10871
 
    shift(37);                      // ')'
10872
 
    eventHandler.endNonterminal("SchemaElementTest", e0);
10873
 
  }
10874
 
 
10875
 
  function try_SchemaElementTest()
10876
 
  {
10877
 
    shiftT(227);                    // 'schema-element'
10878
 
    lookahead1W(22);                // S^WS | '(' | '(:'
10879
 
    shiftT(34);                     // '('
10880
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
10881
 
    try_ElementDeclaration();
10882
 
    lookahead1W(23);                // S^WS | '(:' | ')'
10883
 
    shiftT(37);                     // ')'
10884
 
  }
10885
 
 
10886
 
  function parse_ElementDeclaration()
10887
 
  {
10888
 
    eventHandler.startNonterminal("ElementDeclaration", e0);
10889
 
    parse_ElementName();
10890
 
    eventHandler.endNonterminal("ElementDeclaration", e0);
10891
 
  }
10892
 
 
10893
 
  function try_ElementDeclaration()
10894
 
  {
10895
 
    try_ElementName();
10896
 
  }
10897
 
 
10898
 
  function parse_AttributeName()
10899
 
  {
10900
 
    eventHandler.startNonterminal("AttributeName", e0);
10901
 
    parse_EQName();
10902
 
    eventHandler.endNonterminal("AttributeName", e0);
10903
 
  }
10904
 
 
10905
 
  function try_AttributeName()
10906
 
  {
10907
 
    try_EQName();
10908
 
  }
10909
 
 
10910
 
  function parse_ElementName()
10911
 
  {
10912
 
    eventHandler.startNonterminal("ElementName", e0);
10913
 
    parse_EQName();
10914
 
    eventHandler.endNonterminal("ElementName", e0);
10915
 
  }
10916
 
 
10917
 
  function try_ElementName()
10918
 
  {
10919
 
    try_EQName();
10920
 
  }
10921
 
 
10922
 
  function parse_SimpleTypeName()
10923
 
  {
10924
 
    eventHandler.startNonterminal("SimpleTypeName", e0);
10925
 
    parse_TypeName();
10926
 
    eventHandler.endNonterminal("SimpleTypeName", e0);
10927
 
  }
10928
 
 
10929
 
  function try_SimpleTypeName()
10930
 
  {
10931
 
    try_TypeName();
10932
 
  }
10933
 
 
10934
 
  function parse_TypeName()
10935
 
  {
10936
 
    eventHandler.startNonterminal("TypeName", e0);
10937
 
    parse_EQName();
10938
 
    eventHandler.endNonterminal("TypeName", e0);
10939
 
  }
10940
 
 
10941
 
  function try_TypeName()
10942
 
  {
10943
 
    try_EQName();
10944
 
  }
10945
 
 
10946
 
  function parse_FunctionTest()
10947
 
  {
10948
 
    eventHandler.startNonterminal("FunctionTest", e0);
10949
 
    for (;;)
10950
 
    {
10951
 
      lookahead1W(97);              // S^WS | '%' | '(:' | 'function'
10952
 
      if (l1 != 32)                 // '%'
10953
 
      {
10954
 
        break;
10955
 
      }
10956
 
      whitespace();
10957
 
      parse_Annotation();
10958
 
    }
10959
 
    switch (l1)
10960
 
    {
10961
 
    case 145:                       // 'function'
10962
 
      lookahead2W(22);              // S^WS | '(' | '(:'
10963
 
      break;
10964
 
    default:
10965
 
      lk = l1;
10966
 
    }
10967
 
    lk = memoized(5, e0);
10968
 
    if (lk == 0)
10969
 
    {
10970
 
      var b0A = b0; var e0A = e0; var l1A = l1;
10971
 
      var b1A = b1; var e1A = e1; var l2A = l2;
10972
 
      var b2A = b2; var e2A = e2;
10973
 
      try
10974
 
      {
10975
 
        try_AnyFunctionTest();
10976
 
        lk = -1;
10977
 
      }
10978
 
      catch (p1A)
10979
 
      {
10980
 
        lk = -2;
10981
 
      }
10982
 
      b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
10983
 
      b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
10984
 
      b2 = b2A; e2 = e2A; end = e2A; }}
10985
 
      memoize(5, e0, lk);
10986
 
    }
10987
 
    switch (lk)
10988
 
    {
10989
 
    case -1:
10990
 
      whitespace();
10991
 
      parse_AnyFunctionTest();
10992
 
      break;
10993
 
    default:
10994
 
      whitespace();
10995
 
      parse_TypedFunctionTest();
10996
 
    }
10997
 
    eventHandler.endNonterminal("FunctionTest", e0);
10998
 
  }
10999
 
 
11000
 
  function try_FunctionTest()
11001
 
  {
11002
 
    for (;;)
11003
 
    {
11004
 
      lookahead1W(97);              // S^WS | '%' | '(:' | 'function'
11005
 
      if (l1 != 32)                 // '%'
11006
 
      {
11007
 
        break;
11008
 
      }
11009
 
      try_Annotation();
11010
 
    }
11011
 
    switch (l1)
11012
 
    {
11013
 
    case 145:                       // 'function'
11014
 
      lookahead2W(22);              // S^WS | '(' | '(:'
11015
 
      break;
11016
 
    default:
11017
 
      lk = l1;
11018
 
    }
11019
 
    lk = memoized(5, e0);
11020
 
    if (lk == 0)
11021
 
    {
11022
 
      var b0A = b0; var e0A = e0; var l1A = l1;
11023
 
      var b1A = b1; var e1A = e1; var l2A = l2;
11024
 
      var b2A = b2; var e2A = e2;
11025
 
      try
11026
 
      {
11027
 
        try_AnyFunctionTest();
11028
 
        memoize(5, e0A, -1);
11029
 
        lk = -3;
11030
 
      }
11031
 
      catch (p1A)
11032
 
      {
11033
 
        lk = -2;
11034
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
11035
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
11036
 
        b2 = b2A; e2 = e2A; end = e2A; }}
11037
 
        memoize(5, e0A, -2);
11038
 
      }
11039
 
    }
11040
 
    switch (lk)
11041
 
    {
11042
 
    case -1:
11043
 
      try_AnyFunctionTest();
11044
 
      break;
11045
 
    case -3:
11046
 
      break;
11047
 
    default:
11048
 
      try_TypedFunctionTest();
11049
 
    }
11050
 
  }
11051
 
 
11052
 
  function parse_AnyFunctionTest()
11053
 
  {
11054
 
    eventHandler.startNonterminal("AnyFunctionTest", e0);
11055
 
    shift(145);                     // 'function'
11056
 
    lookahead1W(22);                // S^WS | '(' | '(:'
11057
 
    shift(34);                      // '('
11058
 
    lookahead1W(24);                // S^WS | '(:' | '*'
11059
 
    shift(38);                      // '*'
11060
 
    lookahead1W(23);                // S^WS | '(:' | ')'
11061
 
    shift(37);                      // ')'
11062
 
    eventHandler.endNonterminal("AnyFunctionTest", e0);
11063
 
  }
11064
 
 
11065
 
  function try_AnyFunctionTest()
11066
 
  {
11067
 
    shiftT(145);                    // 'function'
11068
 
    lookahead1W(22);                // S^WS | '(' | '(:'
11069
 
    shiftT(34);                     // '('
11070
 
    lookahead1W(24);                // S^WS | '(:' | '*'
11071
 
    shiftT(38);                     // '*'
11072
 
    lookahead1W(23);                // S^WS | '(:' | ')'
11073
 
    shiftT(37);                     // ')'
11074
 
  }
11075
 
 
11076
 
  function parse_TypedFunctionTest()
11077
 
  {
11078
 
    eventHandler.startNonterminal("TypedFunctionTest", e0);
11079
 
    shift(145);                     // 'function'
11080
 
    lookahead1W(22);                // S^WS | '(' | '(:'
11081
 
    shift(34);                      // '('
11082
 
    lookahead1W(261);               // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
11083
 
    if (l1 != 37)                   // ')'
11084
 
    {
11085
 
      whitespace();
11086
 
      parse_SequenceType();
11087
 
      for (;;)
11088
 
      {
11089
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
11090
 
        if (l1 != 41)               // ','
11091
 
        {
11092
 
          break;
11093
 
        }
11094
 
        shift(41);                  // ','
11095
 
        lookahead1W(259);           // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11096
 
        whitespace();
11097
 
        parse_SequenceType();
11098
 
      }
11099
 
    }
11100
 
    shift(37);                      // ')'
11101
 
    lookahead1W(30);                // S^WS | '(:' | 'as'
11102
 
    shift(79);                      // 'as'
11103
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11104
 
    whitespace();
11105
 
    parse_SequenceType();
11106
 
    eventHandler.endNonterminal("TypedFunctionTest", e0);
11107
 
  }
11108
 
 
11109
 
  function try_TypedFunctionTest()
11110
 
  {
11111
 
    shiftT(145);                    // 'function'
11112
 
    lookahead1W(22);                // S^WS | '(' | '(:'
11113
 
    shiftT(34);                     // '('
11114
 
    lookahead1W(261);               // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
11115
 
    if (l1 != 37)                   // ')'
11116
 
    {
11117
 
      try_SequenceType();
11118
 
      for (;;)
11119
 
      {
11120
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
11121
 
        if (l1 != 41)               // ','
11122
 
        {
11123
 
          break;
11124
 
        }
11125
 
        shiftT(41);                 // ','
11126
 
        lookahead1W(259);           // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11127
 
        try_SequenceType();
11128
 
      }
11129
 
    }
11130
 
    shiftT(37);                     // ')'
11131
 
    lookahead1W(30);                // S^WS | '(:' | 'as'
11132
 
    shiftT(79);                     // 'as'
11133
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11134
 
    try_SequenceType();
11135
 
  }
11136
 
 
11137
 
  function parse_ParenthesizedItemType()
11138
 
  {
11139
 
    eventHandler.startNonterminal("ParenthesizedItemType", e0);
11140
 
    shift(34);                      // '('
11141
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11142
 
    whitespace();
11143
 
    parse_ItemType();
11144
 
    lookahead1W(23);                // S^WS | '(:' | ')'
11145
 
    shift(37);                      // ')'
11146
 
    eventHandler.endNonterminal("ParenthesizedItemType", e0);
11147
 
  }
11148
 
 
11149
 
  function try_ParenthesizedItemType()
11150
 
  {
11151
 
    shiftT(34);                     // '('
11152
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
11153
 
    try_ItemType();
11154
 
    lookahead1W(23);                // S^WS | '(:' | ')'
11155
 
    shiftT(37);                     // ')'
11156
 
  }
11157
 
 
11158
 
  function parse_RevalidationDecl()
11159
 
  {
11160
 
    eventHandler.startNonterminal("RevalidationDecl", e0);
11161
 
    shift(108);                     // 'declare'
11162
 
    lookahead1W(72);                // S^WS | '(:' | 'revalidation'
11163
 
    shift(222);                     // 'revalidation'
11164
 
    lookahead1W(152);               // S^WS | '(:' | 'lax' | 'skip' | 'strict'
11165
 
    switch (l1)
11166
 
    {
11167
 
    case 240:                       // 'strict'
11168
 
      shift(240);                   // 'strict'
11169
 
      break;
11170
 
    case 171:                       // 'lax'
11171
 
      shift(171);                   // 'lax'
11172
 
      break;
11173
 
    default:
11174
 
      shift(233);                   // 'skip'
11175
 
    }
11176
 
    eventHandler.endNonterminal("RevalidationDecl", e0);
11177
 
  }
11178
 
 
11179
 
  function parse_InsertExprTargetChoice()
11180
 
  {
11181
 
    eventHandler.startNonterminal("InsertExprTargetChoice", e0);
11182
 
    switch (l1)
11183
 
    {
11184
 
    case 70:                        // 'after'
11185
 
      shift(70);                    // 'after'
11186
 
      break;
11187
 
    case 84:                        // 'before'
11188
 
      shift(84);                    // 'before'
11189
 
      break;
11190
 
    default:
11191
 
      if (l1 == 79)                 // 'as'
11192
 
      {
11193
 
        shift(79);                  // 'as'
11194
 
        lookahead1W(119);           // S^WS | '(:' | 'first' | 'last'
11195
 
        switch (l1)
11196
 
        {
11197
 
        case 134:                   // 'first'
11198
 
          shift(134);               // 'first'
11199
 
          break;
11200
 
        default:
11201
 
          shift(170);               // 'last'
11202
 
        }
11203
 
      }
11204
 
      lookahead1W(54);              // S^WS | '(:' | 'into'
11205
 
      shift(163);                   // 'into'
11206
 
    }
11207
 
    eventHandler.endNonterminal("InsertExprTargetChoice", e0);
11208
 
  }
11209
 
 
11210
 
  function try_InsertExprTargetChoice()
11211
 
  {
11212
 
    switch (l1)
11213
 
    {
11214
 
    case 70:                        // 'after'
11215
 
      shiftT(70);                   // 'after'
11216
 
      break;
11217
 
    case 84:                        // 'before'
11218
 
      shiftT(84);                   // 'before'
11219
 
      break;
11220
 
    default:
11221
 
      if (l1 == 79)                 // 'as'
11222
 
      {
11223
 
        shiftT(79);                 // 'as'
11224
 
        lookahead1W(119);           // S^WS | '(:' | 'first' | 'last'
11225
 
        switch (l1)
11226
 
        {
11227
 
        case 134:                   // 'first'
11228
 
          shiftT(134);              // 'first'
11229
 
          break;
11230
 
        default:
11231
 
          shiftT(170);              // 'last'
11232
 
        }
11233
 
      }
11234
 
      lookahead1W(54);              // S^WS | '(:' | 'into'
11235
 
      shiftT(163);                  // 'into'
11236
 
    }
11237
 
  }
11238
 
 
11239
 
  function parse_InsertExpr()
11240
 
  {
11241
 
    eventHandler.startNonterminal("InsertExpr", e0);
11242
 
    shift(159);                     // 'insert'
11243
 
    lookahead1W(129);               // S^WS | '(:' | 'node' | 'nodes'
11244
 
    switch (l1)
11245
 
    {
11246
 
    case 191:                       // 'node'
11247
 
      shift(191);                   // 'node'
11248
 
      break;
11249
 
    default:
11250
 
      shift(192);                   // 'nodes'
11251
 
    }
11252
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11253
 
    whitespace();
11254
 
    parse_SourceExpr();
11255
 
    whitespace();
11256
 
    parse_InsertExprTargetChoice();
11257
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11258
 
    whitespace();
11259
 
    parse_TargetExpr();
11260
 
    eventHandler.endNonterminal("InsertExpr", e0);
11261
 
  }
11262
 
 
11263
 
  function try_InsertExpr()
11264
 
  {
11265
 
    shiftT(159);                    // 'insert'
11266
 
    lookahead1W(129);               // S^WS | '(:' | 'node' | 'nodes'
11267
 
    switch (l1)
11268
 
    {
11269
 
    case 191:                       // 'node'
11270
 
      shiftT(191);                  // 'node'
11271
 
      break;
11272
 
    default:
11273
 
      shiftT(192);                  // 'nodes'
11274
 
    }
11275
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11276
 
    try_SourceExpr();
11277
 
    try_InsertExprTargetChoice();
11278
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11279
 
    try_TargetExpr();
11280
 
  }
11281
 
 
11282
 
  function parse_DeleteExpr()
11283
 
  {
11284
 
    eventHandler.startNonterminal("DeleteExpr", e0);
11285
 
    shift(110);                     // 'delete'
11286
 
    lookahead1W(129);               // S^WS | '(:' | 'node' | 'nodes'
11287
 
    switch (l1)
11288
 
    {
11289
 
    case 191:                       // 'node'
11290
 
      shift(191);                   // 'node'
11291
 
      break;
11292
 
    default:
11293
 
      shift(192);                   // 'nodes'
11294
 
    }
11295
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11296
 
    whitespace();
11297
 
    parse_TargetExpr();
11298
 
    eventHandler.endNonterminal("DeleteExpr", e0);
11299
 
  }
11300
 
 
11301
 
  function try_DeleteExpr()
11302
 
  {
11303
 
    shiftT(110);                    // 'delete'
11304
 
    lookahead1W(129);               // S^WS | '(:' | 'node' | 'nodes'
11305
 
    switch (l1)
11306
 
    {
11307
 
    case 191:                       // 'node'
11308
 
      shiftT(191);                  // 'node'
11309
 
      break;
11310
 
    default:
11311
 
      shiftT(192);                  // 'nodes'
11312
 
    }
11313
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11314
 
    try_TargetExpr();
11315
 
  }
11316
 
 
11317
 
  function parse_ReplaceExpr()
11318
 
  {
11319
 
    eventHandler.startNonterminal("ReplaceExpr", e0);
11320
 
    shift(219);                     // 'replace'
11321
 
    lookahead1W(130);               // S^WS | '(:' | 'node' | 'value'
11322
 
    if (l1 == 261)                  // 'value'
11323
 
    {
11324
 
      shift(261);                   // 'value'
11325
 
      lookahead1W(64);              // S^WS | '(:' | 'of'
11326
 
      shift(196);                   // 'of'
11327
 
    }
11328
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
11329
 
    shift(191);                     // 'node'
11330
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11331
 
    whitespace();
11332
 
    parse_TargetExpr();
11333
 
    shift(270);                     // 'with'
11334
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11335
 
    whitespace();
11336
 
    parse_ExprSingle();
11337
 
    eventHandler.endNonterminal("ReplaceExpr", e0);
11338
 
  }
11339
 
 
11340
 
  function try_ReplaceExpr()
11341
 
  {
11342
 
    shiftT(219);                    // 'replace'
11343
 
    lookahead1W(130);               // S^WS | '(:' | 'node' | 'value'
11344
 
    if (l1 == 261)                  // 'value'
11345
 
    {
11346
 
      shiftT(261);                  // 'value'
11347
 
      lookahead1W(64);              // S^WS | '(:' | 'of'
11348
 
      shiftT(196);                  // 'of'
11349
 
    }
11350
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
11351
 
    shiftT(191);                    // 'node'
11352
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11353
 
    try_TargetExpr();
11354
 
    shiftT(270);                    // 'with'
11355
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11356
 
    try_ExprSingle();
11357
 
  }
11358
 
 
11359
 
  function parse_RenameExpr()
11360
 
  {
11361
 
    eventHandler.startNonterminal("RenameExpr", e0);
11362
 
    shift(218);                     // 'rename'
11363
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
11364
 
    shift(191);                     // 'node'
11365
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11366
 
    whitespace();
11367
 
    parse_TargetExpr();
11368
 
    shift(79);                      // 'as'
11369
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11370
 
    whitespace();
11371
 
    parse_NewNameExpr();
11372
 
    eventHandler.endNonterminal("RenameExpr", e0);
11373
 
  }
11374
 
 
11375
 
  function try_RenameExpr()
11376
 
  {
11377
 
    shiftT(218);                    // 'rename'
11378
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
11379
 
    shiftT(191);                    // 'node'
11380
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11381
 
    try_TargetExpr();
11382
 
    shiftT(79);                     // 'as'
11383
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11384
 
    try_NewNameExpr();
11385
 
  }
11386
 
 
11387
 
  function parse_SourceExpr()
11388
 
  {
11389
 
    eventHandler.startNonterminal("SourceExpr", e0);
11390
 
    parse_ExprSingle();
11391
 
    eventHandler.endNonterminal("SourceExpr", e0);
11392
 
  }
11393
 
 
11394
 
  function try_SourceExpr()
11395
 
  {
11396
 
    try_ExprSingle();
11397
 
  }
11398
 
 
11399
 
  function parse_TargetExpr()
11400
 
  {
11401
 
    eventHandler.startNonterminal("TargetExpr", e0);
11402
 
    parse_ExprSingle();
11403
 
    eventHandler.endNonterminal("TargetExpr", e0);
11404
 
  }
11405
 
 
11406
 
  function try_TargetExpr()
11407
 
  {
11408
 
    try_ExprSingle();
11409
 
  }
11410
 
 
11411
 
  function parse_NewNameExpr()
11412
 
  {
11413
 
    eventHandler.startNonterminal("NewNameExpr", e0);
11414
 
    parse_ExprSingle();
11415
 
    eventHandler.endNonterminal("NewNameExpr", e0);
11416
 
  }
11417
 
 
11418
 
  function try_NewNameExpr()
11419
 
  {
11420
 
    try_ExprSingle();
11421
 
  }
11422
 
 
11423
 
  function parse_TransformExpr()
11424
 
  {
11425
 
    eventHandler.startNonterminal("TransformExpr", e0);
11426
 
    shift(103);                     // 'copy'
11427
 
    lookahead1W(21);                // S^WS | '$' | '(:'
11428
 
    shift(31);                      // '$'
11429
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
11430
 
    whitespace();
11431
 
    parse_VarName();
11432
 
    lookahead1W(27);                // S^WS | '(:' | ':='
11433
 
    shift(52);                      // ':='
11434
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11435
 
    whitespace();
11436
 
    parse_ExprSingle();
11437
 
    for (;;)
11438
 
    {
11439
 
      if (l1 != 41)                 // ','
11440
 
      {
11441
 
        break;
11442
 
      }
11443
 
      shift(41);                    // ','
11444
 
      lookahead1W(21);              // S^WS | '$' | '(:'
11445
 
      shift(31);                    // '$'
11446
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
11447
 
      whitespace();
11448
 
      parse_VarName();
11449
 
      lookahead1W(27);              // S^WS | '(:' | ':='
11450
 
      shift(52);                    // ':='
11451
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11452
 
      whitespace();
11453
 
      parse_ExprSingle();
11454
 
    }
11455
 
    shift(181);                     // 'modify'
11456
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11457
 
    whitespace();
11458
 
    parse_ExprSingle();
11459
 
    shift(220);                     // 'return'
11460
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11461
 
    whitespace();
11462
 
    parse_ExprSingle();
11463
 
    eventHandler.endNonterminal("TransformExpr", e0);
11464
 
  }
11465
 
 
11466
 
  function try_TransformExpr()
11467
 
  {
11468
 
    shiftT(103);                    // 'copy'
11469
 
    lookahead1W(21);                // S^WS | '$' | '(:'
11470
 
    shiftT(31);                     // '$'
11471
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
11472
 
    try_VarName();
11473
 
    lookahead1W(27);                // S^WS | '(:' | ':='
11474
 
    shiftT(52);                     // ':='
11475
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11476
 
    try_ExprSingle();
11477
 
    for (;;)
11478
 
    {
11479
 
      if (l1 != 41)                 // ','
11480
 
      {
11481
 
        break;
11482
 
      }
11483
 
      shiftT(41);                   // ','
11484
 
      lookahead1W(21);              // S^WS | '$' | '(:'
11485
 
      shiftT(31);                   // '$'
11486
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
11487
 
      try_VarName();
11488
 
      lookahead1W(27);              // S^WS | '(:' | ':='
11489
 
      shiftT(52);                   // ':='
11490
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11491
 
      try_ExprSingle();
11492
 
    }
11493
 
    shiftT(181);                    // 'modify'
11494
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11495
 
    try_ExprSingle();
11496
 
    shiftT(220);                    // 'return'
11497
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11498
 
    try_ExprSingle();
11499
 
  }
11500
 
 
11501
 
  function parse_FTSelection()
11502
 
  {
11503
 
    eventHandler.startNonterminal("FTSelection", e0);
11504
 
    parse_FTOr();
11505
 
    for (;;)
11506
 
    {
11507
 
      lookahead1W(211);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11508
 
      switch (l1)
11509
 
      {
11510
 
      case 81:                      // 'at'
11511
 
        lookahead2W(151);           // S^WS | '(:' | 'end' | 'position' | 'start'
11512
 
        break;
11513
 
      default:
11514
 
        lk = l1;
11515
 
      }
11516
 
      if (lk != 115                 // 'different'
11517
 
       && lk != 117                 // 'distance'
11518
 
       && lk != 127                 // 'entire'
11519
 
       && lk != 202                 // 'ordered'
11520
 
       && lk != 223                 // 'same'
11521
 
       && lk != 269                 // 'window'
11522
 
       && lk != 64593               // 'at' 'end'
11523
 
       && lk != 121425)             // 'at' 'start'
11524
 
      {
11525
 
        break;
11526
 
      }
11527
 
      whitespace();
11528
 
      parse_FTPosFilter();
11529
 
    }
11530
 
    eventHandler.endNonterminal("FTSelection", e0);
11531
 
  }
11532
 
 
11533
 
  function try_FTSelection()
11534
 
  {
11535
 
    try_FTOr();
11536
 
    for (;;)
11537
 
    {
11538
 
      lookahead1W(211);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11539
 
      switch (l1)
11540
 
      {
11541
 
      case 81:                      // 'at'
11542
 
        lookahead2W(151);           // S^WS | '(:' | 'end' | 'position' | 'start'
11543
 
        break;
11544
 
      default:
11545
 
        lk = l1;
11546
 
      }
11547
 
      if (lk != 115                 // 'different'
11548
 
       && lk != 117                 // 'distance'
11549
 
       && lk != 127                 // 'entire'
11550
 
       && lk != 202                 // 'ordered'
11551
 
       && lk != 223                 // 'same'
11552
 
       && lk != 269                 // 'window'
11553
 
       && lk != 64593               // 'at' 'end'
11554
 
       && lk != 121425)             // 'at' 'start'
11555
 
      {
11556
 
        break;
11557
 
      }
11558
 
      try_FTPosFilter();
11559
 
    }
11560
 
  }
11561
 
 
11562
 
  function parse_FTWeight()
11563
 
  {
11564
 
    eventHandler.startNonterminal("FTWeight", e0);
11565
 
    shift(264);                     // 'weight'
11566
 
    lookahead1W(87);                // S^WS | '(:' | '{'
11567
 
    shift(276);                     // '{'
11568
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11569
 
    whitespace();
11570
 
    parse_Expr();
11571
 
    shift(282);                     // '}'
11572
 
    eventHandler.endNonterminal("FTWeight", e0);
11573
 
  }
11574
 
 
11575
 
  function try_FTWeight()
11576
 
  {
11577
 
    shiftT(264);                    // 'weight'
11578
 
    lookahead1W(87);                // S^WS | '(:' | '{'
11579
 
    shiftT(276);                    // '{'
11580
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11581
 
    try_Expr();
11582
 
    shiftT(282);                    // '}'
11583
 
  }
11584
 
 
11585
 
  function parse_FTOr()
11586
 
  {
11587
 
    eventHandler.startNonterminal("FTOr", e0);
11588
 
    parse_FTAnd();
11589
 
    for (;;)
11590
 
    {
11591
 
      if (l1 != 144)                // 'ftor'
11592
 
      {
11593
 
        break;
11594
 
      }
11595
 
      shift(144);                   // 'ftor'
11596
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11597
 
      whitespace();
11598
 
      parse_FTAnd();
11599
 
    }
11600
 
    eventHandler.endNonterminal("FTOr", e0);
11601
 
  }
11602
 
 
11603
 
  function try_FTOr()
11604
 
  {
11605
 
    try_FTAnd();
11606
 
    for (;;)
11607
 
    {
11608
 
      if (l1 != 144)                // 'ftor'
11609
 
      {
11610
 
        break;
11611
 
      }
11612
 
      shiftT(144);                  // 'ftor'
11613
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11614
 
      try_FTAnd();
11615
 
    }
11616
 
  }
11617
 
 
11618
 
  function parse_FTAnd()
11619
 
  {
11620
 
    eventHandler.startNonterminal("FTAnd", e0);
11621
 
    parse_FTMildNot();
11622
 
    for (;;)
11623
 
    {
11624
 
      if (l1 != 142)                // 'ftand'
11625
 
      {
11626
 
        break;
11627
 
      }
11628
 
      shift(142);                   // 'ftand'
11629
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11630
 
      whitespace();
11631
 
      parse_FTMildNot();
11632
 
    }
11633
 
    eventHandler.endNonterminal("FTAnd", e0);
11634
 
  }
11635
 
 
11636
 
  function try_FTAnd()
11637
 
  {
11638
 
    try_FTMildNot();
11639
 
    for (;;)
11640
 
    {
11641
 
      if (l1 != 142)                // 'ftand'
11642
 
      {
11643
 
        break;
11644
 
      }
11645
 
      shiftT(142);                  // 'ftand'
11646
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11647
 
      try_FTMildNot();
11648
 
    }
11649
 
  }
11650
 
 
11651
 
  function parse_FTMildNot()
11652
 
  {
11653
 
    eventHandler.startNonterminal("FTMildNot", e0);
11654
 
    parse_FTUnaryNot();
11655
 
    for (;;)
11656
 
    {
11657
 
      lookahead1W(212);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11658
 
      if (l1 != 193)                // 'not'
11659
 
      {
11660
 
        break;
11661
 
      }
11662
 
      shift(193);                   // 'not'
11663
 
      lookahead1W(53);              // S^WS | '(:' | 'in'
11664
 
      shift(154);                   // 'in'
11665
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11666
 
      whitespace();
11667
 
      parse_FTUnaryNot();
11668
 
    }
11669
 
    eventHandler.endNonterminal("FTMildNot", e0);
11670
 
  }
11671
 
 
11672
 
  function try_FTMildNot()
11673
 
  {
11674
 
    try_FTUnaryNot();
11675
 
    for (;;)
11676
 
    {
11677
 
      lookahead1W(212);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11678
 
      if (l1 != 193)                // 'not'
11679
 
      {
11680
 
        break;
11681
 
      }
11682
 
      shiftT(193);                  // 'not'
11683
 
      lookahead1W(53);              // S^WS | '(:' | 'in'
11684
 
      shiftT(154);                  // 'in'
11685
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11686
 
      try_FTUnaryNot();
11687
 
    }
11688
 
  }
11689
 
 
11690
 
  function parse_FTUnaryNot()
11691
 
  {
11692
 
    eventHandler.startNonterminal("FTUnaryNot", e0);
11693
 
    if (l1 == 143)                  // 'ftnot'
11694
 
    {
11695
 
      shift(143);                   // 'ftnot'
11696
 
    }
11697
 
    lookahead1W(155);               // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
11698
 
    whitespace();
11699
 
    parse_FTPrimaryWithOptions();
11700
 
    eventHandler.endNonterminal("FTUnaryNot", e0);
11701
 
  }
11702
 
 
11703
 
  function try_FTUnaryNot()
11704
 
  {
11705
 
    if (l1 == 143)                  // 'ftnot'
11706
 
    {
11707
 
      shiftT(143);                  // 'ftnot'
11708
 
    }
11709
 
    lookahead1W(155);               // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
11710
 
    try_FTPrimaryWithOptions();
11711
 
  }
11712
 
 
11713
 
  function parse_FTPrimaryWithOptions()
11714
 
  {
11715
 
    eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
11716
 
    parse_FTPrimary();
11717
 
    lookahead1W(214);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11718
 
    if (l1 == 259)                  // 'using'
11719
 
    {
11720
 
      whitespace();
11721
 
      parse_FTMatchOptions();
11722
 
    }
11723
 
    if (l1 == 264)                  // 'weight'
11724
 
    {
11725
 
      whitespace();
11726
 
      parse_FTWeight();
11727
 
    }
11728
 
    eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
11729
 
  }
11730
 
 
11731
 
  function try_FTPrimaryWithOptions()
11732
 
  {
11733
 
    try_FTPrimary();
11734
 
    lookahead1W(214);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11735
 
    if (l1 == 259)                  // 'using'
11736
 
    {
11737
 
      try_FTMatchOptions();
11738
 
    }
11739
 
    if (l1 == 264)                  // 'weight'
11740
 
    {
11741
 
      try_FTWeight();
11742
 
    }
11743
 
  }
11744
 
 
11745
 
  function parse_FTPrimary()
11746
 
  {
11747
 
    eventHandler.startNonterminal("FTPrimary", e0);
11748
 
    switch (l1)
11749
 
    {
11750
 
    case 34:                        // '('
11751
 
      shift(34);                    // '('
11752
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11753
 
      whitespace();
11754
 
      parse_FTSelection();
11755
 
      shift(37);                    // ')'
11756
 
      break;
11757
 
    case 35:                        // '(#'
11758
 
      parse_FTExtensionSelection();
11759
 
      break;
11760
 
    default:
11761
 
      parse_FTWords();
11762
 
      lookahead1W(215);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11763
 
      if (l1 == 195)                // 'occurs'
11764
 
      {
11765
 
        whitespace();
11766
 
        parse_FTTimes();
11767
 
      }
11768
 
    }
11769
 
    eventHandler.endNonterminal("FTPrimary", e0);
11770
 
  }
11771
 
 
11772
 
  function try_FTPrimary()
11773
 
  {
11774
 
    switch (l1)
11775
 
    {
11776
 
    case 34:                        // '('
11777
 
      shiftT(34);                   // '('
11778
 
      lookahead1W(162);             // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
11779
 
      try_FTSelection();
11780
 
      shiftT(37);                   // ')'
11781
 
      break;
11782
 
    case 35:                        // '(#'
11783
 
      try_FTExtensionSelection();
11784
 
      break;
11785
 
    default:
11786
 
      try_FTWords();
11787
 
      lookahead1W(215);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11788
 
      if (l1 == 195)                // 'occurs'
11789
 
      {
11790
 
        try_FTTimes();
11791
 
      }
11792
 
    }
11793
 
  }
11794
 
 
11795
 
  function parse_FTWords()
11796
 
  {
11797
 
    eventHandler.startNonterminal("FTWords", e0);
11798
 
    parse_FTWordsValue();
11799
 
    lookahead1W(221);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11800
 
    if (l1 == 71                    // 'all'
11801
 
     || l1 == 76                    // 'any'
11802
 
     || l1 == 210)                  // 'phrase'
11803
 
    {
11804
 
      whitespace();
11805
 
      parse_FTAnyallOption();
11806
 
    }
11807
 
    eventHandler.endNonterminal("FTWords", e0);
11808
 
  }
11809
 
 
11810
 
  function try_FTWords()
11811
 
  {
11812
 
    try_FTWordsValue();
11813
 
    lookahead1W(221);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11814
 
    if (l1 == 71                    // 'all'
11815
 
     || l1 == 76                    // 'any'
11816
 
     || l1 == 210)                  // 'phrase'
11817
 
    {
11818
 
      try_FTAnyallOption();
11819
 
    }
11820
 
  }
11821
 
 
11822
 
  function parse_FTWordsValue()
11823
 
  {
11824
 
    eventHandler.startNonterminal("FTWordsValue", e0);
11825
 
    switch (l1)
11826
 
    {
11827
 
    case 11:                        // StringLiteral
11828
 
      shift(11);                    // StringLiteral
11829
 
      break;
11830
 
    default:
11831
 
      shift(276);                   // '{'
11832
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11833
 
      whitespace();
11834
 
      parse_Expr();
11835
 
      shift(282);                   // '}'
11836
 
    }
11837
 
    eventHandler.endNonterminal("FTWordsValue", e0);
11838
 
  }
11839
 
 
11840
 
  function try_FTWordsValue()
11841
 
  {
11842
 
    switch (l1)
11843
 
    {
11844
 
    case 11:                        // StringLiteral
11845
 
      shiftT(11);                   // StringLiteral
11846
 
      break;
11847
 
    default:
11848
 
      shiftT(276);                  // '{'
11849
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11850
 
      try_Expr();
11851
 
      shiftT(282);                  // '}'
11852
 
    }
11853
 
  }
11854
 
 
11855
 
  function parse_FTExtensionSelection()
11856
 
  {
11857
 
    eventHandler.startNonterminal("FTExtensionSelection", e0);
11858
 
    for (;;)
11859
 
    {
11860
 
      whitespace();
11861
 
      parse_Pragma();
11862
 
      lookahead1W(100);             // S^WS | '(#' | '(:' | '{'
11863
 
      if (l1 != 35)                 // '(#'
11864
 
      {
11865
 
        break;
11866
 
      }
11867
 
    }
11868
 
    shift(276);                     // '{'
11869
 
    lookahead1W(166);               // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
11870
 
    if (l1 != 282)                  // '}'
11871
 
    {
11872
 
      whitespace();
11873
 
      parse_FTSelection();
11874
 
    }
11875
 
    shift(282);                     // '}'
11876
 
    eventHandler.endNonterminal("FTExtensionSelection", e0);
11877
 
  }
11878
 
 
11879
 
  function try_FTExtensionSelection()
11880
 
  {
11881
 
    for (;;)
11882
 
    {
11883
 
      try_Pragma();
11884
 
      lookahead1W(100);             // S^WS | '(#' | '(:' | '{'
11885
 
      if (l1 != 35)                 // '(#'
11886
 
      {
11887
 
        break;
11888
 
      }
11889
 
    }
11890
 
    shiftT(276);                    // '{'
11891
 
    lookahead1W(166);               // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
11892
 
    if (l1 != 282)                  // '}'
11893
 
    {
11894
 
      try_FTSelection();
11895
 
    }
11896
 
    shiftT(282);                    // '}'
11897
 
  }
11898
 
 
11899
 
  function parse_FTAnyallOption()
11900
 
  {
11901
 
    eventHandler.startNonterminal("FTAnyallOption", e0);
11902
 
    switch (l1)
11903
 
    {
11904
 
    case 76:                        // 'any'
11905
 
      shift(76);                    // 'any'
11906
 
      lookahead1W(218);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11907
 
      if (l1 == 272)                // 'word'
11908
 
      {
11909
 
        shift(272);                 // 'word'
11910
 
      }
11911
 
      break;
11912
 
    case 71:                        // 'all'
11913
 
      shift(71);                    // 'all'
11914
 
      lookahead1W(219);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11915
 
      if (l1 == 273)                // 'words'
11916
 
      {
11917
 
        shift(273);                 // 'words'
11918
 
      }
11919
 
      break;
11920
 
    default:
11921
 
      shift(210);                   // 'phrase'
11922
 
    }
11923
 
    eventHandler.endNonterminal("FTAnyallOption", e0);
11924
 
  }
11925
 
 
11926
 
  function try_FTAnyallOption()
11927
 
  {
11928
 
    switch (l1)
11929
 
    {
11930
 
    case 76:                        // 'any'
11931
 
      shiftT(76);                   // 'any'
11932
 
      lookahead1W(218);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11933
 
      if (l1 == 272)                // 'word'
11934
 
      {
11935
 
        shiftT(272);                // 'word'
11936
 
      }
11937
 
      break;
11938
 
    case 71:                        // 'all'
11939
 
      shiftT(71);                   // 'all'
11940
 
      lookahead1W(219);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
11941
 
      if (l1 == 273)                // 'words'
11942
 
      {
11943
 
        shiftT(273);                // 'words'
11944
 
      }
11945
 
      break;
11946
 
    default:
11947
 
      shiftT(210);                  // 'phrase'
11948
 
    }
11949
 
  }
11950
 
 
11951
 
  function parse_FTTimes()
11952
 
  {
11953
 
    eventHandler.startNonterminal("FTTimes", e0);
11954
 
    shift(195);                     // 'occurs'
11955
 
    lookahead1W(149);               // S^WS | '(:' | 'at' | 'exactly' | 'from'
11956
 
    whitespace();
11957
 
    parse_FTRange();
11958
 
    shift(247);                     // 'times'
11959
 
    eventHandler.endNonterminal("FTTimes", e0);
11960
 
  }
11961
 
 
11962
 
  function try_FTTimes()
11963
 
  {
11964
 
    shiftT(195);                    // 'occurs'
11965
 
    lookahead1W(149);               // S^WS | '(:' | 'at' | 'exactly' | 'from'
11966
 
    try_FTRange();
11967
 
    shiftT(247);                    // 'times'
11968
 
  }
11969
 
 
11970
 
  function parse_FTRange()
11971
 
  {
11972
 
    eventHandler.startNonterminal("FTRange", e0);
11973
 
    switch (l1)
11974
 
    {
11975
 
    case 130:                       // 'exactly'
11976
 
      shift(130);                   // 'exactly'
11977
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11978
 
      whitespace();
11979
 
      parse_AdditiveExpr();
11980
 
      break;
11981
 
    case 81:                        // 'at'
11982
 
      shift(81);                    // 'at'
11983
 
      lookahead1W(125);             // S^WS | '(:' | 'least' | 'most'
11984
 
      switch (l1)
11985
 
      {
11986
 
      case 173:                     // 'least'
11987
 
        shift(173);                 // 'least'
11988
 
        lookahead1W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11989
 
        whitespace();
11990
 
        parse_AdditiveExpr();
11991
 
        break;
11992
 
      default:
11993
 
        shift(183);                 // 'most'
11994
 
        lookahead1W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
11995
 
        whitespace();
11996
 
        parse_AdditiveExpr();
11997
 
      }
11998
 
      break;
11999
 
    default:
12000
 
      shift(140);                   // 'from'
12001
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12002
 
      whitespace();
12003
 
      parse_AdditiveExpr();
12004
 
      shift(248);                   // 'to'
12005
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12006
 
      whitespace();
12007
 
      parse_AdditiveExpr();
12008
 
    }
12009
 
    eventHandler.endNonterminal("FTRange", e0);
12010
 
  }
12011
 
 
12012
 
  function try_FTRange()
12013
 
  {
12014
 
    switch (l1)
12015
 
    {
12016
 
    case 130:                       // 'exactly'
12017
 
      shiftT(130);                  // 'exactly'
12018
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12019
 
      try_AdditiveExpr();
12020
 
      break;
12021
 
    case 81:                        // 'at'
12022
 
      shiftT(81);                   // 'at'
12023
 
      lookahead1W(125);             // S^WS | '(:' | 'least' | 'most'
12024
 
      switch (l1)
12025
 
      {
12026
 
      case 173:                     // 'least'
12027
 
        shiftT(173);                // 'least'
12028
 
        lookahead1W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12029
 
        try_AdditiveExpr();
12030
 
        break;
12031
 
      default:
12032
 
        shiftT(183);                // 'most'
12033
 
        lookahead1W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12034
 
        try_AdditiveExpr();
12035
 
      }
12036
 
      break;
12037
 
    default:
12038
 
      shiftT(140);                  // 'from'
12039
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12040
 
      try_AdditiveExpr();
12041
 
      shiftT(248);                  // 'to'
12042
 
      lookahead1W(265);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12043
 
      try_AdditiveExpr();
12044
 
    }
12045
 
  }
12046
 
 
12047
 
  function parse_FTPosFilter()
12048
 
  {
12049
 
    eventHandler.startNonterminal("FTPosFilter", e0);
12050
 
    switch (l1)
12051
 
    {
12052
 
    case 202:                       // 'ordered'
12053
 
      parse_FTOrder();
12054
 
      break;
12055
 
    case 269:                       // 'window'
12056
 
      parse_FTWindow();
12057
 
      break;
12058
 
    case 117:                       // 'distance'
12059
 
      parse_FTDistance();
12060
 
      break;
12061
 
    case 115:                       // 'different'
12062
 
    case 223:                       // 'same'
12063
 
      parse_FTScope();
12064
 
      break;
12065
 
    default:
12066
 
      parse_FTContent();
12067
 
    }
12068
 
    eventHandler.endNonterminal("FTPosFilter", e0);
12069
 
  }
12070
 
 
12071
 
  function try_FTPosFilter()
12072
 
  {
12073
 
    switch (l1)
12074
 
    {
12075
 
    case 202:                       // 'ordered'
12076
 
      try_FTOrder();
12077
 
      break;
12078
 
    case 269:                       // 'window'
12079
 
      try_FTWindow();
12080
 
      break;
12081
 
    case 117:                       // 'distance'
12082
 
      try_FTDistance();
12083
 
      break;
12084
 
    case 115:                       // 'different'
12085
 
    case 223:                       // 'same'
12086
 
      try_FTScope();
12087
 
      break;
12088
 
    default:
12089
 
      try_FTContent();
12090
 
    }
12091
 
  }
12092
 
 
12093
 
  function parse_FTOrder()
12094
 
  {
12095
 
    eventHandler.startNonterminal("FTOrder", e0);
12096
 
    shift(202);                     // 'ordered'
12097
 
    eventHandler.endNonterminal("FTOrder", e0);
12098
 
  }
12099
 
 
12100
 
  function try_FTOrder()
12101
 
  {
12102
 
    shiftT(202);                    // 'ordered'
12103
 
  }
12104
 
 
12105
 
  function parse_FTWindow()
12106
 
  {
12107
 
    eventHandler.startNonterminal("FTWindow", e0);
12108
 
    shift(269);                     // 'window'
12109
 
    lookahead1W(265);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12110
 
    whitespace();
12111
 
    parse_AdditiveExpr();
12112
 
    whitespace();
12113
 
    parse_FTUnit();
12114
 
    eventHandler.endNonterminal("FTWindow", e0);
12115
 
  }
12116
 
 
12117
 
  function try_FTWindow()
12118
 
  {
12119
 
    shiftT(269);                    // 'window'
12120
 
    lookahead1W(265);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
12121
 
    try_AdditiveExpr();
12122
 
    try_FTUnit();
12123
 
  }
12124
 
 
12125
 
  function parse_FTDistance()
12126
 
  {
12127
 
    eventHandler.startNonterminal("FTDistance", e0);
12128
 
    shift(117);                     // 'distance'
12129
 
    lookahead1W(149);               // S^WS | '(:' | 'at' | 'exactly' | 'from'
12130
 
    whitespace();
12131
 
    parse_FTRange();
12132
 
    whitespace();
12133
 
    parse_FTUnit();
12134
 
    eventHandler.endNonterminal("FTDistance", e0);
12135
 
  }
12136
 
 
12137
 
  function try_FTDistance()
12138
 
  {
12139
 
    shiftT(117);                    // 'distance'
12140
 
    lookahead1W(149);               // S^WS | '(:' | 'at' | 'exactly' | 'from'
12141
 
    try_FTRange();
12142
 
    try_FTUnit();
12143
 
  }
12144
 
 
12145
 
  function parse_FTUnit()
12146
 
  {
12147
 
    eventHandler.startNonterminal("FTUnit", e0);
12148
 
    switch (l1)
12149
 
    {
12150
 
    case 273:                       // 'words'
12151
 
      shift(273);                   // 'words'
12152
 
      break;
12153
 
    case 232:                       // 'sentences'
12154
 
      shift(232);                   // 'sentences'
12155
 
      break;
12156
 
    default:
12157
 
      shift(205);                   // 'paragraphs'
12158
 
    }
12159
 
    eventHandler.endNonterminal("FTUnit", e0);
12160
 
  }
12161
 
 
12162
 
  function try_FTUnit()
12163
 
  {
12164
 
    switch (l1)
12165
 
    {
12166
 
    case 273:                       // 'words'
12167
 
      shiftT(273);                  // 'words'
12168
 
      break;
12169
 
    case 232:                       // 'sentences'
12170
 
      shiftT(232);                  // 'sentences'
12171
 
      break;
12172
 
    default:
12173
 
      shiftT(205);                  // 'paragraphs'
12174
 
    }
12175
 
  }
12176
 
 
12177
 
  function parse_FTScope()
12178
 
  {
12179
 
    eventHandler.startNonterminal("FTScope", e0);
12180
 
    switch (l1)
12181
 
    {
12182
 
    case 223:                       // 'same'
12183
 
      shift(223);                   // 'same'
12184
 
      break;
12185
 
    default:
12186
 
      shift(115);                   // 'different'
12187
 
    }
12188
 
    lookahead1W(132);               // S^WS | '(:' | 'paragraph' | 'sentence'
12189
 
    whitespace();
12190
 
    parse_FTBigUnit();
12191
 
    eventHandler.endNonterminal("FTScope", e0);
12192
 
  }
12193
 
 
12194
 
  function try_FTScope()
12195
 
  {
12196
 
    switch (l1)
12197
 
    {
12198
 
    case 223:                       // 'same'
12199
 
      shiftT(223);                  // 'same'
12200
 
      break;
12201
 
    default:
12202
 
      shiftT(115);                  // 'different'
12203
 
    }
12204
 
    lookahead1W(132);               // S^WS | '(:' | 'paragraph' | 'sentence'
12205
 
    try_FTBigUnit();
12206
 
  }
12207
 
 
12208
 
  function parse_FTBigUnit()
12209
 
  {
12210
 
    eventHandler.startNonterminal("FTBigUnit", e0);
12211
 
    switch (l1)
12212
 
    {
12213
 
    case 231:                       // 'sentence'
12214
 
      shift(231);                   // 'sentence'
12215
 
      break;
12216
 
    default:
12217
 
      shift(204);                   // 'paragraph'
12218
 
    }
12219
 
    eventHandler.endNonterminal("FTBigUnit", e0);
12220
 
  }
12221
 
 
12222
 
  function try_FTBigUnit()
12223
 
  {
12224
 
    switch (l1)
12225
 
    {
12226
 
    case 231:                       // 'sentence'
12227
 
      shiftT(231);                  // 'sentence'
12228
 
      break;
12229
 
    default:
12230
 
      shiftT(204);                  // 'paragraph'
12231
 
    }
12232
 
  }
12233
 
 
12234
 
  function parse_FTContent()
12235
 
  {
12236
 
    eventHandler.startNonterminal("FTContent", e0);
12237
 
    switch (l1)
12238
 
    {
12239
 
    case 81:                        // 'at'
12240
 
      shift(81);                    // 'at'
12241
 
      lookahead1W(117);             // S^WS | '(:' | 'end' | 'start'
12242
 
      switch (l1)
12243
 
      {
12244
 
      case 237:                     // 'start'
12245
 
        shift(237);                 // 'start'
12246
 
        break;
12247
 
      default:
12248
 
        shift(126);                 // 'end'
12249
 
      }
12250
 
      break;
12251
 
    default:
12252
 
      shift(127);                   // 'entire'
12253
 
      lookahead1W(42);              // S^WS | '(:' | 'content'
12254
 
      shift(100);                   // 'content'
12255
 
    }
12256
 
    eventHandler.endNonterminal("FTContent", e0);
12257
 
  }
12258
 
 
12259
 
  function try_FTContent()
12260
 
  {
12261
 
    switch (l1)
12262
 
    {
12263
 
    case 81:                        // 'at'
12264
 
      shiftT(81);                   // 'at'
12265
 
      lookahead1W(117);             // S^WS | '(:' | 'end' | 'start'
12266
 
      switch (l1)
12267
 
      {
12268
 
      case 237:                     // 'start'
12269
 
        shiftT(237);                // 'start'
12270
 
        break;
12271
 
      default:
12272
 
        shiftT(126);                // 'end'
12273
 
      }
12274
 
      break;
12275
 
    default:
12276
 
      shiftT(127);                  // 'entire'
12277
 
      lookahead1W(42);              // S^WS | '(:' | 'content'
12278
 
      shiftT(100);                  // 'content'
12279
 
    }
12280
 
  }
12281
 
 
12282
 
  function parse_FTMatchOptions()
12283
 
  {
12284
 
    eventHandler.startNonterminal("FTMatchOptions", e0);
12285
 
    for (;;)
12286
 
    {
12287
 
      shift(259);                   // 'using'
12288
 
      lookahead1W(181);             // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
12289
 
      whitespace();
12290
 
      parse_FTMatchOption();
12291
 
      lookahead1W(214);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12292
 
      if (l1 != 259)                // 'using'
12293
 
      {
12294
 
        break;
12295
 
      }
12296
 
    }
12297
 
    eventHandler.endNonterminal("FTMatchOptions", e0);
12298
 
  }
12299
 
 
12300
 
  function try_FTMatchOptions()
12301
 
  {
12302
 
    for (;;)
12303
 
    {
12304
 
      shiftT(259);                  // 'using'
12305
 
      lookahead1W(181);             // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
12306
 
      try_FTMatchOption();
12307
 
      lookahead1W(214);             // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12308
 
      if (l1 != 259)                // 'using'
12309
 
      {
12310
 
        break;
12311
 
      }
12312
 
    }
12313
 
  }
12314
 
 
12315
 
  function parse_FTMatchOption()
12316
 
  {
12317
 
    eventHandler.startNonterminal("FTMatchOption", e0);
12318
 
    switch (l1)
12319
 
    {
12320
 
    case 188:                       // 'no'
12321
 
      lookahead2W(161);             // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
12322
 
      break;
12323
 
    default:
12324
 
      lk = l1;
12325
 
    }
12326
 
    switch (lk)
12327
 
    {
12328
 
    case 169:                       // 'language'
12329
 
      parse_FTLanguageOption();
12330
 
      break;
12331
 
    case 268:                       // 'wildcards'
12332
 
    case 137404:                    // 'no' 'wildcards'
12333
 
      parse_FTWildCardOption();
12334
 
      break;
12335
 
    case 246:                       // 'thesaurus'
12336
 
    case 126140:                    // 'no' 'thesaurus'
12337
 
      parse_FTThesaurusOption();
12338
 
      break;
12339
 
    case 238:                       // 'stemming'
12340
 
    case 122044:                    // 'no' 'stemming'
12341
 
      parse_FTStemOption();
12342
 
      break;
12343
 
    case 114:                       // 'diacritics'
12344
 
      parse_FTDiacriticsOption();
12345
 
      break;
12346
 
    case 239:                       // 'stop'
12347
 
    case 122556:                    // 'no' 'stop'
12348
 
      parse_FTStopWordOption();
12349
 
      break;
12350
 
    case 199:                       // 'option'
12351
 
      parse_FTExtensionOption();
12352
 
      break;
12353
 
    default:
12354
 
      parse_FTCaseOption();
12355
 
    }
12356
 
    eventHandler.endNonterminal("FTMatchOption", e0);
12357
 
  }
12358
 
 
12359
 
  function try_FTMatchOption()
12360
 
  {
12361
 
    switch (l1)
12362
 
    {
12363
 
    case 188:                       // 'no'
12364
 
      lookahead2W(161);             // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
12365
 
      break;
12366
 
    default:
12367
 
      lk = l1;
12368
 
    }
12369
 
    switch (lk)
12370
 
    {
12371
 
    case 169:                       // 'language'
12372
 
      try_FTLanguageOption();
12373
 
      break;
12374
 
    case 268:                       // 'wildcards'
12375
 
    case 137404:                    // 'no' 'wildcards'
12376
 
      try_FTWildCardOption();
12377
 
      break;
12378
 
    case 246:                       // 'thesaurus'
12379
 
    case 126140:                    // 'no' 'thesaurus'
12380
 
      try_FTThesaurusOption();
12381
 
      break;
12382
 
    case 238:                       // 'stemming'
12383
 
    case 122044:                    // 'no' 'stemming'
12384
 
      try_FTStemOption();
12385
 
      break;
12386
 
    case 114:                       // 'diacritics'
12387
 
      try_FTDiacriticsOption();
12388
 
      break;
12389
 
    case 239:                       // 'stop'
12390
 
    case 122556:                    // 'no' 'stop'
12391
 
      try_FTStopWordOption();
12392
 
      break;
12393
 
    case 199:                       // 'option'
12394
 
      try_FTExtensionOption();
12395
 
      break;
12396
 
    default:
12397
 
      try_FTCaseOption();
12398
 
    }
12399
 
  }
12400
 
 
12401
 
  function parse_FTCaseOption()
12402
 
  {
12403
 
    eventHandler.startNonterminal("FTCaseOption", e0);
12404
 
    switch (l1)
12405
 
    {
12406
 
    case 88:                        // 'case'
12407
 
      shift(88);                    // 'case'
12408
 
      lookahead1W(124);             // S^WS | '(:' | 'insensitive' | 'sensitive'
12409
 
      switch (l1)
12410
 
      {
12411
 
      case 158:                     // 'insensitive'
12412
 
        shift(158);                 // 'insensitive'
12413
 
        break;
12414
 
      default:
12415
 
        shift(230);                 // 'sensitive'
12416
 
      }
12417
 
      break;
12418
 
    case 177:                       // 'lowercase'
12419
 
      shift(177);                   // 'lowercase'
12420
 
      break;
12421
 
    default:
12422
 
      shift(258);                   // 'uppercase'
12423
 
    }
12424
 
    eventHandler.endNonterminal("FTCaseOption", e0);
12425
 
  }
12426
 
 
12427
 
  function try_FTCaseOption()
12428
 
  {
12429
 
    switch (l1)
12430
 
    {
12431
 
    case 88:                        // 'case'
12432
 
      shiftT(88);                   // 'case'
12433
 
      lookahead1W(124);             // S^WS | '(:' | 'insensitive' | 'sensitive'
12434
 
      switch (l1)
12435
 
      {
12436
 
      case 158:                     // 'insensitive'
12437
 
        shiftT(158);                // 'insensitive'
12438
 
        break;
12439
 
      default:
12440
 
        shiftT(230);                // 'sensitive'
12441
 
      }
12442
 
      break;
12443
 
    case 177:                       // 'lowercase'
12444
 
      shiftT(177);                  // 'lowercase'
12445
 
      break;
12446
 
    default:
12447
 
      shiftT(258);                  // 'uppercase'
12448
 
    }
12449
 
  }
12450
 
 
12451
 
  function parse_FTDiacriticsOption()
12452
 
  {
12453
 
    eventHandler.startNonterminal("FTDiacriticsOption", e0);
12454
 
    shift(114);                     // 'diacritics'
12455
 
    lookahead1W(124);               // S^WS | '(:' | 'insensitive' | 'sensitive'
12456
 
    switch (l1)
12457
 
    {
12458
 
    case 158:                       // 'insensitive'
12459
 
      shift(158);                   // 'insensitive'
12460
 
      break;
12461
 
    default:
12462
 
      shift(230);                   // 'sensitive'
12463
 
    }
12464
 
    eventHandler.endNonterminal("FTDiacriticsOption", e0);
12465
 
  }
12466
 
 
12467
 
  function try_FTDiacriticsOption()
12468
 
  {
12469
 
    shiftT(114);                    // 'diacritics'
12470
 
    lookahead1W(124);               // S^WS | '(:' | 'insensitive' | 'sensitive'
12471
 
    switch (l1)
12472
 
    {
12473
 
    case 158:                       // 'insensitive'
12474
 
      shiftT(158);                  // 'insensitive'
12475
 
      break;
12476
 
    default:
12477
 
      shiftT(230);                  // 'sensitive'
12478
 
    }
12479
 
  }
12480
 
 
12481
 
  function parse_FTStemOption()
12482
 
  {
12483
 
    eventHandler.startNonterminal("FTStemOption", e0);
12484
 
    switch (l1)
12485
 
    {
12486
 
    case 238:                       // 'stemming'
12487
 
      shift(238);                   // 'stemming'
12488
 
      break;
12489
 
    default:
12490
 
      shift(188);                   // 'no'
12491
 
      lookahead1W(74);              // S^WS | '(:' | 'stemming'
12492
 
      shift(238);                   // 'stemming'
12493
 
    }
12494
 
    eventHandler.endNonterminal("FTStemOption", e0);
12495
 
  }
12496
 
 
12497
 
  function try_FTStemOption()
12498
 
  {
12499
 
    switch (l1)
12500
 
    {
12501
 
    case 238:                       // 'stemming'
12502
 
      shiftT(238);                  // 'stemming'
12503
 
      break;
12504
 
    default:
12505
 
      shiftT(188);                  // 'no'
12506
 
      lookahead1W(74);              // S^WS | '(:' | 'stemming'
12507
 
      shiftT(238);                  // 'stemming'
12508
 
    }
12509
 
  }
12510
 
 
12511
 
  function parse_FTThesaurusOption()
12512
 
  {
12513
 
    eventHandler.startNonterminal("FTThesaurusOption", e0);
12514
 
    switch (l1)
12515
 
    {
12516
 
    case 246:                       // 'thesaurus'
12517
 
      shift(246);                   // 'thesaurus'
12518
 
      lookahead1W(142);             // S^WS | '(' | '(:' | 'at' | 'default'
12519
 
      switch (l1)
12520
 
      {
12521
 
      case 81:                      // 'at'
12522
 
        whitespace();
12523
 
        parse_FTThesaurusID();
12524
 
        break;
12525
 
      case 109:                     // 'default'
12526
 
        shift(109);                 // 'default'
12527
 
        break;
12528
 
      default:
12529
 
        shift(34);                  // '('
12530
 
        lookahead1W(112);           // S^WS | '(:' | 'at' | 'default'
12531
 
        switch (l1)
12532
 
        {
12533
 
        case 81:                    // 'at'
12534
 
          whitespace();
12535
 
          parse_FTThesaurusID();
12536
 
          break;
12537
 
        default:
12538
 
          shift(109);               // 'default'
12539
 
        }
12540
 
        for (;;)
12541
 
        {
12542
 
          lookahead1W(101);         // S^WS | '(:' | ')' | ','
12543
 
          if (l1 != 41)             // ','
12544
 
          {
12545
 
            break;
12546
 
          }
12547
 
          shift(41);                // ','
12548
 
          lookahead1W(31);          // S^WS | '(:' | 'at'
12549
 
          whitespace();
12550
 
          parse_FTThesaurusID();
12551
 
        }
12552
 
        shift(37);                  // ')'
12553
 
      }
12554
 
      break;
12555
 
    default:
12556
 
      shift(188);                   // 'no'
12557
 
      lookahead1W(78);              // S^WS | '(:' | 'thesaurus'
12558
 
      shift(246);                   // 'thesaurus'
12559
 
    }
12560
 
    eventHandler.endNonterminal("FTThesaurusOption", e0);
12561
 
  }
12562
 
 
12563
 
  function try_FTThesaurusOption()
12564
 
  {
12565
 
    switch (l1)
12566
 
    {
12567
 
    case 246:                       // 'thesaurus'
12568
 
      shiftT(246);                  // 'thesaurus'
12569
 
      lookahead1W(142);             // S^WS | '(' | '(:' | 'at' | 'default'
12570
 
      switch (l1)
12571
 
      {
12572
 
      case 81:                      // 'at'
12573
 
        try_FTThesaurusID();
12574
 
        break;
12575
 
      case 109:                     // 'default'
12576
 
        shiftT(109);                // 'default'
12577
 
        break;
12578
 
      default:
12579
 
        shiftT(34);                 // '('
12580
 
        lookahead1W(112);           // S^WS | '(:' | 'at' | 'default'
12581
 
        switch (l1)
12582
 
        {
12583
 
        case 81:                    // 'at'
12584
 
          try_FTThesaurusID();
12585
 
          break;
12586
 
        default:
12587
 
          shiftT(109);              // 'default'
12588
 
        }
12589
 
        for (;;)
12590
 
        {
12591
 
          lookahead1W(101);         // S^WS | '(:' | ')' | ','
12592
 
          if (l1 != 41)             // ','
12593
 
          {
12594
 
            break;
12595
 
          }
12596
 
          shiftT(41);               // ','
12597
 
          lookahead1W(31);          // S^WS | '(:' | 'at'
12598
 
          try_FTThesaurusID();
12599
 
        }
12600
 
        shiftT(37);                 // ')'
12601
 
      }
12602
 
      break;
12603
 
    default:
12604
 
      shiftT(188);                  // 'no'
12605
 
      lookahead1W(78);              // S^WS | '(:' | 'thesaurus'
12606
 
      shiftT(246);                  // 'thesaurus'
12607
 
    }
12608
 
  }
12609
 
 
12610
 
  function parse_FTThesaurusID()
12611
 
  {
12612
 
    eventHandler.startNonterminal("FTThesaurusID", e0);
12613
 
    shift(81);                      // 'at'
12614
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
12615
 
    shift(7);                       // URILiteral
12616
 
    lookahead1W(220);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12617
 
    if (l1 == 217)                  // 'relationship'
12618
 
    {
12619
 
      shift(217);                   // 'relationship'
12620
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
12621
 
      shift(11);                    // StringLiteral
12622
 
    }
12623
 
    lookahead1W(216);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12624
 
    switch (l1)
12625
 
    {
12626
 
    case 81:                        // 'at'
12627
 
      lookahead2W(165);             // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
12628
 
      break;
12629
 
    default:
12630
 
      lk = l1;
12631
 
    }
12632
 
    if (lk == 130                   // 'exactly'
12633
 
     || lk == 140                   // 'from'
12634
 
     || lk == 88657                 // 'at' 'least'
12635
 
     || lk == 93777)                // 'at' 'most'
12636
 
    {
12637
 
      whitespace();
12638
 
      parse_FTLiteralRange();
12639
 
      lookahead1W(58);              // S^WS | '(:' | 'levels'
12640
 
      shift(175);                   // 'levels'
12641
 
    }
12642
 
    eventHandler.endNonterminal("FTThesaurusID", e0);
12643
 
  }
12644
 
 
12645
 
  function try_FTThesaurusID()
12646
 
  {
12647
 
    shiftT(81);                     // 'at'
12648
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
12649
 
    shiftT(7);                      // URILiteral
12650
 
    lookahead1W(220);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12651
 
    if (l1 == 217)                  // 'relationship'
12652
 
    {
12653
 
      shiftT(217);                  // 'relationship'
12654
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
12655
 
      shiftT(11);                   // StringLiteral
12656
 
    }
12657
 
    lookahead1W(216);               // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12658
 
    switch (l1)
12659
 
    {
12660
 
    case 81:                        // 'at'
12661
 
      lookahead2W(165);             // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
12662
 
      break;
12663
 
    default:
12664
 
      lk = l1;
12665
 
    }
12666
 
    if (lk == 130                   // 'exactly'
12667
 
     || lk == 140                   // 'from'
12668
 
     || lk == 88657                 // 'at' 'least'
12669
 
     || lk == 93777)                // 'at' 'most'
12670
 
    {
12671
 
      try_FTLiteralRange();
12672
 
      lookahead1W(58);              // S^WS | '(:' | 'levels'
12673
 
      shiftT(175);                  // 'levels'
12674
 
    }
12675
 
  }
12676
 
 
12677
 
  function parse_FTLiteralRange()
12678
 
  {
12679
 
    eventHandler.startNonterminal("FTLiteralRange", e0);
12680
 
    switch (l1)
12681
 
    {
12682
 
    case 130:                       // 'exactly'
12683
 
      shift(130);                   // 'exactly'
12684
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12685
 
      shift(8);                     // IntegerLiteral
12686
 
      break;
12687
 
    case 81:                        // 'at'
12688
 
      shift(81);                    // 'at'
12689
 
      lookahead1W(125);             // S^WS | '(:' | 'least' | 'most'
12690
 
      switch (l1)
12691
 
      {
12692
 
      case 173:                     // 'least'
12693
 
        shift(173);                 // 'least'
12694
 
        lookahead1W(16);            // IntegerLiteral | S^WS | '(:'
12695
 
        shift(8);                   // IntegerLiteral
12696
 
        break;
12697
 
      default:
12698
 
        shift(183);                 // 'most'
12699
 
        lookahead1W(16);            // IntegerLiteral | S^WS | '(:'
12700
 
        shift(8);                   // IntegerLiteral
12701
 
      }
12702
 
      break;
12703
 
    default:
12704
 
      shift(140);                   // 'from'
12705
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12706
 
      shift(8);                     // IntegerLiteral
12707
 
      lookahead1W(79);              // S^WS | '(:' | 'to'
12708
 
      shift(248);                   // 'to'
12709
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12710
 
      shift(8);                     // IntegerLiteral
12711
 
    }
12712
 
    eventHandler.endNonterminal("FTLiteralRange", e0);
12713
 
  }
12714
 
 
12715
 
  function try_FTLiteralRange()
12716
 
  {
12717
 
    switch (l1)
12718
 
    {
12719
 
    case 130:                       // 'exactly'
12720
 
      shiftT(130);                  // 'exactly'
12721
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12722
 
      shiftT(8);                    // IntegerLiteral
12723
 
      break;
12724
 
    case 81:                        // 'at'
12725
 
      shiftT(81);                   // 'at'
12726
 
      lookahead1W(125);             // S^WS | '(:' | 'least' | 'most'
12727
 
      switch (l1)
12728
 
      {
12729
 
      case 173:                     // 'least'
12730
 
        shiftT(173);                // 'least'
12731
 
        lookahead1W(16);            // IntegerLiteral | S^WS | '(:'
12732
 
        shiftT(8);                  // IntegerLiteral
12733
 
        break;
12734
 
      default:
12735
 
        shiftT(183);                // 'most'
12736
 
        lookahead1W(16);            // IntegerLiteral | S^WS | '(:'
12737
 
        shiftT(8);                  // IntegerLiteral
12738
 
      }
12739
 
      break;
12740
 
    default:
12741
 
      shiftT(140);                  // 'from'
12742
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12743
 
      shiftT(8);                    // IntegerLiteral
12744
 
      lookahead1W(79);              // S^WS | '(:' | 'to'
12745
 
      shiftT(248);                  // 'to'
12746
 
      lookahead1W(16);              // IntegerLiteral | S^WS | '(:'
12747
 
      shiftT(8);                    // IntegerLiteral
12748
 
    }
12749
 
  }
12750
 
 
12751
 
  function parse_FTStopWordOption()
12752
 
  {
12753
 
    eventHandler.startNonterminal("FTStopWordOption", e0);
12754
 
    switch (l1)
12755
 
    {
12756
 
    case 239:                       // 'stop'
12757
 
      shift(239);                   // 'stop'
12758
 
      lookahead1W(86);              // S^WS | '(:' | 'words'
12759
 
      shift(273);                   // 'words'
12760
 
      lookahead1W(142);             // S^WS | '(' | '(:' | 'at' | 'default'
12761
 
      switch (l1)
12762
 
      {
12763
 
      case 109:                     // 'default'
12764
 
        shift(109);                 // 'default'
12765
 
        for (;;)
12766
 
        {
12767
 
          lookahead1W(217);         // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12768
 
          if (l1 != 131             // 'except'
12769
 
           && l1 != 254)            // 'union'
12770
 
          {
12771
 
            break;
12772
 
          }
12773
 
          whitespace();
12774
 
          parse_FTStopWordsInclExcl();
12775
 
        }
12776
 
        break;
12777
 
      default:
12778
 
        whitespace();
12779
 
        parse_FTStopWords();
12780
 
        for (;;)
12781
 
        {
12782
 
          lookahead1W(217);         // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12783
 
          if (l1 != 131             // 'except'
12784
 
           && l1 != 254)            // 'union'
12785
 
          {
12786
 
            break;
12787
 
          }
12788
 
          whitespace();
12789
 
          parse_FTStopWordsInclExcl();
12790
 
        }
12791
 
      }
12792
 
      break;
12793
 
    default:
12794
 
      shift(188);                   // 'no'
12795
 
      lookahead1W(75);              // S^WS | '(:' | 'stop'
12796
 
      shift(239);                   // 'stop'
12797
 
      lookahead1W(86);              // S^WS | '(:' | 'words'
12798
 
      shift(273);                   // 'words'
12799
 
    }
12800
 
    eventHandler.endNonterminal("FTStopWordOption", e0);
12801
 
  }
12802
 
 
12803
 
  function try_FTStopWordOption()
12804
 
  {
12805
 
    switch (l1)
12806
 
    {
12807
 
    case 239:                       // 'stop'
12808
 
      shiftT(239);                  // 'stop'
12809
 
      lookahead1W(86);              // S^WS | '(:' | 'words'
12810
 
      shiftT(273);                  // 'words'
12811
 
      lookahead1W(142);             // S^WS | '(' | '(:' | 'at' | 'default'
12812
 
      switch (l1)
12813
 
      {
12814
 
      case 109:                     // 'default'
12815
 
        shiftT(109);                // 'default'
12816
 
        for (;;)
12817
 
        {
12818
 
          lookahead1W(217);         // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12819
 
          if (l1 != 131             // 'except'
12820
 
           && l1 != 254)            // 'union'
12821
 
          {
12822
 
            break;
12823
 
          }
12824
 
          try_FTStopWordsInclExcl();
12825
 
        }
12826
 
        break;
12827
 
      default:
12828
 
        try_FTStopWords();
12829
 
        for (;;)
12830
 
        {
12831
 
          lookahead1W(217);         // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
12832
 
          if (l1 != 131             // 'except'
12833
 
           && l1 != 254)            // 'union'
12834
 
          {
12835
 
            break;
12836
 
          }
12837
 
          try_FTStopWordsInclExcl();
12838
 
        }
12839
 
      }
12840
 
      break;
12841
 
    default:
12842
 
      shiftT(188);                  // 'no'
12843
 
      lookahead1W(75);              // S^WS | '(:' | 'stop'
12844
 
      shiftT(239);                  // 'stop'
12845
 
      lookahead1W(86);              // S^WS | '(:' | 'words'
12846
 
      shiftT(273);                  // 'words'
12847
 
    }
12848
 
  }
12849
 
 
12850
 
  function parse_FTStopWords()
12851
 
  {
12852
 
    eventHandler.startNonterminal("FTStopWords", e0);
12853
 
    switch (l1)
12854
 
    {
12855
 
    case 81:                        // 'at'
12856
 
      shift(81);                    // 'at'
12857
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
12858
 
      shift(7);                     // URILiteral
12859
 
      break;
12860
 
    default:
12861
 
      shift(34);                    // '('
12862
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
12863
 
      shift(11);                    // StringLiteral
12864
 
      for (;;)
12865
 
      {
12866
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
12867
 
        if (l1 != 41)               // ','
12868
 
        {
12869
 
          break;
12870
 
        }
12871
 
        shift(41);                  // ','
12872
 
        lookahead1W(17);            // StringLiteral | S^WS | '(:'
12873
 
        shift(11);                  // StringLiteral
12874
 
      }
12875
 
      shift(37);                    // ')'
12876
 
    }
12877
 
    eventHandler.endNonterminal("FTStopWords", e0);
12878
 
  }
12879
 
 
12880
 
  function try_FTStopWords()
12881
 
  {
12882
 
    switch (l1)
12883
 
    {
12884
 
    case 81:                        // 'at'
12885
 
      shiftT(81);                   // 'at'
12886
 
      lookahead1W(15);              // URILiteral | S^WS | '(:'
12887
 
      shiftT(7);                    // URILiteral
12888
 
      break;
12889
 
    default:
12890
 
      shiftT(34);                   // '('
12891
 
      lookahead1W(17);              // StringLiteral | S^WS | '(:'
12892
 
      shiftT(11);                   // StringLiteral
12893
 
      for (;;)
12894
 
      {
12895
 
        lookahead1W(101);           // S^WS | '(:' | ')' | ','
12896
 
        if (l1 != 41)               // ','
12897
 
        {
12898
 
          break;
12899
 
        }
12900
 
        shiftT(41);                 // ','
12901
 
        lookahead1W(17);            // StringLiteral | S^WS | '(:'
12902
 
        shiftT(11);                 // StringLiteral
12903
 
      }
12904
 
      shiftT(37);                   // ')'
12905
 
    }
12906
 
  }
12907
 
 
12908
 
  function parse_FTStopWordsInclExcl()
12909
 
  {
12910
 
    eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
12911
 
    switch (l1)
12912
 
    {
12913
 
    case 254:                       // 'union'
12914
 
      shift(254);                   // 'union'
12915
 
      break;
12916
 
    default:
12917
 
      shift(131);                   // 'except'
12918
 
    }
12919
 
    lookahead1W(99);                // S^WS | '(' | '(:' | 'at'
12920
 
    whitespace();
12921
 
    parse_FTStopWords();
12922
 
    eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
12923
 
  }
12924
 
 
12925
 
  function try_FTStopWordsInclExcl()
12926
 
  {
12927
 
    switch (l1)
12928
 
    {
12929
 
    case 254:                       // 'union'
12930
 
      shiftT(254);                  // 'union'
12931
 
      break;
12932
 
    default:
12933
 
      shiftT(131);                  // 'except'
12934
 
    }
12935
 
    lookahead1W(99);                // S^WS | '(' | '(:' | 'at'
12936
 
    try_FTStopWords();
12937
 
  }
12938
 
 
12939
 
  function parse_FTLanguageOption()
12940
 
  {
12941
 
    eventHandler.startNonterminal("FTLanguageOption", e0);
12942
 
    shift(169);                     // 'language'
12943
 
    lookahead1W(17);                // StringLiteral | S^WS | '(:'
12944
 
    shift(11);                      // StringLiteral
12945
 
    eventHandler.endNonterminal("FTLanguageOption", e0);
12946
 
  }
12947
 
 
12948
 
  function try_FTLanguageOption()
12949
 
  {
12950
 
    shiftT(169);                    // 'language'
12951
 
    lookahead1W(17);                // StringLiteral | S^WS | '(:'
12952
 
    shiftT(11);                     // StringLiteral
12953
 
  }
12954
 
 
12955
 
  function parse_FTWildCardOption()
12956
 
  {
12957
 
    eventHandler.startNonterminal("FTWildCardOption", e0);
12958
 
    switch (l1)
12959
 
    {
12960
 
    case 268:                       // 'wildcards'
12961
 
      shift(268);                   // 'wildcards'
12962
 
      break;
12963
 
    default:
12964
 
      shift(188);                   // 'no'
12965
 
      lookahead1W(84);              // S^WS | '(:' | 'wildcards'
12966
 
      shift(268);                   // 'wildcards'
12967
 
    }
12968
 
    eventHandler.endNonterminal("FTWildCardOption", e0);
12969
 
  }
12970
 
 
12971
 
  function try_FTWildCardOption()
12972
 
  {
12973
 
    switch (l1)
12974
 
    {
12975
 
    case 268:                       // 'wildcards'
12976
 
      shiftT(268);                  // 'wildcards'
12977
 
      break;
12978
 
    default:
12979
 
      shiftT(188);                  // 'no'
12980
 
      lookahead1W(84);              // S^WS | '(:' | 'wildcards'
12981
 
      shiftT(268);                  // 'wildcards'
12982
 
    }
12983
 
  }
12984
 
 
12985
 
  function parse_FTExtensionOption()
12986
 
  {
12987
 
    eventHandler.startNonterminal("FTExtensionOption", e0);
12988
 
    shift(199);                     // 'option'
12989
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
12990
 
    whitespace();
12991
 
    parse_EQName();
12992
 
    lookahead1W(17);                // StringLiteral | S^WS | '(:'
12993
 
    shift(11);                      // StringLiteral
12994
 
    eventHandler.endNonterminal("FTExtensionOption", e0);
12995
 
  }
12996
 
 
12997
 
  function try_FTExtensionOption()
12998
 
  {
12999
 
    shiftT(199);                    // 'option'
13000
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13001
 
    try_EQName();
13002
 
    lookahead1W(17);                // StringLiteral | S^WS | '(:'
13003
 
    shiftT(11);                     // StringLiteral
13004
 
  }
13005
 
 
13006
 
  function parse_FTIgnoreOption()
13007
 
  {
13008
 
    eventHandler.startNonterminal("FTIgnoreOption", e0);
13009
 
    shift(271);                     // 'without'
13010
 
    lookahead1W(42);                // S^WS | '(:' | 'content'
13011
 
    shift(100);                     // 'content'
13012
 
    lookahead1W(265);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13013
 
    whitespace();
13014
 
    parse_UnionExpr();
13015
 
    eventHandler.endNonterminal("FTIgnoreOption", e0);
13016
 
  }
13017
 
 
13018
 
  function try_FTIgnoreOption()
13019
 
  {
13020
 
    shiftT(271);                    // 'without'
13021
 
    lookahead1W(42);                // S^WS | '(:' | 'content'
13022
 
    shiftT(100);                    // 'content'
13023
 
    lookahead1W(265);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13024
 
    try_UnionExpr();
13025
 
  }
13026
 
 
13027
 
  function parse_CollectionDecl()
13028
 
  {
13029
 
    eventHandler.startNonterminal("CollectionDecl", e0);
13030
 
    shift(95);                      // 'collection'
13031
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13032
 
    whitespace();
13033
 
    parse_EQName();
13034
 
    lookahead1W(107);               // S^WS | '(:' | ';' | 'as'
13035
 
    if (l1 == 79)                   // 'as'
13036
 
    {
13037
 
      whitespace();
13038
 
      parse_CollectionTypeDecl();
13039
 
    }
13040
 
    eventHandler.endNonterminal("CollectionDecl", e0);
13041
 
  }
13042
 
 
13043
 
  function parse_CollectionTypeDecl()
13044
 
  {
13045
 
    eventHandler.startNonterminal("CollectionTypeDecl", e0);
13046
 
    shift(79);                      // 'as'
13047
 
    lookahead1W(183);               // S^WS | '(:' | 'array' | 'attribute' | 'comment' | 'document-node' | 'element' |
13048
 
    whitespace();
13049
 
    parse_KindTest();
13050
 
    lookahead1W(156);               // S^WS | '(:' | '*' | '+' | ';' | '?'
13051
 
    if (l1 != 53)                   // ';'
13052
 
    {
13053
 
      whitespace();
13054
 
      parse_OccurrenceIndicator();
13055
 
    }
13056
 
    eventHandler.endNonterminal("CollectionTypeDecl", e0);
13057
 
  }
13058
 
 
13059
 
  function parse_IndexName()
13060
 
  {
13061
 
    eventHandler.startNonterminal("IndexName", e0);
13062
 
    parse_EQName();
13063
 
    eventHandler.endNonterminal("IndexName", e0);
13064
 
  }
13065
 
 
13066
 
  function parse_IndexDomainExpr()
13067
 
  {
13068
 
    eventHandler.startNonterminal("IndexDomainExpr", e0);
13069
 
    parse_PathExpr();
13070
 
    eventHandler.endNonterminal("IndexDomainExpr", e0);
13071
 
  }
13072
 
 
13073
 
  function parse_IndexKeySpec()
13074
 
  {
13075
 
    eventHandler.startNonterminal("IndexKeySpec", e0);
13076
 
    parse_IndexKeyExpr();
13077
 
    if (l1 == 79)                   // 'as'
13078
 
    {
13079
 
      whitespace();
13080
 
      parse_IndexKeyTypeDecl();
13081
 
    }
13082
 
    lookahead1W(146);               // S^WS | '(:' | ',' | ';' | 'collation'
13083
 
    if (l1 == 94)                   // 'collation'
13084
 
    {
13085
 
      whitespace();
13086
 
      parse_IndexKeyCollation();
13087
 
    }
13088
 
    eventHandler.endNonterminal("IndexKeySpec", e0);
13089
 
  }
13090
 
 
13091
 
  function parse_IndexKeyExpr()
13092
 
  {
13093
 
    eventHandler.startNonterminal("IndexKeyExpr", e0);
13094
 
    parse_PathExpr();
13095
 
    eventHandler.endNonterminal("IndexKeyExpr", e0);
13096
 
  }
13097
 
 
13098
 
  function parse_IndexKeyTypeDecl()
13099
 
  {
13100
 
    eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
13101
 
    shift(79);                      // 'as'
13102
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13103
 
    whitespace();
13104
 
    parse_AtomicType();
13105
 
    lookahead1W(169);               // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
13106
 
    if (l1 == 39                    // '*'
13107
 
     || l1 == 40                    // '+'
13108
 
     || l1 == 64)                   // '?'
13109
 
    {
13110
 
      whitespace();
13111
 
      parse_OccurrenceIndicator();
13112
 
    }
13113
 
    eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
13114
 
  }
13115
 
 
13116
 
  function parse_AtomicType()
13117
 
  {
13118
 
    eventHandler.startNonterminal("AtomicType", e0);
13119
 
    parse_EQName();
13120
 
    eventHandler.endNonterminal("AtomicType", e0);
13121
 
  }
13122
 
 
13123
 
  function parse_IndexKeyCollation()
13124
 
  {
13125
 
    eventHandler.startNonterminal("IndexKeyCollation", e0);
13126
 
    shift(94);                      // 'collation'
13127
 
    lookahead1W(15);                // URILiteral | S^WS | '(:'
13128
 
    shift(7);                       // URILiteral
13129
 
    eventHandler.endNonterminal("IndexKeyCollation", e0);
13130
 
  }
13131
 
 
13132
 
  function parse_IndexDecl()
13133
 
  {
13134
 
    eventHandler.startNonterminal("IndexDecl", e0);
13135
 
    shift(155);                     // 'index'
13136
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13137
 
    whitespace();
13138
 
    parse_IndexName();
13139
 
    lookahead1W(65);                // S^WS | '(:' | 'on'
13140
 
    shift(197);                     // 'on'
13141
 
    lookahead1W(63);                // S^WS | '(:' | 'nodes'
13142
 
    shift(192);                     // 'nodes'
13143
 
    lookahead1W(264);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13144
 
    whitespace();
13145
 
    parse_IndexDomainExpr();
13146
 
    shift(87);                      // 'by'
13147
 
    lookahead1W(264);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13148
 
    whitespace();
13149
 
    parse_IndexKeySpec();
13150
 
    for (;;)
13151
 
    {
13152
 
      lookahead1W(103);             // S^WS | '(:' | ',' | ';'
13153
 
      if (l1 != 41)                 // ','
13154
 
      {
13155
 
        break;
13156
 
      }
13157
 
      shift(41);                    // ','
13158
 
      lookahead1W(264);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13159
 
      whitespace();
13160
 
      parse_IndexKeySpec();
13161
 
    }
13162
 
    eventHandler.endNonterminal("IndexDecl", e0);
13163
 
  }
13164
 
 
13165
 
  function parse_ICDecl()
13166
 
  {
13167
 
    eventHandler.startNonterminal("ICDecl", e0);
13168
 
    shift(161);                     // 'integrity'
13169
 
    lookahead1W(40);                // S^WS | '(:' | 'constraint'
13170
 
    shift(97);                      // 'constraint'
13171
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13172
 
    whitespace();
13173
 
    parse_EQName();
13174
 
    lookahead1W(120);               // S^WS | '(:' | 'foreign' | 'on'
13175
 
    switch (l1)
13176
 
    {
13177
 
    case 197:                       // 'on'
13178
 
      whitespace();
13179
 
      parse_ICCollection();
13180
 
      break;
13181
 
    default:
13182
 
      whitespace();
13183
 
      parse_ICForeignKey();
13184
 
    }
13185
 
    eventHandler.endNonterminal("ICDecl", e0);
13186
 
  }
13187
 
 
13188
 
  function parse_ICCollection()
13189
 
  {
13190
 
    eventHandler.startNonterminal("ICCollection", e0);
13191
 
    shift(197);                     // 'on'
13192
 
    lookahead1W(39);                // S^WS | '(:' | 'collection'
13193
 
    shift(95);                      // 'collection'
13194
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13195
 
    whitespace();
13196
 
    parse_EQName();
13197
 
    lookahead1W(140);               // S^WS | '$' | '(:' | 'foreach' | 'node'
13198
 
    switch (l1)
13199
 
    {
13200
 
    case 31:                        // '$'
13201
 
      whitespace();
13202
 
      parse_ICCollSequence();
13203
 
      break;
13204
 
    case 191:                       // 'node'
13205
 
      whitespace();
13206
 
      parse_ICCollSequenceUnique();
13207
 
      break;
13208
 
    default:
13209
 
      whitespace();
13210
 
      parse_ICCollNode();
13211
 
    }
13212
 
    eventHandler.endNonterminal("ICCollection", e0);
13213
 
  }
13214
 
 
13215
 
  function parse_ICCollSequence()
13216
 
  {
13217
 
    eventHandler.startNonterminal("ICCollSequence", e0);
13218
 
    parse_VarRef();
13219
 
    lookahead1W(37);                // S^WS | '(:' | 'check'
13220
 
    shift(92);                      // 'check'
13221
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13222
 
    whitespace();
13223
 
    parse_ExprSingle();
13224
 
    eventHandler.endNonterminal("ICCollSequence", e0);
13225
 
  }
13226
 
 
13227
 
  function parse_ICCollSequenceUnique()
13228
 
  {
13229
 
    eventHandler.startNonterminal("ICCollSequenceUnique", e0);
13230
 
    shift(191);                     // 'node'
13231
 
    lookahead1W(21);                // S^WS | '$' | '(:'
13232
 
    whitespace();
13233
 
    parse_VarRef();
13234
 
    lookahead1W(37);                // S^WS | '(:' | 'check'
13235
 
    shift(92);                      // 'check'
13236
 
    lookahead1W(80);                // S^WS | '(:' | 'unique'
13237
 
    shift(255);                     // 'unique'
13238
 
    lookahead1W(57);                // S^WS | '(:' | 'key'
13239
 
    shift(168);                     // 'key'
13240
 
    lookahead1W(264);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13241
 
    whitespace();
13242
 
    parse_PathExpr();
13243
 
    eventHandler.endNonterminal("ICCollSequenceUnique", e0);
13244
 
  }
13245
 
 
13246
 
  function parse_ICCollNode()
13247
 
  {
13248
 
    eventHandler.startNonterminal("ICCollNode", e0);
13249
 
    shift(138);                     // 'foreach'
13250
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
13251
 
    shift(191);                     // 'node'
13252
 
    lookahead1W(21);                // S^WS | '$' | '(:'
13253
 
    whitespace();
13254
 
    parse_VarRef();
13255
 
    lookahead1W(37);                // S^WS | '(:' | 'check'
13256
 
    shift(92);                      // 'check'
13257
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13258
 
    whitespace();
13259
 
    parse_ExprSingle();
13260
 
    eventHandler.endNonterminal("ICCollNode", e0);
13261
 
  }
13262
 
 
13263
 
  function parse_ICForeignKey()
13264
 
  {
13265
 
    eventHandler.startNonterminal("ICForeignKey", e0);
13266
 
    shift(139);                     // 'foreign'
13267
 
    lookahead1W(57);                // S^WS | '(:' | 'key'
13268
 
    shift(168);                     // 'key'
13269
 
    lookahead1W(51);                // S^WS | '(:' | 'from'
13270
 
    whitespace();
13271
 
    parse_ICForeignKeySource();
13272
 
    whitespace();
13273
 
    parse_ICForeignKeyTarget();
13274
 
    eventHandler.endNonterminal("ICForeignKey", e0);
13275
 
  }
13276
 
 
13277
 
  function parse_ICForeignKeySource()
13278
 
  {
13279
 
    eventHandler.startNonterminal("ICForeignKeySource", e0);
13280
 
    shift(140);                     // 'from'
13281
 
    lookahead1W(39);                // S^WS | '(:' | 'collection'
13282
 
    whitespace();
13283
 
    parse_ICForeignKeyValues();
13284
 
    eventHandler.endNonterminal("ICForeignKeySource", e0);
13285
 
  }
13286
 
 
13287
 
  function parse_ICForeignKeyTarget()
13288
 
  {
13289
 
    eventHandler.startNonterminal("ICForeignKeyTarget", e0);
13290
 
    shift(248);                     // 'to'
13291
 
    lookahead1W(39);                // S^WS | '(:' | 'collection'
13292
 
    whitespace();
13293
 
    parse_ICForeignKeyValues();
13294
 
    eventHandler.endNonterminal("ICForeignKeyTarget", e0);
13295
 
  }
13296
 
 
13297
 
  function parse_ICForeignKeyValues()
13298
 
  {
13299
 
    eventHandler.startNonterminal("ICForeignKeyValues", e0);
13300
 
    shift(95);                      // 'collection'
13301
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
13302
 
    whitespace();
13303
 
    parse_EQName();
13304
 
    lookahead1W(62);                // S^WS | '(:' | 'node'
13305
 
    shift(191);                     // 'node'
13306
 
    lookahead1W(21);                // S^WS | '$' | '(:'
13307
 
    whitespace();
13308
 
    parse_VarRef();
13309
 
    lookahead1W(57);                // S^WS | '(:' | 'key'
13310
 
    shift(168);                     // 'key'
13311
 
    lookahead1W(264);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
13312
 
    whitespace();
13313
 
    parse_PathExpr();
13314
 
    eventHandler.endNonterminal("ICForeignKeyValues", e0);
13315
 
  }
13316
 
 
13317
 
  function try_Comment()
13318
 
  {
13319
 
    shiftT(36);                     // '(:'
13320
 
    for (;;)
13321
 
    {
13322
 
      lookahead1(89);               // CommentContents | '(:' | ':)'
13323
 
      if (l1 == 50)                 // ':)'
13324
 
      {
13325
 
        break;
13326
 
      }
13327
 
      switch (l1)
13328
 
      {
13329
 
      case 24:                      // CommentContents
13330
 
        shiftT(24);                 // CommentContents
13331
 
        break;
13332
 
      default:
13333
 
        try_Comment();
13334
 
      }
13335
 
    }
13336
 
    shiftT(50);                     // ':)'
13337
 
  }
13338
 
 
13339
 
  function try_Whitespace()
13340
 
  {
13341
 
    switch (l1)
13342
 
    {
13343
 
    case 22:                        // S^WS
13344
 
      shiftT(22);                   // S^WS
13345
 
      break;
13346
 
    default:
13347
 
      try_Comment();
13348
 
    }
13349
 
  }
13350
 
 
13351
 
  function parse_EQName()
13352
 
  {
13353
 
    eventHandler.startNonterminal("EQName", e0);
13354
 
    lookahead1(248);                // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
13355
 
    switch (l1)
13356
 
    {
13357
 
    case 82:                        // 'attribute'
13358
 
      shift(82);                    // 'attribute'
13359
 
      break;
13360
 
    case 96:                        // 'comment'
13361
 
      shift(96);                    // 'comment'
13362
 
      break;
13363
 
    case 120:                       // 'document-node'
13364
 
      shift(120);                   // 'document-node'
13365
 
      break;
13366
 
    case 121:                       // 'element'
13367
 
      shift(121);                   // 'element'
13368
 
      break;
13369
 
    case 124:                       // 'empty-sequence'
13370
 
      shift(124);                   // 'empty-sequence'
13371
 
      break;
13372
 
    case 145:                       // 'function'
13373
 
      shift(145);                   // 'function'
13374
 
      break;
13375
 
    case 152:                       // 'if'
13376
 
      shift(152);                   // 'if'
13377
 
      break;
13378
 
    case 165:                       // 'item'
13379
 
      shift(165);                   // 'item'
13380
 
      break;
13381
 
    case 185:                       // 'namespace-node'
13382
 
      shift(185);                   // 'namespace-node'
13383
 
      break;
13384
 
    case 191:                       // 'node'
13385
 
      shift(191);                   // 'node'
13386
 
      break;
13387
 
    case 216:                       // 'processing-instruction'
13388
 
      shift(216);                   // 'processing-instruction'
13389
 
      break;
13390
 
    case 226:                       // 'schema-attribute'
13391
 
      shift(226);                   // 'schema-attribute'
13392
 
      break;
13393
 
    case 227:                       // 'schema-element'
13394
 
      shift(227);                   // 'schema-element'
13395
 
      break;
13396
 
    case 243:                       // 'switch'
13397
 
      shift(243);                   // 'switch'
13398
 
      break;
13399
 
    case 244:                       // 'text'
13400
 
      shift(244);                   // 'text'
13401
 
      break;
13402
 
    case 253:                       // 'typeswitch'
13403
 
      shift(253);                   // 'typeswitch'
13404
 
      break;
13405
 
    default:
13406
 
      parse_FunctionName();
13407
 
    }
13408
 
    eventHandler.endNonterminal("EQName", e0);
13409
 
  }
13410
 
 
13411
 
  function try_EQName()
13412
 
  {
13413
 
    lookahead1(248);                // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
13414
 
    switch (l1)
13415
 
    {
13416
 
    case 82:                        // 'attribute'
13417
 
      shiftT(82);                   // 'attribute'
13418
 
      break;
13419
 
    case 96:                        // 'comment'
13420
 
      shiftT(96);                   // 'comment'
13421
 
      break;
13422
 
    case 120:                       // 'document-node'
13423
 
      shiftT(120);                  // 'document-node'
13424
 
      break;
13425
 
    case 121:                       // 'element'
13426
 
      shiftT(121);                  // 'element'
13427
 
      break;
13428
 
    case 124:                       // 'empty-sequence'
13429
 
      shiftT(124);                  // 'empty-sequence'
13430
 
      break;
13431
 
    case 145:                       // 'function'
13432
 
      shiftT(145);                  // 'function'
13433
 
      break;
13434
 
    case 152:                       // 'if'
13435
 
      shiftT(152);                  // 'if'
13436
 
      break;
13437
 
    case 165:                       // 'item'
13438
 
      shiftT(165);                  // 'item'
13439
 
      break;
13440
 
    case 185:                       // 'namespace-node'
13441
 
      shiftT(185);                  // 'namespace-node'
13442
 
      break;
13443
 
    case 191:                       // 'node'
13444
 
      shiftT(191);                  // 'node'
13445
 
      break;
13446
 
    case 216:                       // 'processing-instruction'
13447
 
      shiftT(216);                  // 'processing-instruction'
13448
 
      break;
13449
 
    case 226:                       // 'schema-attribute'
13450
 
      shiftT(226);                  // 'schema-attribute'
13451
 
      break;
13452
 
    case 227:                       // 'schema-element'
13453
 
      shiftT(227);                  // 'schema-element'
13454
 
      break;
13455
 
    case 243:                       // 'switch'
13456
 
      shiftT(243);                  // 'switch'
13457
 
      break;
13458
 
    case 244:                       // 'text'
13459
 
      shiftT(244);                  // 'text'
13460
 
      break;
13461
 
    case 253:                       // 'typeswitch'
13462
 
      shiftT(253);                  // 'typeswitch'
13463
 
      break;
13464
 
    default:
13465
 
      try_FunctionName();
13466
 
    }
13467
 
  }
13468
 
 
13469
 
  function parse_FunctionName()
13470
 
  {
13471
 
    eventHandler.startNonterminal("FunctionName", e0);
13472
 
    switch (l1)
13473
 
    {
13474
 
    case 6:                         // EQName^Token
13475
 
      shift(6);                     // EQName^Token
13476
 
      break;
13477
 
    case 70:                        // 'after'
13478
 
      shift(70);                    // 'after'
13479
 
      break;
13480
 
    case 73:                        // 'ancestor'
13481
 
      shift(73);                    // 'ancestor'
13482
 
      break;
13483
 
    case 74:                        // 'ancestor-or-self'
13484
 
      shift(74);                    // 'ancestor-or-self'
13485
 
      break;
13486
 
    case 75:                        // 'and'
13487
 
      shift(75);                    // 'and'
13488
 
      break;
13489
 
    case 79:                        // 'as'
13490
 
      shift(79);                    // 'as'
13491
 
      break;
13492
 
    case 80:                        // 'ascending'
13493
 
      shift(80);                    // 'ascending'
13494
 
      break;
13495
 
    case 84:                        // 'before'
13496
 
      shift(84);                    // 'before'
13497
 
      break;
13498
 
    case 88:                        // 'case'
13499
 
      shift(88);                    // 'case'
13500
 
      break;
13501
 
    case 89:                        // 'cast'
13502
 
      shift(89);                    // 'cast'
13503
 
      break;
13504
 
    case 90:                        // 'castable'
13505
 
      shift(90);                    // 'castable'
13506
 
      break;
13507
 
    case 93:                        // 'child'
13508
 
      shift(93);                    // 'child'
13509
 
      break;
13510
 
    case 94:                        // 'collation'
13511
 
      shift(94);                    // 'collation'
13512
 
      break;
13513
 
    case 103:                       // 'copy'
13514
 
      shift(103);                   // 'copy'
13515
 
      break;
13516
 
    case 105:                       // 'count'
13517
 
      shift(105);                   // 'count'
13518
 
      break;
13519
 
    case 108:                       // 'declare'
13520
 
      shift(108);                   // 'declare'
13521
 
      break;
13522
 
    case 109:                       // 'default'
13523
 
      shift(109);                   // 'default'
13524
 
      break;
13525
 
    case 110:                       // 'delete'
13526
 
      shift(110);                   // 'delete'
13527
 
      break;
13528
 
    case 111:                       // 'descendant'
13529
 
      shift(111);                   // 'descendant'
13530
 
      break;
13531
 
    case 112:                       // 'descendant-or-self'
13532
 
      shift(112);                   // 'descendant-or-self'
13533
 
      break;
13534
 
    case 113:                       // 'descending'
13535
 
      shift(113);                   // 'descending'
13536
 
      break;
13537
 
    case 118:                       // 'div'
13538
 
      shift(118);                   // 'div'
13539
 
      break;
13540
 
    case 119:                       // 'document'
13541
 
      shift(119);                   // 'document'
13542
 
      break;
13543
 
    case 122:                       // 'else'
13544
 
      shift(122);                   // 'else'
13545
 
      break;
13546
 
    case 123:                       // 'empty'
13547
 
      shift(123);                   // 'empty'
13548
 
      break;
13549
 
    case 126:                       // 'end'
13550
 
      shift(126);                   // 'end'
13551
 
      break;
13552
 
    case 128:                       // 'eq'
13553
 
      shift(128);                   // 'eq'
13554
 
      break;
13555
 
    case 129:                       // 'every'
13556
 
      shift(129);                   // 'every'
13557
 
      break;
13558
 
    case 131:                       // 'except'
13559
 
      shift(131);                   // 'except'
13560
 
      break;
13561
 
    case 134:                       // 'first'
13562
 
      shift(134);                   // 'first'
13563
 
      break;
13564
 
    case 135:                       // 'following'
13565
 
      shift(135);                   // 'following'
13566
 
      break;
13567
 
    case 136:                       // 'following-sibling'
13568
 
      shift(136);                   // 'following-sibling'
13569
 
      break;
13570
 
    case 137:                       // 'for'
13571
 
      shift(137);                   // 'for'
13572
 
      break;
13573
 
    case 146:                       // 'ge'
13574
 
      shift(146);                   // 'ge'
13575
 
      break;
13576
 
    case 148:                       // 'group'
13577
 
      shift(148);                   // 'group'
13578
 
      break;
13579
 
    case 150:                       // 'gt'
13580
 
      shift(150);                   // 'gt'
13581
 
      break;
13582
 
    case 151:                       // 'idiv'
13583
 
      shift(151);                   // 'idiv'
13584
 
      break;
13585
 
    case 153:                       // 'import'
13586
 
      shift(153);                   // 'import'
13587
 
      break;
13588
 
    case 159:                       // 'insert'
13589
 
      shift(159);                   // 'insert'
13590
 
      break;
13591
 
    case 160:                       // 'instance'
13592
 
      shift(160);                   // 'instance'
13593
 
      break;
13594
 
    case 162:                       // 'intersect'
13595
 
      shift(162);                   // 'intersect'
13596
 
      break;
13597
 
    case 163:                       // 'into'
13598
 
      shift(163);                   // 'into'
13599
 
      break;
13600
 
    case 164:                       // 'is'
13601
 
      shift(164);                   // 'is'
13602
 
      break;
13603
 
    case 170:                       // 'last'
13604
 
      shift(170);                   // 'last'
13605
 
      break;
13606
 
    case 172:                       // 'le'
13607
 
      shift(172);                   // 'le'
13608
 
      break;
13609
 
    case 174:                       // 'let'
13610
 
      shift(174);                   // 'let'
13611
 
      break;
13612
 
    case 178:                       // 'lt'
13613
 
      shift(178);                   // 'lt'
13614
 
      break;
13615
 
    case 180:                       // 'mod'
13616
 
      shift(180);                   // 'mod'
13617
 
      break;
13618
 
    case 181:                       // 'modify'
13619
 
      shift(181);                   // 'modify'
13620
 
      break;
13621
 
    case 182:                       // 'module'
13622
 
      shift(182);                   // 'module'
13623
 
      break;
13624
 
    case 184:                       // 'namespace'
13625
 
      shift(184);                   // 'namespace'
13626
 
      break;
13627
 
    case 186:                       // 'ne'
13628
 
      shift(186);                   // 'ne'
13629
 
      break;
13630
 
    case 198:                       // 'only'
13631
 
      shift(198);                   // 'only'
13632
 
      break;
13633
 
    case 200:                       // 'or'
13634
 
      shift(200);                   // 'or'
13635
 
      break;
13636
 
    case 201:                       // 'order'
13637
 
      shift(201);                   // 'order'
13638
 
      break;
13639
 
    case 202:                       // 'ordered'
13640
 
      shift(202);                   // 'ordered'
13641
 
      break;
13642
 
    case 206:                       // 'parent'
13643
 
      shift(206);                   // 'parent'
13644
 
      break;
13645
 
    case 212:                       // 'preceding'
13646
 
      shift(212);                   // 'preceding'
13647
 
      break;
13648
 
    case 213:                       // 'preceding-sibling'
13649
 
      shift(213);                   // 'preceding-sibling'
13650
 
      break;
13651
 
    case 218:                       // 'rename'
13652
 
      shift(218);                   // 'rename'
13653
 
      break;
13654
 
    case 219:                       // 'replace'
13655
 
      shift(219);                   // 'replace'
13656
 
      break;
13657
 
    case 220:                       // 'return'
13658
 
      shift(220);                   // 'return'
13659
 
      break;
13660
 
    case 224:                       // 'satisfies'
13661
 
      shift(224);                   // 'satisfies'
13662
 
      break;
13663
 
    case 229:                       // 'self'
13664
 
      shift(229);                   // 'self'
13665
 
      break;
13666
 
    case 235:                       // 'some'
13667
 
      shift(235);                   // 'some'
13668
 
      break;
13669
 
    case 236:                       // 'stable'
13670
 
      shift(236);                   // 'stable'
13671
 
      break;
13672
 
    case 237:                       // 'start'
13673
 
      shift(237);                   // 'start'
13674
 
      break;
13675
 
    case 248:                       // 'to'
13676
 
      shift(248);                   // 'to'
13677
 
      break;
13678
 
    case 249:                       // 'treat'
13679
 
      shift(249);                   // 'treat'
13680
 
      break;
13681
 
    case 250:                       // 'try'
13682
 
      shift(250);                   // 'try'
13683
 
      break;
13684
 
    case 254:                       // 'union'
13685
 
      shift(254);                   // 'union'
13686
 
      break;
13687
 
    case 256:                       // 'unordered'
13688
 
      shift(256);                   // 'unordered'
13689
 
      break;
13690
 
    case 260:                       // 'validate'
13691
 
      shift(260);                   // 'validate'
13692
 
      break;
13693
 
    case 266:                       // 'where'
13694
 
      shift(266);                   // 'where'
13695
 
      break;
13696
 
    case 270:                       // 'with'
13697
 
      shift(270);                   // 'with'
13698
 
      break;
13699
 
    case 274:                       // 'xquery'
13700
 
      shift(274);                   // 'xquery'
13701
 
      break;
13702
 
    case 72:                        // 'allowing'
13703
 
      shift(72);                    // 'allowing'
13704
 
      break;
13705
 
    case 81:                        // 'at'
13706
 
      shift(81);                    // 'at'
13707
 
      break;
13708
 
    case 83:                        // 'base-uri'
13709
 
      shift(83);                    // 'base-uri'
13710
 
      break;
13711
 
    case 85:                        // 'boundary-space'
13712
 
      shift(85);                    // 'boundary-space'
13713
 
      break;
13714
 
    case 86:                        // 'break'
13715
 
      shift(86);                    // 'break'
13716
 
      break;
13717
 
    case 91:                        // 'catch'
13718
 
      shift(91);                    // 'catch'
13719
 
      break;
13720
 
    case 98:                        // 'construction'
13721
 
      shift(98);                    // 'construction'
13722
 
      break;
13723
 
    case 101:                       // 'context'
13724
 
      shift(101);                   // 'context'
13725
 
      break;
13726
 
    case 102:                       // 'continue'
13727
 
      shift(102);                   // 'continue'
13728
 
      break;
13729
 
    case 104:                       // 'copy-namespaces'
13730
 
      shift(104);                   // 'copy-namespaces'
13731
 
      break;
13732
 
    case 106:                       // 'decimal-format'
13733
 
      shift(106);                   // 'decimal-format'
13734
 
      break;
13735
 
    case 125:                       // 'encoding'
13736
 
      shift(125);                   // 'encoding'
13737
 
      break;
13738
 
    case 132:                       // 'exit'
13739
 
      shift(132);                   // 'exit'
13740
 
      break;
13741
 
    case 133:                       // 'external'
13742
 
      shift(133);                   // 'external'
13743
 
      break;
13744
 
    case 141:                       // 'ft-option'
13745
 
      shift(141);                   // 'ft-option'
13746
 
      break;
13747
 
    case 154:                       // 'in'
13748
 
      shift(154);                   // 'in'
13749
 
      break;
13750
 
    case 155:                       // 'index'
13751
 
      shift(155);                   // 'index'
13752
 
      break;
13753
 
    case 161:                       // 'integrity'
13754
 
      shift(161);                   // 'integrity'
13755
 
      break;
13756
 
    case 171:                       // 'lax'
13757
 
      shift(171);                   // 'lax'
13758
 
      break;
13759
 
    case 192:                       // 'nodes'
13760
 
      shift(192);                   // 'nodes'
13761
 
      break;
13762
 
    case 199:                       // 'option'
13763
 
      shift(199);                   // 'option'
13764
 
      break;
13765
 
    case 203:                       // 'ordering'
13766
 
      shift(203);                   // 'ordering'
13767
 
      break;
13768
 
    case 222:                       // 'revalidation'
13769
 
      shift(222);                   // 'revalidation'
13770
 
      break;
13771
 
    case 225:                       // 'schema'
13772
 
      shift(225);                   // 'schema'
13773
 
      break;
13774
 
    case 228:                       // 'score'
13775
 
      shift(228);                   // 'score'
13776
 
      break;
13777
 
    case 234:                       // 'sliding'
13778
 
      shift(234);                   // 'sliding'
13779
 
      break;
13780
 
    case 240:                       // 'strict'
13781
 
      shift(240);                   // 'strict'
13782
 
      break;
13783
 
    case 251:                       // 'tumbling'
13784
 
      shift(251);                   // 'tumbling'
13785
 
      break;
13786
 
    case 252:                       // 'type'
13787
 
      shift(252);                   // 'type'
13788
 
      break;
13789
 
    case 257:                       // 'updating'
13790
 
      shift(257);                   // 'updating'
13791
 
      break;
13792
 
    case 261:                       // 'value'
13793
 
      shift(261);                   // 'value'
13794
 
      break;
13795
 
    case 262:                       // 'variable'
13796
 
      shift(262);                   // 'variable'
13797
 
      break;
13798
 
    case 263:                       // 'version'
13799
 
      shift(263);                   // 'version'
13800
 
      break;
13801
 
    case 267:                       // 'while'
13802
 
      shift(267);                   // 'while'
13803
 
      break;
13804
 
    case 97:                        // 'constraint'
13805
 
      shift(97);                    // 'constraint'
13806
 
      break;
13807
 
    case 176:                       // 'loop'
13808
 
      shift(176);                   // 'loop'
13809
 
      break;
13810
 
    case 221:                       // 'returning'
13811
 
      shift(221);                   // 'returning'
13812
 
      break;
13813
 
    case 194:                       // 'object'
13814
 
      shift(194);                   // 'object'
13815
 
      break;
13816
 
    case 167:                       // 'json-item'
13817
 
      shift(167);                   // 'json-item'
13818
 
      break;
13819
 
    default:
13820
 
      shift(78);                    // 'array'
13821
 
    }
13822
 
    eventHandler.endNonterminal("FunctionName", e0);
13823
 
  }
13824
 
 
13825
 
  function try_FunctionName()
13826
 
  {
13827
 
    switch (l1)
13828
 
    {
13829
 
    case 6:                         // EQName^Token
13830
 
      shiftT(6);                    // EQName^Token
13831
 
      break;
13832
 
    case 70:                        // 'after'
13833
 
      shiftT(70);                   // 'after'
13834
 
      break;
13835
 
    case 73:                        // 'ancestor'
13836
 
      shiftT(73);                   // 'ancestor'
13837
 
      break;
13838
 
    case 74:                        // 'ancestor-or-self'
13839
 
      shiftT(74);                   // 'ancestor-or-self'
13840
 
      break;
13841
 
    case 75:                        // 'and'
13842
 
      shiftT(75);                   // 'and'
13843
 
      break;
13844
 
    case 79:                        // 'as'
13845
 
      shiftT(79);                   // 'as'
13846
 
      break;
13847
 
    case 80:                        // 'ascending'
13848
 
      shiftT(80);                   // 'ascending'
13849
 
      break;
13850
 
    case 84:                        // 'before'
13851
 
      shiftT(84);                   // 'before'
13852
 
      break;
13853
 
    case 88:                        // 'case'
13854
 
      shiftT(88);                   // 'case'
13855
 
      break;
13856
 
    case 89:                        // 'cast'
13857
 
      shiftT(89);                   // 'cast'
13858
 
      break;
13859
 
    case 90:                        // 'castable'
13860
 
      shiftT(90);                   // 'castable'
13861
 
      break;
13862
 
    case 93:                        // 'child'
13863
 
      shiftT(93);                   // 'child'
13864
 
      break;
13865
 
    case 94:                        // 'collation'
13866
 
      shiftT(94);                   // 'collation'
13867
 
      break;
13868
 
    case 103:                       // 'copy'
13869
 
      shiftT(103);                  // 'copy'
13870
 
      break;
13871
 
    case 105:                       // 'count'
13872
 
      shiftT(105);                  // 'count'
13873
 
      break;
13874
 
    case 108:                       // 'declare'
13875
 
      shiftT(108);                  // 'declare'
13876
 
      break;
13877
 
    case 109:                       // 'default'
13878
 
      shiftT(109);                  // 'default'
13879
 
      break;
13880
 
    case 110:                       // 'delete'
13881
 
      shiftT(110);                  // 'delete'
13882
 
      break;
13883
 
    case 111:                       // 'descendant'
13884
 
      shiftT(111);                  // 'descendant'
13885
 
      break;
13886
 
    case 112:                       // 'descendant-or-self'
13887
 
      shiftT(112);                  // 'descendant-or-self'
13888
 
      break;
13889
 
    case 113:                       // 'descending'
13890
 
      shiftT(113);                  // 'descending'
13891
 
      break;
13892
 
    case 118:                       // 'div'
13893
 
      shiftT(118);                  // 'div'
13894
 
      break;
13895
 
    case 119:                       // 'document'
13896
 
      shiftT(119);                  // 'document'
13897
 
      break;
13898
 
    case 122:                       // 'else'
13899
 
      shiftT(122);                  // 'else'
13900
 
      break;
13901
 
    case 123:                       // 'empty'
13902
 
      shiftT(123);                  // 'empty'
13903
 
      break;
13904
 
    case 126:                       // 'end'
13905
 
      shiftT(126);                  // 'end'
13906
 
      break;
13907
 
    case 128:                       // 'eq'
13908
 
      shiftT(128);                  // 'eq'
13909
 
      break;
13910
 
    case 129:                       // 'every'
13911
 
      shiftT(129);                  // 'every'
13912
 
      break;
13913
 
    case 131:                       // 'except'
13914
 
      shiftT(131);                  // 'except'
13915
 
      break;
13916
 
    case 134:                       // 'first'
13917
 
      shiftT(134);                  // 'first'
13918
 
      break;
13919
 
    case 135:                       // 'following'
13920
 
      shiftT(135);                  // 'following'
13921
 
      break;
13922
 
    case 136:                       // 'following-sibling'
13923
 
      shiftT(136);                  // 'following-sibling'
13924
 
      break;
13925
 
    case 137:                       // 'for'
13926
 
      shiftT(137);                  // 'for'
13927
 
      break;
13928
 
    case 146:                       // 'ge'
13929
 
      shiftT(146);                  // 'ge'
13930
 
      break;
13931
 
    case 148:                       // 'group'
13932
 
      shiftT(148);                  // 'group'
13933
 
      break;
13934
 
    case 150:                       // 'gt'
13935
 
      shiftT(150);                  // 'gt'
13936
 
      break;
13937
 
    case 151:                       // 'idiv'
13938
 
      shiftT(151);                  // 'idiv'
13939
 
      break;
13940
 
    case 153:                       // 'import'
13941
 
      shiftT(153);                  // 'import'
13942
 
      break;
13943
 
    case 159:                       // 'insert'
13944
 
      shiftT(159);                  // 'insert'
13945
 
      break;
13946
 
    case 160:                       // 'instance'
13947
 
      shiftT(160);                  // 'instance'
13948
 
      break;
13949
 
    case 162:                       // 'intersect'
13950
 
      shiftT(162);                  // 'intersect'
13951
 
      break;
13952
 
    case 163:                       // 'into'
13953
 
      shiftT(163);                  // 'into'
13954
 
      break;
13955
 
    case 164:                       // 'is'
13956
 
      shiftT(164);                  // 'is'
13957
 
      break;
13958
 
    case 170:                       // 'last'
13959
 
      shiftT(170);                  // 'last'
13960
 
      break;
13961
 
    case 172:                       // 'le'
13962
 
      shiftT(172);                  // 'le'
13963
 
      break;
13964
 
    case 174:                       // 'let'
13965
 
      shiftT(174);                  // 'let'
13966
 
      break;
13967
 
    case 178:                       // 'lt'
13968
 
      shiftT(178);                  // 'lt'
13969
 
      break;
13970
 
    case 180:                       // 'mod'
13971
 
      shiftT(180);                  // 'mod'
13972
 
      break;
13973
 
    case 181:                       // 'modify'
13974
 
      shiftT(181);                  // 'modify'
13975
 
      break;
13976
 
    case 182:                       // 'module'
13977
 
      shiftT(182);                  // 'module'
13978
 
      break;
13979
 
    case 184:                       // 'namespace'
13980
 
      shiftT(184);                  // 'namespace'
13981
 
      break;
13982
 
    case 186:                       // 'ne'
13983
 
      shiftT(186);                  // 'ne'
13984
 
      break;
13985
 
    case 198:                       // 'only'
13986
 
      shiftT(198);                  // 'only'
13987
 
      break;
13988
 
    case 200:                       // 'or'
13989
 
      shiftT(200);                  // 'or'
13990
 
      break;
13991
 
    case 201:                       // 'order'
13992
 
      shiftT(201);                  // 'order'
13993
 
      break;
13994
 
    case 202:                       // 'ordered'
13995
 
      shiftT(202);                  // 'ordered'
13996
 
      break;
13997
 
    case 206:                       // 'parent'
13998
 
      shiftT(206);                  // 'parent'
13999
 
      break;
14000
 
    case 212:                       // 'preceding'
14001
 
      shiftT(212);                  // 'preceding'
14002
 
      break;
14003
 
    case 213:                       // 'preceding-sibling'
14004
 
      shiftT(213);                  // 'preceding-sibling'
14005
 
      break;
14006
 
    case 218:                       // 'rename'
14007
 
      shiftT(218);                  // 'rename'
14008
 
      break;
14009
 
    case 219:                       // 'replace'
14010
 
      shiftT(219);                  // 'replace'
14011
 
      break;
14012
 
    case 220:                       // 'return'
14013
 
      shiftT(220);                  // 'return'
14014
 
      break;
14015
 
    case 224:                       // 'satisfies'
14016
 
      shiftT(224);                  // 'satisfies'
14017
 
      break;
14018
 
    case 229:                       // 'self'
14019
 
      shiftT(229);                  // 'self'
14020
 
      break;
14021
 
    case 235:                       // 'some'
14022
 
      shiftT(235);                  // 'some'
14023
 
      break;
14024
 
    case 236:                       // 'stable'
14025
 
      shiftT(236);                  // 'stable'
14026
 
      break;
14027
 
    case 237:                       // 'start'
14028
 
      shiftT(237);                  // 'start'
14029
 
      break;
14030
 
    case 248:                       // 'to'
14031
 
      shiftT(248);                  // 'to'
14032
 
      break;
14033
 
    case 249:                       // 'treat'
14034
 
      shiftT(249);                  // 'treat'
14035
 
      break;
14036
 
    case 250:                       // 'try'
14037
 
      shiftT(250);                  // 'try'
14038
 
      break;
14039
 
    case 254:                       // 'union'
14040
 
      shiftT(254);                  // 'union'
14041
 
      break;
14042
 
    case 256:                       // 'unordered'
14043
 
      shiftT(256);                  // 'unordered'
14044
 
      break;
14045
 
    case 260:                       // 'validate'
14046
 
      shiftT(260);                  // 'validate'
14047
 
      break;
14048
 
    case 266:                       // 'where'
14049
 
      shiftT(266);                  // 'where'
14050
 
      break;
14051
 
    case 270:                       // 'with'
14052
 
      shiftT(270);                  // 'with'
14053
 
      break;
14054
 
    case 274:                       // 'xquery'
14055
 
      shiftT(274);                  // 'xquery'
14056
 
      break;
14057
 
    case 72:                        // 'allowing'
14058
 
      shiftT(72);                   // 'allowing'
14059
 
      break;
14060
 
    case 81:                        // 'at'
14061
 
      shiftT(81);                   // 'at'
14062
 
      break;
14063
 
    case 83:                        // 'base-uri'
14064
 
      shiftT(83);                   // 'base-uri'
14065
 
      break;
14066
 
    case 85:                        // 'boundary-space'
14067
 
      shiftT(85);                   // 'boundary-space'
14068
 
      break;
14069
 
    case 86:                        // 'break'
14070
 
      shiftT(86);                   // 'break'
14071
 
      break;
14072
 
    case 91:                        // 'catch'
14073
 
      shiftT(91);                   // 'catch'
14074
 
      break;
14075
 
    case 98:                        // 'construction'
14076
 
      shiftT(98);                   // 'construction'
14077
 
      break;
14078
 
    case 101:                       // 'context'
14079
 
      shiftT(101);                  // 'context'
14080
 
      break;
14081
 
    case 102:                       // 'continue'
14082
 
      shiftT(102);                  // 'continue'
14083
 
      break;
14084
 
    case 104:                       // 'copy-namespaces'
14085
 
      shiftT(104);                  // 'copy-namespaces'
14086
 
      break;
14087
 
    case 106:                       // 'decimal-format'
14088
 
      shiftT(106);                  // 'decimal-format'
14089
 
      break;
14090
 
    case 125:                       // 'encoding'
14091
 
      shiftT(125);                  // 'encoding'
14092
 
      break;
14093
 
    case 132:                       // 'exit'
14094
 
      shiftT(132);                  // 'exit'
14095
 
      break;
14096
 
    case 133:                       // 'external'
14097
 
      shiftT(133);                  // 'external'
14098
 
      break;
14099
 
    case 141:                       // 'ft-option'
14100
 
      shiftT(141);                  // 'ft-option'
14101
 
      break;
14102
 
    case 154:                       // 'in'
14103
 
      shiftT(154);                  // 'in'
14104
 
      break;
14105
 
    case 155:                       // 'index'
14106
 
      shiftT(155);                  // 'index'
14107
 
      break;
14108
 
    case 161:                       // 'integrity'
14109
 
      shiftT(161);                  // 'integrity'
14110
 
      break;
14111
 
    case 171:                       // 'lax'
14112
 
      shiftT(171);                  // 'lax'
14113
 
      break;
14114
 
    case 192:                       // 'nodes'
14115
 
      shiftT(192);                  // 'nodes'
14116
 
      break;
14117
 
    case 199:                       // 'option'
14118
 
      shiftT(199);                  // 'option'
14119
 
      break;
14120
 
    case 203:                       // 'ordering'
14121
 
      shiftT(203);                  // 'ordering'
14122
 
      break;
14123
 
    case 222:                       // 'revalidation'
14124
 
      shiftT(222);                  // 'revalidation'
14125
 
      break;
14126
 
    case 225:                       // 'schema'
14127
 
      shiftT(225);                  // 'schema'
14128
 
      break;
14129
 
    case 228:                       // 'score'
14130
 
      shiftT(228);                  // 'score'
14131
 
      break;
14132
 
    case 234:                       // 'sliding'
14133
 
      shiftT(234);                  // 'sliding'
14134
 
      break;
14135
 
    case 240:                       // 'strict'
14136
 
      shiftT(240);                  // 'strict'
14137
 
      break;
14138
 
    case 251:                       // 'tumbling'
14139
 
      shiftT(251);                  // 'tumbling'
14140
 
      break;
14141
 
    case 252:                       // 'type'
14142
 
      shiftT(252);                  // 'type'
14143
 
      break;
14144
 
    case 257:                       // 'updating'
14145
 
      shiftT(257);                  // 'updating'
14146
 
      break;
14147
 
    case 261:                       // 'value'
14148
 
      shiftT(261);                  // 'value'
14149
 
      break;
14150
 
    case 262:                       // 'variable'
14151
 
      shiftT(262);                  // 'variable'
14152
 
      break;
14153
 
    case 263:                       // 'version'
14154
 
      shiftT(263);                  // 'version'
14155
 
      break;
14156
 
    case 267:                       // 'while'
14157
 
      shiftT(267);                  // 'while'
14158
 
      break;
14159
 
    case 97:                        // 'constraint'
14160
 
      shiftT(97);                   // 'constraint'
14161
 
      break;
14162
 
    case 176:                       // 'loop'
14163
 
      shiftT(176);                  // 'loop'
14164
 
      break;
14165
 
    case 221:                       // 'returning'
14166
 
      shiftT(221);                  // 'returning'
14167
 
      break;
14168
 
    case 194:                       // 'object'
14169
 
      shiftT(194);                  // 'object'
14170
 
      break;
14171
 
    case 167:                       // 'json-item'
14172
 
      shiftT(167);                  // 'json-item'
14173
 
      break;
14174
 
    default:
14175
 
      shiftT(78);                   // 'array'
14176
 
    }
14177
 
  }
14178
 
 
14179
 
  function parse_NCName()
14180
 
  {
14181
 
    eventHandler.startNonterminal("NCName", e0);
14182
 
    switch (l1)
14183
 
    {
14184
 
    case 19:                        // NCName^Token
14185
 
      shift(19);                    // NCName^Token
14186
 
      break;
14187
 
    case 70:                        // 'after'
14188
 
      shift(70);                    // 'after'
14189
 
      break;
14190
 
    case 75:                        // 'and'
14191
 
      shift(75);                    // 'and'
14192
 
      break;
14193
 
    case 79:                        // 'as'
14194
 
      shift(79);                    // 'as'
14195
 
      break;
14196
 
    case 80:                        // 'ascending'
14197
 
      shift(80);                    // 'ascending'
14198
 
      break;
14199
 
    case 84:                        // 'before'
14200
 
      shift(84);                    // 'before'
14201
 
      break;
14202
 
    case 88:                        // 'case'
14203
 
      shift(88);                    // 'case'
14204
 
      break;
14205
 
    case 89:                        // 'cast'
14206
 
      shift(89);                    // 'cast'
14207
 
      break;
14208
 
    case 90:                        // 'castable'
14209
 
      shift(90);                    // 'castable'
14210
 
      break;
14211
 
    case 94:                        // 'collation'
14212
 
      shift(94);                    // 'collation'
14213
 
      break;
14214
 
    case 105:                       // 'count'
14215
 
      shift(105);                   // 'count'
14216
 
      break;
14217
 
    case 109:                       // 'default'
14218
 
      shift(109);                   // 'default'
14219
 
      break;
14220
 
    case 113:                       // 'descending'
14221
 
      shift(113);                   // 'descending'
14222
 
      break;
14223
 
    case 118:                       // 'div'
14224
 
      shift(118);                   // 'div'
14225
 
      break;
14226
 
    case 122:                       // 'else'
14227
 
      shift(122);                   // 'else'
14228
 
      break;
14229
 
    case 123:                       // 'empty'
14230
 
      shift(123);                   // 'empty'
14231
 
      break;
14232
 
    case 126:                       // 'end'
14233
 
      shift(126);                   // 'end'
14234
 
      break;
14235
 
    case 128:                       // 'eq'
14236
 
      shift(128);                   // 'eq'
14237
 
      break;
14238
 
    case 131:                       // 'except'
14239
 
      shift(131);                   // 'except'
14240
 
      break;
14241
 
    case 137:                       // 'for'
14242
 
      shift(137);                   // 'for'
14243
 
      break;
14244
 
    case 146:                       // 'ge'
14245
 
      shift(146);                   // 'ge'
14246
 
      break;
14247
 
    case 148:                       // 'group'
14248
 
      shift(148);                   // 'group'
14249
 
      break;
14250
 
    case 150:                       // 'gt'
14251
 
      shift(150);                   // 'gt'
14252
 
      break;
14253
 
    case 151:                       // 'idiv'
14254
 
      shift(151);                   // 'idiv'
14255
 
      break;
14256
 
    case 160:                       // 'instance'
14257
 
      shift(160);                   // 'instance'
14258
 
      break;
14259
 
    case 162:                       // 'intersect'
14260
 
      shift(162);                   // 'intersect'
14261
 
      break;
14262
 
    case 163:                       // 'into'
14263
 
      shift(163);                   // 'into'
14264
 
      break;
14265
 
    case 164:                       // 'is'
14266
 
      shift(164);                   // 'is'
14267
 
      break;
14268
 
    case 172:                       // 'le'
14269
 
      shift(172);                   // 'le'
14270
 
      break;
14271
 
    case 174:                       // 'let'
14272
 
      shift(174);                   // 'let'
14273
 
      break;
14274
 
    case 178:                       // 'lt'
14275
 
      shift(178);                   // 'lt'
14276
 
      break;
14277
 
    case 180:                       // 'mod'
14278
 
      shift(180);                   // 'mod'
14279
 
      break;
14280
 
    case 181:                       // 'modify'
14281
 
      shift(181);                   // 'modify'
14282
 
      break;
14283
 
    case 186:                       // 'ne'
14284
 
      shift(186);                   // 'ne'
14285
 
      break;
14286
 
    case 198:                       // 'only'
14287
 
      shift(198);                   // 'only'
14288
 
      break;
14289
 
    case 200:                       // 'or'
14290
 
      shift(200);                   // 'or'
14291
 
      break;
14292
 
    case 201:                       // 'order'
14293
 
      shift(201);                   // 'order'
14294
 
      break;
14295
 
    case 220:                       // 'return'
14296
 
      shift(220);                   // 'return'
14297
 
      break;
14298
 
    case 224:                       // 'satisfies'
14299
 
      shift(224);                   // 'satisfies'
14300
 
      break;
14301
 
    case 236:                       // 'stable'
14302
 
      shift(236);                   // 'stable'
14303
 
      break;
14304
 
    case 237:                       // 'start'
14305
 
      shift(237);                   // 'start'
14306
 
      break;
14307
 
    case 248:                       // 'to'
14308
 
      shift(248);                   // 'to'
14309
 
      break;
14310
 
    case 249:                       // 'treat'
14311
 
      shift(249);                   // 'treat'
14312
 
      break;
14313
 
    case 254:                       // 'union'
14314
 
      shift(254);                   // 'union'
14315
 
      break;
14316
 
    case 266:                       // 'where'
14317
 
      shift(266);                   // 'where'
14318
 
      break;
14319
 
    case 270:                       // 'with'
14320
 
      shift(270);                   // 'with'
14321
 
      break;
14322
 
    case 73:                        // 'ancestor'
14323
 
      shift(73);                    // 'ancestor'
14324
 
      break;
14325
 
    case 74:                        // 'ancestor-or-self'
14326
 
      shift(74);                    // 'ancestor-or-self'
14327
 
      break;
14328
 
    case 82:                        // 'attribute'
14329
 
      shift(82);                    // 'attribute'
14330
 
      break;
14331
 
    case 93:                        // 'child'
14332
 
      shift(93);                    // 'child'
14333
 
      break;
14334
 
    case 96:                        // 'comment'
14335
 
      shift(96);                    // 'comment'
14336
 
      break;
14337
 
    case 103:                       // 'copy'
14338
 
      shift(103);                   // 'copy'
14339
 
      break;
14340
 
    case 108:                       // 'declare'
14341
 
      shift(108);                   // 'declare'
14342
 
      break;
14343
 
    case 110:                       // 'delete'
14344
 
      shift(110);                   // 'delete'
14345
 
      break;
14346
 
    case 111:                       // 'descendant'
14347
 
      shift(111);                   // 'descendant'
14348
 
      break;
14349
 
    case 112:                       // 'descendant-or-self'
14350
 
      shift(112);                   // 'descendant-or-self'
14351
 
      break;
14352
 
    case 119:                       // 'document'
14353
 
      shift(119);                   // 'document'
14354
 
      break;
14355
 
    case 120:                       // 'document-node'
14356
 
      shift(120);                   // 'document-node'
14357
 
      break;
14358
 
    case 121:                       // 'element'
14359
 
      shift(121);                   // 'element'
14360
 
      break;
14361
 
    case 124:                       // 'empty-sequence'
14362
 
      shift(124);                   // 'empty-sequence'
14363
 
      break;
14364
 
    case 129:                       // 'every'
14365
 
      shift(129);                   // 'every'
14366
 
      break;
14367
 
    case 134:                       // 'first'
14368
 
      shift(134);                   // 'first'
14369
 
      break;
14370
 
    case 135:                       // 'following'
14371
 
      shift(135);                   // 'following'
14372
 
      break;
14373
 
    case 136:                       // 'following-sibling'
14374
 
      shift(136);                   // 'following-sibling'
14375
 
      break;
14376
 
    case 145:                       // 'function'
14377
 
      shift(145);                   // 'function'
14378
 
      break;
14379
 
    case 152:                       // 'if'
14380
 
      shift(152);                   // 'if'
14381
 
      break;
14382
 
    case 153:                       // 'import'
14383
 
      shift(153);                   // 'import'
14384
 
      break;
14385
 
    case 159:                       // 'insert'
14386
 
      shift(159);                   // 'insert'
14387
 
      break;
14388
 
    case 165:                       // 'item'
14389
 
      shift(165);                   // 'item'
14390
 
      break;
14391
 
    case 170:                       // 'last'
14392
 
      shift(170);                   // 'last'
14393
 
      break;
14394
 
    case 182:                       // 'module'
14395
 
      shift(182);                   // 'module'
14396
 
      break;
14397
 
    case 184:                       // 'namespace'
14398
 
      shift(184);                   // 'namespace'
14399
 
      break;
14400
 
    case 185:                       // 'namespace-node'
14401
 
      shift(185);                   // 'namespace-node'
14402
 
      break;
14403
 
    case 191:                       // 'node'
14404
 
      shift(191);                   // 'node'
14405
 
      break;
14406
 
    case 202:                       // 'ordered'
14407
 
      shift(202);                   // 'ordered'
14408
 
      break;
14409
 
    case 206:                       // 'parent'
14410
 
      shift(206);                   // 'parent'
14411
 
      break;
14412
 
    case 212:                       // 'preceding'
14413
 
      shift(212);                   // 'preceding'
14414
 
      break;
14415
 
    case 213:                       // 'preceding-sibling'
14416
 
      shift(213);                   // 'preceding-sibling'
14417
 
      break;
14418
 
    case 216:                       // 'processing-instruction'
14419
 
      shift(216);                   // 'processing-instruction'
14420
 
      break;
14421
 
    case 218:                       // 'rename'
14422
 
      shift(218);                   // 'rename'
14423
 
      break;
14424
 
    case 219:                       // 'replace'
14425
 
      shift(219);                   // 'replace'
14426
 
      break;
14427
 
    case 226:                       // 'schema-attribute'
14428
 
      shift(226);                   // 'schema-attribute'
14429
 
      break;
14430
 
    case 227:                       // 'schema-element'
14431
 
      shift(227);                   // 'schema-element'
14432
 
      break;
14433
 
    case 229:                       // 'self'
14434
 
      shift(229);                   // 'self'
14435
 
      break;
14436
 
    case 235:                       // 'some'
14437
 
      shift(235);                   // 'some'
14438
 
      break;
14439
 
    case 243:                       // 'switch'
14440
 
      shift(243);                   // 'switch'
14441
 
      break;
14442
 
    case 244:                       // 'text'
14443
 
      shift(244);                   // 'text'
14444
 
      break;
14445
 
    case 250:                       // 'try'
14446
 
      shift(250);                   // 'try'
14447
 
      break;
14448
 
    case 253:                       // 'typeswitch'
14449
 
      shift(253);                   // 'typeswitch'
14450
 
      break;
14451
 
    case 256:                       // 'unordered'
14452
 
      shift(256);                   // 'unordered'
14453
 
      break;
14454
 
    case 260:                       // 'validate'
14455
 
      shift(260);                   // 'validate'
14456
 
      break;
14457
 
    case 262:                       // 'variable'
14458
 
      shift(262);                   // 'variable'
14459
 
      break;
14460
 
    case 274:                       // 'xquery'
14461
 
      shift(274);                   // 'xquery'
14462
 
      break;
14463
 
    case 72:                        // 'allowing'
14464
 
      shift(72);                    // 'allowing'
14465
 
      break;
14466
 
    case 81:                        // 'at'
14467
 
      shift(81);                    // 'at'
14468
 
      break;
14469
 
    case 83:                        // 'base-uri'
14470
 
      shift(83);                    // 'base-uri'
14471
 
      break;
14472
 
    case 85:                        // 'boundary-space'
14473
 
      shift(85);                    // 'boundary-space'
14474
 
      break;
14475
 
    case 86:                        // 'break'
14476
 
      shift(86);                    // 'break'
14477
 
      break;
14478
 
    case 91:                        // 'catch'
14479
 
      shift(91);                    // 'catch'
14480
 
      break;
14481
 
    case 98:                        // 'construction'
14482
 
      shift(98);                    // 'construction'
14483
 
      break;
14484
 
    case 101:                       // 'context'
14485
 
      shift(101);                   // 'context'
14486
 
      break;
14487
 
    case 102:                       // 'continue'
14488
 
      shift(102);                   // 'continue'
14489
 
      break;
14490
 
    case 104:                       // 'copy-namespaces'
14491
 
      shift(104);                   // 'copy-namespaces'
14492
 
      break;
14493
 
    case 106:                       // 'decimal-format'
14494
 
      shift(106);                   // 'decimal-format'
14495
 
      break;
14496
 
    case 125:                       // 'encoding'
14497
 
      shift(125);                   // 'encoding'
14498
 
      break;
14499
 
    case 132:                       // 'exit'
14500
 
      shift(132);                   // 'exit'
14501
 
      break;
14502
 
    case 133:                       // 'external'
14503
 
      shift(133);                   // 'external'
14504
 
      break;
14505
 
    case 141:                       // 'ft-option'
14506
 
      shift(141);                   // 'ft-option'
14507
 
      break;
14508
 
    case 154:                       // 'in'
14509
 
      shift(154);                   // 'in'
14510
 
      break;
14511
 
    case 155:                       // 'index'
14512
 
      shift(155);                   // 'index'
14513
 
      break;
14514
 
    case 161:                       // 'integrity'
14515
 
      shift(161);                   // 'integrity'
14516
 
      break;
14517
 
    case 171:                       // 'lax'
14518
 
      shift(171);                   // 'lax'
14519
 
      break;
14520
 
    case 192:                       // 'nodes'
14521
 
      shift(192);                   // 'nodes'
14522
 
      break;
14523
 
    case 199:                       // 'option'
14524
 
      shift(199);                   // 'option'
14525
 
      break;
14526
 
    case 203:                       // 'ordering'
14527
 
      shift(203);                   // 'ordering'
14528
 
      break;
14529
 
    case 222:                       // 'revalidation'
14530
 
      shift(222);                   // 'revalidation'
14531
 
      break;
14532
 
    case 225:                       // 'schema'
14533
 
      shift(225);                   // 'schema'
14534
 
      break;
14535
 
    case 228:                       // 'score'
14536
 
      shift(228);                   // 'score'
14537
 
      break;
14538
 
    case 234:                       // 'sliding'
14539
 
      shift(234);                   // 'sliding'
14540
 
      break;
14541
 
    case 240:                       // 'strict'
14542
 
      shift(240);                   // 'strict'
14543
 
      break;
14544
 
    case 251:                       // 'tumbling'
14545
 
      shift(251);                   // 'tumbling'
14546
 
      break;
14547
 
    case 252:                       // 'type'
14548
 
      shift(252);                   // 'type'
14549
 
      break;
14550
 
    case 257:                       // 'updating'
14551
 
      shift(257);                   // 'updating'
14552
 
      break;
14553
 
    case 261:                       // 'value'
14554
 
      shift(261);                   // 'value'
14555
 
      break;
14556
 
    case 263:                       // 'version'
14557
 
      shift(263);                   // 'version'
14558
 
      break;
14559
 
    case 267:                       // 'while'
14560
 
      shift(267);                   // 'while'
14561
 
      break;
14562
 
    case 97:                        // 'constraint'
14563
 
      shift(97);                    // 'constraint'
14564
 
      break;
14565
 
    case 176:                       // 'loop'
14566
 
      shift(176);                   // 'loop'
14567
 
      break;
14568
 
    default:
14569
 
      shift(221);                   // 'returning'
14570
 
    }
14571
 
    eventHandler.endNonterminal("NCName", e0);
14572
 
  }
14573
 
 
14574
 
  function try_NCName()
14575
 
  {
14576
 
    switch (l1)
14577
 
    {
14578
 
    case 19:                        // NCName^Token
14579
 
      shiftT(19);                   // NCName^Token
14580
 
      break;
14581
 
    case 70:                        // 'after'
14582
 
      shiftT(70);                   // 'after'
14583
 
      break;
14584
 
    case 75:                        // 'and'
14585
 
      shiftT(75);                   // 'and'
14586
 
      break;
14587
 
    case 79:                        // 'as'
14588
 
      shiftT(79);                   // 'as'
14589
 
      break;
14590
 
    case 80:                        // 'ascending'
14591
 
      shiftT(80);                   // 'ascending'
14592
 
      break;
14593
 
    case 84:                        // 'before'
14594
 
      shiftT(84);                   // 'before'
14595
 
      break;
14596
 
    case 88:                        // 'case'
14597
 
      shiftT(88);                   // 'case'
14598
 
      break;
14599
 
    case 89:                        // 'cast'
14600
 
      shiftT(89);                   // 'cast'
14601
 
      break;
14602
 
    case 90:                        // 'castable'
14603
 
      shiftT(90);                   // 'castable'
14604
 
      break;
14605
 
    case 94:                        // 'collation'
14606
 
      shiftT(94);                   // 'collation'
14607
 
      break;
14608
 
    case 105:                       // 'count'
14609
 
      shiftT(105);                  // 'count'
14610
 
      break;
14611
 
    case 109:                       // 'default'
14612
 
      shiftT(109);                  // 'default'
14613
 
      break;
14614
 
    case 113:                       // 'descending'
14615
 
      shiftT(113);                  // 'descending'
14616
 
      break;
14617
 
    case 118:                       // 'div'
14618
 
      shiftT(118);                  // 'div'
14619
 
      break;
14620
 
    case 122:                       // 'else'
14621
 
      shiftT(122);                  // 'else'
14622
 
      break;
14623
 
    case 123:                       // 'empty'
14624
 
      shiftT(123);                  // 'empty'
14625
 
      break;
14626
 
    case 126:                       // 'end'
14627
 
      shiftT(126);                  // 'end'
14628
 
      break;
14629
 
    case 128:                       // 'eq'
14630
 
      shiftT(128);                  // 'eq'
14631
 
      break;
14632
 
    case 131:                       // 'except'
14633
 
      shiftT(131);                  // 'except'
14634
 
      break;
14635
 
    case 137:                       // 'for'
14636
 
      shiftT(137);                  // 'for'
14637
 
      break;
14638
 
    case 146:                       // 'ge'
14639
 
      shiftT(146);                  // 'ge'
14640
 
      break;
14641
 
    case 148:                       // 'group'
14642
 
      shiftT(148);                  // 'group'
14643
 
      break;
14644
 
    case 150:                       // 'gt'
14645
 
      shiftT(150);                  // 'gt'
14646
 
      break;
14647
 
    case 151:                       // 'idiv'
14648
 
      shiftT(151);                  // 'idiv'
14649
 
      break;
14650
 
    case 160:                       // 'instance'
14651
 
      shiftT(160);                  // 'instance'
14652
 
      break;
14653
 
    case 162:                       // 'intersect'
14654
 
      shiftT(162);                  // 'intersect'
14655
 
      break;
14656
 
    case 163:                       // 'into'
14657
 
      shiftT(163);                  // 'into'
14658
 
      break;
14659
 
    case 164:                       // 'is'
14660
 
      shiftT(164);                  // 'is'
14661
 
      break;
14662
 
    case 172:                       // 'le'
14663
 
      shiftT(172);                  // 'le'
14664
 
      break;
14665
 
    case 174:                       // 'let'
14666
 
      shiftT(174);                  // 'let'
14667
 
      break;
14668
 
    case 178:                       // 'lt'
14669
 
      shiftT(178);                  // 'lt'
14670
 
      break;
14671
 
    case 180:                       // 'mod'
14672
 
      shiftT(180);                  // 'mod'
14673
 
      break;
14674
 
    case 181:                       // 'modify'
14675
 
      shiftT(181);                  // 'modify'
14676
 
      break;
14677
 
    case 186:                       // 'ne'
14678
 
      shiftT(186);                  // 'ne'
14679
 
      break;
14680
 
    case 198:                       // 'only'
14681
 
      shiftT(198);                  // 'only'
14682
 
      break;
14683
 
    case 200:                       // 'or'
14684
 
      shiftT(200);                  // 'or'
14685
 
      break;
14686
 
    case 201:                       // 'order'
14687
 
      shiftT(201);                  // 'order'
14688
 
      break;
14689
 
    case 220:                       // 'return'
14690
 
      shiftT(220);                  // 'return'
14691
 
      break;
14692
 
    case 224:                       // 'satisfies'
14693
 
      shiftT(224);                  // 'satisfies'
14694
 
      break;
14695
 
    case 236:                       // 'stable'
14696
 
      shiftT(236);                  // 'stable'
14697
 
      break;
14698
 
    case 237:                       // 'start'
14699
 
      shiftT(237);                  // 'start'
14700
 
      break;
14701
 
    case 248:                       // 'to'
14702
 
      shiftT(248);                  // 'to'
14703
 
      break;
14704
 
    case 249:                       // 'treat'
14705
 
      shiftT(249);                  // 'treat'
14706
 
      break;
14707
 
    case 254:                       // 'union'
14708
 
      shiftT(254);                  // 'union'
14709
 
      break;
14710
 
    case 266:                       // 'where'
14711
 
      shiftT(266);                  // 'where'
14712
 
      break;
14713
 
    case 270:                       // 'with'
14714
 
      shiftT(270);                  // 'with'
14715
 
      break;
14716
 
    case 73:                        // 'ancestor'
14717
 
      shiftT(73);                   // 'ancestor'
14718
 
      break;
14719
 
    case 74:                        // 'ancestor-or-self'
14720
 
      shiftT(74);                   // 'ancestor-or-self'
14721
 
      break;
14722
 
    case 82:                        // 'attribute'
14723
 
      shiftT(82);                   // 'attribute'
14724
 
      break;
14725
 
    case 93:                        // 'child'
14726
 
      shiftT(93);                   // 'child'
14727
 
      break;
14728
 
    case 96:                        // 'comment'
14729
 
      shiftT(96);                   // 'comment'
14730
 
      break;
14731
 
    case 103:                       // 'copy'
14732
 
      shiftT(103);                  // 'copy'
14733
 
      break;
14734
 
    case 108:                       // 'declare'
14735
 
      shiftT(108);                  // 'declare'
14736
 
      break;
14737
 
    case 110:                       // 'delete'
14738
 
      shiftT(110);                  // 'delete'
14739
 
      break;
14740
 
    case 111:                       // 'descendant'
14741
 
      shiftT(111);                  // 'descendant'
14742
 
      break;
14743
 
    case 112:                       // 'descendant-or-self'
14744
 
      shiftT(112);                  // 'descendant-or-self'
14745
 
      break;
14746
 
    case 119:                       // 'document'
14747
 
      shiftT(119);                  // 'document'
14748
 
      break;
14749
 
    case 120:                       // 'document-node'
14750
 
      shiftT(120);                  // 'document-node'
14751
 
      break;
14752
 
    case 121:                       // 'element'
14753
 
      shiftT(121);                  // 'element'
14754
 
      break;
14755
 
    case 124:                       // 'empty-sequence'
14756
 
      shiftT(124);                  // 'empty-sequence'
14757
 
      break;
14758
 
    case 129:                       // 'every'
14759
 
      shiftT(129);                  // 'every'
14760
 
      break;
14761
 
    case 134:                       // 'first'
14762
 
      shiftT(134);                  // 'first'
14763
 
      break;
14764
 
    case 135:                       // 'following'
14765
 
      shiftT(135);                  // 'following'
14766
 
      break;
14767
 
    case 136:                       // 'following-sibling'
14768
 
      shiftT(136);                  // 'following-sibling'
14769
 
      break;
14770
 
    case 145:                       // 'function'
14771
 
      shiftT(145);                  // 'function'
14772
 
      break;
14773
 
    case 152:                       // 'if'
14774
 
      shiftT(152);                  // 'if'
14775
 
      break;
14776
 
    case 153:                       // 'import'
14777
 
      shiftT(153);                  // 'import'
14778
 
      break;
14779
 
    case 159:                       // 'insert'
14780
 
      shiftT(159);                  // 'insert'
14781
 
      break;
14782
 
    case 165:                       // 'item'
14783
 
      shiftT(165);                  // 'item'
14784
 
      break;
14785
 
    case 170:                       // 'last'
14786
 
      shiftT(170);                  // 'last'
14787
 
      break;
14788
 
    case 182:                       // 'module'
14789
 
      shiftT(182);                  // 'module'
14790
 
      break;
14791
 
    case 184:                       // 'namespace'
14792
 
      shiftT(184);                  // 'namespace'
14793
 
      break;
14794
 
    case 185:                       // 'namespace-node'
14795
 
      shiftT(185);                  // 'namespace-node'
14796
 
      break;
14797
 
    case 191:                       // 'node'
14798
 
      shiftT(191);                  // 'node'
14799
 
      break;
14800
 
    case 202:                       // 'ordered'
14801
 
      shiftT(202);                  // 'ordered'
14802
 
      break;
14803
 
    case 206:                       // 'parent'
14804
 
      shiftT(206);                  // 'parent'
14805
 
      break;
14806
 
    case 212:                       // 'preceding'
14807
 
      shiftT(212);                  // 'preceding'
14808
 
      break;
14809
 
    case 213:                       // 'preceding-sibling'
14810
 
      shiftT(213);                  // 'preceding-sibling'
14811
 
      break;
14812
 
    case 216:                       // 'processing-instruction'
14813
 
      shiftT(216);                  // 'processing-instruction'
14814
 
      break;
14815
 
    case 218:                       // 'rename'
14816
 
      shiftT(218);                  // 'rename'
14817
 
      break;
14818
 
    case 219:                       // 'replace'
14819
 
      shiftT(219);                  // 'replace'
14820
 
      break;
14821
 
    case 226:                       // 'schema-attribute'
14822
 
      shiftT(226);                  // 'schema-attribute'
14823
 
      break;
14824
 
    case 227:                       // 'schema-element'
14825
 
      shiftT(227);                  // 'schema-element'
14826
 
      break;
14827
 
    case 229:                       // 'self'
14828
 
      shiftT(229);                  // 'self'
14829
 
      break;
14830
 
    case 235:                       // 'some'
14831
 
      shiftT(235);                  // 'some'
14832
 
      break;
14833
 
    case 243:                       // 'switch'
14834
 
      shiftT(243);                  // 'switch'
14835
 
      break;
14836
 
    case 244:                       // 'text'
14837
 
      shiftT(244);                  // 'text'
14838
 
      break;
14839
 
    case 250:                       // 'try'
14840
 
      shiftT(250);                  // 'try'
14841
 
      break;
14842
 
    case 253:                       // 'typeswitch'
14843
 
      shiftT(253);                  // 'typeswitch'
14844
 
      break;
14845
 
    case 256:                       // 'unordered'
14846
 
      shiftT(256);                  // 'unordered'
14847
 
      break;
14848
 
    case 260:                       // 'validate'
14849
 
      shiftT(260);                  // 'validate'
14850
 
      break;
14851
 
    case 262:                       // 'variable'
14852
 
      shiftT(262);                  // 'variable'
14853
 
      break;
14854
 
    case 274:                       // 'xquery'
14855
 
      shiftT(274);                  // 'xquery'
14856
 
      break;
14857
 
    case 72:                        // 'allowing'
14858
 
      shiftT(72);                   // 'allowing'
14859
 
      break;
14860
 
    case 81:                        // 'at'
14861
 
      shiftT(81);                   // 'at'
14862
 
      break;
14863
 
    case 83:                        // 'base-uri'
14864
 
      shiftT(83);                   // 'base-uri'
14865
 
      break;
14866
 
    case 85:                        // 'boundary-space'
14867
 
      shiftT(85);                   // 'boundary-space'
14868
 
      break;
14869
 
    case 86:                        // 'break'
14870
 
      shiftT(86);                   // 'break'
14871
 
      break;
14872
 
    case 91:                        // 'catch'
14873
 
      shiftT(91);                   // 'catch'
14874
 
      break;
14875
 
    case 98:                        // 'construction'
14876
 
      shiftT(98);                   // 'construction'
14877
 
      break;
14878
 
    case 101:                       // 'context'
14879
 
      shiftT(101);                  // 'context'
14880
 
      break;
14881
 
    case 102:                       // 'continue'
14882
 
      shiftT(102);                  // 'continue'
14883
 
      break;
14884
 
    case 104:                       // 'copy-namespaces'
14885
 
      shiftT(104);                  // 'copy-namespaces'
14886
 
      break;
14887
 
    case 106:                       // 'decimal-format'
14888
 
      shiftT(106);                  // 'decimal-format'
14889
 
      break;
14890
 
    case 125:                       // 'encoding'
14891
 
      shiftT(125);                  // 'encoding'
14892
 
      break;
14893
 
    case 132:                       // 'exit'
14894
 
      shiftT(132);                  // 'exit'
14895
 
      break;
14896
 
    case 133:                       // 'external'
14897
 
      shiftT(133);                  // 'external'
14898
 
      break;
14899
 
    case 141:                       // 'ft-option'
14900
 
      shiftT(141);                  // 'ft-option'
14901
 
      break;
14902
 
    case 154:                       // 'in'
14903
 
      shiftT(154);                  // 'in'
14904
 
      break;
14905
 
    case 155:                       // 'index'
14906
 
      shiftT(155);                  // 'index'
14907
 
      break;
14908
 
    case 161:                       // 'integrity'
14909
 
      shiftT(161);                  // 'integrity'
14910
 
      break;
14911
 
    case 171:                       // 'lax'
14912
 
      shiftT(171);                  // 'lax'
14913
 
      break;
14914
 
    case 192:                       // 'nodes'
14915
 
      shiftT(192);                  // 'nodes'
14916
 
      break;
14917
 
    case 199:                       // 'option'
14918
 
      shiftT(199);                  // 'option'
14919
 
      break;
14920
 
    case 203:                       // 'ordering'
14921
 
      shiftT(203);                  // 'ordering'
14922
 
      break;
14923
 
    case 222:                       // 'revalidation'
14924
 
      shiftT(222);                  // 'revalidation'
14925
 
      break;
14926
 
    case 225:                       // 'schema'
14927
 
      shiftT(225);                  // 'schema'
14928
 
      break;
14929
 
    case 228:                       // 'score'
14930
 
      shiftT(228);                  // 'score'
14931
 
      break;
14932
 
    case 234:                       // 'sliding'
14933
 
      shiftT(234);                  // 'sliding'
14934
 
      break;
14935
 
    case 240:                       // 'strict'
14936
 
      shiftT(240);                  // 'strict'
14937
 
      break;
14938
 
    case 251:                       // 'tumbling'
14939
 
      shiftT(251);                  // 'tumbling'
14940
 
      break;
14941
 
    case 252:                       // 'type'
14942
 
      shiftT(252);                  // 'type'
14943
 
      break;
14944
 
    case 257:                       // 'updating'
14945
 
      shiftT(257);                  // 'updating'
14946
 
      break;
14947
 
    case 261:                       // 'value'
14948
 
      shiftT(261);                  // 'value'
14949
 
      break;
14950
 
    case 263:                       // 'version'
14951
 
      shiftT(263);                  // 'version'
14952
 
      break;
14953
 
    case 267:                       // 'while'
14954
 
      shiftT(267);                  // 'while'
14955
 
      break;
14956
 
    case 97:                        // 'constraint'
14957
 
      shiftT(97);                   // 'constraint'
14958
 
      break;
14959
 
    case 176:                       // 'loop'
14960
 
      shiftT(176);                  // 'loop'
14961
 
      break;
14962
 
    default:
14963
 
      shiftT(221);                  // 'returning'
14964
 
    }
14965
 
  }
14966
 
 
14967
 
  function parse_MainModule()
14968
 
  {
14969
 
    eventHandler.startNonterminal("MainModule", e0);
14970
 
    parse_Prolog();
14971
 
    whitespace();
14972
 
    parse_Program();
14973
 
    eventHandler.endNonterminal("MainModule", e0);
14974
 
  }
14975
 
 
14976
 
  function parse_Program()
14977
 
  {
14978
 
    eventHandler.startNonterminal("Program", e0);
14979
 
    parse_StatementsAndOptionalExpr();
14980
 
    eventHandler.endNonterminal("Program", e0);
14981
 
  }
14982
 
 
14983
 
  function parse_Statements()
14984
 
  {
14985
 
    eventHandler.startNonterminal("Statements", e0);
14986
 
    for (;;)
14987
 
    {
14988
 
      lookahead1W(274);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
14989
 
      switch (l1)
14990
 
      {
14991
 
      case 34:                      // '('
14992
 
        lookahead2W(269);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
14993
 
        break;
14994
 
      case 35:                      // '(#'
14995
 
        lookahead2(250);            // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
14996
 
        break;
14997
 
      case 46:                      // '/'
14998
 
        lookahead2W(281);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
14999
 
        break;
15000
 
      case 47:                      // '//'
15001
 
        lookahead2W(263);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15002
 
        break;
15003
 
      case 54:                      // '<'
15004
 
        lookahead2(4);              // QName
15005
 
        break;
15006
 
      case 55:                      // '<!--'
15007
 
        lookahead2(1);              // DirCommentContents
15008
 
        break;
15009
 
      case 59:                      // '<?'
15010
 
        lookahead2(3);              // PITarget
15011
 
        break;
15012
 
      case 66:                      // '@'
15013
 
        lookahead2W(255);           // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
15014
 
        break;
15015
 
      case 68:                      // '['
15016
 
        lookahead2W(271);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15017
 
        break;
15018
 
      case 77:                      // 'append'
15019
 
        lookahead2W(56);            // S^WS | '(:' | 'json'
15020
 
        break;
15021
 
      case 82:                      // 'attribute'
15022
 
        lookahead2W(278);           // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
15023
 
        break;
15024
 
      case 121:                     // 'element'
15025
 
        lookahead2W(277);           // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
15026
 
        break;
15027
 
      case 132:                     // 'exit'
15028
 
        lookahead2W(202);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15029
 
        break;
15030
 
      case 137:                     // 'for'
15031
 
        lookahead2W(206);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
15032
 
        break;
15033
 
      case 174:                     // 'let'
15034
 
        lookahead2W(204);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
15035
 
        break;
15036
 
      case 218:                     // 'rename'
15037
 
        lookahead2W(205);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15038
 
        break;
15039
 
      case 219:                     // 'replace'
15040
 
        lookahead2W(208);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15041
 
        break;
15042
 
      case 260:                     // 'validate'
15043
 
        lookahead2W(209);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15044
 
        break;
15045
 
      case 276:                     // '{'
15046
 
        lookahead2W(273);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15047
 
        break;
15048
 
      case 278:                     // '{|'
15049
 
        lookahead2W(272);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15050
 
        break;
15051
 
      case 5:                       // Wildcard
15052
 
      case 45:                      // '..'
15053
 
        lookahead2W(186);           // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
15054
 
        break;
15055
 
      case 31:                      // '$'
15056
 
      case 32:                      // '%'
15057
 
        lookahead2W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
15058
 
        break;
15059
 
      case 40:                      // '+'
15060
 
      case 42:                      // '-'
15061
 
        lookahead2W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15062
 
        break;
15063
 
      case 86:                      // 'break'
15064
 
      case 102:                     // 'continue'
15065
 
        lookahead2W(200);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15066
 
        break;
15067
 
      case 110:                     // 'delete'
15068
 
      case 159:                     // 'insert'
15069
 
        lookahead2W(207);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15070
 
        break;
15071
 
      case 124:                     // 'empty-sequence'
15072
 
      case 165:                     // 'item'
15073
 
        lookahead2W(191);           // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
15074
 
        break;
15075
 
      case 184:                     // 'namespace'
15076
 
      case 216:                     // 'processing-instruction'
15077
 
        lookahead2W(266);           // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
15078
 
        break;
15079
 
      case 103:                     // 'copy'
15080
 
      case 129:                     // 'every'
15081
 
      case 235:                     // 'some'
15082
 
      case 262:                     // 'variable'
15083
 
        lookahead2W(197);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
15084
 
        break;
15085
 
      case 8:                       // IntegerLiteral
15086
 
      case 9:                       // DecimalLiteral
15087
 
      case 10:                      // DoubleLiteral
15088
 
      case 11:                      // StringLiteral
15089
 
      case 44:                      // '.'
15090
 
        lookahead2W(192);           // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
15091
 
        break;
15092
 
      case 96:                      // 'comment'
15093
 
      case 119:                     // 'document'
15094
 
      case 202:                     // 'ordered'
15095
 
      case 244:                     // 'text'
15096
 
      case 250:                     // 'try'
15097
 
      case 256:                     // 'unordered'
15098
 
        lookahead2W(203);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15099
 
        break;
15100
 
      case 73:                      // 'ancestor'
15101
 
      case 74:                      // 'ancestor-or-self'
15102
 
      case 93:                      // 'child'
15103
 
      case 111:                     // 'descendant'
15104
 
      case 112:                     // 'descendant-or-self'
15105
 
      case 135:                     // 'following'
15106
 
      case 136:                     // 'following-sibling'
15107
 
      case 206:                     // 'parent'
15108
 
      case 212:                     // 'preceding'
15109
 
      case 213:                     // 'preceding-sibling'
15110
 
      case 229:                     // 'self'
15111
 
        lookahead2W(198);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15112
 
        break;
15113
 
      case 6:                       // EQName^Token
15114
 
      case 70:                      // 'after'
15115
 
      case 72:                      // 'allowing'
15116
 
      case 75:                      // 'and'
15117
 
      case 78:                      // 'array'
15118
 
      case 79:                      // 'as'
15119
 
      case 80:                      // 'ascending'
15120
 
      case 81:                      // 'at'
15121
 
      case 83:                      // 'base-uri'
15122
 
      case 84:                      // 'before'
15123
 
      case 85:                      // 'boundary-space'
15124
 
      case 88:                      // 'case'
15125
 
      case 89:                      // 'cast'
15126
 
      case 90:                      // 'castable'
15127
 
      case 91:                      // 'catch'
15128
 
      case 94:                      // 'collation'
15129
 
      case 97:                      // 'constraint'
15130
 
      case 98:                      // 'construction'
15131
 
      case 101:                     // 'context'
15132
 
      case 104:                     // 'copy-namespaces'
15133
 
      case 105:                     // 'count'
15134
 
      case 106:                     // 'decimal-format'
15135
 
      case 108:                     // 'declare'
15136
 
      case 109:                     // 'default'
15137
 
      case 113:                     // 'descending'
15138
 
      case 118:                     // 'div'
15139
 
      case 120:                     // 'document-node'
15140
 
      case 122:                     // 'else'
15141
 
      case 123:                     // 'empty'
15142
 
      case 125:                     // 'encoding'
15143
 
      case 126:                     // 'end'
15144
 
      case 128:                     // 'eq'
15145
 
      case 131:                     // 'except'
15146
 
      case 133:                     // 'external'
15147
 
      case 134:                     // 'first'
15148
 
      case 141:                     // 'ft-option'
15149
 
      case 145:                     // 'function'
15150
 
      case 146:                     // 'ge'
15151
 
      case 148:                     // 'group'
15152
 
      case 150:                     // 'gt'
15153
 
      case 151:                     // 'idiv'
15154
 
      case 152:                     // 'if'
15155
 
      case 153:                     // 'import'
15156
 
      case 154:                     // 'in'
15157
 
      case 155:                     // 'index'
15158
 
      case 160:                     // 'instance'
15159
 
      case 161:                     // 'integrity'
15160
 
      case 162:                     // 'intersect'
15161
 
      case 163:                     // 'into'
15162
 
      case 164:                     // 'is'
15163
 
      case 167:                     // 'json-item'
15164
 
      case 170:                     // 'last'
15165
 
      case 171:                     // 'lax'
15166
 
      case 172:                     // 'le'
15167
 
      case 176:                     // 'loop'
15168
 
      case 178:                     // 'lt'
15169
 
      case 180:                     // 'mod'
15170
 
      case 181:                     // 'modify'
15171
 
      case 182:                     // 'module'
15172
 
      case 185:                     // 'namespace-node'
15173
 
      case 186:                     // 'ne'
15174
 
      case 191:                     // 'node'
15175
 
      case 192:                     // 'nodes'
15176
 
      case 194:                     // 'object'
15177
 
      case 198:                     // 'only'
15178
 
      case 199:                     // 'option'
15179
 
      case 200:                     // 'or'
15180
 
      case 201:                     // 'order'
15181
 
      case 203:                     // 'ordering'
15182
 
      case 220:                     // 'return'
15183
 
      case 221:                     // 'returning'
15184
 
      case 222:                     // 'revalidation'
15185
 
      case 224:                     // 'satisfies'
15186
 
      case 225:                     // 'schema'
15187
 
      case 226:                     // 'schema-attribute'
15188
 
      case 227:                     // 'schema-element'
15189
 
      case 228:                     // 'score'
15190
 
      case 234:                     // 'sliding'
15191
 
      case 236:                     // 'stable'
15192
 
      case 237:                     // 'start'
15193
 
      case 240:                     // 'strict'
15194
 
      case 243:                     // 'switch'
15195
 
      case 248:                     // 'to'
15196
 
      case 249:                     // 'treat'
15197
 
      case 251:                     // 'tumbling'
15198
 
      case 252:                     // 'type'
15199
 
      case 253:                     // 'typeswitch'
15200
 
      case 254:                     // 'union'
15201
 
      case 257:                     // 'updating'
15202
 
      case 261:                     // 'value'
15203
 
      case 263:                     // 'version'
15204
 
      case 266:                     // 'where'
15205
 
      case 267:                     // 'while'
15206
 
      case 270:                     // 'with'
15207
 
      case 274:                     // 'xquery'
15208
 
        lookahead2W(195);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
15209
 
        break;
15210
 
      default:
15211
 
        lk = l1;
15212
 
      }
15213
 
      if (lk != 25                  // EOF
15214
 
       && lk != 282                 // '}'
15215
 
       && lk != 12805               // Wildcard EOF
15216
 
       && lk != 12806               // EQName^Token EOF
15217
 
       && lk != 12808               // IntegerLiteral EOF
15218
 
       && lk != 12809               // DecimalLiteral EOF
15219
 
       && lk != 12810               // DoubleLiteral EOF
15220
 
       && lk != 12811               // StringLiteral EOF
15221
 
       && lk != 12844               // '.' EOF
15222
 
       && lk != 12845               // '..' EOF
15223
 
       && lk != 12846               // '/' EOF
15224
 
       && lk != 12870               // 'after' EOF
15225
 
       && lk != 12872               // 'allowing' EOF
15226
 
       && lk != 12873               // 'ancestor' EOF
15227
 
       && lk != 12874               // 'ancestor-or-self' EOF
15228
 
       && lk != 12875               // 'and' EOF
15229
 
       && lk != 12878               // 'array' EOF
15230
 
       && lk != 12879               // 'as' EOF
15231
 
       && lk != 12880               // 'ascending' EOF
15232
 
       && lk != 12881               // 'at' EOF
15233
 
       && lk != 12882               // 'attribute' EOF
15234
 
       && lk != 12883               // 'base-uri' EOF
15235
 
       && lk != 12884               // 'before' EOF
15236
 
       && lk != 12885               // 'boundary-space' EOF
15237
 
       && lk != 12886               // 'break' EOF
15238
 
       && lk != 12888               // 'case' EOF
15239
 
       && lk != 12889               // 'cast' EOF
15240
 
       && lk != 12890               // 'castable' EOF
15241
 
       && lk != 12891               // 'catch' EOF
15242
 
       && lk != 12893               // 'child' EOF
15243
 
       && lk != 12894               // 'collation' EOF
15244
 
       && lk != 12896               // 'comment' EOF
15245
 
       && lk != 12897               // 'constraint' EOF
15246
 
       && lk != 12898               // 'construction' EOF
15247
 
       && lk != 12901               // 'context' EOF
15248
 
       && lk != 12902               // 'continue' EOF
15249
 
       && lk != 12903               // 'copy' EOF
15250
 
       && lk != 12904               // 'copy-namespaces' EOF
15251
 
       && lk != 12905               // 'count' EOF
15252
 
       && lk != 12906               // 'decimal-format' EOF
15253
 
       && lk != 12908               // 'declare' EOF
15254
 
       && lk != 12909               // 'default' EOF
15255
 
       && lk != 12910               // 'delete' EOF
15256
 
       && lk != 12911               // 'descendant' EOF
15257
 
       && lk != 12912               // 'descendant-or-self' EOF
15258
 
       && lk != 12913               // 'descending' EOF
15259
 
       && lk != 12918               // 'div' EOF
15260
 
       && lk != 12919               // 'document' EOF
15261
 
       && lk != 12920               // 'document-node' EOF
15262
 
       && lk != 12921               // 'element' EOF
15263
 
       && lk != 12922               // 'else' EOF
15264
 
       && lk != 12923               // 'empty' EOF
15265
 
       && lk != 12924               // 'empty-sequence' EOF
15266
 
       && lk != 12925               // 'encoding' EOF
15267
 
       && lk != 12926               // 'end' EOF
15268
 
       && lk != 12928               // 'eq' EOF
15269
 
       && lk != 12929               // 'every' EOF
15270
 
       && lk != 12931               // 'except' EOF
15271
 
       && lk != 12932               // 'exit' EOF
15272
 
       && lk != 12933               // 'external' EOF
15273
 
       && lk != 12934               // 'first' EOF
15274
 
       && lk != 12935               // 'following' EOF
15275
 
       && lk != 12936               // 'following-sibling' EOF
15276
 
       && lk != 12937               // 'for' EOF
15277
 
       && lk != 12941               // 'ft-option' EOF
15278
 
       && lk != 12945               // 'function' EOF
15279
 
       && lk != 12946               // 'ge' EOF
15280
 
       && lk != 12948               // 'group' EOF
15281
 
       && lk != 12950               // 'gt' EOF
15282
 
       && lk != 12951               // 'idiv' EOF
15283
 
       && lk != 12952               // 'if' EOF
15284
 
       && lk != 12953               // 'import' EOF
15285
 
       && lk != 12954               // 'in' EOF
15286
 
       && lk != 12955               // 'index' EOF
15287
 
       && lk != 12959               // 'insert' EOF
15288
 
       && lk != 12960               // 'instance' EOF
15289
 
       && lk != 12961               // 'integrity' EOF
15290
 
       && lk != 12962               // 'intersect' EOF
15291
 
       && lk != 12963               // 'into' EOF
15292
 
       && lk != 12964               // 'is' EOF
15293
 
       && lk != 12965               // 'item' EOF
15294
 
       && lk != 12967               // 'json-item' EOF
15295
 
       && lk != 12970               // 'last' EOF
15296
 
       && lk != 12971               // 'lax' EOF
15297
 
       && lk != 12972               // 'le' EOF
15298
 
       && lk != 12974               // 'let' EOF
15299
 
       && lk != 12976               // 'loop' EOF
15300
 
       && lk != 12978               // 'lt' EOF
15301
 
       && lk != 12980               // 'mod' EOF
15302
 
       && lk != 12981               // 'modify' EOF
15303
 
       && lk != 12982               // 'module' EOF
15304
 
       && lk != 12984               // 'namespace' EOF
15305
 
       && lk != 12985               // 'namespace-node' EOF
15306
 
       && lk != 12986               // 'ne' EOF
15307
 
       && lk != 12991               // 'node' EOF
15308
 
       && lk != 12992               // 'nodes' EOF
15309
 
       && lk != 12994               // 'object' EOF
15310
 
       && lk != 12998               // 'only' EOF
15311
 
       && lk != 12999               // 'option' EOF
15312
 
       && lk != 13000               // 'or' EOF
15313
 
       && lk != 13001               // 'order' EOF
15314
 
       && lk != 13002               // 'ordered' EOF
15315
 
       && lk != 13003               // 'ordering' EOF
15316
 
       && lk != 13006               // 'parent' EOF
15317
 
       && lk != 13012               // 'preceding' EOF
15318
 
       && lk != 13013               // 'preceding-sibling' EOF
15319
 
       && lk != 13016               // 'processing-instruction' EOF
15320
 
       && lk != 13018               // 'rename' EOF
15321
 
       && lk != 13019               // 'replace' EOF
15322
 
       && lk != 13020               // 'return' EOF
15323
 
       && lk != 13021               // 'returning' EOF
15324
 
       && lk != 13022               // 'revalidation' EOF
15325
 
       && lk != 13024               // 'satisfies' EOF
15326
 
       && lk != 13025               // 'schema' EOF
15327
 
       && lk != 13026               // 'schema-attribute' EOF
15328
 
       && lk != 13027               // 'schema-element' EOF
15329
 
       && lk != 13028               // 'score' EOF
15330
 
       && lk != 13029               // 'self' EOF
15331
 
       && lk != 13034               // 'sliding' EOF
15332
 
       && lk != 13035               // 'some' EOF
15333
 
       && lk != 13036               // 'stable' EOF
15334
 
       && lk != 13037               // 'start' EOF
15335
 
       && lk != 13040               // 'strict' EOF
15336
 
       && lk != 13043               // 'switch' EOF
15337
 
       && lk != 13044               // 'text' EOF
15338
 
       && lk != 13048               // 'to' EOF
15339
 
       && lk != 13049               // 'treat' EOF
15340
 
       && lk != 13050               // 'try' EOF
15341
 
       && lk != 13051               // 'tumbling' EOF
15342
 
       && lk != 13052               // 'type' EOF
15343
 
       && lk != 13053               // 'typeswitch' EOF
15344
 
       && lk != 13054               // 'union' EOF
15345
 
       && lk != 13056               // 'unordered' EOF
15346
 
       && lk != 13057               // 'updating' EOF
15347
 
       && lk != 13060               // 'validate' EOF
15348
 
       && lk != 13061               // 'value' EOF
15349
 
       && lk != 13062               // 'variable' EOF
15350
 
       && lk != 13063               // 'version' EOF
15351
 
       && lk != 13066               // 'where' EOF
15352
 
       && lk != 13067               // 'while' EOF
15353
 
       && lk != 13070               // 'with' EOF
15354
 
       && lk != 13074               // 'xquery' EOF
15355
 
       && lk != 16134               // 'variable' '$'
15356
 
       && lk != 20997               // Wildcard ','
15357
 
       && lk != 20998               // EQName^Token ','
15358
 
       && lk != 21000               // IntegerLiteral ','
15359
 
       && lk != 21001               // DecimalLiteral ','
15360
 
       && lk != 21002               // DoubleLiteral ','
15361
 
       && lk != 21003               // StringLiteral ','
15362
 
       && lk != 21036               // '.' ','
15363
 
       && lk != 21037               // '..' ','
15364
 
       && lk != 21038               // '/' ','
15365
 
       && lk != 21062               // 'after' ','
15366
 
       && lk != 21064               // 'allowing' ','
15367
 
       && lk != 21065               // 'ancestor' ','
15368
 
       && lk != 21066               // 'ancestor-or-self' ','
15369
 
       && lk != 21067               // 'and' ','
15370
 
       && lk != 21070               // 'array' ','
15371
 
       && lk != 21071               // 'as' ','
15372
 
       && lk != 21072               // 'ascending' ','
15373
 
       && lk != 21073               // 'at' ','
15374
 
       && lk != 21074               // 'attribute' ','
15375
 
       && lk != 21075               // 'base-uri' ','
15376
 
       && lk != 21076               // 'before' ','
15377
 
       && lk != 21077               // 'boundary-space' ','
15378
 
       && lk != 21078               // 'break' ','
15379
 
       && lk != 21080               // 'case' ','
15380
 
       && lk != 21081               // 'cast' ','
15381
 
       && lk != 21082               // 'castable' ','
15382
 
       && lk != 21083               // 'catch' ','
15383
 
       && lk != 21085               // 'child' ','
15384
 
       && lk != 21086               // 'collation' ','
15385
 
       && lk != 21088               // 'comment' ','
15386
 
       && lk != 21089               // 'constraint' ','
15387
 
       && lk != 21090               // 'construction' ','
15388
 
       && lk != 21093               // 'context' ','
15389
 
       && lk != 21094               // 'continue' ','
15390
 
       && lk != 21095               // 'copy' ','
15391
 
       && lk != 21096               // 'copy-namespaces' ','
15392
 
       && lk != 21097               // 'count' ','
15393
 
       && lk != 21098               // 'decimal-format' ','
15394
 
       && lk != 21100               // 'declare' ','
15395
 
       && lk != 21101               // 'default' ','
15396
 
       && lk != 21102               // 'delete' ','
15397
 
       && lk != 21103               // 'descendant' ','
15398
 
       && lk != 21104               // 'descendant-or-self' ','
15399
 
       && lk != 21105               // 'descending' ','
15400
 
       && lk != 21110               // 'div' ','
15401
 
       && lk != 21111               // 'document' ','
15402
 
       && lk != 21112               // 'document-node' ','
15403
 
       && lk != 21113               // 'element' ','
15404
 
       && lk != 21114               // 'else' ','
15405
 
       && lk != 21115               // 'empty' ','
15406
 
       && lk != 21116               // 'empty-sequence' ','
15407
 
       && lk != 21117               // 'encoding' ','
15408
 
       && lk != 21118               // 'end' ','
15409
 
       && lk != 21120               // 'eq' ','
15410
 
       && lk != 21121               // 'every' ','
15411
 
       && lk != 21123               // 'except' ','
15412
 
       && lk != 21124               // 'exit' ','
15413
 
       && lk != 21125               // 'external' ','
15414
 
       && lk != 21126               // 'first' ','
15415
 
       && lk != 21127               // 'following' ','
15416
 
       && lk != 21128               // 'following-sibling' ','
15417
 
       && lk != 21129               // 'for' ','
15418
 
       && lk != 21133               // 'ft-option' ','
15419
 
       && lk != 21137               // 'function' ','
15420
 
       && lk != 21138               // 'ge' ','
15421
 
       && lk != 21140               // 'group' ','
15422
 
       && lk != 21142               // 'gt' ','
15423
 
       && lk != 21143               // 'idiv' ','
15424
 
       && lk != 21144               // 'if' ','
15425
 
       && lk != 21145               // 'import' ','
15426
 
       && lk != 21146               // 'in' ','
15427
 
       && lk != 21147               // 'index' ','
15428
 
       && lk != 21151               // 'insert' ','
15429
 
       && lk != 21152               // 'instance' ','
15430
 
       && lk != 21153               // 'integrity' ','
15431
 
       && lk != 21154               // 'intersect' ','
15432
 
       && lk != 21155               // 'into' ','
15433
 
       && lk != 21156               // 'is' ','
15434
 
       && lk != 21157               // 'item' ','
15435
 
       && lk != 21159               // 'json-item' ','
15436
 
       && lk != 21162               // 'last' ','
15437
 
       && lk != 21163               // 'lax' ','
15438
 
       && lk != 21164               // 'le' ','
15439
 
       && lk != 21166               // 'let' ','
15440
 
       && lk != 21168               // 'loop' ','
15441
 
       && lk != 21170               // 'lt' ','
15442
 
       && lk != 21172               // 'mod' ','
15443
 
       && lk != 21173               // 'modify' ','
15444
 
       && lk != 21174               // 'module' ','
15445
 
       && lk != 21176               // 'namespace' ','
15446
 
       && lk != 21177               // 'namespace-node' ','
15447
 
       && lk != 21178               // 'ne' ','
15448
 
       && lk != 21183               // 'node' ','
15449
 
       && lk != 21184               // 'nodes' ','
15450
 
       && lk != 21186               // 'object' ','
15451
 
       && lk != 21190               // 'only' ','
15452
 
       && lk != 21191               // 'option' ','
15453
 
       && lk != 21192               // 'or' ','
15454
 
       && lk != 21193               // 'order' ','
15455
 
       && lk != 21194               // 'ordered' ','
15456
 
       && lk != 21195               // 'ordering' ','
15457
 
       && lk != 21198               // 'parent' ','
15458
 
       && lk != 21204               // 'preceding' ','
15459
 
       && lk != 21205               // 'preceding-sibling' ','
15460
 
       && lk != 21208               // 'processing-instruction' ','
15461
 
       && lk != 21210               // 'rename' ','
15462
 
       && lk != 21211               // 'replace' ','
15463
 
       && lk != 21212               // 'return' ','
15464
 
       && lk != 21213               // 'returning' ','
15465
 
       && lk != 21214               // 'revalidation' ','
15466
 
       && lk != 21216               // 'satisfies' ','
15467
 
       && lk != 21217               // 'schema' ','
15468
 
       && lk != 21218               // 'schema-attribute' ','
15469
 
       && lk != 21219               // 'schema-element' ','
15470
 
       && lk != 21220               // 'score' ','
15471
 
       && lk != 21221               // 'self' ','
15472
 
       && lk != 21226               // 'sliding' ','
15473
 
       && lk != 21227               // 'some' ','
15474
 
       && lk != 21228               // 'stable' ','
15475
 
       && lk != 21229               // 'start' ','
15476
 
       && lk != 21232               // 'strict' ','
15477
 
       && lk != 21235               // 'switch' ','
15478
 
       && lk != 21236               // 'text' ','
15479
 
       && lk != 21240               // 'to' ','
15480
 
       && lk != 21241               // 'treat' ','
15481
 
       && lk != 21242               // 'try' ','
15482
 
       && lk != 21243               // 'tumbling' ','
15483
 
       && lk != 21244               // 'type' ','
15484
 
       && lk != 21245               // 'typeswitch' ','
15485
 
       && lk != 21246               // 'union' ','
15486
 
       && lk != 21248               // 'unordered' ','
15487
 
       && lk != 21249               // 'updating' ','
15488
 
       && lk != 21252               // 'validate' ','
15489
 
       && lk != 21253               // 'value' ','
15490
 
       && lk != 21254               // 'variable' ','
15491
 
       && lk != 21255               // 'version' ','
15492
 
       && lk != 21258               // 'where' ','
15493
 
       && lk != 21259               // 'while' ','
15494
 
       && lk != 21262               // 'with' ','
15495
 
       && lk != 21266               // 'xquery' ','
15496
 
       && lk != 27141               // Wildcard ';'
15497
 
       && lk != 27142               // EQName^Token ';'
15498
 
       && lk != 27144               // IntegerLiteral ';'
15499
 
       && lk != 27145               // DecimalLiteral ';'
15500
 
       && lk != 27146               // DoubleLiteral ';'
15501
 
       && lk != 27147               // StringLiteral ';'
15502
 
       && lk != 27180               // '.' ';'
15503
 
       && lk != 27181               // '..' ';'
15504
 
       && lk != 27182               // '/' ';'
15505
 
       && lk != 27206               // 'after' ';'
15506
 
       && lk != 27208               // 'allowing' ';'
15507
 
       && lk != 27209               // 'ancestor' ';'
15508
 
       && lk != 27210               // 'ancestor-or-self' ';'
15509
 
       && lk != 27211               // 'and' ';'
15510
 
       && lk != 27214               // 'array' ';'
15511
 
       && lk != 27215               // 'as' ';'
15512
 
       && lk != 27216               // 'ascending' ';'
15513
 
       && lk != 27217               // 'at' ';'
15514
 
       && lk != 27218               // 'attribute' ';'
15515
 
       && lk != 27219               // 'base-uri' ';'
15516
 
       && lk != 27220               // 'before' ';'
15517
 
       && lk != 27221               // 'boundary-space' ';'
15518
 
       && lk != 27222               // 'break' ';'
15519
 
       && lk != 27224               // 'case' ';'
15520
 
       && lk != 27225               // 'cast' ';'
15521
 
       && lk != 27226               // 'castable' ';'
15522
 
       && lk != 27227               // 'catch' ';'
15523
 
       && lk != 27229               // 'child' ';'
15524
 
       && lk != 27230               // 'collation' ';'
15525
 
       && lk != 27232               // 'comment' ';'
15526
 
       && lk != 27233               // 'constraint' ';'
15527
 
       && lk != 27234               // 'construction' ';'
15528
 
       && lk != 27237               // 'context' ';'
15529
 
       && lk != 27238               // 'continue' ';'
15530
 
       && lk != 27239               // 'copy' ';'
15531
 
       && lk != 27240               // 'copy-namespaces' ';'
15532
 
       && lk != 27241               // 'count' ';'
15533
 
       && lk != 27242               // 'decimal-format' ';'
15534
 
       && lk != 27244               // 'declare' ';'
15535
 
       && lk != 27245               // 'default' ';'
15536
 
       && lk != 27246               // 'delete' ';'
15537
 
       && lk != 27247               // 'descendant' ';'
15538
 
       && lk != 27248               // 'descendant-or-self' ';'
15539
 
       && lk != 27249               // 'descending' ';'
15540
 
       && lk != 27254               // 'div' ';'
15541
 
       && lk != 27255               // 'document' ';'
15542
 
       && lk != 27256               // 'document-node' ';'
15543
 
       && lk != 27257               // 'element' ';'
15544
 
       && lk != 27258               // 'else' ';'
15545
 
       && lk != 27259               // 'empty' ';'
15546
 
       && lk != 27260               // 'empty-sequence' ';'
15547
 
       && lk != 27261               // 'encoding' ';'
15548
 
       && lk != 27262               // 'end' ';'
15549
 
       && lk != 27264               // 'eq' ';'
15550
 
       && lk != 27265               // 'every' ';'
15551
 
       && lk != 27267               // 'except' ';'
15552
 
       && lk != 27268               // 'exit' ';'
15553
 
       && lk != 27269               // 'external' ';'
15554
 
       && lk != 27270               // 'first' ';'
15555
 
       && lk != 27271               // 'following' ';'
15556
 
       && lk != 27272               // 'following-sibling' ';'
15557
 
       && lk != 27273               // 'for' ';'
15558
 
       && lk != 27277               // 'ft-option' ';'
15559
 
       && lk != 27281               // 'function' ';'
15560
 
       && lk != 27282               // 'ge' ';'
15561
 
       && lk != 27284               // 'group' ';'
15562
 
       && lk != 27286               // 'gt' ';'
15563
 
       && lk != 27287               // 'idiv' ';'
15564
 
       && lk != 27288               // 'if' ';'
15565
 
       && lk != 27289               // 'import' ';'
15566
 
       && lk != 27290               // 'in' ';'
15567
 
       && lk != 27291               // 'index' ';'
15568
 
       && lk != 27295               // 'insert' ';'
15569
 
       && lk != 27296               // 'instance' ';'
15570
 
       && lk != 27297               // 'integrity' ';'
15571
 
       && lk != 27298               // 'intersect' ';'
15572
 
       && lk != 27299               // 'into' ';'
15573
 
       && lk != 27300               // 'is' ';'
15574
 
       && lk != 27301               // 'item' ';'
15575
 
       && lk != 27303               // 'json-item' ';'
15576
 
       && lk != 27306               // 'last' ';'
15577
 
       && lk != 27307               // 'lax' ';'
15578
 
       && lk != 27308               // 'le' ';'
15579
 
       && lk != 27310               // 'let' ';'
15580
 
       && lk != 27312               // 'loop' ';'
15581
 
       && lk != 27314               // 'lt' ';'
15582
 
       && lk != 27316               // 'mod' ';'
15583
 
       && lk != 27317               // 'modify' ';'
15584
 
       && lk != 27318               // 'module' ';'
15585
 
       && lk != 27320               // 'namespace' ';'
15586
 
       && lk != 27321               // 'namespace-node' ';'
15587
 
       && lk != 27322               // 'ne' ';'
15588
 
       && lk != 27327               // 'node' ';'
15589
 
       && lk != 27328               // 'nodes' ';'
15590
 
       && lk != 27330               // 'object' ';'
15591
 
       && lk != 27334               // 'only' ';'
15592
 
       && lk != 27335               // 'option' ';'
15593
 
       && lk != 27336               // 'or' ';'
15594
 
       && lk != 27337               // 'order' ';'
15595
 
       && lk != 27338               // 'ordered' ';'
15596
 
       && lk != 27339               // 'ordering' ';'
15597
 
       && lk != 27342               // 'parent' ';'
15598
 
       && lk != 27348               // 'preceding' ';'
15599
 
       && lk != 27349               // 'preceding-sibling' ';'
15600
 
       && lk != 27352               // 'processing-instruction' ';'
15601
 
       && lk != 27354               // 'rename' ';'
15602
 
       && lk != 27355               // 'replace' ';'
15603
 
       && lk != 27356               // 'return' ';'
15604
 
       && lk != 27357               // 'returning' ';'
15605
 
       && lk != 27358               // 'revalidation' ';'
15606
 
       && lk != 27360               // 'satisfies' ';'
15607
 
       && lk != 27361               // 'schema' ';'
15608
 
       && lk != 27362               // 'schema-attribute' ';'
15609
 
       && lk != 27363               // 'schema-element' ';'
15610
 
       && lk != 27364               // 'score' ';'
15611
 
       && lk != 27365               // 'self' ';'
15612
 
       && lk != 27370               // 'sliding' ';'
15613
 
       && lk != 27371               // 'some' ';'
15614
 
       && lk != 27372               // 'stable' ';'
15615
 
       && lk != 27373               // 'start' ';'
15616
 
       && lk != 27376               // 'strict' ';'
15617
 
       && lk != 27379               // 'switch' ';'
15618
 
       && lk != 27380               // 'text' ';'
15619
 
       && lk != 27384               // 'to' ';'
15620
 
       && lk != 27385               // 'treat' ';'
15621
 
       && lk != 27386               // 'try' ';'
15622
 
       && lk != 27387               // 'tumbling' ';'
15623
 
       && lk != 27388               // 'type' ';'
15624
 
       && lk != 27389               // 'typeswitch' ';'
15625
 
       && lk != 27390               // 'union' ';'
15626
 
       && lk != 27392               // 'unordered' ';'
15627
 
       && lk != 27393               // 'updating' ';'
15628
 
       && lk != 27396               // 'validate' ';'
15629
 
       && lk != 27397               // 'value' ';'
15630
 
       && lk != 27398               // 'variable' ';'
15631
 
       && lk != 27399               // 'version' ';'
15632
 
       && lk != 27402               // 'where' ';'
15633
 
       && lk != 27403               // 'while' ';'
15634
 
       && lk != 27406               // 'with' ';'
15635
 
       && lk != 27410               // 'xquery' ';'
15636
 
       && lk != 90198               // 'break' 'loop'
15637
 
       && lk != 90214               // 'continue' 'loop'
15638
 
       && lk != 113284              // 'exit' 'returning'
15639
 
       && lk != 144389              // Wildcard '}'
15640
 
       && lk != 144390              // EQName^Token '}'
15641
 
       && lk != 144392              // IntegerLiteral '}'
15642
 
       && lk != 144393              // DecimalLiteral '}'
15643
 
       && lk != 144394              // DoubleLiteral '}'
15644
 
       && lk != 144395              // StringLiteral '}'
15645
 
       && lk != 144428              // '.' '}'
15646
 
       && lk != 144429              // '..' '}'
15647
 
       && lk != 144430              // '/' '}'
15648
 
       && lk != 144454              // 'after' '}'
15649
 
       && lk != 144456              // 'allowing' '}'
15650
 
       && lk != 144457              // 'ancestor' '}'
15651
 
       && lk != 144458              // 'ancestor-or-self' '}'
15652
 
       && lk != 144459              // 'and' '}'
15653
 
       && lk != 144462              // 'array' '}'
15654
 
       && lk != 144463              // 'as' '}'
15655
 
       && lk != 144464              // 'ascending' '}'
15656
 
       && lk != 144465              // 'at' '}'
15657
 
       && lk != 144466              // 'attribute' '}'
15658
 
       && lk != 144467              // 'base-uri' '}'
15659
 
       && lk != 144468              // 'before' '}'
15660
 
       && lk != 144469              // 'boundary-space' '}'
15661
 
       && lk != 144470              // 'break' '}'
15662
 
       && lk != 144472              // 'case' '}'
15663
 
       && lk != 144473              // 'cast' '}'
15664
 
       && lk != 144474              // 'castable' '}'
15665
 
       && lk != 144475              // 'catch' '}'
15666
 
       && lk != 144477              // 'child' '}'
15667
 
       && lk != 144478              // 'collation' '}'
15668
 
       && lk != 144480              // 'comment' '}'
15669
 
       && lk != 144481              // 'constraint' '}'
15670
 
       && lk != 144482              // 'construction' '}'
15671
 
       && lk != 144485              // 'context' '}'
15672
 
       && lk != 144486              // 'continue' '}'
15673
 
       && lk != 144487              // 'copy' '}'
15674
 
       && lk != 144488              // 'copy-namespaces' '}'
15675
 
       && lk != 144489              // 'count' '}'
15676
 
       && lk != 144490              // 'decimal-format' '}'
15677
 
       && lk != 144492              // 'declare' '}'
15678
 
       && lk != 144493              // 'default' '}'
15679
 
       && lk != 144494              // 'delete' '}'
15680
 
       && lk != 144495              // 'descendant' '}'
15681
 
       && lk != 144496              // 'descendant-or-self' '}'
15682
 
       && lk != 144497              // 'descending' '}'
15683
 
       && lk != 144502              // 'div' '}'
15684
 
       && lk != 144503              // 'document' '}'
15685
 
       && lk != 144504              // 'document-node' '}'
15686
 
       && lk != 144505              // 'element' '}'
15687
 
       && lk != 144506              // 'else' '}'
15688
 
       && lk != 144507              // 'empty' '}'
15689
 
       && lk != 144508              // 'empty-sequence' '}'
15690
 
       && lk != 144509              // 'encoding' '}'
15691
 
       && lk != 144510              // 'end' '}'
15692
 
       && lk != 144512              // 'eq' '}'
15693
 
       && lk != 144513              // 'every' '}'
15694
 
       && lk != 144515              // 'except' '}'
15695
 
       && lk != 144516              // 'exit' '}'
15696
 
       && lk != 144517              // 'external' '}'
15697
 
       && lk != 144518              // 'first' '}'
15698
 
       && lk != 144519              // 'following' '}'
15699
 
       && lk != 144520              // 'following-sibling' '}'
15700
 
       && lk != 144521              // 'for' '}'
15701
 
       && lk != 144525              // 'ft-option' '}'
15702
 
       && lk != 144529              // 'function' '}'
15703
 
       && lk != 144530              // 'ge' '}'
15704
 
       && lk != 144532              // 'group' '}'
15705
 
       && lk != 144534              // 'gt' '}'
15706
 
       && lk != 144535              // 'idiv' '}'
15707
 
       && lk != 144536              // 'if' '}'
15708
 
       && lk != 144537              // 'import' '}'
15709
 
       && lk != 144538              // 'in' '}'
15710
 
       && lk != 144539              // 'index' '}'
15711
 
       && lk != 144543              // 'insert' '}'
15712
 
       && lk != 144544              // 'instance' '}'
15713
 
       && lk != 144545              // 'integrity' '}'
15714
 
       && lk != 144546              // 'intersect' '}'
15715
 
       && lk != 144547              // 'into' '}'
15716
 
       && lk != 144548              // 'is' '}'
15717
 
       && lk != 144549              // 'item' '}'
15718
 
       && lk != 144551              // 'json-item' '}'
15719
 
       && lk != 144554              // 'last' '}'
15720
 
       && lk != 144555              // 'lax' '}'
15721
 
       && lk != 144556              // 'le' '}'
15722
 
       && lk != 144558              // 'let' '}'
15723
 
       && lk != 144560              // 'loop' '}'
15724
 
       && lk != 144562              // 'lt' '}'
15725
 
       && lk != 144564              // 'mod' '}'
15726
 
       && lk != 144565              // 'modify' '}'
15727
 
       && lk != 144566              // 'module' '}'
15728
 
       && lk != 144568              // 'namespace' '}'
15729
 
       && lk != 144569              // 'namespace-node' '}'
15730
 
       && lk != 144570              // 'ne' '}'
15731
 
       && lk != 144575              // 'node' '}'
15732
 
       && lk != 144576              // 'nodes' '}'
15733
 
       && lk != 144578              // 'object' '}'
15734
 
       && lk != 144582              // 'only' '}'
15735
 
       && lk != 144583              // 'option' '}'
15736
 
       && lk != 144584              // 'or' '}'
15737
 
       && lk != 144585              // 'order' '}'
15738
 
       && lk != 144586              // 'ordered' '}'
15739
 
       && lk != 144587              // 'ordering' '}'
15740
 
       && lk != 144590              // 'parent' '}'
15741
 
       && lk != 144596              // 'preceding' '}'
15742
 
       && lk != 144597              // 'preceding-sibling' '}'
15743
 
       && lk != 144600              // 'processing-instruction' '}'
15744
 
       && lk != 144602              // 'rename' '}'
15745
 
       && lk != 144603              // 'replace' '}'
15746
 
       && lk != 144604              // 'return' '}'
15747
 
       && lk != 144605              // 'returning' '}'
15748
 
       && lk != 144606              // 'revalidation' '}'
15749
 
       && lk != 144608              // 'satisfies' '}'
15750
 
       && lk != 144609              // 'schema' '}'
15751
 
       && lk != 144610              // 'schema-attribute' '}'
15752
 
       && lk != 144611              // 'schema-element' '}'
15753
 
       && lk != 144612              // 'score' '}'
15754
 
       && lk != 144613              // 'self' '}'
15755
 
       && lk != 144618              // 'sliding' '}'
15756
 
       && lk != 144619              // 'some' '}'
15757
 
       && lk != 144620              // 'stable' '}'
15758
 
       && lk != 144621              // 'start' '}'
15759
 
       && lk != 144624              // 'strict' '}'
15760
 
       && lk != 144627              // 'switch' '}'
15761
 
       && lk != 144628              // 'text' '}'
15762
 
       && lk != 144632              // 'to' '}'
15763
 
       && lk != 144633              // 'treat' '}'
15764
 
       && lk != 144634              // 'try' '}'
15765
 
       && lk != 144635              // 'tumbling' '}'
15766
 
       && lk != 144636              // 'type' '}'
15767
 
       && lk != 144637              // 'typeswitch' '}'
15768
 
       && lk != 144638              // 'union' '}'
15769
 
       && lk != 144640              // 'unordered' '}'
15770
 
       && lk != 144641              // 'updating' '}'
15771
 
       && lk != 144644              // 'validate' '}'
15772
 
       && lk != 144645              // 'value' '}'
15773
 
       && lk != 144646              // 'variable' '}'
15774
 
       && lk != 144647              // 'version' '}'
15775
 
       && lk != 144650              // 'where' '}'
15776
 
       && lk != 144651              // 'while' '}'
15777
 
       && lk != 144654              // 'with' '}'
15778
 
       && lk != 144658)             // 'xquery' '}'
15779
 
      {
15780
 
        lk = memoized(6, e0);
15781
 
        if (lk == 0)
15782
 
        {
15783
 
          var b0A = b0; var e0A = e0; var l1A = l1;
15784
 
          var b1A = b1; var e1A = e1; var l2A = l2;
15785
 
          var b2A = b2; var e2A = e2;
15786
 
          try
15787
 
          {
15788
 
            try_Statement();
15789
 
            lk = -1;
15790
 
          }
15791
 
          catch (p1A)
15792
 
          {
15793
 
            lk = -2;
15794
 
          }
15795
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
15796
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
15797
 
          b2 = b2A; e2 = e2A; end = e2A; }}
15798
 
          memoize(6, e0, lk);
15799
 
        }
15800
 
      }
15801
 
      if (lk != -1
15802
 
       && lk != 16134               // 'variable' '$'
15803
 
       && lk != 27141               // Wildcard ';'
15804
 
       && lk != 27142               // EQName^Token ';'
15805
 
       && lk != 27144               // IntegerLiteral ';'
15806
 
       && lk != 27145               // DecimalLiteral ';'
15807
 
       && lk != 27146               // DoubleLiteral ';'
15808
 
       && lk != 27147               // StringLiteral ';'
15809
 
       && lk != 27180               // '.' ';'
15810
 
       && lk != 27181               // '..' ';'
15811
 
       && lk != 27182               // '/' ';'
15812
 
       && lk != 27206               // 'after' ';'
15813
 
       && lk != 27208               // 'allowing' ';'
15814
 
       && lk != 27209               // 'ancestor' ';'
15815
 
       && lk != 27210               // 'ancestor-or-self' ';'
15816
 
       && lk != 27211               // 'and' ';'
15817
 
       && lk != 27214               // 'array' ';'
15818
 
       && lk != 27215               // 'as' ';'
15819
 
       && lk != 27216               // 'ascending' ';'
15820
 
       && lk != 27217               // 'at' ';'
15821
 
       && lk != 27218               // 'attribute' ';'
15822
 
       && lk != 27219               // 'base-uri' ';'
15823
 
       && lk != 27220               // 'before' ';'
15824
 
       && lk != 27221               // 'boundary-space' ';'
15825
 
       && lk != 27222               // 'break' ';'
15826
 
       && lk != 27224               // 'case' ';'
15827
 
       && lk != 27225               // 'cast' ';'
15828
 
       && lk != 27226               // 'castable' ';'
15829
 
       && lk != 27227               // 'catch' ';'
15830
 
       && lk != 27229               // 'child' ';'
15831
 
       && lk != 27230               // 'collation' ';'
15832
 
       && lk != 27232               // 'comment' ';'
15833
 
       && lk != 27233               // 'constraint' ';'
15834
 
       && lk != 27234               // 'construction' ';'
15835
 
       && lk != 27237               // 'context' ';'
15836
 
       && lk != 27238               // 'continue' ';'
15837
 
       && lk != 27239               // 'copy' ';'
15838
 
       && lk != 27240               // 'copy-namespaces' ';'
15839
 
       && lk != 27241               // 'count' ';'
15840
 
       && lk != 27242               // 'decimal-format' ';'
15841
 
       && lk != 27244               // 'declare' ';'
15842
 
       && lk != 27245               // 'default' ';'
15843
 
       && lk != 27246               // 'delete' ';'
15844
 
       && lk != 27247               // 'descendant' ';'
15845
 
       && lk != 27248               // 'descendant-or-self' ';'
15846
 
       && lk != 27249               // 'descending' ';'
15847
 
       && lk != 27254               // 'div' ';'
15848
 
       && lk != 27255               // 'document' ';'
15849
 
       && lk != 27256               // 'document-node' ';'
15850
 
       && lk != 27257               // 'element' ';'
15851
 
       && lk != 27258               // 'else' ';'
15852
 
       && lk != 27259               // 'empty' ';'
15853
 
       && lk != 27260               // 'empty-sequence' ';'
15854
 
       && lk != 27261               // 'encoding' ';'
15855
 
       && lk != 27262               // 'end' ';'
15856
 
       && lk != 27264               // 'eq' ';'
15857
 
       && lk != 27265               // 'every' ';'
15858
 
       && lk != 27267               // 'except' ';'
15859
 
       && lk != 27268               // 'exit' ';'
15860
 
       && lk != 27269               // 'external' ';'
15861
 
       && lk != 27270               // 'first' ';'
15862
 
       && lk != 27271               // 'following' ';'
15863
 
       && lk != 27272               // 'following-sibling' ';'
15864
 
       && lk != 27273               // 'for' ';'
15865
 
       && lk != 27277               // 'ft-option' ';'
15866
 
       && lk != 27281               // 'function' ';'
15867
 
       && lk != 27282               // 'ge' ';'
15868
 
       && lk != 27284               // 'group' ';'
15869
 
       && lk != 27286               // 'gt' ';'
15870
 
       && lk != 27287               // 'idiv' ';'
15871
 
       && lk != 27288               // 'if' ';'
15872
 
       && lk != 27289               // 'import' ';'
15873
 
       && lk != 27290               // 'in' ';'
15874
 
       && lk != 27291               // 'index' ';'
15875
 
       && lk != 27295               // 'insert' ';'
15876
 
       && lk != 27296               // 'instance' ';'
15877
 
       && lk != 27297               // 'integrity' ';'
15878
 
       && lk != 27298               // 'intersect' ';'
15879
 
       && lk != 27299               // 'into' ';'
15880
 
       && lk != 27300               // 'is' ';'
15881
 
       && lk != 27301               // 'item' ';'
15882
 
       && lk != 27303               // 'json-item' ';'
15883
 
       && lk != 27306               // 'last' ';'
15884
 
       && lk != 27307               // 'lax' ';'
15885
 
       && lk != 27308               // 'le' ';'
15886
 
       && lk != 27310               // 'let' ';'
15887
 
       && lk != 27312               // 'loop' ';'
15888
 
       && lk != 27314               // 'lt' ';'
15889
 
       && lk != 27316               // 'mod' ';'
15890
 
       && lk != 27317               // 'modify' ';'
15891
 
       && lk != 27318               // 'module' ';'
15892
 
       && lk != 27320               // 'namespace' ';'
15893
 
       && lk != 27321               // 'namespace-node' ';'
15894
 
       && lk != 27322               // 'ne' ';'
15895
 
       && lk != 27327               // 'node' ';'
15896
 
       && lk != 27328               // 'nodes' ';'
15897
 
       && lk != 27330               // 'object' ';'
15898
 
       && lk != 27334               // 'only' ';'
15899
 
       && lk != 27335               // 'option' ';'
15900
 
       && lk != 27336               // 'or' ';'
15901
 
       && lk != 27337               // 'order' ';'
15902
 
       && lk != 27338               // 'ordered' ';'
15903
 
       && lk != 27339               // 'ordering' ';'
15904
 
       && lk != 27342               // 'parent' ';'
15905
 
       && lk != 27348               // 'preceding' ';'
15906
 
       && lk != 27349               // 'preceding-sibling' ';'
15907
 
       && lk != 27352               // 'processing-instruction' ';'
15908
 
       && lk != 27354               // 'rename' ';'
15909
 
       && lk != 27355               // 'replace' ';'
15910
 
       && lk != 27356               // 'return' ';'
15911
 
       && lk != 27357               // 'returning' ';'
15912
 
       && lk != 27358               // 'revalidation' ';'
15913
 
       && lk != 27360               // 'satisfies' ';'
15914
 
       && lk != 27361               // 'schema' ';'
15915
 
       && lk != 27362               // 'schema-attribute' ';'
15916
 
       && lk != 27363               // 'schema-element' ';'
15917
 
       && lk != 27364               // 'score' ';'
15918
 
       && lk != 27365               // 'self' ';'
15919
 
       && lk != 27370               // 'sliding' ';'
15920
 
       && lk != 27371               // 'some' ';'
15921
 
       && lk != 27372               // 'stable' ';'
15922
 
       && lk != 27373               // 'start' ';'
15923
 
       && lk != 27376               // 'strict' ';'
15924
 
       && lk != 27379               // 'switch' ';'
15925
 
       && lk != 27380               // 'text' ';'
15926
 
       && lk != 27384               // 'to' ';'
15927
 
       && lk != 27385               // 'treat' ';'
15928
 
       && lk != 27386               // 'try' ';'
15929
 
       && lk != 27387               // 'tumbling' ';'
15930
 
       && lk != 27388               // 'type' ';'
15931
 
       && lk != 27389               // 'typeswitch' ';'
15932
 
       && lk != 27390               // 'union' ';'
15933
 
       && lk != 27392               // 'unordered' ';'
15934
 
       && lk != 27393               // 'updating' ';'
15935
 
       && lk != 27396               // 'validate' ';'
15936
 
       && lk != 27397               // 'value' ';'
15937
 
       && lk != 27398               // 'variable' ';'
15938
 
       && lk != 27399               // 'version' ';'
15939
 
       && lk != 27402               // 'where' ';'
15940
 
       && lk != 27403               // 'while' ';'
15941
 
       && lk != 27406               // 'with' ';'
15942
 
       && lk != 27410               // 'xquery' ';'
15943
 
       && lk != 90198               // 'break' 'loop'
15944
 
       && lk != 90214               // 'continue' 'loop'
15945
 
       && lk != 113284)             // 'exit' 'returning'
15946
 
      {
15947
 
        break;
15948
 
      }
15949
 
      whitespace();
15950
 
      parse_Statement();
15951
 
    }
15952
 
    eventHandler.endNonterminal("Statements", e0);
15953
 
  }
15954
 
 
15955
 
  function try_Statements()
15956
 
  {
15957
 
    for (;;)
15958
 
    {
15959
 
      lookahead1W(274);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15960
 
      switch (l1)
15961
 
      {
15962
 
      case 34:                      // '('
15963
 
        lookahead2W(269);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15964
 
        break;
15965
 
      case 35:                      // '(#'
15966
 
        lookahead2(250);            // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
15967
 
        break;
15968
 
      case 46:                      // '/'
15969
 
        lookahead2W(281);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15970
 
        break;
15971
 
      case 47:                      // '//'
15972
 
        lookahead2W(263);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15973
 
        break;
15974
 
      case 54:                      // '<'
15975
 
        lookahead2(4);              // QName
15976
 
        break;
15977
 
      case 55:                      // '<!--'
15978
 
        lookahead2(1);              // DirCommentContents
15979
 
        break;
15980
 
      case 59:                      // '<?'
15981
 
        lookahead2(3);              // PITarget
15982
 
        break;
15983
 
      case 66:                      // '@'
15984
 
        lookahead2W(255);           // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
15985
 
        break;
15986
 
      case 68:                      // '['
15987
 
        lookahead2W(271);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
15988
 
        break;
15989
 
      case 77:                      // 'append'
15990
 
        lookahead2W(56);            // S^WS | '(:' | 'json'
15991
 
        break;
15992
 
      case 82:                      // 'attribute'
15993
 
        lookahead2W(278);           // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
15994
 
        break;
15995
 
      case 121:                     // 'element'
15996
 
        lookahead2W(277);           // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
15997
 
        break;
15998
 
      case 132:                     // 'exit'
15999
 
        lookahead2W(202);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16000
 
        break;
16001
 
      case 137:                     // 'for'
16002
 
        lookahead2W(206);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
16003
 
        break;
16004
 
      case 174:                     // 'let'
16005
 
        lookahead2W(204);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
16006
 
        break;
16007
 
      case 218:                     // 'rename'
16008
 
        lookahead2W(205);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16009
 
        break;
16010
 
      case 219:                     // 'replace'
16011
 
        lookahead2W(208);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16012
 
        break;
16013
 
      case 260:                     // 'validate'
16014
 
        lookahead2W(209);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16015
 
        break;
16016
 
      case 276:                     // '{'
16017
 
        lookahead2W(273);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
16018
 
        break;
16019
 
      case 278:                     // '{|'
16020
 
        lookahead2W(272);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
16021
 
        break;
16022
 
      case 5:                       // Wildcard
16023
 
      case 45:                      // '..'
16024
 
        lookahead2W(186);           // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
16025
 
        break;
16026
 
      case 31:                      // '$'
16027
 
      case 32:                      // '%'
16028
 
        lookahead2W(253);           // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
16029
 
        break;
16030
 
      case 40:                      // '+'
16031
 
      case 42:                      // '-'
16032
 
        lookahead2W(265);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
16033
 
        break;
16034
 
      case 86:                      // 'break'
16035
 
      case 102:                     // 'continue'
16036
 
        lookahead2W(200);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16037
 
        break;
16038
 
      case 110:                     // 'delete'
16039
 
      case 159:                     // 'insert'
16040
 
        lookahead2W(207);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16041
 
        break;
16042
 
      case 124:                     // 'empty-sequence'
16043
 
      case 165:                     // 'item'
16044
 
        lookahead2W(191);           // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
16045
 
        break;
16046
 
      case 184:                     // 'namespace'
16047
 
      case 216:                     // 'processing-instruction'
16048
 
        lookahead2W(266);           // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
16049
 
        break;
16050
 
      case 103:                     // 'copy'
16051
 
      case 129:                     // 'every'
16052
 
      case 235:                     // 'some'
16053
 
      case 262:                     // 'variable'
16054
 
        lookahead2W(197);           // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
16055
 
        break;
16056
 
      case 8:                       // IntegerLiteral
16057
 
      case 9:                       // DecimalLiteral
16058
 
      case 10:                      // DoubleLiteral
16059
 
      case 11:                      // StringLiteral
16060
 
      case 44:                      // '.'
16061
 
        lookahead2W(192);           // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
16062
 
        break;
16063
 
      case 96:                      // 'comment'
16064
 
      case 119:                     // 'document'
16065
 
      case 202:                     // 'ordered'
16066
 
      case 244:                     // 'text'
16067
 
      case 250:                     // 'try'
16068
 
      case 256:                     // 'unordered'
16069
 
        lookahead2W(203);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16070
 
        break;
16071
 
      case 73:                      // 'ancestor'
16072
 
      case 74:                      // 'ancestor-or-self'
16073
 
      case 93:                      // 'child'
16074
 
      case 111:                     // 'descendant'
16075
 
      case 112:                     // 'descendant-or-self'
16076
 
      case 135:                     // 'following'
16077
 
      case 136:                     // 'following-sibling'
16078
 
      case 206:                     // 'parent'
16079
 
      case 212:                     // 'preceding'
16080
 
      case 213:                     // 'preceding-sibling'
16081
 
      case 229:                     // 'self'
16082
 
        lookahead2W(198);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16083
 
        break;
16084
 
      case 6:                       // EQName^Token
16085
 
      case 70:                      // 'after'
16086
 
      case 72:                      // 'allowing'
16087
 
      case 75:                      // 'and'
16088
 
      case 78:                      // 'array'
16089
 
      case 79:                      // 'as'
16090
 
      case 80:                      // 'ascending'
16091
 
      case 81:                      // 'at'
16092
 
      case 83:                      // 'base-uri'
16093
 
      case 84:                      // 'before'
16094
 
      case 85:                      // 'boundary-space'
16095
 
      case 88:                      // 'case'
16096
 
      case 89:                      // 'cast'
16097
 
      case 90:                      // 'castable'
16098
 
      case 91:                      // 'catch'
16099
 
      case 94:                      // 'collation'
16100
 
      case 97:                      // 'constraint'
16101
 
      case 98:                      // 'construction'
16102
 
      case 101:                     // 'context'
16103
 
      case 104:                     // 'copy-namespaces'
16104
 
      case 105:                     // 'count'
16105
 
      case 106:                     // 'decimal-format'
16106
 
      case 108:                     // 'declare'
16107
 
      case 109:                     // 'default'
16108
 
      case 113:                     // 'descending'
16109
 
      case 118:                     // 'div'
16110
 
      case 120:                     // 'document-node'
16111
 
      case 122:                     // 'else'
16112
 
      case 123:                     // 'empty'
16113
 
      case 125:                     // 'encoding'
16114
 
      case 126:                     // 'end'
16115
 
      case 128:                     // 'eq'
16116
 
      case 131:                     // 'except'
16117
 
      case 133:                     // 'external'
16118
 
      case 134:                     // 'first'
16119
 
      case 141:                     // 'ft-option'
16120
 
      case 145:                     // 'function'
16121
 
      case 146:                     // 'ge'
16122
 
      case 148:                     // 'group'
16123
 
      case 150:                     // 'gt'
16124
 
      case 151:                     // 'idiv'
16125
 
      case 152:                     // 'if'
16126
 
      case 153:                     // 'import'
16127
 
      case 154:                     // 'in'
16128
 
      case 155:                     // 'index'
16129
 
      case 160:                     // 'instance'
16130
 
      case 161:                     // 'integrity'
16131
 
      case 162:                     // 'intersect'
16132
 
      case 163:                     // 'into'
16133
 
      case 164:                     // 'is'
16134
 
      case 167:                     // 'json-item'
16135
 
      case 170:                     // 'last'
16136
 
      case 171:                     // 'lax'
16137
 
      case 172:                     // 'le'
16138
 
      case 176:                     // 'loop'
16139
 
      case 178:                     // 'lt'
16140
 
      case 180:                     // 'mod'
16141
 
      case 181:                     // 'modify'
16142
 
      case 182:                     // 'module'
16143
 
      case 185:                     // 'namespace-node'
16144
 
      case 186:                     // 'ne'
16145
 
      case 191:                     // 'node'
16146
 
      case 192:                     // 'nodes'
16147
 
      case 194:                     // 'object'
16148
 
      case 198:                     // 'only'
16149
 
      case 199:                     // 'option'
16150
 
      case 200:                     // 'or'
16151
 
      case 201:                     // 'order'
16152
 
      case 203:                     // 'ordering'
16153
 
      case 220:                     // 'return'
16154
 
      case 221:                     // 'returning'
16155
 
      case 222:                     // 'revalidation'
16156
 
      case 224:                     // 'satisfies'
16157
 
      case 225:                     // 'schema'
16158
 
      case 226:                     // 'schema-attribute'
16159
 
      case 227:                     // 'schema-element'
16160
 
      case 228:                     // 'score'
16161
 
      case 234:                     // 'sliding'
16162
 
      case 236:                     // 'stable'
16163
 
      case 237:                     // 'start'
16164
 
      case 240:                     // 'strict'
16165
 
      case 243:                     // 'switch'
16166
 
      case 248:                     // 'to'
16167
 
      case 249:                     // 'treat'
16168
 
      case 251:                     // 'tumbling'
16169
 
      case 252:                     // 'type'
16170
 
      case 253:                     // 'typeswitch'
16171
 
      case 254:                     // 'union'
16172
 
      case 257:                     // 'updating'
16173
 
      case 261:                     // 'value'
16174
 
      case 263:                     // 'version'
16175
 
      case 266:                     // 'where'
16176
 
      case 267:                     // 'while'
16177
 
      case 270:                     // 'with'
16178
 
      case 274:                     // 'xquery'
16179
 
        lookahead2W(195);           // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
16180
 
        break;
16181
 
      default:
16182
 
        lk = l1;
16183
 
      }
16184
 
      if (lk != 25                  // EOF
16185
 
       && lk != 282                 // '}'
16186
 
       && lk != 12805               // Wildcard EOF
16187
 
       && lk != 12806               // EQName^Token EOF
16188
 
       && lk != 12808               // IntegerLiteral EOF
16189
 
       && lk != 12809               // DecimalLiteral EOF
16190
 
       && lk != 12810               // DoubleLiteral EOF
16191
 
       && lk != 12811               // StringLiteral EOF
16192
 
       && lk != 12844               // '.' EOF
16193
 
       && lk != 12845               // '..' EOF
16194
 
       && lk != 12846               // '/' EOF
16195
 
       && lk != 12870               // 'after' EOF
16196
 
       && lk != 12872               // 'allowing' EOF
16197
 
       && lk != 12873               // 'ancestor' EOF
16198
 
       && lk != 12874               // 'ancestor-or-self' EOF
16199
 
       && lk != 12875               // 'and' EOF
16200
 
       && lk != 12878               // 'array' EOF
16201
 
       && lk != 12879               // 'as' EOF
16202
 
       && lk != 12880               // 'ascending' EOF
16203
 
       && lk != 12881               // 'at' EOF
16204
 
       && lk != 12882               // 'attribute' EOF
16205
 
       && lk != 12883               // 'base-uri' EOF
16206
 
       && lk != 12884               // 'before' EOF
16207
 
       && lk != 12885               // 'boundary-space' EOF
16208
 
       && lk != 12886               // 'break' EOF
16209
 
       && lk != 12888               // 'case' EOF
16210
 
       && lk != 12889               // 'cast' EOF
16211
 
       && lk != 12890               // 'castable' EOF
16212
 
       && lk != 12891               // 'catch' EOF
16213
 
       && lk != 12893               // 'child' EOF
16214
 
       && lk != 12894               // 'collation' EOF
16215
 
       && lk != 12896               // 'comment' EOF
16216
 
       && lk != 12897               // 'constraint' EOF
16217
 
       && lk != 12898               // 'construction' EOF
16218
 
       && lk != 12901               // 'context' EOF
16219
 
       && lk != 12902               // 'continue' EOF
16220
 
       && lk != 12903               // 'copy' EOF
16221
 
       && lk != 12904               // 'copy-namespaces' EOF
16222
 
       && lk != 12905               // 'count' EOF
16223
 
       && lk != 12906               // 'decimal-format' EOF
16224
 
       && lk != 12908               // 'declare' EOF
16225
 
       && lk != 12909               // 'default' EOF
16226
 
       && lk != 12910               // 'delete' EOF
16227
 
       && lk != 12911               // 'descendant' EOF
16228
 
       && lk != 12912               // 'descendant-or-self' EOF
16229
 
       && lk != 12913               // 'descending' EOF
16230
 
       && lk != 12918               // 'div' EOF
16231
 
       && lk != 12919               // 'document' EOF
16232
 
       && lk != 12920               // 'document-node' EOF
16233
 
       && lk != 12921               // 'element' EOF
16234
 
       && lk != 12922               // 'else' EOF
16235
 
       && lk != 12923               // 'empty' EOF
16236
 
       && lk != 12924               // 'empty-sequence' EOF
16237
 
       && lk != 12925               // 'encoding' EOF
16238
 
       && lk != 12926               // 'end' EOF
16239
 
       && lk != 12928               // 'eq' EOF
16240
 
       && lk != 12929               // 'every' EOF
16241
 
       && lk != 12931               // 'except' EOF
16242
 
       && lk != 12932               // 'exit' EOF
16243
 
       && lk != 12933               // 'external' EOF
16244
 
       && lk != 12934               // 'first' EOF
16245
 
       && lk != 12935               // 'following' EOF
16246
 
       && lk != 12936               // 'following-sibling' EOF
16247
 
       && lk != 12937               // 'for' EOF
16248
 
       && lk != 12941               // 'ft-option' EOF
16249
 
       && lk != 12945               // 'function' EOF
16250
 
       && lk != 12946               // 'ge' EOF
16251
 
       && lk != 12948               // 'group' EOF
16252
 
       && lk != 12950               // 'gt' EOF
16253
 
       && lk != 12951               // 'idiv' EOF
16254
 
       && lk != 12952               // 'if' EOF
16255
 
       && lk != 12953               // 'import' EOF
16256
 
       && lk != 12954               // 'in' EOF
16257
 
       && lk != 12955               // 'index' EOF
16258
 
       && lk != 12959               // 'insert' EOF
16259
 
       && lk != 12960               // 'instance' EOF
16260
 
       && lk != 12961               // 'integrity' EOF
16261
 
       && lk != 12962               // 'intersect' EOF
16262
 
       && lk != 12963               // 'into' EOF
16263
 
       && lk != 12964               // 'is' EOF
16264
 
       && lk != 12965               // 'item' EOF
16265
 
       && lk != 12967               // 'json-item' EOF
16266
 
       && lk != 12970               // 'last' EOF
16267
 
       && lk != 12971               // 'lax' EOF
16268
 
       && lk != 12972               // 'le' EOF
16269
 
       && lk != 12974               // 'let' EOF
16270
 
       && lk != 12976               // 'loop' EOF
16271
 
       && lk != 12978               // 'lt' EOF
16272
 
       && lk != 12980               // 'mod' EOF
16273
 
       && lk != 12981               // 'modify' EOF
16274
 
       && lk != 12982               // 'module' EOF
16275
 
       && lk != 12984               // 'namespace' EOF
16276
 
       && lk != 12985               // 'namespace-node' EOF
16277
 
       && lk != 12986               // 'ne' EOF
16278
 
       && lk != 12991               // 'node' EOF
16279
 
       && lk != 12992               // 'nodes' EOF
16280
 
       && lk != 12994               // 'object' EOF
16281
 
       && lk != 12998               // 'only' EOF
16282
 
       && lk != 12999               // 'option' EOF
16283
 
       && lk != 13000               // 'or' EOF
16284
 
       && lk != 13001               // 'order' EOF
16285
 
       && lk != 13002               // 'ordered' EOF
16286
 
       && lk != 13003               // 'ordering' EOF
16287
 
       && lk != 13006               // 'parent' EOF
16288
 
       && lk != 13012               // 'preceding' EOF
16289
 
       && lk != 13013               // 'preceding-sibling' EOF
16290
 
       && lk != 13016               // 'processing-instruction' EOF
16291
 
       && lk != 13018               // 'rename' EOF
16292
 
       && lk != 13019               // 'replace' EOF
16293
 
       && lk != 13020               // 'return' EOF
16294
 
       && lk != 13021               // 'returning' EOF
16295
 
       && lk != 13022               // 'revalidation' EOF
16296
 
       && lk != 13024               // 'satisfies' EOF
16297
 
       && lk != 13025               // 'schema' EOF
16298
 
       && lk != 13026               // 'schema-attribute' EOF
16299
 
       && lk != 13027               // 'schema-element' EOF
16300
 
       && lk != 13028               // 'score' EOF
16301
 
       && lk != 13029               // 'self' EOF
16302
 
       && lk != 13034               // 'sliding' EOF
16303
 
       && lk != 13035               // 'some' EOF
16304
 
       && lk != 13036               // 'stable' EOF
16305
 
       && lk != 13037               // 'start' EOF
16306
 
       && lk != 13040               // 'strict' EOF
16307
 
       && lk != 13043               // 'switch' EOF
16308
 
       && lk != 13044               // 'text' EOF
16309
 
       && lk != 13048               // 'to' EOF
16310
 
       && lk != 13049               // 'treat' EOF
16311
 
       && lk != 13050               // 'try' EOF
16312
 
       && lk != 13051               // 'tumbling' EOF
16313
 
       && lk != 13052               // 'type' EOF
16314
 
       && lk != 13053               // 'typeswitch' EOF
16315
 
       && lk != 13054               // 'union' EOF
16316
 
       && lk != 13056               // 'unordered' EOF
16317
 
       && lk != 13057               // 'updating' EOF
16318
 
       && lk != 13060               // 'validate' EOF
16319
 
       && lk != 13061               // 'value' EOF
16320
 
       && lk != 13062               // 'variable' EOF
16321
 
       && lk != 13063               // 'version' EOF
16322
 
       && lk != 13066               // 'where' EOF
16323
 
       && lk != 13067               // 'while' EOF
16324
 
       && lk != 13070               // 'with' EOF
16325
 
       && lk != 13074               // 'xquery' EOF
16326
 
       && lk != 16134               // 'variable' '$'
16327
 
       && lk != 20997               // Wildcard ','
16328
 
       && lk != 20998               // EQName^Token ','
16329
 
       && lk != 21000               // IntegerLiteral ','
16330
 
       && lk != 21001               // DecimalLiteral ','
16331
 
       && lk != 21002               // DoubleLiteral ','
16332
 
       && lk != 21003               // StringLiteral ','
16333
 
       && lk != 21036               // '.' ','
16334
 
       && lk != 21037               // '..' ','
16335
 
       && lk != 21038               // '/' ','
16336
 
       && lk != 21062               // 'after' ','
16337
 
       && lk != 21064               // 'allowing' ','
16338
 
       && lk != 21065               // 'ancestor' ','
16339
 
       && lk != 21066               // 'ancestor-or-self' ','
16340
 
       && lk != 21067               // 'and' ','
16341
 
       && lk != 21070               // 'array' ','
16342
 
       && lk != 21071               // 'as' ','
16343
 
       && lk != 21072               // 'ascending' ','
16344
 
       && lk != 21073               // 'at' ','
16345
 
       && lk != 21074               // 'attribute' ','
16346
 
       && lk != 21075               // 'base-uri' ','
16347
 
       && lk != 21076               // 'before' ','
16348
 
       && lk != 21077               // 'boundary-space' ','
16349
 
       && lk != 21078               // 'break' ','
16350
 
       && lk != 21080               // 'case' ','
16351
 
       && lk != 21081               // 'cast' ','
16352
 
       && lk != 21082               // 'castable' ','
16353
 
       && lk != 21083               // 'catch' ','
16354
 
       && lk != 21085               // 'child' ','
16355
 
       && lk != 21086               // 'collation' ','
16356
 
       && lk != 21088               // 'comment' ','
16357
 
       && lk != 21089               // 'constraint' ','
16358
 
       && lk != 21090               // 'construction' ','
16359
 
       && lk != 21093               // 'context' ','
16360
 
       && lk != 21094               // 'continue' ','
16361
 
       && lk != 21095               // 'copy' ','
16362
 
       && lk != 21096               // 'copy-namespaces' ','
16363
 
       && lk != 21097               // 'count' ','
16364
 
       && lk != 21098               // 'decimal-format' ','
16365
 
       && lk != 21100               // 'declare' ','
16366
 
       && lk != 21101               // 'default' ','
16367
 
       && lk != 21102               // 'delete' ','
16368
 
       && lk != 21103               // 'descendant' ','
16369
 
       && lk != 21104               // 'descendant-or-self' ','
16370
 
       && lk != 21105               // 'descending' ','
16371
 
       && lk != 21110               // 'div' ','
16372
 
       && lk != 21111               // 'document' ','
16373
 
       && lk != 21112               // 'document-node' ','
16374
 
       && lk != 21113               // 'element' ','
16375
 
       && lk != 21114               // 'else' ','
16376
 
       && lk != 21115               // 'empty' ','
16377
 
       && lk != 21116               // 'empty-sequence' ','
16378
 
       && lk != 21117               // 'encoding' ','
16379
 
       && lk != 21118               // 'end' ','
16380
 
       && lk != 21120               // 'eq' ','
16381
 
       && lk != 21121               // 'every' ','
16382
 
       && lk != 21123               // 'except' ','
16383
 
       && lk != 21124               // 'exit' ','
16384
 
       && lk != 21125               // 'external' ','
16385
 
       && lk != 21126               // 'first' ','
16386
 
       && lk != 21127               // 'following' ','
16387
 
       && lk != 21128               // 'following-sibling' ','
16388
 
       && lk != 21129               // 'for' ','
16389
 
       && lk != 21133               // 'ft-option' ','
16390
 
       && lk != 21137               // 'function' ','
16391
 
       && lk != 21138               // 'ge' ','
16392
 
       && lk != 21140               // 'group' ','
16393
 
       && lk != 21142               // 'gt' ','
16394
 
       && lk != 21143               // 'idiv' ','
16395
 
       && lk != 21144               // 'if' ','
16396
 
       && lk != 21145               // 'import' ','
16397
 
       && lk != 21146               // 'in' ','
16398
 
       && lk != 21147               // 'index' ','
16399
 
       && lk != 21151               // 'insert' ','
16400
 
       && lk != 21152               // 'instance' ','
16401
 
       && lk != 21153               // 'integrity' ','
16402
 
       && lk != 21154               // 'intersect' ','
16403
 
       && lk != 21155               // 'into' ','
16404
 
       && lk != 21156               // 'is' ','
16405
 
       && lk != 21157               // 'item' ','
16406
 
       && lk != 21159               // 'json-item' ','
16407
 
       && lk != 21162               // 'last' ','
16408
 
       && lk != 21163               // 'lax' ','
16409
 
       && lk != 21164               // 'le' ','
16410
 
       && lk != 21166               // 'let' ','
16411
 
       && lk != 21168               // 'loop' ','
16412
 
       && lk != 21170               // 'lt' ','
16413
 
       && lk != 21172               // 'mod' ','
16414
 
       && lk != 21173               // 'modify' ','
16415
 
       && lk != 21174               // 'module' ','
16416
 
       && lk != 21176               // 'namespace' ','
16417
 
       && lk != 21177               // 'namespace-node' ','
16418
 
       && lk != 21178               // 'ne' ','
16419
 
       && lk != 21183               // 'node' ','
16420
 
       && lk != 21184               // 'nodes' ','
16421
 
       && lk != 21186               // 'object' ','
16422
 
       && lk != 21190               // 'only' ','
16423
 
       && lk != 21191               // 'option' ','
16424
 
       && lk != 21192               // 'or' ','
16425
 
       && lk != 21193               // 'order' ','
16426
 
       && lk != 21194               // 'ordered' ','
16427
 
       && lk != 21195               // 'ordering' ','
16428
 
       && lk != 21198               // 'parent' ','
16429
 
       && lk != 21204               // 'preceding' ','
16430
 
       && lk != 21205               // 'preceding-sibling' ','
16431
 
       && lk != 21208               // 'processing-instruction' ','
16432
 
       && lk != 21210               // 'rename' ','
16433
 
       && lk != 21211               // 'replace' ','
16434
 
       && lk != 21212               // 'return' ','
16435
 
       && lk != 21213               // 'returning' ','
16436
 
       && lk != 21214               // 'revalidation' ','
16437
 
       && lk != 21216               // 'satisfies' ','
16438
 
       && lk != 21217               // 'schema' ','
16439
 
       && lk != 21218               // 'schema-attribute' ','
16440
 
       && lk != 21219               // 'schema-element' ','
16441
 
       && lk != 21220               // 'score' ','
16442
 
       && lk != 21221               // 'self' ','
16443
 
       && lk != 21226               // 'sliding' ','
16444
 
       && lk != 21227               // 'some' ','
16445
 
       && lk != 21228               // 'stable' ','
16446
 
       && lk != 21229               // 'start' ','
16447
 
       && lk != 21232               // 'strict' ','
16448
 
       && lk != 21235               // 'switch' ','
16449
 
       && lk != 21236               // 'text' ','
16450
 
       && lk != 21240               // 'to' ','
16451
 
       && lk != 21241               // 'treat' ','
16452
 
       && lk != 21242               // 'try' ','
16453
 
       && lk != 21243               // 'tumbling' ','
16454
 
       && lk != 21244               // 'type' ','
16455
 
       && lk != 21245               // 'typeswitch' ','
16456
 
       && lk != 21246               // 'union' ','
16457
 
       && lk != 21248               // 'unordered' ','
16458
 
       && lk != 21249               // 'updating' ','
16459
 
       && lk != 21252               // 'validate' ','
16460
 
       && lk != 21253               // 'value' ','
16461
 
       && lk != 21254               // 'variable' ','
16462
 
       && lk != 21255               // 'version' ','
16463
 
       && lk != 21258               // 'where' ','
16464
 
       && lk != 21259               // 'while' ','
16465
 
       && lk != 21262               // 'with' ','
16466
 
       && lk != 21266               // 'xquery' ','
16467
 
       && lk != 27141               // Wildcard ';'
16468
 
       && lk != 27142               // EQName^Token ';'
16469
 
       && lk != 27144               // IntegerLiteral ';'
16470
 
       && lk != 27145               // DecimalLiteral ';'
16471
 
       && lk != 27146               // DoubleLiteral ';'
16472
 
       && lk != 27147               // StringLiteral ';'
16473
 
       && lk != 27180               // '.' ';'
16474
 
       && lk != 27181               // '..' ';'
16475
 
       && lk != 27182               // '/' ';'
16476
 
       && lk != 27206               // 'after' ';'
16477
 
       && lk != 27208               // 'allowing' ';'
16478
 
       && lk != 27209               // 'ancestor' ';'
16479
 
       && lk != 27210               // 'ancestor-or-self' ';'
16480
 
       && lk != 27211               // 'and' ';'
16481
 
       && lk != 27214               // 'array' ';'
16482
 
       && lk != 27215               // 'as' ';'
16483
 
       && lk != 27216               // 'ascending' ';'
16484
 
       && lk != 27217               // 'at' ';'
16485
 
       && lk != 27218               // 'attribute' ';'
16486
 
       && lk != 27219               // 'base-uri' ';'
16487
 
       && lk != 27220               // 'before' ';'
16488
 
       && lk != 27221               // 'boundary-space' ';'
16489
 
       && lk != 27222               // 'break' ';'
16490
 
       && lk != 27224               // 'case' ';'
16491
 
       && lk != 27225               // 'cast' ';'
16492
 
       && lk != 27226               // 'castable' ';'
16493
 
       && lk != 27227               // 'catch' ';'
16494
 
       && lk != 27229               // 'child' ';'
16495
 
       && lk != 27230               // 'collation' ';'
16496
 
       && lk != 27232               // 'comment' ';'
16497
 
       && lk != 27233               // 'constraint' ';'
16498
 
       && lk != 27234               // 'construction' ';'
16499
 
       && lk != 27237               // 'context' ';'
16500
 
       && lk != 27238               // 'continue' ';'
16501
 
       && lk != 27239               // 'copy' ';'
16502
 
       && lk != 27240               // 'copy-namespaces' ';'
16503
 
       && lk != 27241               // 'count' ';'
16504
 
       && lk != 27242               // 'decimal-format' ';'
16505
 
       && lk != 27244               // 'declare' ';'
16506
 
       && lk != 27245               // 'default' ';'
16507
 
       && lk != 27246               // 'delete' ';'
16508
 
       && lk != 27247               // 'descendant' ';'
16509
 
       && lk != 27248               // 'descendant-or-self' ';'
16510
 
       && lk != 27249               // 'descending' ';'
16511
 
       && lk != 27254               // 'div' ';'
16512
 
       && lk != 27255               // 'document' ';'
16513
 
       && lk != 27256               // 'document-node' ';'
16514
 
       && lk != 27257               // 'element' ';'
16515
 
       && lk != 27258               // 'else' ';'
16516
 
       && lk != 27259               // 'empty' ';'
16517
 
       && lk != 27260               // 'empty-sequence' ';'
16518
 
       && lk != 27261               // 'encoding' ';'
16519
 
       && lk != 27262               // 'end' ';'
16520
 
       && lk != 27264               // 'eq' ';'
16521
 
       && lk != 27265               // 'every' ';'
16522
 
       && lk != 27267               // 'except' ';'
16523
 
       && lk != 27268               // 'exit' ';'
16524
 
       && lk != 27269               // 'external' ';'
16525
 
       && lk != 27270               // 'first' ';'
16526
 
       && lk != 27271               // 'following' ';'
16527
 
       && lk != 27272               // 'following-sibling' ';'
16528
 
       && lk != 27273               // 'for' ';'
16529
 
       && lk != 27277               // 'ft-option' ';'
16530
 
       && lk != 27281               // 'function' ';'
16531
 
       && lk != 27282               // 'ge' ';'
16532
 
       && lk != 27284               // 'group' ';'
16533
 
       && lk != 27286               // 'gt' ';'
16534
 
       && lk != 27287               // 'idiv' ';'
16535
 
       && lk != 27288               // 'if' ';'
16536
 
       && lk != 27289               // 'import' ';'
16537
 
       && lk != 27290               // 'in' ';'
16538
 
       && lk != 27291               // 'index' ';'
16539
 
       && lk != 27295               // 'insert' ';'
16540
 
       && lk != 27296               // 'instance' ';'
16541
 
       && lk != 27297               // 'integrity' ';'
16542
 
       && lk != 27298               // 'intersect' ';'
16543
 
       && lk != 27299               // 'into' ';'
16544
 
       && lk != 27300               // 'is' ';'
16545
 
       && lk != 27301               // 'item' ';'
16546
 
       && lk != 27303               // 'json-item' ';'
16547
 
       && lk != 27306               // 'last' ';'
16548
 
       && lk != 27307               // 'lax' ';'
16549
 
       && lk != 27308               // 'le' ';'
16550
 
       && lk != 27310               // 'let' ';'
16551
 
       && lk != 27312               // 'loop' ';'
16552
 
       && lk != 27314               // 'lt' ';'
16553
 
       && lk != 27316               // 'mod' ';'
16554
 
       && lk != 27317               // 'modify' ';'
16555
 
       && lk != 27318               // 'module' ';'
16556
 
       && lk != 27320               // 'namespace' ';'
16557
 
       && lk != 27321               // 'namespace-node' ';'
16558
 
       && lk != 27322               // 'ne' ';'
16559
 
       && lk != 27327               // 'node' ';'
16560
 
       && lk != 27328               // 'nodes' ';'
16561
 
       && lk != 27330               // 'object' ';'
16562
 
       && lk != 27334               // 'only' ';'
16563
 
       && lk != 27335               // 'option' ';'
16564
 
       && lk != 27336               // 'or' ';'
16565
 
       && lk != 27337               // 'order' ';'
16566
 
       && lk != 27338               // 'ordered' ';'
16567
 
       && lk != 27339               // 'ordering' ';'
16568
 
       && lk != 27342               // 'parent' ';'
16569
 
       && lk != 27348               // 'preceding' ';'
16570
 
       && lk != 27349               // 'preceding-sibling' ';'
16571
 
       && lk != 27352               // 'processing-instruction' ';'
16572
 
       && lk != 27354               // 'rename' ';'
16573
 
       && lk != 27355               // 'replace' ';'
16574
 
       && lk != 27356               // 'return' ';'
16575
 
       && lk != 27357               // 'returning' ';'
16576
 
       && lk != 27358               // 'revalidation' ';'
16577
 
       && lk != 27360               // 'satisfies' ';'
16578
 
       && lk != 27361               // 'schema' ';'
16579
 
       && lk != 27362               // 'schema-attribute' ';'
16580
 
       && lk != 27363               // 'schema-element' ';'
16581
 
       && lk != 27364               // 'score' ';'
16582
 
       && lk != 27365               // 'self' ';'
16583
 
       && lk != 27370               // 'sliding' ';'
16584
 
       && lk != 27371               // 'some' ';'
16585
 
       && lk != 27372               // 'stable' ';'
16586
 
       && lk != 27373               // 'start' ';'
16587
 
       && lk != 27376               // 'strict' ';'
16588
 
       && lk != 27379               // 'switch' ';'
16589
 
       && lk != 27380               // 'text' ';'
16590
 
       && lk != 27384               // 'to' ';'
16591
 
       && lk != 27385               // 'treat' ';'
16592
 
       && lk != 27386               // 'try' ';'
16593
 
       && lk != 27387               // 'tumbling' ';'
16594
 
       && lk != 27388               // 'type' ';'
16595
 
       && lk != 27389               // 'typeswitch' ';'
16596
 
       && lk != 27390               // 'union' ';'
16597
 
       && lk != 27392               // 'unordered' ';'
16598
 
       && lk != 27393               // 'updating' ';'
16599
 
       && lk != 27396               // 'validate' ';'
16600
 
       && lk != 27397               // 'value' ';'
16601
 
       && lk != 27398               // 'variable' ';'
16602
 
       && lk != 27399               // 'version' ';'
16603
 
       && lk != 27402               // 'where' ';'
16604
 
       && lk != 27403               // 'while' ';'
16605
 
       && lk != 27406               // 'with' ';'
16606
 
       && lk != 27410               // 'xquery' ';'
16607
 
       && lk != 90198               // 'break' 'loop'
16608
 
       && lk != 90214               // 'continue' 'loop'
16609
 
       && lk != 113284              // 'exit' 'returning'
16610
 
       && lk != 144389              // Wildcard '}'
16611
 
       && lk != 144390              // EQName^Token '}'
16612
 
       && lk != 144392              // IntegerLiteral '}'
16613
 
       && lk != 144393              // DecimalLiteral '}'
16614
 
       && lk != 144394              // DoubleLiteral '}'
16615
 
       && lk != 144395              // StringLiteral '}'
16616
 
       && lk != 144428              // '.' '}'
16617
 
       && lk != 144429              // '..' '}'
16618
 
       && lk != 144430              // '/' '}'
16619
 
       && lk != 144454              // 'after' '}'
16620
 
       && lk != 144456              // 'allowing' '}'
16621
 
       && lk != 144457              // 'ancestor' '}'
16622
 
       && lk != 144458              // 'ancestor-or-self' '}'
16623
 
       && lk != 144459              // 'and' '}'
16624
 
       && lk != 144462              // 'array' '}'
16625
 
       && lk != 144463              // 'as' '}'
16626
 
       && lk != 144464              // 'ascending' '}'
16627
 
       && lk != 144465              // 'at' '}'
16628
 
       && lk != 144466              // 'attribute' '}'
16629
 
       && lk != 144467              // 'base-uri' '}'
16630
 
       && lk != 144468              // 'before' '}'
16631
 
       && lk != 144469              // 'boundary-space' '}'
16632
 
       && lk != 144470              // 'break' '}'
16633
 
       && lk != 144472              // 'case' '}'
16634
 
       && lk != 144473              // 'cast' '}'
16635
 
       && lk != 144474              // 'castable' '}'
16636
 
       && lk != 144475              // 'catch' '}'
16637
 
       && lk != 144477              // 'child' '}'
16638
 
       && lk != 144478              // 'collation' '}'
16639
 
       && lk != 144480              // 'comment' '}'
16640
 
       && lk != 144481              // 'constraint' '}'
16641
 
       && lk != 144482              // 'construction' '}'
16642
 
       && lk != 144485              // 'context' '}'
16643
 
       && lk != 144486              // 'continue' '}'
16644
 
       && lk != 144487              // 'copy' '}'
16645
 
       && lk != 144488              // 'copy-namespaces' '}'
16646
 
       && lk != 144489              // 'count' '}'
16647
 
       && lk != 144490              // 'decimal-format' '}'
16648
 
       && lk != 144492              // 'declare' '}'
16649
 
       && lk != 144493              // 'default' '}'
16650
 
       && lk != 144494              // 'delete' '}'
16651
 
       && lk != 144495              // 'descendant' '}'
16652
 
       && lk != 144496              // 'descendant-or-self' '}'
16653
 
       && lk != 144497              // 'descending' '}'
16654
 
       && lk != 144502              // 'div' '}'
16655
 
       && lk != 144503              // 'document' '}'
16656
 
       && lk != 144504              // 'document-node' '}'
16657
 
       && lk != 144505              // 'element' '}'
16658
 
       && lk != 144506              // 'else' '}'
16659
 
       && lk != 144507              // 'empty' '}'
16660
 
       && lk != 144508              // 'empty-sequence' '}'
16661
 
       && lk != 144509              // 'encoding' '}'
16662
 
       && lk != 144510              // 'end' '}'
16663
 
       && lk != 144512              // 'eq' '}'
16664
 
       && lk != 144513              // 'every' '}'
16665
 
       && lk != 144515              // 'except' '}'
16666
 
       && lk != 144516              // 'exit' '}'
16667
 
       && lk != 144517              // 'external' '}'
16668
 
       && lk != 144518              // 'first' '}'
16669
 
       && lk != 144519              // 'following' '}'
16670
 
       && lk != 144520              // 'following-sibling' '}'
16671
 
       && lk != 144521              // 'for' '}'
16672
 
       && lk != 144525              // 'ft-option' '}'
16673
 
       && lk != 144529              // 'function' '}'
16674
 
       && lk != 144530              // 'ge' '}'
16675
 
       && lk != 144532              // 'group' '}'
16676
 
       && lk != 144534              // 'gt' '}'
16677
 
       && lk != 144535              // 'idiv' '}'
16678
 
       && lk != 144536              // 'if' '}'
16679
 
       && lk != 144537              // 'import' '}'
16680
 
       && lk != 144538              // 'in' '}'
16681
 
       && lk != 144539              // 'index' '}'
16682
 
       && lk != 144543              // 'insert' '}'
16683
 
       && lk != 144544              // 'instance' '}'
16684
 
       && lk != 144545              // 'integrity' '}'
16685
 
       && lk != 144546              // 'intersect' '}'
16686
 
       && lk != 144547              // 'into' '}'
16687
 
       && lk != 144548              // 'is' '}'
16688
 
       && lk != 144549              // 'item' '}'
16689
 
       && lk != 144551              // 'json-item' '}'
16690
 
       && lk != 144554              // 'last' '}'
16691
 
       && lk != 144555              // 'lax' '}'
16692
 
       && lk != 144556              // 'le' '}'
16693
 
       && lk != 144558              // 'let' '}'
16694
 
       && lk != 144560              // 'loop' '}'
16695
 
       && lk != 144562              // 'lt' '}'
16696
 
       && lk != 144564              // 'mod' '}'
16697
 
       && lk != 144565              // 'modify' '}'
16698
 
       && lk != 144566              // 'module' '}'
16699
 
       && lk != 144568              // 'namespace' '}'
16700
 
       && lk != 144569              // 'namespace-node' '}'
16701
 
       && lk != 144570              // 'ne' '}'
16702
 
       && lk != 144575              // 'node' '}'
16703
 
       && lk != 144576              // 'nodes' '}'
16704
 
       && lk != 144578              // 'object' '}'
16705
 
       && lk != 144582              // 'only' '}'
16706
 
       && lk != 144583              // 'option' '}'
16707
 
       && lk != 144584              // 'or' '}'
16708
 
       && lk != 144585              // 'order' '}'
16709
 
       && lk != 144586              // 'ordered' '}'
16710
 
       && lk != 144587              // 'ordering' '}'
16711
 
       && lk != 144590              // 'parent' '}'
16712
 
       && lk != 144596              // 'preceding' '}'
16713
 
       && lk != 144597              // 'preceding-sibling' '}'
16714
 
       && lk != 144600              // 'processing-instruction' '}'
16715
 
       && lk != 144602              // 'rename' '}'
16716
 
       && lk != 144603              // 'replace' '}'
16717
 
       && lk != 144604              // 'return' '}'
16718
 
       && lk != 144605              // 'returning' '}'
16719
 
       && lk != 144606              // 'revalidation' '}'
16720
 
       && lk != 144608              // 'satisfies' '}'
16721
 
       && lk != 144609              // 'schema' '}'
16722
 
       && lk != 144610              // 'schema-attribute' '}'
16723
 
       && lk != 144611              // 'schema-element' '}'
16724
 
       && lk != 144612              // 'score' '}'
16725
 
       && lk != 144613              // 'self' '}'
16726
 
       && lk != 144618              // 'sliding' '}'
16727
 
       && lk != 144619              // 'some' '}'
16728
 
       && lk != 144620              // 'stable' '}'
16729
 
       && lk != 144621              // 'start' '}'
16730
 
       && lk != 144624              // 'strict' '}'
16731
 
       && lk != 144627              // 'switch' '}'
16732
 
       && lk != 144628              // 'text' '}'
16733
 
       && lk != 144632              // 'to' '}'
16734
 
       && lk != 144633              // 'treat' '}'
16735
 
       && lk != 144634              // 'try' '}'
16736
 
       && lk != 144635              // 'tumbling' '}'
16737
 
       && lk != 144636              // 'type' '}'
16738
 
       && lk != 144637              // 'typeswitch' '}'
16739
 
       && lk != 144638              // 'union' '}'
16740
 
       && lk != 144640              // 'unordered' '}'
16741
 
       && lk != 144641              // 'updating' '}'
16742
 
       && lk != 144644              // 'validate' '}'
16743
 
       && lk != 144645              // 'value' '}'
16744
 
       && lk != 144646              // 'variable' '}'
16745
 
       && lk != 144647              // 'version' '}'
16746
 
       && lk != 144650              // 'where' '}'
16747
 
       && lk != 144651              // 'while' '}'
16748
 
       && lk != 144654              // 'with' '}'
16749
 
       && lk != 144658)             // 'xquery' '}'
16750
 
      {
16751
 
        lk = memoized(6, e0);
16752
 
        if (lk == 0)
16753
 
        {
16754
 
          var b0A = b0; var e0A = e0; var l1A = l1;
16755
 
          var b1A = b1; var e1A = e1; var l2A = l2;
16756
 
          var b2A = b2; var e2A = e2;
16757
 
          try
16758
 
          {
16759
 
            try_Statement();
16760
 
            memoize(6, e0A, -1);
16761
 
            continue;
16762
 
          }
16763
 
          catch (p1A)
16764
 
          {
16765
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
16766
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
16767
 
            b2 = b2A; e2 = e2A; end = e2A; }}
16768
 
            memoize(6, e0A, -2);
16769
 
            break;
16770
 
          }
16771
 
        }
16772
 
      }
16773
 
      if (lk != -1
16774
 
       && lk != 16134               // 'variable' '$'
16775
 
       && lk != 27141               // Wildcard ';'
16776
 
       && lk != 27142               // EQName^Token ';'
16777
 
       && lk != 27144               // IntegerLiteral ';'
16778
 
       && lk != 27145               // DecimalLiteral ';'
16779
 
       && lk != 27146               // DoubleLiteral ';'
16780
 
       && lk != 27147               // StringLiteral ';'
16781
 
       && lk != 27180               // '.' ';'
16782
 
       && lk != 27181               // '..' ';'
16783
 
       && lk != 27182               // '/' ';'
16784
 
       && lk != 27206               // 'after' ';'
16785
 
       && lk != 27208               // 'allowing' ';'
16786
 
       && lk != 27209               // 'ancestor' ';'
16787
 
       && lk != 27210               // 'ancestor-or-self' ';'
16788
 
       && lk != 27211               // 'and' ';'
16789
 
       && lk != 27214               // 'array' ';'
16790
 
       && lk != 27215               // 'as' ';'
16791
 
       && lk != 27216               // 'ascending' ';'
16792
 
       && lk != 27217               // 'at' ';'
16793
 
       && lk != 27218               // 'attribute' ';'
16794
 
       && lk != 27219               // 'base-uri' ';'
16795
 
       && lk != 27220               // 'before' ';'
16796
 
       && lk != 27221               // 'boundary-space' ';'
16797
 
       && lk != 27222               // 'break' ';'
16798
 
       && lk != 27224               // 'case' ';'
16799
 
       && lk != 27225               // 'cast' ';'
16800
 
       && lk != 27226               // 'castable' ';'
16801
 
       && lk != 27227               // 'catch' ';'
16802
 
       && lk != 27229               // 'child' ';'
16803
 
       && lk != 27230               // 'collation' ';'
16804
 
       && lk != 27232               // 'comment' ';'
16805
 
       && lk != 27233               // 'constraint' ';'
16806
 
       && lk != 27234               // 'construction' ';'
16807
 
       && lk != 27237               // 'context' ';'
16808
 
       && lk != 27238               // 'continue' ';'
16809
 
       && lk != 27239               // 'copy' ';'
16810
 
       && lk != 27240               // 'copy-namespaces' ';'
16811
 
       && lk != 27241               // 'count' ';'
16812
 
       && lk != 27242               // 'decimal-format' ';'
16813
 
       && lk != 27244               // 'declare' ';'
16814
 
       && lk != 27245               // 'default' ';'
16815
 
       && lk != 27246               // 'delete' ';'
16816
 
       && lk != 27247               // 'descendant' ';'
16817
 
       && lk != 27248               // 'descendant-or-self' ';'
16818
 
       && lk != 27249               // 'descending' ';'
16819
 
       && lk != 27254               // 'div' ';'
16820
 
       && lk != 27255               // 'document' ';'
16821
 
       && lk != 27256               // 'document-node' ';'
16822
 
       && lk != 27257               // 'element' ';'
16823
 
       && lk != 27258               // 'else' ';'
16824
 
       && lk != 27259               // 'empty' ';'
16825
 
       && lk != 27260               // 'empty-sequence' ';'
16826
 
       && lk != 27261               // 'encoding' ';'
16827
 
       && lk != 27262               // 'end' ';'
16828
 
       && lk != 27264               // 'eq' ';'
16829
 
       && lk != 27265               // 'every' ';'
16830
 
       && lk != 27267               // 'except' ';'
16831
 
       && lk != 27268               // 'exit' ';'
16832
 
       && lk != 27269               // 'external' ';'
16833
 
       && lk != 27270               // 'first' ';'
16834
 
       && lk != 27271               // 'following' ';'
16835
 
       && lk != 27272               // 'following-sibling' ';'
16836
 
       && lk != 27273               // 'for' ';'
16837
 
       && lk != 27277               // 'ft-option' ';'
16838
 
       && lk != 27281               // 'function' ';'
16839
 
       && lk != 27282               // 'ge' ';'
16840
 
       && lk != 27284               // 'group' ';'
16841
 
       && lk != 27286               // 'gt' ';'
16842
 
       && lk != 27287               // 'idiv' ';'
16843
 
       && lk != 27288               // 'if' ';'
16844
 
       && lk != 27289               // 'import' ';'
16845
 
       && lk != 27290               // 'in' ';'
16846
 
       && lk != 27291               // 'index' ';'
16847
 
       && lk != 27295               // 'insert' ';'
16848
 
       && lk != 27296               // 'instance' ';'
16849
 
       && lk != 27297               // 'integrity' ';'
16850
 
       && lk != 27298               // 'intersect' ';'
16851
 
       && lk != 27299               // 'into' ';'
16852
 
       && lk != 27300               // 'is' ';'
16853
 
       && lk != 27301               // 'item' ';'
16854
 
       && lk != 27303               // 'json-item' ';'
16855
 
       && lk != 27306               // 'last' ';'
16856
 
       && lk != 27307               // 'lax' ';'
16857
 
       && lk != 27308               // 'le' ';'
16858
 
       && lk != 27310               // 'let' ';'
16859
 
       && lk != 27312               // 'loop' ';'
16860
 
       && lk != 27314               // 'lt' ';'
16861
 
       && lk != 27316               // 'mod' ';'
16862
 
       && lk != 27317               // 'modify' ';'
16863
 
       && lk != 27318               // 'module' ';'
16864
 
       && lk != 27320               // 'namespace' ';'
16865
 
       && lk != 27321               // 'namespace-node' ';'
16866
 
       && lk != 27322               // 'ne' ';'
16867
 
       && lk != 27327               // 'node' ';'
16868
 
       && lk != 27328               // 'nodes' ';'
16869
 
       && lk != 27330               // 'object' ';'
16870
 
       && lk != 27334               // 'only' ';'
16871
 
       && lk != 27335               // 'option' ';'
16872
 
       && lk != 27336               // 'or' ';'
16873
 
       && lk != 27337               // 'order' ';'
16874
 
       && lk != 27338               // 'ordered' ';'
16875
 
       && lk != 27339               // 'ordering' ';'
16876
 
       && lk != 27342               // 'parent' ';'
16877
 
       && lk != 27348               // 'preceding' ';'
16878
 
       && lk != 27349               // 'preceding-sibling' ';'
16879
 
       && lk != 27352               // 'processing-instruction' ';'
16880
 
       && lk != 27354               // 'rename' ';'
16881
 
       && lk != 27355               // 'replace' ';'
16882
 
       && lk != 27356               // 'return' ';'
16883
 
       && lk != 27357               // 'returning' ';'
16884
 
       && lk != 27358               // 'revalidation' ';'
16885
 
       && lk != 27360               // 'satisfies' ';'
16886
 
       && lk != 27361               // 'schema' ';'
16887
 
       && lk != 27362               // 'schema-attribute' ';'
16888
 
       && lk != 27363               // 'schema-element' ';'
16889
 
       && lk != 27364               // 'score' ';'
16890
 
       && lk != 27365               // 'self' ';'
16891
 
       && lk != 27370               // 'sliding' ';'
16892
 
       && lk != 27371               // 'some' ';'
16893
 
       && lk != 27372               // 'stable' ';'
16894
 
       && lk != 27373               // 'start' ';'
16895
 
       && lk != 27376               // 'strict' ';'
16896
 
       && lk != 27379               // 'switch' ';'
16897
 
       && lk != 27380               // 'text' ';'
16898
 
       && lk != 27384               // 'to' ';'
16899
 
       && lk != 27385               // 'treat' ';'
16900
 
       && lk != 27386               // 'try' ';'
16901
 
       && lk != 27387               // 'tumbling' ';'
16902
 
       && lk != 27388               // 'type' ';'
16903
 
       && lk != 27389               // 'typeswitch' ';'
16904
 
       && lk != 27390               // 'union' ';'
16905
 
       && lk != 27392               // 'unordered' ';'
16906
 
       && lk != 27393               // 'updating' ';'
16907
 
       && lk != 27396               // 'validate' ';'
16908
 
       && lk != 27397               // 'value' ';'
16909
 
       && lk != 27398               // 'variable' ';'
16910
 
       && lk != 27399               // 'version' ';'
16911
 
       && lk != 27402               // 'where' ';'
16912
 
       && lk != 27403               // 'while' ';'
16913
 
       && lk != 27406               // 'with' ';'
16914
 
       && lk != 27410               // 'xquery' ';'
16915
 
       && lk != 90198               // 'break' 'loop'
16916
 
       && lk != 90214               // 'continue' 'loop'
16917
 
       && lk != 113284)             // 'exit' 'returning'
16918
 
      {
16919
 
        break;
16920
 
      }
16921
 
      try_Statement();
16922
 
    }
16923
 
  }
16924
 
 
16925
 
  function parse_StatementsAndExpr()
16926
 
  {
16927
 
    eventHandler.startNonterminal("StatementsAndExpr", e0);
16928
 
    parse_Statements();
16929
 
    whitespace();
16930
 
    parse_Expr();
16931
 
    eventHandler.endNonterminal("StatementsAndExpr", e0);
16932
 
  }
16933
 
 
16934
 
  function try_StatementsAndExpr()
16935
 
  {
16936
 
    try_Statements();
16937
 
    try_Expr();
16938
 
  }
16939
 
 
16940
 
  function parse_StatementsAndOptionalExpr()
16941
 
  {
16942
 
    eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
16943
 
    parse_Statements();
16944
 
    if (l1 != 25                    // EOF
16945
 
     && l1 != 282)                  // '}'
16946
 
    {
16947
 
      whitespace();
16948
 
      parse_Expr();
16949
 
    }
16950
 
    eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
16951
 
  }
16952
 
 
16953
 
  function try_StatementsAndOptionalExpr()
16954
 
  {
16955
 
    try_Statements();
16956
 
    if (l1 != 25                    // EOF
16957
 
     && l1 != 282)                  // '}'
16958
 
    {
16959
 
      try_Expr();
16960
 
    }
16961
 
  }
16962
 
 
16963
 
  function parse_Statement()
16964
 
  {
16965
 
    eventHandler.startNonterminal("Statement", e0);
16966
 
    switch (l1)
16967
 
    {
16968
 
    case 132:                       // 'exit'
16969
 
      lookahead2W(189);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
16970
 
      break;
16971
 
    case 137:                       // 'for'
16972
 
      lookahead2W(196);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
16973
 
      break;
16974
 
    case 174:                       // 'let'
16975
 
      lookahead2W(193);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
16976
 
      break;
16977
 
    case 250:                       // 'try'
16978
 
      lookahead2W(190);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
16979
 
      break;
16980
 
    case 262:                       // 'variable'
16981
 
      lookahead2W(187);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
16982
 
      break;
16983
 
    case 276:                       // '{'
16984
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
16985
 
      break;
16986
 
    case 31:                        // '$'
16987
 
    case 32:                        // '%'
16988
 
      lookahead2W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
16989
 
      break;
16990
 
    case 86:                        // 'break'
16991
 
    case 102:                       // 'continue'
16992
 
      lookahead2W(188);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
16993
 
      break;
16994
 
    case 152:                       // 'if'
16995
 
    case 243:                       // 'switch'
16996
 
    case 253:                       // 'typeswitch'
16997
 
    case 267:                       // 'while'
16998
 
      lookahead2W(185);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
16999
 
      break;
17000
 
    default:
17001
 
      lk = l1;
17002
 
    }
17003
 
    if (lk == 2836                  // '{' Wildcard
17004
 
     || lk == 3103                  // '$' EQName^Token
17005
 
     || lk == 3104                  // '%' EQName^Token
17006
 
     || lk == 3348                  // '{' EQName^Token
17007
 
     || lk == 4372                  // '{' IntegerLiteral
17008
 
     || lk == 4884                  // '{' DecimalLiteral
17009
 
     || lk == 5396                  // '{' DoubleLiteral
17010
 
     || lk == 5908                  // '{' StringLiteral
17011
 
     || lk == 16148                 // '{' '$'
17012
 
     || lk == 16660                 // '{' '%'
17013
 
     || lk == 17675                 // 'while' '('
17014
 
     || lk == 17684                 // '{' '('
17015
 
     || lk == 18196                 // '{' '(#'
17016
 
     || lk == 20756                 // '{' '+'
17017
 
     || lk == 21780                 // '{' '-'
17018
 
     || lk == 22804                 // '{' '.'
17019
 
     || lk == 23316                 // '{' '..'
17020
 
     || lk == 23828                 // '{' '/'
17021
 
     || lk == 24340                 // '{' '//'
17022
 
     || lk == 27924                 // '{' '<'
17023
 
     || lk == 28436                 // '{' '<!--'
17024
 
     || lk == 30484                 // '{' '<?'
17025
 
     || lk == 34068                 // '{' '@'
17026
 
     || lk == 35092                 // '{' '['
17027
 
     || lk == 35871                 // '$' 'after'
17028
 
     || lk == 35872                 // '%' 'after'
17029
 
     || lk == 36116                 // '{' 'after'
17030
 
     || lk == 36895                 // '$' 'allowing'
17031
 
     || lk == 36896                 // '%' 'allowing'
17032
 
     || lk == 37140                 // '{' 'allowing'
17033
 
     || lk == 37407                 // '$' 'ancestor'
17034
 
     || lk == 37408                 // '%' 'ancestor'
17035
 
     || lk == 37652                 // '{' 'ancestor'
17036
 
     || lk == 37919                 // '$' 'ancestor-or-self'
17037
 
     || lk == 37920                 // '%' 'ancestor-or-self'
17038
 
     || lk == 38164                 // '{' 'ancestor-or-self'
17039
 
     || lk == 38431                 // '$' 'and'
17040
 
     || lk == 38432                 // '%' 'and'
17041
 
     || lk == 38676                 // '{' 'and'
17042
 
     || lk == 39700                 // '{' 'append'
17043
 
     || lk == 39967                 // '$' 'array'
17044
 
     || lk == 39968                 // '%' 'array'
17045
 
     || lk == 40212                 // '{' 'array'
17046
 
     || lk == 40479                 // '$' 'as'
17047
 
     || lk == 40480                 // '%' 'as'
17048
 
     || lk == 40724                 // '{' 'as'
17049
 
     || lk == 40991                 // '$' 'ascending'
17050
 
     || lk == 40992                 // '%' 'ascending'
17051
 
     || lk == 41236                 // '{' 'ascending'
17052
 
     || lk == 41503                 // '$' 'at'
17053
 
     || lk == 41504                 // '%' 'at'
17054
 
     || lk == 41748                 // '{' 'at'
17055
 
     || lk == 42015                 // '$' 'attribute'
17056
 
     || lk == 42016                 // '%' 'attribute'
17057
 
     || lk == 42260                 // '{' 'attribute'
17058
 
     || lk == 42527                 // '$' 'base-uri'
17059
 
     || lk == 42528                 // '%' 'base-uri'
17060
 
     || lk == 42772                 // '{' 'base-uri'
17061
 
     || lk == 43039                 // '$' 'before'
17062
 
     || lk == 43040                 // '%' 'before'
17063
 
     || lk == 43284                 // '{' 'before'
17064
 
     || lk == 43551                 // '$' 'boundary-space'
17065
 
     || lk == 43552                 // '%' 'boundary-space'
17066
 
     || lk == 43796                 // '{' 'boundary-space'
17067
 
     || lk == 44063                 // '$' 'break'
17068
 
     || lk == 44064                 // '%' 'break'
17069
 
     || lk == 44308                 // '{' 'break'
17070
 
     || lk == 45087                 // '$' 'case'
17071
 
     || lk == 45088                 // '%' 'case'
17072
 
     || lk == 45332                 // '{' 'case'
17073
 
     || lk == 45599                 // '$' 'cast'
17074
 
     || lk == 45600                 // '%' 'cast'
17075
 
     || lk == 45844                 // '{' 'cast'
17076
 
     || lk == 46111                 // '$' 'castable'
17077
 
     || lk == 46112                 // '%' 'castable'
17078
 
     || lk == 46356                 // '{' 'castable'
17079
 
     || lk == 46623                 // '$' 'catch'
17080
 
     || lk == 46624                 // '%' 'catch'
17081
 
     || lk == 46868                 // '{' 'catch'
17082
 
     || lk == 47647                 // '$' 'child'
17083
 
     || lk == 47648                 // '%' 'child'
17084
 
     || lk == 47892                 // '{' 'child'
17085
 
     || lk == 48159                 // '$' 'collation'
17086
 
     || lk == 48160                 // '%' 'collation'
17087
 
     || lk == 48404                 // '{' 'collation'
17088
 
     || lk == 49183                 // '$' 'comment'
17089
 
     || lk == 49184                 // '%' 'comment'
17090
 
     || lk == 49428                 // '{' 'comment'
17091
 
     || lk == 49695                 // '$' 'constraint'
17092
 
     || lk == 49696                 // '%' 'constraint'
17093
 
     || lk == 49940                 // '{' 'constraint'
17094
 
     || lk == 50207                 // '$' 'construction'
17095
 
     || lk == 50208                 // '%' 'construction'
17096
 
     || lk == 50452                 // '{' 'construction'
17097
 
     || lk == 51743                 // '$' 'context'
17098
 
     || lk == 51744                 // '%' 'context'
17099
 
     || lk == 51988                 // '{' 'context'
17100
 
     || lk == 52255                 // '$' 'continue'
17101
 
     || lk == 52256                 // '%' 'continue'
17102
 
     || lk == 52500                 // '{' 'continue'
17103
 
     || lk == 52767                 // '$' 'copy'
17104
 
     || lk == 52768                 // '%' 'copy'
17105
 
     || lk == 53012                 // '{' 'copy'
17106
 
     || lk == 53279                 // '$' 'copy-namespaces'
17107
 
     || lk == 53280                 // '%' 'copy-namespaces'
17108
 
     || lk == 53524                 // '{' 'copy-namespaces'
17109
 
     || lk == 53791                 // '$' 'count'
17110
 
     || lk == 53792                 // '%' 'count'
17111
 
     || lk == 54036                 // '{' 'count'
17112
 
     || lk == 54303                 // '$' 'decimal-format'
17113
 
     || lk == 54304                 // '%' 'decimal-format'
17114
 
     || lk == 54548                 // '{' 'decimal-format'
17115
 
     || lk == 55327                 // '$' 'declare'
17116
 
     || lk == 55328                 // '%' 'declare'
17117
 
     || lk == 55572                 // '{' 'declare'
17118
 
     || lk == 55839                 // '$' 'default'
17119
 
     || lk == 55840                 // '%' 'default'
17120
 
     || lk == 56084                 // '{' 'default'
17121
 
     || lk == 56351                 // '$' 'delete'
17122
 
     || lk == 56352                 // '%' 'delete'
17123
 
     || lk == 56596                 // '{' 'delete'
17124
 
     || lk == 56863                 // '$' 'descendant'
17125
 
     || lk == 56864                 // '%' 'descendant'
17126
 
     || lk == 57108                 // '{' 'descendant'
17127
 
     || lk == 57375                 // '$' 'descendant-or-self'
17128
 
     || lk == 57376                 // '%' 'descendant-or-self'
17129
 
     || lk == 57620                 // '{' 'descendant-or-self'
17130
 
     || lk == 57887                 // '$' 'descending'
17131
 
     || lk == 57888                 // '%' 'descending'
17132
 
     || lk == 58132                 // '{' 'descending'
17133
 
     || lk == 60447                 // '$' 'div'
17134
 
     || lk == 60448                 // '%' 'div'
17135
 
     || lk == 60692                 // '{' 'div'
17136
 
     || lk == 60959                 // '$' 'document'
17137
 
     || lk == 60960                 // '%' 'document'
17138
 
     || lk == 61204                 // '{' 'document'
17139
 
     || lk == 61471                 // '$' 'document-node'
17140
 
     || lk == 61472                 // '%' 'document-node'
17141
 
     || lk == 61716                 // '{' 'document-node'
17142
 
     || lk == 61983                 // '$' 'element'
17143
 
     || lk == 61984                 // '%' 'element'
17144
 
     || lk == 62228                 // '{' 'element'
17145
 
     || lk == 62495                 // '$' 'else'
17146
 
     || lk == 62496                 // '%' 'else'
17147
 
     || lk == 62740                 // '{' 'else'
17148
 
     || lk == 63007                 // '$' 'empty'
17149
 
     || lk == 63008                 // '%' 'empty'
17150
 
     || lk == 63252                 // '{' 'empty'
17151
 
     || lk == 63519                 // '$' 'empty-sequence'
17152
 
     || lk == 63520                 // '%' 'empty-sequence'
17153
 
     || lk == 63764                 // '{' 'empty-sequence'
17154
 
     || lk == 64031                 // '$' 'encoding'
17155
 
     || lk == 64032                 // '%' 'encoding'
17156
 
     || lk == 64276                 // '{' 'encoding'
17157
 
     || lk == 64543                 // '$' 'end'
17158
 
     || lk == 64544                 // '%' 'end'
17159
 
     || lk == 64788                 // '{' 'end'
17160
 
     || lk == 65567                 // '$' 'eq'
17161
 
     || lk == 65568                 // '%' 'eq'
17162
 
     || lk == 65812                 // '{' 'eq'
17163
 
     || lk == 66079                 // '$' 'every'
17164
 
     || lk == 66080                 // '%' 'every'
17165
 
     || lk == 66324                 // '{' 'every'
17166
 
     || lk == 67103                 // '$' 'except'
17167
 
     || lk == 67104                 // '%' 'except'
17168
 
     || lk == 67348                 // '{' 'except'
17169
 
     || lk == 67615                 // '$' 'exit'
17170
 
     || lk == 67616                 // '%' 'exit'
17171
 
     || lk == 67860                 // '{' 'exit'
17172
 
     || lk == 68127                 // '$' 'external'
17173
 
     || lk == 68128                 // '%' 'external'
17174
 
     || lk == 68372                 // '{' 'external'
17175
 
     || lk == 68639                 // '$' 'first'
17176
 
     || lk == 68640                 // '%' 'first'
17177
 
     || lk == 68884                 // '{' 'first'
17178
 
     || lk == 69151                 // '$' 'following'
17179
 
     || lk == 69152                 // '%' 'following'
17180
 
     || lk == 69396                 // '{' 'following'
17181
 
     || lk == 69663                 // '$' 'following-sibling'
17182
 
     || lk == 69664                 // '%' 'following-sibling'
17183
 
     || lk == 69908                 // '{' 'following-sibling'
17184
 
     || lk == 70175                 // '$' 'for'
17185
 
     || lk == 70176                 // '%' 'for'
17186
 
     || lk == 70420                 // '{' 'for'
17187
 
     || lk == 72223                 // '$' 'ft-option'
17188
 
     || lk == 72224                 // '%' 'ft-option'
17189
 
     || lk == 72468                 // '{' 'ft-option'
17190
 
     || lk == 74271                 // '$' 'function'
17191
 
     || lk == 74272                 // '%' 'function'
17192
 
     || lk == 74516                 // '{' 'function'
17193
 
     || lk == 74783                 // '$' 'ge'
17194
 
     || lk == 74784                 // '%' 'ge'
17195
 
     || lk == 75028                 // '{' 'ge'
17196
 
     || lk == 75807                 // '$' 'group'
17197
 
     || lk == 75808                 // '%' 'group'
17198
 
     || lk == 76052                 // '{' 'group'
17199
 
     || lk == 76831                 // '$' 'gt'
17200
 
     || lk == 76832                 // '%' 'gt'
17201
 
     || lk == 77076                 // '{' 'gt'
17202
 
     || lk == 77343                 // '$' 'idiv'
17203
 
     || lk == 77344                 // '%' 'idiv'
17204
 
     || lk == 77588                 // '{' 'idiv'
17205
 
     || lk == 77855                 // '$' 'if'
17206
 
     || lk == 77856                 // '%' 'if'
17207
 
     || lk == 78100                 // '{' 'if'
17208
 
     || lk == 78367                 // '$' 'import'
17209
 
     || lk == 78368                 // '%' 'import'
17210
 
     || lk == 78612                 // '{' 'import'
17211
 
     || lk == 78879                 // '$' 'in'
17212
 
     || lk == 78880                 // '%' 'in'
17213
 
     || lk == 79124                 // '{' 'in'
17214
 
     || lk == 79391                 // '$' 'index'
17215
 
     || lk == 79392                 // '%' 'index'
17216
 
     || lk == 79636                 // '{' 'index'
17217
 
     || lk == 81439                 // '$' 'insert'
17218
 
     || lk == 81440                 // '%' 'insert'
17219
 
     || lk == 81684                 // '{' 'insert'
17220
 
     || lk == 81951                 // '$' 'instance'
17221
 
     || lk == 81952                 // '%' 'instance'
17222
 
     || lk == 82196                 // '{' 'instance'
17223
 
     || lk == 82463                 // '$' 'integrity'
17224
 
     || lk == 82464                 // '%' 'integrity'
17225
 
     || lk == 82708                 // '{' 'integrity'
17226
 
     || lk == 82975                 // '$' 'intersect'
17227
 
     || lk == 82976                 // '%' 'intersect'
17228
 
     || lk == 83220                 // '{' 'intersect'
17229
 
     || lk == 83487                 // '$' 'into'
17230
 
     || lk == 83488                 // '%' 'into'
17231
 
     || lk == 83732                 // '{' 'into'
17232
 
     || lk == 83999                 // '$' 'is'
17233
 
     || lk == 84000                 // '%' 'is'
17234
 
     || lk == 84244                 // '{' 'is'
17235
 
     || lk == 84511                 // '$' 'item'
17236
 
     || lk == 84512                 // '%' 'item'
17237
 
     || lk == 84756                 // '{' 'item'
17238
 
     || lk == 85535                 // '$' 'json-item'
17239
 
     || lk == 85536                 // '%' 'json-item'
17240
 
     || lk == 85780                 // '{' 'json-item'
17241
 
     || lk == 87071                 // '$' 'last'
17242
 
     || lk == 87072                 // '%' 'last'
17243
 
     || lk == 87316                 // '{' 'last'
17244
 
     || lk == 87583                 // '$' 'lax'
17245
 
     || lk == 87584                 // '%' 'lax'
17246
 
     || lk == 87828                 // '{' 'lax'
17247
 
     || lk == 88095                 // '$' 'le'
17248
 
     || lk == 88096                 // '%' 'le'
17249
 
     || lk == 88340                 // '{' 'le'
17250
 
     || lk == 89119                 // '$' 'let'
17251
 
     || lk == 89120                 // '%' 'let'
17252
 
     || lk == 89364                 // '{' 'let'
17253
 
     || lk == 90143                 // '$' 'loop'
17254
 
     || lk == 90144                 // '%' 'loop'
17255
 
     || lk == 90388                 // '{' 'loop'
17256
 
     || lk == 91167                 // '$' 'lt'
17257
 
     || lk == 91168                 // '%' 'lt'
17258
 
     || lk == 91412                 // '{' 'lt'
17259
 
     || lk == 92191                 // '$' 'mod'
17260
 
     || lk == 92192                 // '%' 'mod'
17261
 
     || lk == 92436                 // '{' 'mod'
17262
 
     || lk == 92703                 // '$' 'modify'
17263
 
     || lk == 92704                 // '%' 'modify'
17264
 
     || lk == 92948                 // '{' 'modify'
17265
 
     || lk == 93215                 // '$' 'module'
17266
 
     || lk == 93216                 // '%' 'module'
17267
 
     || lk == 93460                 // '{' 'module'
17268
 
     || lk == 94239                 // '$' 'namespace'
17269
 
     || lk == 94240                 // '%' 'namespace'
17270
 
     || lk == 94484                 // '{' 'namespace'
17271
 
     || lk == 94751                 // '$' 'namespace-node'
17272
 
     || lk == 94752                 // '%' 'namespace-node'
17273
 
     || lk == 94996                 // '{' 'namespace-node'
17274
 
     || lk == 95263                 // '$' 'ne'
17275
 
     || lk == 95264                 // '%' 'ne'
17276
 
     || lk == 95508                 // '{' 'ne'
17277
 
     || lk == 97823                 // '$' 'node'
17278
 
     || lk == 97824                 // '%' 'node'
17279
 
     || lk == 98068                 // '{' 'node'
17280
 
     || lk == 98335                 // '$' 'nodes'
17281
 
     || lk == 98336                 // '%' 'nodes'
17282
 
     || lk == 98580                 // '{' 'nodes'
17283
 
     || lk == 99359                 // '$' 'object'
17284
 
     || lk == 99360                 // '%' 'object'
17285
 
     || lk == 99604                 // '{' 'object'
17286
 
     || lk == 101407                // '$' 'only'
17287
 
     || lk == 101408                // '%' 'only'
17288
 
     || lk == 101652                // '{' 'only'
17289
 
     || lk == 101919                // '$' 'option'
17290
 
     || lk == 101920                // '%' 'option'
17291
 
     || lk == 102164                // '{' 'option'
17292
 
     || lk == 102431                // '$' 'or'
17293
 
     || lk == 102432                // '%' 'or'
17294
 
     || lk == 102676                // '{' 'or'
17295
 
     || lk == 102943                // '$' 'order'
17296
 
     || lk == 102944                // '%' 'order'
17297
 
     || lk == 103188                // '{' 'order'
17298
 
     || lk == 103455                // '$' 'ordered'
17299
 
     || lk == 103456                // '%' 'ordered'
17300
 
     || lk == 103700                // '{' 'ordered'
17301
 
     || lk == 103967                // '$' 'ordering'
17302
 
     || lk == 103968                // '%' 'ordering'
17303
 
     || lk == 104212                // '{' 'ordering'
17304
 
     || lk == 105503                // '$' 'parent'
17305
 
     || lk == 105504                // '%' 'parent'
17306
 
     || lk == 105748                // '{' 'parent'
17307
 
     || lk == 108575                // '$' 'preceding'
17308
 
     || lk == 108576                // '%' 'preceding'
17309
 
     || lk == 108820                // '{' 'preceding'
17310
 
     || lk == 109087                // '$' 'preceding-sibling'
17311
 
     || lk == 109088                // '%' 'preceding-sibling'
17312
 
     || lk == 109332                // '{' 'preceding-sibling'
17313
 
     || lk == 110623                // '$' 'processing-instruction'
17314
 
     || lk == 110624                // '%' 'processing-instruction'
17315
 
     || lk == 110868                // '{' 'processing-instruction'
17316
 
     || lk == 111647                // '$' 'rename'
17317
 
     || lk == 111648                // '%' 'rename'
17318
 
     || lk == 111892                // '{' 'rename'
17319
 
     || lk == 112159                // '$' 'replace'
17320
 
     || lk == 112160                // '%' 'replace'
17321
 
     || lk == 112404                // '{' 'replace'
17322
 
     || lk == 112671                // '$' 'return'
17323
 
     || lk == 112672                // '%' 'return'
17324
 
     || lk == 112916                // '{' 'return'
17325
 
     || lk == 113183                // '$' 'returning'
17326
 
     || lk == 113184                // '%' 'returning'
17327
 
     || lk == 113428                // '{' 'returning'
17328
 
     || lk == 113695                // '$' 'revalidation'
17329
 
     || lk == 113696                // '%' 'revalidation'
17330
 
     || lk == 113940                // '{' 'revalidation'
17331
 
     || lk == 114719                // '$' 'satisfies'
17332
 
     || lk == 114720                // '%' 'satisfies'
17333
 
     || lk == 114964                // '{' 'satisfies'
17334
 
     || lk == 115231                // '$' 'schema'
17335
 
     || lk == 115232                // '%' 'schema'
17336
 
     || lk == 115476                // '{' 'schema'
17337
 
     || lk == 115743                // '$' 'schema-attribute'
17338
 
     || lk == 115744                // '%' 'schema-attribute'
17339
 
     || lk == 115988                // '{' 'schema-attribute'
17340
 
     || lk == 116255                // '$' 'schema-element'
17341
 
     || lk == 116256                // '%' 'schema-element'
17342
 
     || lk == 116500                // '{' 'schema-element'
17343
 
     || lk == 116767                // '$' 'score'
17344
 
     || lk == 116768                // '%' 'score'
17345
 
     || lk == 117012                // '{' 'score'
17346
 
     || lk == 117279                // '$' 'self'
17347
 
     || lk == 117280                // '%' 'self'
17348
 
     || lk == 117524                // '{' 'self'
17349
 
     || lk == 119839                // '$' 'sliding'
17350
 
     || lk == 119840                // '%' 'sliding'
17351
 
     || lk == 120084                // '{' 'sliding'
17352
 
     || lk == 120351                // '$' 'some'
17353
 
     || lk == 120352                // '%' 'some'
17354
 
     || lk == 120596                // '{' 'some'
17355
 
     || lk == 120863                // '$' 'stable'
17356
 
     || lk == 120864                // '%' 'stable'
17357
 
     || lk == 121108                // '{' 'stable'
17358
 
     || lk == 121375                // '$' 'start'
17359
 
     || lk == 121376                // '%' 'start'
17360
 
     || lk == 121620                // '{' 'start'
17361
 
     || lk == 122911                // '$' 'strict'
17362
 
     || lk == 122912                // '%' 'strict'
17363
 
     || lk == 123156                // '{' 'strict'
17364
 
     || lk == 124447                // '$' 'switch'
17365
 
     || lk == 124448                // '%' 'switch'
17366
 
     || lk == 124692                // '{' 'switch'
17367
 
     || lk == 124959                // '$' 'text'
17368
 
     || lk == 124960                // '%' 'text'
17369
 
     || lk == 125204                // '{' 'text'
17370
 
     || lk == 127007                // '$' 'to'
17371
 
     || lk == 127008                // '%' 'to'
17372
 
     || lk == 127252                // '{' 'to'
17373
 
     || lk == 127519                // '$' 'treat'
17374
 
     || lk == 127520                // '%' 'treat'
17375
 
     || lk == 127764                // '{' 'treat'
17376
 
     || lk == 128031                // '$' 'try'
17377
 
     || lk == 128032                // '%' 'try'
17378
 
     || lk == 128276                // '{' 'try'
17379
 
     || lk == 128543                // '$' 'tumbling'
17380
 
     || lk == 128544                // '%' 'tumbling'
17381
 
     || lk == 128788                // '{' 'tumbling'
17382
 
     || lk == 129055                // '$' 'type'
17383
 
     || lk == 129056                // '%' 'type'
17384
 
     || lk == 129300                // '{' 'type'
17385
 
     || lk == 129567                // '$' 'typeswitch'
17386
 
     || lk == 129568                // '%' 'typeswitch'
17387
 
     || lk == 129812                // '{' 'typeswitch'
17388
 
     || lk == 130079                // '$' 'union'
17389
 
     || lk == 130080                // '%' 'union'
17390
 
     || lk == 130324                // '{' 'union'
17391
 
     || lk == 131103                // '$' 'unordered'
17392
 
     || lk == 131104                // '%' 'unordered'
17393
 
     || lk == 131348                // '{' 'unordered'
17394
 
     || lk == 131615                // '$' 'updating'
17395
 
     || lk == 131616                // '%' 'updating'
17396
 
     || lk == 131860                // '{' 'updating'
17397
 
     || lk == 133151                // '$' 'validate'
17398
 
     || lk == 133152                // '%' 'validate'
17399
 
     || lk == 133396                // '{' 'validate'
17400
 
     || lk == 133663                // '$' 'value'
17401
 
     || lk == 133664                // '%' 'value'
17402
 
     || lk == 133908                // '{' 'value'
17403
 
     || lk == 134175                // '$' 'variable'
17404
 
     || lk == 134176                // '%' 'variable'
17405
 
     || lk == 134420                // '{' 'variable'
17406
 
     || lk == 134687                // '$' 'version'
17407
 
     || lk == 134688                // '%' 'version'
17408
 
     || lk == 134932                // '{' 'version'
17409
 
     || lk == 136223                // '$' 'where'
17410
 
     || lk == 136224                // '%' 'where'
17411
 
     || lk == 136468                // '{' 'where'
17412
 
     || lk == 136735                // '$' 'while'
17413
 
     || lk == 136736                // '%' 'while'
17414
 
     || lk == 136980                // '{' 'while'
17415
 
     || lk == 138271                // '$' 'with'
17416
 
     || lk == 138272                // '%' 'with'
17417
 
     || lk == 138516                // '{' 'with'
17418
 
     || lk == 140319                // '$' 'xquery'
17419
 
     || lk == 140320                // '%' 'xquery'
17420
 
     || lk == 140564                // '{' 'xquery'
17421
 
     || lk == 141588                // '{' '{'
17422
 
     || lk == 142612                // '{' '{|'
17423
 
     || lk == 144660)               // '{' '}'
17424
 
    {
17425
 
      lk = memoized(7, e0);
17426
 
      if (lk == 0)
17427
 
      {
17428
 
        var b0A = b0; var e0A = e0; var l1A = l1;
17429
 
        var b1A = b1; var e1A = e1; var l2A = l2;
17430
 
        var b2A = b2; var e2A = e2;
17431
 
        try
17432
 
        {
17433
 
          try_ApplyStatement();
17434
 
          lk = -1;
17435
 
        }
17436
 
        catch (p1A)
17437
 
        {
17438
 
          try
17439
 
          {
17440
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
17441
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
17442
 
            b2 = b2A; e2 = e2A; end = e2A; }}
17443
 
            try_AssignStatement();
17444
 
            lk = -2;
17445
 
          }
17446
 
          catch (p2A)
17447
 
          {
17448
 
            try
17449
 
            {
17450
 
              b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
17451
 
              b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
17452
 
              b2 = b2A; e2 = e2A; end = e2A; }}
17453
 
              try_BlockStatement();
17454
 
              lk = -3;
17455
 
            }
17456
 
            catch (p3A)
17457
 
            {
17458
 
              try
17459
 
              {
17460
 
                b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
17461
 
                b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
17462
 
                b2 = b2A; e2 = e2A; end = e2A; }}
17463
 
                try_VarDeclStatement();
17464
 
                lk = -12;
17465
 
              }
17466
 
              catch (p12A)
17467
 
              {
17468
 
                lk = -13;
17469
 
              }
17470
 
            }
17471
 
          }
17472
 
        }
17473
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
17474
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
17475
 
        b2 = b2A; e2 = e2A; end = e2A; }}
17476
 
        memoize(7, e0, lk);
17477
 
      }
17478
 
    }
17479
 
    switch (lk)
17480
 
    {
17481
 
    case -2:
17482
 
      parse_AssignStatement();
17483
 
      break;
17484
 
    case -3:
17485
 
      parse_BlockStatement();
17486
 
      break;
17487
 
    case 90198:                     // 'break' 'loop'
17488
 
      parse_BreakStatement();
17489
 
      break;
17490
 
    case 90214:                     // 'continue' 'loop'
17491
 
      parse_ContinueStatement();
17492
 
      break;
17493
 
    case 113284:                    // 'exit' 'returning'
17494
 
      parse_ExitStatement();
17495
 
      break;
17496
 
    case 16009:                     // 'for' '$'
17497
 
    case 16046:                     // 'let' '$'
17498
 
    case 116910:                    // 'let' 'score'
17499
 
    case 119945:                    // 'for' 'sliding'
17500
 
    case 128649:                    // 'for' 'tumbling'
17501
 
      parse_FLWORStatement();
17502
 
      break;
17503
 
    case 17560:                     // 'if' '('
17504
 
      parse_IfStatement();
17505
 
      break;
17506
 
    case 17651:                     // 'switch' '('
17507
 
      parse_SwitchStatement();
17508
 
      break;
17509
 
    case 141562:                    // 'try' '{'
17510
 
      parse_TryCatchStatement();
17511
 
      break;
17512
 
    case 17661:                     // 'typeswitch' '('
17513
 
      parse_TypeswitchStatement();
17514
 
      break;
17515
 
    case -12:
17516
 
    case 16134:                     // 'variable' '$'
17517
 
      parse_VarDeclStatement();
17518
 
      break;
17519
 
    case -13:
17520
 
      parse_WhileStatement();
17521
 
      break;
17522
 
    default:
17523
 
      parse_ApplyStatement();
17524
 
    }
17525
 
    eventHandler.endNonterminal("Statement", e0);
17526
 
  }
17527
 
 
17528
 
  function try_Statement()
17529
 
  {
17530
 
    switch (l1)
17531
 
    {
17532
 
    case 132:                       // 'exit'
17533
 
      lookahead2W(189);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
17534
 
      break;
17535
 
    case 137:                       // 'for'
17536
 
      lookahead2W(196);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
17537
 
      break;
17538
 
    case 174:                       // 'let'
17539
 
      lookahead2W(193);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
17540
 
      break;
17541
 
    case 250:                       // 'try'
17542
 
      lookahead2W(190);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
17543
 
      break;
17544
 
    case 262:                       // 'variable'
17545
 
      lookahead2W(187);             // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
17546
 
      break;
17547
 
    case 276:                       // '{'
17548
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
17549
 
      break;
17550
 
    case 31:                        // '$'
17551
 
    case 32:                        // '%'
17552
 
      lookahead2W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
17553
 
      break;
17554
 
    case 86:                        // 'break'
17555
 
    case 102:                       // 'continue'
17556
 
      lookahead2W(188);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
17557
 
      break;
17558
 
    case 152:                       // 'if'
17559
 
    case 243:                       // 'switch'
17560
 
    case 253:                       // 'typeswitch'
17561
 
    case 267:                       // 'while'
17562
 
      lookahead2W(185);             // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
17563
 
      break;
17564
 
    default:
17565
 
      lk = l1;
17566
 
    }
17567
 
    if (lk == 2836                  // '{' Wildcard
17568
 
     || lk == 3103                  // '$' EQName^Token
17569
 
     || lk == 3104                  // '%' EQName^Token
17570
 
     || lk == 3348                  // '{' EQName^Token
17571
 
     || lk == 4372                  // '{' IntegerLiteral
17572
 
     || lk == 4884                  // '{' DecimalLiteral
17573
 
     || lk == 5396                  // '{' DoubleLiteral
17574
 
     || lk == 5908                  // '{' StringLiteral
17575
 
     || lk == 16148                 // '{' '$'
17576
 
     || lk == 16660                 // '{' '%'
17577
 
     || lk == 17675                 // 'while' '('
17578
 
     || lk == 17684                 // '{' '('
17579
 
     || lk == 18196                 // '{' '(#'
17580
 
     || lk == 20756                 // '{' '+'
17581
 
     || lk == 21780                 // '{' '-'
17582
 
     || lk == 22804                 // '{' '.'
17583
 
     || lk == 23316                 // '{' '..'
17584
 
     || lk == 23828                 // '{' '/'
17585
 
     || lk == 24340                 // '{' '//'
17586
 
     || lk == 27924                 // '{' '<'
17587
 
     || lk == 28436                 // '{' '<!--'
17588
 
     || lk == 30484                 // '{' '<?'
17589
 
     || lk == 34068                 // '{' '@'
17590
 
     || lk == 35092                 // '{' '['
17591
 
     || lk == 35871                 // '$' 'after'
17592
 
     || lk == 35872                 // '%' 'after'
17593
 
     || lk == 36116                 // '{' 'after'
17594
 
     || lk == 36895                 // '$' 'allowing'
17595
 
     || lk == 36896                 // '%' 'allowing'
17596
 
     || lk == 37140                 // '{' 'allowing'
17597
 
     || lk == 37407                 // '$' 'ancestor'
17598
 
     || lk == 37408                 // '%' 'ancestor'
17599
 
     || lk == 37652                 // '{' 'ancestor'
17600
 
     || lk == 37919                 // '$' 'ancestor-or-self'
17601
 
     || lk == 37920                 // '%' 'ancestor-or-self'
17602
 
     || lk == 38164                 // '{' 'ancestor-or-self'
17603
 
     || lk == 38431                 // '$' 'and'
17604
 
     || lk == 38432                 // '%' 'and'
17605
 
     || lk == 38676                 // '{' 'and'
17606
 
     || lk == 39700                 // '{' 'append'
17607
 
     || lk == 39967                 // '$' 'array'
17608
 
     || lk == 39968                 // '%' 'array'
17609
 
     || lk == 40212                 // '{' 'array'
17610
 
     || lk == 40479                 // '$' 'as'
17611
 
     || lk == 40480                 // '%' 'as'
17612
 
     || lk == 40724                 // '{' 'as'
17613
 
     || lk == 40991                 // '$' 'ascending'
17614
 
     || lk == 40992                 // '%' 'ascending'
17615
 
     || lk == 41236                 // '{' 'ascending'
17616
 
     || lk == 41503                 // '$' 'at'
17617
 
     || lk == 41504                 // '%' 'at'
17618
 
     || lk == 41748                 // '{' 'at'
17619
 
     || lk == 42015                 // '$' 'attribute'
17620
 
     || lk == 42016                 // '%' 'attribute'
17621
 
     || lk == 42260                 // '{' 'attribute'
17622
 
     || lk == 42527                 // '$' 'base-uri'
17623
 
     || lk == 42528                 // '%' 'base-uri'
17624
 
     || lk == 42772                 // '{' 'base-uri'
17625
 
     || lk == 43039                 // '$' 'before'
17626
 
     || lk == 43040                 // '%' 'before'
17627
 
     || lk == 43284                 // '{' 'before'
17628
 
     || lk == 43551                 // '$' 'boundary-space'
17629
 
     || lk == 43552                 // '%' 'boundary-space'
17630
 
     || lk == 43796                 // '{' 'boundary-space'
17631
 
     || lk == 44063                 // '$' 'break'
17632
 
     || lk == 44064                 // '%' 'break'
17633
 
     || lk == 44308                 // '{' 'break'
17634
 
     || lk == 45087                 // '$' 'case'
17635
 
     || lk == 45088                 // '%' 'case'
17636
 
     || lk == 45332                 // '{' 'case'
17637
 
     || lk == 45599                 // '$' 'cast'
17638
 
     || lk == 45600                 // '%' 'cast'
17639
 
     || lk == 45844                 // '{' 'cast'
17640
 
     || lk == 46111                 // '$' 'castable'
17641
 
     || lk == 46112                 // '%' 'castable'
17642
 
     || lk == 46356                 // '{' 'castable'
17643
 
     || lk == 46623                 // '$' 'catch'
17644
 
     || lk == 46624                 // '%' 'catch'
17645
 
     || lk == 46868                 // '{' 'catch'
17646
 
     || lk == 47647                 // '$' 'child'
17647
 
     || lk == 47648                 // '%' 'child'
17648
 
     || lk == 47892                 // '{' 'child'
17649
 
     || lk == 48159                 // '$' 'collation'
17650
 
     || lk == 48160                 // '%' 'collation'
17651
 
     || lk == 48404                 // '{' 'collation'
17652
 
     || lk == 49183                 // '$' 'comment'
17653
 
     || lk == 49184                 // '%' 'comment'
17654
 
     || lk == 49428                 // '{' 'comment'
17655
 
     || lk == 49695                 // '$' 'constraint'
17656
 
     || lk == 49696                 // '%' 'constraint'
17657
 
     || lk == 49940                 // '{' 'constraint'
17658
 
     || lk == 50207                 // '$' 'construction'
17659
 
     || lk == 50208                 // '%' 'construction'
17660
 
     || lk == 50452                 // '{' 'construction'
17661
 
     || lk == 51743                 // '$' 'context'
17662
 
     || lk == 51744                 // '%' 'context'
17663
 
     || lk == 51988                 // '{' 'context'
17664
 
     || lk == 52255                 // '$' 'continue'
17665
 
     || lk == 52256                 // '%' 'continue'
17666
 
     || lk == 52500                 // '{' 'continue'
17667
 
     || lk == 52767                 // '$' 'copy'
17668
 
     || lk == 52768                 // '%' 'copy'
17669
 
     || lk == 53012                 // '{' 'copy'
17670
 
     || lk == 53279                 // '$' 'copy-namespaces'
17671
 
     || lk == 53280                 // '%' 'copy-namespaces'
17672
 
     || lk == 53524                 // '{' 'copy-namespaces'
17673
 
     || lk == 53791                 // '$' 'count'
17674
 
     || lk == 53792                 // '%' 'count'
17675
 
     || lk == 54036                 // '{' 'count'
17676
 
     || lk == 54303                 // '$' 'decimal-format'
17677
 
     || lk == 54304                 // '%' 'decimal-format'
17678
 
     || lk == 54548                 // '{' 'decimal-format'
17679
 
     || lk == 55327                 // '$' 'declare'
17680
 
     || lk == 55328                 // '%' 'declare'
17681
 
     || lk == 55572                 // '{' 'declare'
17682
 
     || lk == 55839                 // '$' 'default'
17683
 
     || lk == 55840                 // '%' 'default'
17684
 
     || lk == 56084                 // '{' 'default'
17685
 
     || lk == 56351                 // '$' 'delete'
17686
 
     || lk == 56352                 // '%' 'delete'
17687
 
     || lk == 56596                 // '{' 'delete'
17688
 
     || lk == 56863                 // '$' 'descendant'
17689
 
     || lk == 56864                 // '%' 'descendant'
17690
 
     || lk == 57108                 // '{' 'descendant'
17691
 
     || lk == 57375                 // '$' 'descendant-or-self'
17692
 
     || lk == 57376                 // '%' 'descendant-or-self'
17693
 
     || lk == 57620                 // '{' 'descendant-or-self'
17694
 
     || lk == 57887                 // '$' 'descending'
17695
 
     || lk == 57888                 // '%' 'descending'
17696
 
     || lk == 58132                 // '{' 'descending'
17697
 
     || lk == 60447                 // '$' 'div'
17698
 
     || lk == 60448                 // '%' 'div'
17699
 
     || lk == 60692                 // '{' 'div'
17700
 
     || lk == 60959                 // '$' 'document'
17701
 
     || lk == 60960                 // '%' 'document'
17702
 
     || lk == 61204                 // '{' 'document'
17703
 
     || lk == 61471                 // '$' 'document-node'
17704
 
     || lk == 61472                 // '%' 'document-node'
17705
 
     || lk == 61716                 // '{' 'document-node'
17706
 
     || lk == 61983                 // '$' 'element'
17707
 
     || lk == 61984                 // '%' 'element'
17708
 
     || lk == 62228                 // '{' 'element'
17709
 
     || lk == 62495                 // '$' 'else'
17710
 
     || lk == 62496                 // '%' 'else'
17711
 
     || lk == 62740                 // '{' 'else'
17712
 
     || lk == 63007                 // '$' 'empty'
17713
 
     || lk == 63008                 // '%' 'empty'
17714
 
     || lk == 63252                 // '{' 'empty'
17715
 
     || lk == 63519                 // '$' 'empty-sequence'
17716
 
     || lk == 63520                 // '%' 'empty-sequence'
17717
 
     || lk == 63764                 // '{' 'empty-sequence'
17718
 
     || lk == 64031                 // '$' 'encoding'
17719
 
     || lk == 64032                 // '%' 'encoding'
17720
 
     || lk == 64276                 // '{' 'encoding'
17721
 
     || lk == 64543                 // '$' 'end'
17722
 
     || lk == 64544                 // '%' 'end'
17723
 
     || lk == 64788                 // '{' 'end'
17724
 
     || lk == 65567                 // '$' 'eq'
17725
 
     || lk == 65568                 // '%' 'eq'
17726
 
     || lk == 65812                 // '{' 'eq'
17727
 
     || lk == 66079                 // '$' 'every'
17728
 
     || lk == 66080                 // '%' 'every'
17729
 
     || lk == 66324                 // '{' 'every'
17730
 
     || lk == 67103                 // '$' 'except'
17731
 
     || lk == 67104                 // '%' 'except'
17732
 
     || lk == 67348                 // '{' 'except'
17733
 
     || lk == 67615                 // '$' 'exit'
17734
 
     || lk == 67616                 // '%' 'exit'
17735
 
     || lk == 67860                 // '{' 'exit'
17736
 
     || lk == 68127                 // '$' 'external'
17737
 
     || lk == 68128                 // '%' 'external'
17738
 
     || lk == 68372                 // '{' 'external'
17739
 
     || lk == 68639                 // '$' 'first'
17740
 
     || lk == 68640                 // '%' 'first'
17741
 
     || lk == 68884                 // '{' 'first'
17742
 
     || lk == 69151                 // '$' 'following'
17743
 
     || lk == 69152                 // '%' 'following'
17744
 
     || lk == 69396                 // '{' 'following'
17745
 
     || lk == 69663                 // '$' 'following-sibling'
17746
 
     || lk == 69664                 // '%' 'following-sibling'
17747
 
     || lk == 69908                 // '{' 'following-sibling'
17748
 
     || lk == 70175                 // '$' 'for'
17749
 
     || lk == 70176                 // '%' 'for'
17750
 
     || lk == 70420                 // '{' 'for'
17751
 
     || lk == 72223                 // '$' 'ft-option'
17752
 
     || lk == 72224                 // '%' 'ft-option'
17753
 
     || lk == 72468                 // '{' 'ft-option'
17754
 
     || lk == 74271                 // '$' 'function'
17755
 
     || lk == 74272                 // '%' 'function'
17756
 
     || lk == 74516                 // '{' 'function'
17757
 
     || lk == 74783                 // '$' 'ge'
17758
 
     || lk == 74784                 // '%' 'ge'
17759
 
     || lk == 75028                 // '{' 'ge'
17760
 
     || lk == 75807                 // '$' 'group'
17761
 
     || lk == 75808                 // '%' 'group'
17762
 
     || lk == 76052                 // '{' 'group'
17763
 
     || lk == 76831                 // '$' 'gt'
17764
 
     || lk == 76832                 // '%' 'gt'
17765
 
     || lk == 77076                 // '{' 'gt'
17766
 
     || lk == 77343                 // '$' 'idiv'
17767
 
     || lk == 77344                 // '%' 'idiv'
17768
 
     || lk == 77588                 // '{' 'idiv'
17769
 
     || lk == 77855                 // '$' 'if'
17770
 
     || lk == 77856                 // '%' 'if'
17771
 
     || lk == 78100                 // '{' 'if'
17772
 
     || lk == 78367                 // '$' 'import'
17773
 
     || lk == 78368                 // '%' 'import'
17774
 
     || lk == 78612                 // '{' 'import'
17775
 
     || lk == 78879                 // '$' 'in'
17776
 
     || lk == 78880                 // '%' 'in'
17777
 
     || lk == 79124                 // '{' 'in'
17778
 
     || lk == 79391                 // '$' 'index'
17779
 
     || lk == 79392                 // '%' 'index'
17780
 
     || lk == 79636                 // '{' 'index'
17781
 
     || lk == 81439                 // '$' 'insert'
17782
 
     || lk == 81440                 // '%' 'insert'
17783
 
     || lk == 81684                 // '{' 'insert'
17784
 
     || lk == 81951                 // '$' 'instance'
17785
 
     || lk == 81952                 // '%' 'instance'
17786
 
     || lk == 82196                 // '{' 'instance'
17787
 
     || lk == 82463                 // '$' 'integrity'
17788
 
     || lk == 82464                 // '%' 'integrity'
17789
 
     || lk == 82708                 // '{' 'integrity'
17790
 
     || lk == 82975                 // '$' 'intersect'
17791
 
     || lk == 82976                 // '%' 'intersect'
17792
 
     || lk == 83220                 // '{' 'intersect'
17793
 
     || lk == 83487                 // '$' 'into'
17794
 
     || lk == 83488                 // '%' 'into'
17795
 
     || lk == 83732                 // '{' 'into'
17796
 
     || lk == 83999                 // '$' 'is'
17797
 
     || lk == 84000                 // '%' 'is'
17798
 
     || lk == 84244                 // '{' 'is'
17799
 
     || lk == 84511                 // '$' 'item'
17800
 
     || lk == 84512                 // '%' 'item'
17801
 
     || lk == 84756                 // '{' 'item'
17802
 
     || lk == 85535                 // '$' 'json-item'
17803
 
     || lk == 85536                 // '%' 'json-item'
17804
 
     || lk == 85780                 // '{' 'json-item'
17805
 
     || lk == 87071                 // '$' 'last'
17806
 
     || lk == 87072                 // '%' 'last'
17807
 
     || lk == 87316                 // '{' 'last'
17808
 
     || lk == 87583                 // '$' 'lax'
17809
 
     || lk == 87584                 // '%' 'lax'
17810
 
     || lk == 87828                 // '{' 'lax'
17811
 
     || lk == 88095                 // '$' 'le'
17812
 
     || lk == 88096                 // '%' 'le'
17813
 
     || lk == 88340                 // '{' 'le'
17814
 
     || lk == 89119                 // '$' 'let'
17815
 
     || lk == 89120                 // '%' 'let'
17816
 
     || lk == 89364                 // '{' 'let'
17817
 
     || lk == 90143                 // '$' 'loop'
17818
 
     || lk == 90144                 // '%' 'loop'
17819
 
     || lk == 90388                 // '{' 'loop'
17820
 
     || lk == 91167                 // '$' 'lt'
17821
 
     || lk == 91168                 // '%' 'lt'
17822
 
     || lk == 91412                 // '{' 'lt'
17823
 
     || lk == 92191                 // '$' 'mod'
17824
 
     || lk == 92192                 // '%' 'mod'
17825
 
     || lk == 92436                 // '{' 'mod'
17826
 
     || lk == 92703                 // '$' 'modify'
17827
 
     || lk == 92704                 // '%' 'modify'
17828
 
     || lk == 92948                 // '{' 'modify'
17829
 
     || lk == 93215                 // '$' 'module'
17830
 
     || lk == 93216                 // '%' 'module'
17831
 
     || lk == 93460                 // '{' 'module'
17832
 
     || lk == 94239                 // '$' 'namespace'
17833
 
     || lk == 94240                 // '%' 'namespace'
17834
 
     || lk == 94484                 // '{' 'namespace'
17835
 
     || lk == 94751                 // '$' 'namespace-node'
17836
 
     || lk == 94752                 // '%' 'namespace-node'
17837
 
     || lk == 94996                 // '{' 'namespace-node'
17838
 
     || lk == 95263                 // '$' 'ne'
17839
 
     || lk == 95264                 // '%' 'ne'
17840
 
     || lk == 95508                 // '{' 'ne'
17841
 
     || lk == 97823                 // '$' 'node'
17842
 
     || lk == 97824                 // '%' 'node'
17843
 
     || lk == 98068                 // '{' 'node'
17844
 
     || lk == 98335                 // '$' 'nodes'
17845
 
     || lk == 98336                 // '%' 'nodes'
17846
 
     || lk == 98580                 // '{' 'nodes'
17847
 
     || lk == 99359                 // '$' 'object'
17848
 
     || lk == 99360                 // '%' 'object'
17849
 
     || lk == 99604                 // '{' 'object'
17850
 
     || lk == 101407                // '$' 'only'
17851
 
     || lk == 101408                // '%' 'only'
17852
 
     || lk == 101652                // '{' 'only'
17853
 
     || lk == 101919                // '$' 'option'
17854
 
     || lk == 101920                // '%' 'option'
17855
 
     || lk == 102164                // '{' 'option'
17856
 
     || lk == 102431                // '$' 'or'
17857
 
     || lk == 102432                // '%' 'or'
17858
 
     || lk == 102676                // '{' 'or'
17859
 
     || lk == 102943                // '$' 'order'
17860
 
     || lk == 102944                // '%' 'order'
17861
 
     || lk == 103188                // '{' 'order'
17862
 
     || lk == 103455                // '$' 'ordered'
17863
 
     || lk == 103456                // '%' 'ordered'
17864
 
     || lk == 103700                // '{' 'ordered'
17865
 
     || lk == 103967                // '$' 'ordering'
17866
 
     || lk == 103968                // '%' 'ordering'
17867
 
     || lk == 104212                // '{' 'ordering'
17868
 
     || lk == 105503                // '$' 'parent'
17869
 
     || lk == 105504                // '%' 'parent'
17870
 
     || lk == 105748                // '{' 'parent'
17871
 
     || lk == 108575                // '$' 'preceding'
17872
 
     || lk == 108576                // '%' 'preceding'
17873
 
     || lk == 108820                // '{' 'preceding'
17874
 
     || lk == 109087                // '$' 'preceding-sibling'
17875
 
     || lk == 109088                // '%' 'preceding-sibling'
17876
 
     || lk == 109332                // '{' 'preceding-sibling'
17877
 
     || lk == 110623                // '$' 'processing-instruction'
17878
 
     || lk == 110624                // '%' 'processing-instruction'
17879
 
     || lk == 110868                // '{' 'processing-instruction'
17880
 
     || lk == 111647                // '$' 'rename'
17881
 
     || lk == 111648                // '%' 'rename'
17882
 
     || lk == 111892                // '{' 'rename'
17883
 
     || lk == 112159                // '$' 'replace'
17884
 
     || lk == 112160                // '%' 'replace'
17885
 
     || lk == 112404                // '{' 'replace'
17886
 
     || lk == 112671                // '$' 'return'
17887
 
     || lk == 112672                // '%' 'return'
17888
 
     || lk == 112916                // '{' 'return'
17889
 
     || lk == 113183                // '$' 'returning'
17890
 
     || lk == 113184                // '%' 'returning'
17891
 
     || lk == 113428                // '{' 'returning'
17892
 
     || lk == 113695                // '$' 'revalidation'
17893
 
     || lk == 113696                // '%' 'revalidation'
17894
 
     || lk == 113940                // '{' 'revalidation'
17895
 
     || lk == 114719                // '$' 'satisfies'
17896
 
     || lk == 114720                // '%' 'satisfies'
17897
 
     || lk == 114964                // '{' 'satisfies'
17898
 
     || lk == 115231                // '$' 'schema'
17899
 
     || lk == 115232                // '%' 'schema'
17900
 
     || lk == 115476                // '{' 'schema'
17901
 
     || lk == 115743                // '$' 'schema-attribute'
17902
 
     || lk == 115744                // '%' 'schema-attribute'
17903
 
     || lk == 115988                // '{' 'schema-attribute'
17904
 
     || lk == 116255                // '$' 'schema-element'
17905
 
     || lk == 116256                // '%' 'schema-element'
17906
 
     || lk == 116500                // '{' 'schema-element'
17907
 
     || lk == 116767                // '$' 'score'
17908
 
     || lk == 116768                // '%' 'score'
17909
 
     || lk == 117012                // '{' 'score'
17910
 
     || lk == 117279                // '$' 'self'
17911
 
     || lk == 117280                // '%' 'self'
17912
 
     || lk == 117524                // '{' 'self'
17913
 
     || lk == 119839                // '$' 'sliding'
17914
 
     || lk == 119840                // '%' 'sliding'
17915
 
     || lk == 120084                // '{' 'sliding'
17916
 
     || lk == 120351                // '$' 'some'
17917
 
     || lk == 120352                // '%' 'some'
17918
 
     || lk == 120596                // '{' 'some'
17919
 
     || lk == 120863                // '$' 'stable'
17920
 
     || lk == 120864                // '%' 'stable'
17921
 
     || lk == 121108                // '{' 'stable'
17922
 
     || lk == 121375                // '$' 'start'
17923
 
     || lk == 121376                // '%' 'start'
17924
 
     || lk == 121620                // '{' 'start'
17925
 
     || lk == 122911                // '$' 'strict'
17926
 
     || lk == 122912                // '%' 'strict'
17927
 
     || lk == 123156                // '{' 'strict'
17928
 
     || lk == 124447                // '$' 'switch'
17929
 
     || lk == 124448                // '%' 'switch'
17930
 
     || lk == 124692                // '{' 'switch'
17931
 
     || lk == 124959                // '$' 'text'
17932
 
     || lk == 124960                // '%' 'text'
17933
 
     || lk == 125204                // '{' 'text'
17934
 
     || lk == 127007                // '$' 'to'
17935
 
     || lk == 127008                // '%' 'to'
17936
 
     || lk == 127252                // '{' 'to'
17937
 
     || lk == 127519                // '$' 'treat'
17938
 
     || lk == 127520                // '%' 'treat'
17939
 
     || lk == 127764                // '{' 'treat'
17940
 
     || lk == 128031                // '$' 'try'
17941
 
     || lk == 128032                // '%' 'try'
17942
 
     || lk == 128276                // '{' 'try'
17943
 
     || lk == 128543                // '$' 'tumbling'
17944
 
     || lk == 128544                // '%' 'tumbling'
17945
 
     || lk == 128788                // '{' 'tumbling'
17946
 
     || lk == 129055                // '$' 'type'
17947
 
     || lk == 129056                // '%' 'type'
17948
 
     || lk == 129300                // '{' 'type'
17949
 
     || lk == 129567                // '$' 'typeswitch'
17950
 
     || lk == 129568                // '%' 'typeswitch'
17951
 
     || lk == 129812                // '{' 'typeswitch'
17952
 
     || lk == 130079                // '$' 'union'
17953
 
     || lk == 130080                // '%' 'union'
17954
 
     || lk == 130324                // '{' 'union'
17955
 
     || lk == 131103                // '$' 'unordered'
17956
 
     || lk == 131104                // '%' 'unordered'
17957
 
     || lk == 131348                // '{' 'unordered'
17958
 
     || lk == 131615                // '$' 'updating'
17959
 
     || lk == 131616                // '%' 'updating'
17960
 
     || lk == 131860                // '{' 'updating'
17961
 
     || lk == 133151                // '$' 'validate'
17962
 
     || lk == 133152                // '%' 'validate'
17963
 
     || lk == 133396                // '{' 'validate'
17964
 
     || lk == 133663                // '$' 'value'
17965
 
     || lk == 133664                // '%' 'value'
17966
 
     || lk == 133908                // '{' 'value'
17967
 
     || lk == 134175                // '$' 'variable'
17968
 
     || lk == 134176                // '%' 'variable'
17969
 
     || lk == 134420                // '{' 'variable'
17970
 
     || lk == 134687                // '$' 'version'
17971
 
     || lk == 134688                // '%' 'version'
17972
 
     || lk == 134932                // '{' 'version'
17973
 
     || lk == 136223                // '$' 'where'
17974
 
     || lk == 136224                // '%' 'where'
17975
 
     || lk == 136468                // '{' 'where'
17976
 
     || lk == 136735                // '$' 'while'
17977
 
     || lk == 136736                // '%' 'while'
17978
 
     || lk == 136980                // '{' 'while'
17979
 
     || lk == 138271                // '$' 'with'
17980
 
     || lk == 138272                // '%' 'with'
17981
 
     || lk == 138516                // '{' 'with'
17982
 
     || lk == 140319                // '$' 'xquery'
17983
 
     || lk == 140320                // '%' 'xquery'
17984
 
     || lk == 140564                // '{' 'xquery'
17985
 
     || lk == 141588                // '{' '{'
17986
 
     || lk == 142612                // '{' '{|'
17987
 
     || lk == 144660)               // '{' '}'
17988
 
    {
17989
 
      lk = memoized(7, e0);
17990
 
      if (lk == 0)
17991
 
      {
17992
 
        var b0A = b0; var e0A = e0; var l1A = l1;
17993
 
        var b1A = b1; var e1A = e1; var l2A = l2;
17994
 
        var b2A = b2; var e2A = e2;
17995
 
        try
17996
 
        {
17997
 
          try_ApplyStatement();
17998
 
          memoize(7, e0A, -1);
17999
 
          lk = -14;
18000
 
        }
18001
 
        catch (p1A)
18002
 
        {
18003
 
          try
18004
 
          {
18005
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18006
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18007
 
            b2 = b2A; e2 = e2A; end = e2A; }}
18008
 
            try_AssignStatement();
18009
 
            memoize(7, e0A, -2);
18010
 
            lk = -14;
18011
 
          }
18012
 
          catch (p2A)
18013
 
          {
18014
 
            try
18015
 
            {
18016
 
              b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18017
 
              b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18018
 
              b2 = b2A; e2 = e2A; end = e2A; }}
18019
 
              try_BlockStatement();
18020
 
              memoize(7, e0A, -3);
18021
 
              lk = -14;
18022
 
            }
18023
 
            catch (p3A)
18024
 
            {
18025
 
              try
18026
 
              {
18027
 
                b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18028
 
                b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18029
 
                b2 = b2A; e2 = e2A; end = e2A; }}
18030
 
                try_VarDeclStatement();
18031
 
                memoize(7, e0A, -12);
18032
 
                lk = -14;
18033
 
              }
18034
 
              catch (p12A)
18035
 
              {
18036
 
                lk = -13;
18037
 
                b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18038
 
                b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18039
 
                b2 = b2A; e2 = e2A; end = e2A; }}
18040
 
                memoize(7, e0A, -13);
18041
 
              }
18042
 
            }
18043
 
          }
18044
 
        }
18045
 
      }
18046
 
    }
18047
 
    switch (lk)
18048
 
    {
18049
 
    case -2:
18050
 
      try_AssignStatement();
18051
 
      break;
18052
 
    case -3:
18053
 
      try_BlockStatement();
18054
 
      break;
18055
 
    case 90198:                     // 'break' 'loop'
18056
 
      try_BreakStatement();
18057
 
      break;
18058
 
    case 90214:                     // 'continue' 'loop'
18059
 
      try_ContinueStatement();
18060
 
      break;
18061
 
    case 113284:                    // 'exit' 'returning'
18062
 
      try_ExitStatement();
18063
 
      break;
18064
 
    case 16009:                     // 'for' '$'
18065
 
    case 16046:                     // 'let' '$'
18066
 
    case 116910:                    // 'let' 'score'
18067
 
    case 119945:                    // 'for' 'sliding'
18068
 
    case 128649:                    // 'for' 'tumbling'
18069
 
      try_FLWORStatement();
18070
 
      break;
18071
 
    case 17560:                     // 'if' '('
18072
 
      try_IfStatement();
18073
 
      break;
18074
 
    case 17651:                     // 'switch' '('
18075
 
      try_SwitchStatement();
18076
 
      break;
18077
 
    case 141562:                    // 'try' '{'
18078
 
      try_TryCatchStatement();
18079
 
      break;
18080
 
    case 17661:                     // 'typeswitch' '('
18081
 
      try_TypeswitchStatement();
18082
 
      break;
18083
 
    case -12:
18084
 
    case 16134:                     // 'variable' '$'
18085
 
      try_VarDeclStatement();
18086
 
      break;
18087
 
    case -13:
18088
 
      try_WhileStatement();
18089
 
      break;
18090
 
    case -14:
18091
 
      break;
18092
 
    default:
18093
 
      try_ApplyStatement();
18094
 
    }
18095
 
  }
18096
 
 
18097
 
  function parse_ApplyStatement()
18098
 
  {
18099
 
    eventHandler.startNonterminal("ApplyStatement", e0);
18100
 
    parse_ExprSimple();
18101
 
    shift(53);                      // ';'
18102
 
    eventHandler.endNonterminal("ApplyStatement", e0);
18103
 
  }
18104
 
 
18105
 
  function try_ApplyStatement()
18106
 
  {
18107
 
    try_ExprSimple();
18108
 
    shiftT(53);                     // ';'
18109
 
  }
18110
 
 
18111
 
  function parse_AssignStatement()
18112
 
  {
18113
 
    eventHandler.startNonterminal("AssignStatement", e0);
18114
 
    shift(31);                      // '$'
18115
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18116
 
    whitespace();
18117
 
    parse_VarName();
18118
 
    lookahead1W(27);                // S^WS | '(:' | ':='
18119
 
    shift(52);                      // ':='
18120
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18121
 
    whitespace();
18122
 
    parse_ExprSingle();
18123
 
    shift(53);                      // ';'
18124
 
    eventHandler.endNonterminal("AssignStatement", e0);
18125
 
  }
18126
 
 
18127
 
  function try_AssignStatement()
18128
 
  {
18129
 
    shiftT(31);                     // '$'
18130
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18131
 
    try_VarName();
18132
 
    lookahead1W(27);                // S^WS | '(:' | ':='
18133
 
    shiftT(52);                     // ':='
18134
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18135
 
    try_ExprSingle();
18136
 
    shiftT(53);                     // ';'
18137
 
  }
18138
 
 
18139
 
  function parse_BlockStatement()
18140
 
  {
18141
 
    eventHandler.startNonterminal("BlockStatement", e0);
18142
 
    shift(276);                     // '{'
18143
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18144
 
    whitespace();
18145
 
    parse_Statements();
18146
 
    shift(282);                     // '}'
18147
 
    eventHandler.endNonterminal("BlockStatement", e0);
18148
 
  }
18149
 
 
18150
 
  function try_BlockStatement()
18151
 
  {
18152
 
    shiftT(276);                    // '{'
18153
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18154
 
    try_Statements();
18155
 
    shiftT(282);                    // '}'
18156
 
  }
18157
 
 
18158
 
  function parse_BreakStatement()
18159
 
  {
18160
 
    eventHandler.startNonterminal("BreakStatement", e0);
18161
 
    shift(86);                      // 'break'
18162
 
    lookahead1W(59);                // S^WS | '(:' | 'loop'
18163
 
    shift(176);                     // 'loop'
18164
 
    lookahead1W(28);                // S^WS | '(:' | ';'
18165
 
    shift(53);                      // ';'
18166
 
    eventHandler.endNonterminal("BreakStatement", e0);
18167
 
  }
18168
 
 
18169
 
  function try_BreakStatement()
18170
 
  {
18171
 
    shiftT(86);                     // 'break'
18172
 
    lookahead1W(59);                // S^WS | '(:' | 'loop'
18173
 
    shiftT(176);                    // 'loop'
18174
 
    lookahead1W(28);                // S^WS | '(:' | ';'
18175
 
    shiftT(53);                     // ';'
18176
 
  }
18177
 
 
18178
 
  function parse_ContinueStatement()
18179
 
  {
18180
 
    eventHandler.startNonterminal("ContinueStatement", e0);
18181
 
    shift(102);                     // 'continue'
18182
 
    lookahead1W(59);                // S^WS | '(:' | 'loop'
18183
 
    shift(176);                     // 'loop'
18184
 
    lookahead1W(28);                // S^WS | '(:' | ';'
18185
 
    shift(53);                      // ';'
18186
 
    eventHandler.endNonterminal("ContinueStatement", e0);
18187
 
  }
18188
 
 
18189
 
  function try_ContinueStatement()
18190
 
  {
18191
 
    shiftT(102);                    // 'continue'
18192
 
    lookahead1W(59);                // S^WS | '(:' | 'loop'
18193
 
    shiftT(176);                    // 'loop'
18194
 
    lookahead1W(28);                // S^WS | '(:' | ';'
18195
 
    shiftT(53);                     // ';'
18196
 
  }
18197
 
 
18198
 
  function parse_ExitStatement()
18199
 
  {
18200
 
    eventHandler.startNonterminal("ExitStatement", e0);
18201
 
    shift(132);                     // 'exit'
18202
 
    lookahead1W(71);                // S^WS | '(:' | 'returning'
18203
 
    shift(221);                     // 'returning'
18204
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18205
 
    whitespace();
18206
 
    parse_ExprSingle();
18207
 
    shift(53);                      // ';'
18208
 
    eventHandler.endNonterminal("ExitStatement", e0);
18209
 
  }
18210
 
 
18211
 
  function try_ExitStatement()
18212
 
  {
18213
 
    shiftT(132);                    // 'exit'
18214
 
    lookahead1W(71);                // S^WS | '(:' | 'returning'
18215
 
    shiftT(221);                    // 'returning'
18216
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18217
 
    try_ExprSingle();
18218
 
    shiftT(53);                     // ';'
18219
 
  }
18220
 
 
18221
 
  function parse_FLWORStatement()
18222
 
  {
18223
 
    eventHandler.startNonterminal("FLWORStatement", e0);
18224
 
    parse_InitialClause();
18225
 
    for (;;)
18226
 
    {
18227
 
      lookahead1W(173);             // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
18228
 
      if (l1 == 220)                // 'return'
18229
 
      {
18230
 
        break;
18231
 
      }
18232
 
      whitespace();
18233
 
      parse_IntermediateClause();
18234
 
    }
18235
 
    whitespace();
18236
 
    parse_ReturnStatement();
18237
 
    eventHandler.endNonterminal("FLWORStatement", e0);
18238
 
  }
18239
 
 
18240
 
  function try_FLWORStatement()
18241
 
  {
18242
 
    try_InitialClause();
18243
 
    for (;;)
18244
 
    {
18245
 
      lookahead1W(173);             // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
18246
 
      if (l1 == 220)                // 'return'
18247
 
      {
18248
 
        break;
18249
 
      }
18250
 
      try_IntermediateClause();
18251
 
    }
18252
 
    try_ReturnStatement();
18253
 
  }
18254
 
 
18255
 
  function parse_ReturnStatement()
18256
 
  {
18257
 
    eventHandler.startNonterminal("ReturnStatement", e0);
18258
 
    shift(220);                     // 'return'
18259
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18260
 
    whitespace();
18261
 
    parse_Statement();
18262
 
    eventHandler.endNonterminal("ReturnStatement", e0);
18263
 
  }
18264
 
 
18265
 
  function try_ReturnStatement()
18266
 
  {
18267
 
    shiftT(220);                    // 'return'
18268
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18269
 
    try_Statement();
18270
 
  }
18271
 
 
18272
 
  function parse_IfStatement()
18273
 
  {
18274
 
    eventHandler.startNonterminal("IfStatement", e0);
18275
 
    shift(152);                     // 'if'
18276
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18277
 
    shift(34);                      // '('
18278
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18279
 
    whitespace();
18280
 
    parse_Expr();
18281
 
    shift(37);                      // ')'
18282
 
    lookahead1W(77);                // S^WS | '(:' | 'then'
18283
 
    shift(245);                     // 'then'
18284
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18285
 
    whitespace();
18286
 
    parse_Statement();
18287
 
    lookahead1W(48);                // S^WS | '(:' | 'else'
18288
 
    shift(122);                     // 'else'
18289
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18290
 
    whitespace();
18291
 
    parse_Statement();
18292
 
    eventHandler.endNonterminal("IfStatement", e0);
18293
 
  }
18294
 
 
18295
 
  function try_IfStatement()
18296
 
  {
18297
 
    shiftT(152);                    // 'if'
18298
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18299
 
    shiftT(34);                     // '('
18300
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18301
 
    try_Expr();
18302
 
    shiftT(37);                     // ')'
18303
 
    lookahead1W(77);                // S^WS | '(:' | 'then'
18304
 
    shiftT(245);                    // 'then'
18305
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18306
 
    try_Statement();
18307
 
    lookahead1W(48);                // S^WS | '(:' | 'else'
18308
 
    shiftT(122);                    // 'else'
18309
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18310
 
    try_Statement();
18311
 
  }
18312
 
 
18313
 
  function parse_SwitchStatement()
18314
 
  {
18315
 
    eventHandler.startNonterminal("SwitchStatement", e0);
18316
 
    shift(243);                     // 'switch'
18317
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18318
 
    shift(34);                      // '('
18319
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18320
 
    whitespace();
18321
 
    parse_Expr();
18322
 
    shift(37);                      // ')'
18323
 
    for (;;)
18324
 
    {
18325
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
18326
 
      whitespace();
18327
 
      parse_SwitchCaseStatement();
18328
 
      lookahead1W(113);             // S^WS | '(:' | 'case' | 'default'
18329
 
      if (l1 != 88)                 // 'case'
18330
 
      {
18331
 
        break;
18332
 
      }
18333
 
    }
18334
 
    shift(109);                     // 'default'
18335
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18336
 
    shift(220);                     // 'return'
18337
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18338
 
    whitespace();
18339
 
    parse_Statement();
18340
 
    eventHandler.endNonterminal("SwitchStatement", e0);
18341
 
  }
18342
 
 
18343
 
  function try_SwitchStatement()
18344
 
  {
18345
 
    shiftT(243);                    // 'switch'
18346
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18347
 
    shiftT(34);                     // '('
18348
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18349
 
    try_Expr();
18350
 
    shiftT(37);                     // ')'
18351
 
    for (;;)
18352
 
    {
18353
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
18354
 
      try_SwitchCaseStatement();
18355
 
      lookahead1W(113);             // S^WS | '(:' | 'case' | 'default'
18356
 
      if (l1 != 88)                 // 'case'
18357
 
      {
18358
 
        break;
18359
 
      }
18360
 
    }
18361
 
    shiftT(109);                    // 'default'
18362
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18363
 
    shiftT(220);                    // 'return'
18364
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18365
 
    try_Statement();
18366
 
  }
18367
 
 
18368
 
  function parse_SwitchCaseStatement()
18369
 
  {
18370
 
    eventHandler.startNonterminal("SwitchCaseStatement", e0);
18371
 
    for (;;)
18372
 
    {
18373
 
      shift(88);                    // 'case'
18374
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18375
 
      whitespace();
18376
 
      parse_SwitchCaseOperand();
18377
 
      if (l1 != 88)                 // 'case'
18378
 
      {
18379
 
        break;
18380
 
      }
18381
 
    }
18382
 
    shift(220);                     // 'return'
18383
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18384
 
    whitespace();
18385
 
    parse_Statement();
18386
 
    eventHandler.endNonterminal("SwitchCaseStatement", e0);
18387
 
  }
18388
 
 
18389
 
  function try_SwitchCaseStatement()
18390
 
  {
18391
 
    for (;;)
18392
 
    {
18393
 
      shiftT(88);                   // 'case'
18394
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18395
 
      try_SwitchCaseOperand();
18396
 
      if (l1 != 88)                 // 'case'
18397
 
      {
18398
 
        break;
18399
 
      }
18400
 
    }
18401
 
    shiftT(220);                    // 'return'
18402
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18403
 
    try_Statement();
18404
 
  }
18405
 
 
18406
 
  function parse_TryCatchStatement()
18407
 
  {
18408
 
    eventHandler.startNonterminal("TryCatchStatement", e0);
18409
 
    shift(250);                     // 'try'
18410
 
    lookahead1W(87);                // S^WS | '(:' | '{'
18411
 
    whitespace();
18412
 
    parse_BlockStatement();
18413
 
    for (;;)
18414
 
    {
18415
 
      lookahead1W(36);              // S^WS | '(:' | 'catch'
18416
 
      shift(91);                    // 'catch'
18417
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18418
 
      whitespace();
18419
 
      parse_CatchErrorList();
18420
 
      whitespace();
18421
 
      parse_BlockStatement();
18422
 
      lookahead1W(274);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18423
 
      switch (l1)
18424
 
      {
18425
 
      case 91:                      // 'catch'
18426
 
        lookahead2W(276);           // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
18427
 
        break;
18428
 
      default:
18429
 
        lk = l1;
18430
 
      }
18431
 
      if (lk == 38491               // 'catch' 'and'
18432
 
       || lk == 45659               // 'catch' 'cast'
18433
 
       || lk == 46171               // 'catch' 'castable'
18434
 
       || lk == 60507               // 'catch' 'div'
18435
 
       || lk == 65627               // 'catch' 'eq'
18436
 
       || lk == 67163               // 'catch' 'except'
18437
 
       || lk == 74843               // 'catch' 'ge'
18438
 
       || lk == 76891               // 'catch' 'gt'
18439
 
       || lk == 77403               // 'catch' 'idiv'
18440
 
       || lk == 82011               // 'catch' 'instance'
18441
 
       || lk == 83035               // 'catch' 'intersect'
18442
 
       || lk == 84059               // 'catch' 'is'
18443
 
       || lk == 88155               // 'catch' 'le'
18444
 
       || lk == 91227               // 'catch' 'lt'
18445
 
       || lk == 92251               // 'catch' 'mod'
18446
 
       || lk == 95323               // 'catch' 'ne'
18447
 
       || lk == 102491              // 'catch' 'or'
18448
 
       || lk == 127067              // 'catch' 'to'
18449
 
       || lk == 127579              // 'catch' 'treat'
18450
 
       || lk == 130139)             // 'catch' 'union'
18451
 
      {
18452
 
        lk = memoized(8, e0);
18453
 
        if (lk == 0)
18454
 
        {
18455
 
          var b0A = b0; var e0A = e0; var l1A = l1;
18456
 
          var b1A = b1; var e1A = e1; var l2A = l2;
18457
 
          var b2A = b2; var e2A = e2;
18458
 
          try
18459
 
          {
18460
 
            lookahead1W(36);        // S^WS | '(:' | 'catch'
18461
 
            shiftT(91);             // 'catch'
18462
 
            lookahead1W(255);       // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18463
 
            try_CatchErrorList();
18464
 
            try_BlockStatement();
18465
 
            lk = -1;
18466
 
          }
18467
 
          catch (p1A)
18468
 
          {
18469
 
            lk = -2;
18470
 
          }
18471
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18472
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18473
 
          b2 = b2A; e2 = e2A; end = e2A; }}
18474
 
          memoize(8, e0, lk);
18475
 
        }
18476
 
      }
18477
 
      if (lk != -1
18478
 
       && lk != 2651                // 'catch' Wildcard
18479
 
       && lk != 3163                // 'catch' EQName^Token
18480
 
       && lk != 35931               // 'catch' 'after'
18481
 
       && lk != 36955               // 'catch' 'allowing'
18482
 
       && lk != 37467               // 'catch' 'ancestor'
18483
 
       && lk != 37979               // 'catch' 'ancestor-or-self'
18484
 
       && lk != 40027               // 'catch' 'array'
18485
 
       && lk != 40539               // 'catch' 'as'
18486
 
       && lk != 41051               // 'catch' 'ascending'
18487
 
       && lk != 41563               // 'catch' 'at'
18488
 
       && lk != 42075               // 'catch' 'attribute'
18489
 
       && lk != 42587               // 'catch' 'base-uri'
18490
 
       && lk != 43099               // 'catch' 'before'
18491
 
       && lk != 43611               // 'catch' 'boundary-space'
18492
 
       && lk != 44123               // 'catch' 'break'
18493
 
       && lk != 45147               // 'catch' 'case'
18494
 
       && lk != 46683               // 'catch' 'catch'
18495
 
       && lk != 47707               // 'catch' 'child'
18496
 
       && lk != 48219               // 'catch' 'collation'
18497
 
       && lk != 49243               // 'catch' 'comment'
18498
 
       && lk != 49755               // 'catch' 'constraint'
18499
 
       && lk != 50267               // 'catch' 'construction'
18500
 
       && lk != 51803               // 'catch' 'context'
18501
 
       && lk != 52315               // 'catch' 'continue'
18502
 
       && lk != 52827               // 'catch' 'copy'
18503
 
       && lk != 53339               // 'catch' 'copy-namespaces'
18504
 
       && lk != 53851               // 'catch' 'count'
18505
 
       && lk != 54363               // 'catch' 'decimal-format'
18506
 
       && lk != 55387               // 'catch' 'declare'
18507
 
       && lk != 55899               // 'catch' 'default'
18508
 
       && lk != 56411               // 'catch' 'delete'
18509
 
       && lk != 56923               // 'catch' 'descendant'
18510
 
       && lk != 57435               // 'catch' 'descendant-or-self'
18511
 
       && lk != 57947               // 'catch' 'descending'
18512
 
       && lk != 61019               // 'catch' 'document'
18513
 
       && lk != 61531               // 'catch' 'document-node'
18514
 
       && lk != 62043               // 'catch' 'element'
18515
 
       && lk != 62555               // 'catch' 'else'
18516
 
       && lk != 63067               // 'catch' 'empty'
18517
 
       && lk != 63579               // 'catch' 'empty-sequence'
18518
 
       && lk != 64091               // 'catch' 'encoding'
18519
 
       && lk != 64603               // 'catch' 'end'
18520
 
       && lk != 66139               // 'catch' 'every'
18521
 
       && lk != 67675               // 'catch' 'exit'
18522
 
       && lk != 68187               // 'catch' 'external'
18523
 
       && lk != 68699               // 'catch' 'first'
18524
 
       && lk != 69211               // 'catch' 'following'
18525
 
       && lk != 69723               // 'catch' 'following-sibling'
18526
 
       && lk != 70235               // 'catch' 'for'
18527
 
       && lk != 72283               // 'catch' 'ft-option'
18528
 
       && lk != 74331               // 'catch' 'function'
18529
 
       && lk != 75867               // 'catch' 'group'
18530
 
       && lk != 77915               // 'catch' 'if'
18531
 
       && lk != 78427               // 'catch' 'import'
18532
 
       && lk != 78939               // 'catch' 'in'
18533
 
       && lk != 79451               // 'catch' 'index'
18534
 
       && lk != 81499               // 'catch' 'insert'
18535
 
       && lk != 82523               // 'catch' 'integrity'
18536
 
       && lk != 83547               // 'catch' 'into'
18537
 
       && lk != 84571               // 'catch' 'item'
18538
 
       && lk != 85595               // 'catch' 'json-item'
18539
 
       && lk != 87131               // 'catch' 'last'
18540
 
       && lk != 87643               // 'catch' 'lax'
18541
 
       && lk != 89179               // 'catch' 'let'
18542
 
       && lk != 90203               // 'catch' 'loop'
18543
 
       && lk != 92763               // 'catch' 'modify'
18544
 
       && lk != 93275               // 'catch' 'module'
18545
 
       && lk != 94299               // 'catch' 'namespace'
18546
 
       && lk != 94811               // 'catch' 'namespace-node'
18547
 
       && lk != 97883               // 'catch' 'node'
18548
 
       && lk != 98395               // 'catch' 'nodes'
18549
 
       && lk != 99419               // 'catch' 'object'
18550
 
       && lk != 101467              // 'catch' 'only'
18551
 
       && lk != 101979              // 'catch' 'option'
18552
 
       && lk != 103003              // 'catch' 'order'
18553
 
       && lk != 103515              // 'catch' 'ordered'
18554
 
       && lk != 104027              // 'catch' 'ordering'
18555
 
       && lk != 105563              // 'catch' 'parent'
18556
 
       && lk != 108635              // 'catch' 'preceding'
18557
 
       && lk != 109147              // 'catch' 'preceding-sibling'
18558
 
       && lk != 110683              // 'catch' 'processing-instruction'
18559
 
       && lk != 111707              // 'catch' 'rename'
18560
 
       && lk != 112219              // 'catch' 'replace'
18561
 
       && lk != 112731              // 'catch' 'return'
18562
 
       && lk != 113243              // 'catch' 'returning'
18563
 
       && lk != 113755              // 'catch' 'revalidation'
18564
 
       && lk != 114779              // 'catch' 'satisfies'
18565
 
       && lk != 115291              // 'catch' 'schema'
18566
 
       && lk != 115803              // 'catch' 'schema-attribute'
18567
 
       && lk != 116315              // 'catch' 'schema-element'
18568
 
       && lk != 116827              // 'catch' 'score'
18569
 
       && lk != 117339              // 'catch' 'self'
18570
 
       && lk != 119899              // 'catch' 'sliding'
18571
 
       && lk != 120411              // 'catch' 'some'
18572
 
       && lk != 120923              // 'catch' 'stable'
18573
 
       && lk != 121435              // 'catch' 'start'
18574
 
       && lk != 122971              // 'catch' 'strict'
18575
 
       && lk != 124507              // 'catch' 'switch'
18576
 
       && lk != 125019              // 'catch' 'text'
18577
 
       && lk != 128091              // 'catch' 'try'
18578
 
       && lk != 128603              // 'catch' 'tumbling'
18579
 
       && lk != 129115              // 'catch' 'type'
18580
 
       && lk != 129627              // 'catch' 'typeswitch'
18581
 
       && lk != 131163              // 'catch' 'unordered'
18582
 
       && lk != 131675              // 'catch' 'updating'
18583
 
       && lk != 133211              // 'catch' 'validate'
18584
 
       && lk != 133723              // 'catch' 'value'
18585
 
       && lk != 134235              // 'catch' 'variable'
18586
 
       && lk != 134747              // 'catch' 'version'
18587
 
       && lk != 136283              // 'catch' 'where'
18588
 
       && lk != 136795              // 'catch' 'while'
18589
 
       && lk != 138331              // 'catch' 'with'
18590
 
       && lk != 140379)             // 'catch' 'xquery'
18591
 
      {
18592
 
        break;
18593
 
      }
18594
 
    }
18595
 
    eventHandler.endNonterminal("TryCatchStatement", e0);
18596
 
  }
18597
 
 
18598
 
  function try_TryCatchStatement()
18599
 
  {
18600
 
    shiftT(250);                    // 'try'
18601
 
    lookahead1W(87);                // S^WS | '(:' | '{'
18602
 
    try_BlockStatement();
18603
 
    lookahead1W(36);                // S^WS | '(:' | 'catch'
18604
 
    shiftT(91);                     // 'catch'
18605
 
    lookahead1W(255);               // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18606
 
    try_CatchErrorList();
18607
 
    try_BlockStatement();
18608
 
    for (;;)
18609
 
    {
18610
 
      lookahead1W(274);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18611
 
      switch (l1)
18612
 
      {
18613
 
      case 91:                      // 'catch'
18614
 
        lookahead2W(276);           // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
18615
 
        break;
18616
 
      default:
18617
 
        lk = l1;
18618
 
      }
18619
 
      if (lk == 38491               // 'catch' 'and'
18620
 
       || lk == 45659               // 'catch' 'cast'
18621
 
       || lk == 46171               // 'catch' 'castable'
18622
 
       || lk == 60507               // 'catch' 'div'
18623
 
       || lk == 65627               // 'catch' 'eq'
18624
 
       || lk == 67163               // 'catch' 'except'
18625
 
       || lk == 74843               // 'catch' 'ge'
18626
 
       || lk == 76891               // 'catch' 'gt'
18627
 
       || lk == 77403               // 'catch' 'idiv'
18628
 
       || lk == 82011               // 'catch' 'instance'
18629
 
       || lk == 83035               // 'catch' 'intersect'
18630
 
       || lk == 84059               // 'catch' 'is'
18631
 
       || lk == 88155               // 'catch' 'le'
18632
 
       || lk == 91227               // 'catch' 'lt'
18633
 
       || lk == 92251               // 'catch' 'mod'
18634
 
       || lk == 95323               // 'catch' 'ne'
18635
 
       || lk == 102491              // 'catch' 'or'
18636
 
       || lk == 127067              // 'catch' 'to'
18637
 
       || lk == 127579              // 'catch' 'treat'
18638
 
       || lk == 130139)             // 'catch' 'union'
18639
 
      {
18640
 
        lk = memoized(8, e0);
18641
 
        if (lk == 0)
18642
 
        {
18643
 
          var b0A = b0; var e0A = e0; var l1A = l1;
18644
 
          var b1A = b1; var e1A = e1; var l2A = l2;
18645
 
          var b2A = b2; var e2A = e2;
18646
 
          try
18647
 
          {
18648
 
            lookahead1W(36);        // S^WS | '(:' | 'catch'
18649
 
            shiftT(91);             // 'catch'
18650
 
            lookahead1W(255);       // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18651
 
            try_CatchErrorList();
18652
 
            try_BlockStatement();
18653
 
            memoize(8, e0A, -1);
18654
 
            continue;
18655
 
          }
18656
 
          catch (p1A)
18657
 
          {
18658
 
            b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
18659
 
            b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
18660
 
            b2 = b2A; e2 = e2A; end = e2A; }}
18661
 
            memoize(8, e0A, -2);
18662
 
            break;
18663
 
          }
18664
 
        }
18665
 
      }
18666
 
      if (lk != -1
18667
 
       && lk != 2651                // 'catch' Wildcard
18668
 
       && lk != 3163                // 'catch' EQName^Token
18669
 
       && lk != 35931               // 'catch' 'after'
18670
 
       && lk != 36955               // 'catch' 'allowing'
18671
 
       && lk != 37467               // 'catch' 'ancestor'
18672
 
       && lk != 37979               // 'catch' 'ancestor-or-self'
18673
 
       && lk != 40027               // 'catch' 'array'
18674
 
       && lk != 40539               // 'catch' 'as'
18675
 
       && lk != 41051               // 'catch' 'ascending'
18676
 
       && lk != 41563               // 'catch' 'at'
18677
 
       && lk != 42075               // 'catch' 'attribute'
18678
 
       && lk != 42587               // 'catch' 'base-uri'
18679
 
       && lk != 43099               // 'catch' 'before'
18680
 
       && lk != 43611               // 'catch' 'boundary-space'
18681
 
       && lk != 44123               // 'catch' 'break'
18682
 
       && lk != 45147               // 'catch' 'case'
18683
 
       && lk != 46683               // 'catch' 'catch'
18684
 
       && lk != 47707               // 'catch' 'child'
18685
 
       && lk != 48219               // 'catch' 'collation'
18686
 
       && lk != 49243               // 'catch' 'comment'
18687
 
       && lk != 49755               // 'catch' 'constraint'
18688
 
       && lk != 50267               // 'catch' 'construction'
18689
 
       && lk != 51803               // 'catch' 'context'
18690
 
       && lk != 52315               // 'catch' 'continue'
18691
 
       && lk != 52827               // 'catch' 'copy'
18692
 
       && lk != 53339               // 'catch' 'copy-namespaces'
18693
 
       && lk != 53851               // 'catch' 'count'
18694
 
       && lk != 54363               // 'catch' 'decimal-format'
18695
 
       && lk != 55387               // 'catch' 'declare'
18696
 
       && lk != 55899               // 'catch' 'default'
18697
 
       && lk != 56411               // 'catch' 'delete'
18698
 
       && lk != 56923               // 'catch' 'descendant'
18699
 
       && lk != 57435               // 'catch' 'descendant-or-self'
18700
 
       && lk != 57947               // 'catch' 'descending'
18701
 
       && lk != 61019               // 'catch' 'document'
18702
 
       && lk != 61531               // 'catch' 'document-node'
18703
 
       && lk != 62043               // 'catch' 'element'
18704
 
       && lk != 62555               // 'catch' 'else'
18705
 
       && lk != 63067               // 'catch' 'empty'
18706
 
       && lk != 63579               // 'catch' 'empty-sequence'
18707
 
       && lk != 64091               // 'catch' 'encoding'
18708
 
       && lk != 64603               // 'catch' 'end'
18709
 
       && lk != 66139               // 'catch' 'every'
18710
 
       && lk != 67675               // 'catch' 'exit'
18711
 
       && lk != 68187               // 'catch' 'external'
18712
 
       && lk != 68699               // 'catch' 'first'
18713
 
       && lk != 69211               // 'catch' 'following'
18714
 
       && lk != 69723               // 'catch' 'following-sibling'
18715
 
       && lk != 70235               // 'catch' 'for'
18716
 
       && lk != 72283               // 'catch' 'ft-option'
18717
 
       && lk != 74331               // 'catch' 'function'
18718
 
       && lk != 75867               // 'catch' 'group'
18719
 
       && lk != 77915               // 'catch' 'if'
18720
 
       && lk != 78427               // 'catch' 'import'
18721
 
       && lk != 78939               // 'catch' 'in'
18722
 
       && lk != 79451               // 'catch' 'index'
18723
 
       && lk != 81499               // 'catch' 'insert'
18724
 
       && lk != 82523               // 'catch' 'integrity'
18725
 
       && lk != 83547               // 'catch' 'into'
18726
 
       && lk != 84571               // 'catch' 'item'
18727
 
       && lk != 85595               // 'catch' 'json-item'
18728
 
       && lk != 87131               // 'catch' 'last'
18729
 
       && lk != 87643               // 'catch' 'lax'
18730
 
       && lk != 89179               // 'catch' 'let'
18731
 
       && lk != 90203               // 'catch' 'loop'
18732
 
       && lk != 92763               // 'catch' 'modify'
18733
 
       && lk != 93275               // 'catch' 'module'
18734
 
       && lk != 94299               // 'catch' 'namespace'
18735
 
       && lk != 94811               // 'catch' 'namespace-node'
18736
 
       && lk != 97883               // 'catch' 'node'
18737
 
       && lk != 98395               // 'catch' 'nodes'
18738
 
       && lk != 99419               // 'catch' 'object'
18739
 
       && lk != 101467              // 'catch' 'only'
18740
 
       && lk != 101979              // 'catch' 'option'
18741
 
       && lk != 103003              // 'catch' 'order'
18742
 
       && lk != 103515              // 'catch' 'ordered'
18743
 
       && lk != 104027              // 'catch' 'ordering'
18744
 
       && lk != 105563              // 'catch' 'parent'
18745
 
       && lk != 108635              // 'catch' 'preceding'
18746
 
       && lk != 109147              // 'catch' 'preceding-sibling'
18747
 
       && lk != 110683              // 'catch' 'processing-instruction'
18748
 
       && lk != 111707              // 'catch' 'rename'
18749
 
       && lk != 112219              // 'catch' 'replace'
18750
 
       && lk != 112731              // 'catch' 'return'
18751
 
       && lk != 113243              // 'catch' 'returning'
18752
 
       && lk != 113755              // 'catch' 'revalidation'
18753
 
       && lk != 114779              // 'catch' 'satisfies'
18754
 
       && lk != 115291              // 'catch' 'schema'
18755
 
       && lk != 115803              // 'catch' 'schema-attribute'
18756
 
       && lk != 116315              // 'catch' 'schema-element'
18757
 
       && lk != 116827              // 'catch' 'score'
18758
 
       && lk != 117339              // 'catch' 'self'
18759
 
       && lk != 119899              // 'catch' 'sliding'
18760
 
       && lk != 120411              // 'catch' 'some'
18761
 
       && lk != 120923              // 'catch' 'stable'
18762
 
       && lk != 121435              // 'catch' 'start'
18763
 
       && lk != 122971              // 'catch' 'strict'
18764
 
       && lk != 124507              // 'catch' 'switch'
18765
 
       && lk != 125019              // 'catch' 'text'
18766
 
       && lk != 128091              // 'catch' 'try'
18767
 
       && lk != 128603              // 'catch' 'tumbling'
18768
 
       && lk != 129115              // 'catch' 'type'
18769
 
       && lk != 129627              // 'catch' 'typeswitch'
18770
 
       && lk != 131163              // 'catch' 'unordered'
18771
 
       && lk != 131675              // 'catch' 'updating'
18772
 
       && lk != 133211              // 'catch' 'validate'
18773
 
       && lk != 133723              // 'catch' 'value'
18774
 
       && lk != 134235              // 'catch' 'variable'
18775
 
       && lk != 134747              // 'catch' 'version'
18776
 
       && lk != 136283              // 'catch' 'where'
18777
 
       && lk != 136795              // 'catch' 'while'
18778
 
       && lk != 138331              // 'catch' 'with'
18779
 
       && lk != 140379)             // 'catch' 'xquery'
18780
 
      {
18781
 
        break;
18782
 
      }
18783
 
      lookahead1W(36);              // S^WS | '(:' | 'catch'
18784
 
      shiftT(91);                   // 'catch'
18785
 
      lookahead1W(255);             // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18786
 
      try_CatchErrorList();
18787
 
      try_BlockStatement();
18788
 
    }
18789
 
  }
18790
 
 
18791
 
  function parse_TypeswitchStatement()
18792
 
  {
18793
 
    eventHandler.startNonterminal("TypeswitchStatement", e0);
18794
 
    shift(253);                     // 'typeswitch'
18795
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18796
 
    shift(34);                      // '('
18797
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18798
 
    whitespace();
18799
 
    parse_Expr();
18800
 
    shift(37);                      // ')'
18801
 
    for (;;)
18802
 
    {
18803
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
18804
 
      whitespace();
18805
 
      parse_CaseStatement();
18806
 
      lookahead1W(113);             // S^WS | '(:' | 'case' | 'default'
18807
 
      if (l1 != 88)                 // 'case'
18808
 
      {
18809
 
        break;
18810
 
      }
18811
 
    }
18812
 
    shift(109);                     // 'default'
18813
 
    lookahead1W(95);                // S^WS | '$' | '(:' | 'return'
18814
 
    if (l1 == 31)                   // '$'
18815
 
    {
18816
 
      shift(31);                    // '$'
18817
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18818
 
      whitespace();
18819
 
      parse_VarName();
18820
 
    }
18821
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18822
 
    shift(220);                     // 'return'
18823
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18824
 
    whitespace();
18825
 
    parse_Statement();
18826
 
    eventHandler.endNonterminal("TypeswitchStatement", e0);
18827
 
  }
18828
 
 
18829
 
  function try_TypeswitchStatement()
18830
 
  {
18831
 
    shiftT(253);                    // 'typeswitch'
18832
 
    lookahead1W(22);                // S^WS | '(' | '(:'
18833
 
    shiftT(34);                     // '('
18834
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18835
 
    try_Expr();
18836
 
    shiftT(37);                     // ')'
18837
 
    for (;;)
18838
 
    {
18839
 
      lookahead1W(35);              // S^WS | '(:' | 'case'
18840
 
      try_CaseStatement();
18841
 
      lookahead1W(113);             // S^WS | '(:' | 'case' | 'default'
18842
 
      if (l1 != 88)                 // 'case'
18843
 
      {
18844
 
        break;
18845
 
      }
18846
 
    }
18847
 
    shiftT(109);                    // 'default'
18848
 
    lookahead1W(95);                // S^WS | '$' | '(:' | 'return'
18849
 
    if (l1 == 31)                   // '$'
18850
 
    {
18851
 
      shiftT(31);                   // '$'
18852
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18853
 
      try_VarName();
18854
 
    }
18855
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18856
 
    shiftT(220);                    // 'return'
18857
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18858
 
    try_Statement();
18859
 
  }
18860
 
 
18861
 
  function parse_CaseStatement()
18862
 
  {
18863
 
    eventHandler.startNonterminal("CaseStatement", e0);
18864
 
    shift(88);                      // 'case'
18865
 
    lookahead1W(260);               // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
18866
 
    if (l1 == 31)                   // '$'
18867
 
    {
18868
 
      shift(31);                    // '$'
18869
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18870
 
      whitespace();
18871
 
      parse_VarName();
18872
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
18873
 
      shift(79);                    // 'as'
18874
 
    }
18875
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
18876
 
    whitespace();
18877
 
    parse_SequenceType();
18878
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18879
 
    shift(220);                     // 'return'
18880
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18881
 
    whitespace();
18882
 
    parse_Statement();
18883
 
    eventHandler.endNonterminal("CaseStatement", e0);
18884
 
  }
18885
 
 
18886
 
  function try_CaseStatement()
18887
 
  {
18888
 
    shiftT(88);                     // 'case'
18889
 
    lookahead1W(260);               // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
18890
 
    if (l1 == 31)                   // '$'
18891
 
    {
18892
 
      shiftT(31);                   // '$'
18893
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18894
 
      try_VarName();
18895
 
      lookahead1W(30);              // S^WS | '(:' | 'as'
18896
 
      shiftT(79);                   // 'as'
18897
 
    }
18898
 
    lookahead1W(259);               // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
18899
 
    try_SequenceType();
18900
 
    lookahead1W(70);                // S^WS | '(:' | 'return'
18901
 
    shiftT(220);                    // 'return'
18902
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18903
 
    try_Statement();
18904
 
  }
18905
 
 
18906
 
  function parse_VarDeclStatement()
18907
 
  {
18908
 
    eventHandler.startNonterminal("VarDeclStatement", e0);
18909
 
    for (;;)
18910
 
    {
18911
 
      lookahead1W(98);              // S^WS | '%' | '(:' | 'variable'
18912
 
      if (l1 != 32)                 // '%'
18913
 
      {
18914
 
        break;
18915
 
      }
18916
 
      whitespace();
18917
 
      parse_Annotation();
18918
 
    }
18919
 
    shift(262);                     // 'variable'
18920
 
    lookahead1W(21);                // S^WS | '$' | '(:'
18921
 
    shift(31);                      // '$'
18922
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18923
 
    whitespace();
18924
 
    parse_VarName();
18925
 
    lookahead1W(157);               // S^WS | '(:' | ',' | ':=' | ';' | 'as'
18926
 
    if (l1 == 79)                   // 'as'
18927
 
    {
18928
 
      whitespace();
18929
 
      parse_TypeDeclaration();
18930
 
    }
18931
 
    lookahead1W(145);               // S^WS | '(:' | ',' | ':=' | ';'
18932
 
    if (l1 == 52)                   // ':='
18933
 
    {
18934
 
      shift(52);                    // ':='
18935
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18936
 
      whitespace();
18937
 
      parse_ExprSingle();
18938
 
    }
18939
 
    for (;;)
18940
 
    {
18941
 
      if (l1 != 41)                 // ','
18942
 
      {
18943
 
        break;
18944
 
      }
18945
 
      shift(41);                    // ','
18946
 
      lookahead1W(21);              // S^WS | '$' | '(:'
18947
 
      shift(31);                    // '$'
18948
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18949
 
      whitespace();
18950
 
      parse_VarName();
18951
 
      lookahead1W(157);             // S^WS | '(:' | ',' | ':=' | ';' | 'as'
18952
 
      if (l1 == 79)                 // 'as'
18953
 
      {
18954
 
        whitespace();
18955
 
        parse_TypeDeclaration();
18956
 
      }
18957
 
      lookahead1W(145);             // S^WS | '(:' | ',' | ':=' | ';'
18958
 
      if (l1 == 52)                 // ':='
18959
 
      {
18960
 
        shift(52);                  // ':='
18961
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18962
 
        whitespace();
18963
 
        parse_ExprSingle();
18964
 
      }
18965
 
    }
18966
 
    shift(53);                      // ';'
18967
 
    eventHandler.endNonterminal("VarDeclStatement", e0);
18968
 
  }
18969
 
 
18970
 
  function try_VarDeclStatement()
18971
 
  {
18972
 
    for (;;)
18973
 
    {
18974
 
      lookahead1W(98);              // S^WS | '%' | '(:' | 'variable'
18975
 
      if (l1 != 32)                 // '%'
18976
 
      {
18977
 
        break;
18978
 
      }
18979
 
      try_Annotation();
18980
 
    }
18981
 
    shiftT(262);                    // 'variable'
18982
 
    lookahead1W(21);                // S^WS | '$' | '(:'
18983
 
    shiftT(31);                     // '$'
18984
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
18985
 
    try_VarName();
18986
 
    lookahead1W(157);               // S^WS | '(:' | ',' | ':=' | ';' | 'as'
18987
 
    if (l1 == 79)                   // 'as'
18988
 
    {
18989
 
      try_TypeDeclaration();
18990
 
    }
18991
 
    lookahead1W(145);               // S^WS | '(:' | ',' | ':=' | ';'
18992
 
    if (l1 == 52)                   // ':='
18993
 
    {
18994
 
      shiftT(52);                   // ':='
18995
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
18996
 
      try_ExprSingle();
18997
 
    }
18998
 
    for (;;)
18999
 
    {
19000
 
      if (l1 != 41)                 // ','
19001
 
      {
19002
 
        break;
19003
 
      }
19004
 
      shiftT(41);                   // ','
19005
 
      lookahead1W(21);              // S^WS | '$' | '(:'
19006
 
      shiftT(31);                   // '$'
19007
 
      lookahead1W(253);             // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
19008
 
      try_VarName();
19009
 
      lookahead1W(157);             // S^WS | '(:' | ',' | ':=' | ';' | 'as'
19010
 
      if (l1 == 79)                 // 'as'
19011
 
      {
19012
 
        try_TypeDeclaration();
19013
 
      }
19014
 
      lookahead1W(145);             // S^WS | '(:' | ',' | ':=' | ';'
19015
 
      if (l1 == 52)                 // ':='
19016
 
      {
19017
 
        shiftT(52);                 // ':='
19018
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19019
 
        try_ExprSingle();
19020
 
      }
19021
 
    }
19022
 
    shiftT(53);                     // ';'
19023
 
  }
19024
 
 
19025
 
  function parse_WhileStatement()
19026
 
  {
19027
 
    eventHandler.startNonterminal("WhileStatement", e0);
19028
 
    shift(267);                     // 'while'
19029
 
    lookahead1W(22);                // S^WS | '(' | '(:'
19030
 
    shift(34);                      // '('
19031
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19032
 
    whitespace();
19033
 
    parse_Expr();
19034
 
    shift(37);                      // ')'
19035
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19036
 
    whitespace();
19037
 
    parse_Statement();
19038
 
    eventHandler.endNonterminal("WhileStatement", e0);
19039
 
  }
19040
 
 
19041
 
  function try_WhileStatement()
19042
 
  {
19043
 
    shiftT(267);                    // 'while'
19044
 
    lookahead1W(22);                // S^WS | '(' | '(:'
19045
 
    shiftT(34);                     // '('
19046
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19047
 
    try_Expr();
19048
 
    shiftT(37);                     // ')'
19049
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19050
 
    try_Statement();
19051
 
  }
19052
 
 
19053
 
  function parse_ExprSingle()
19054
 
  {
19055
 
    eventHandler.startNonterminal("ExprSingle", e0);
19056
 
    switch (l1)
19057
 
    {
19058
 
    case 137:                       // 'for'
19059
 
      lookahead2W(233);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19060
 
      break;
19061
 
    case 174:                       // 'let'
19062
 
      lookahead2W(231);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19063
 
      break;
19064
 
    case 250:                       // 'try'
19065
 
      lookahead2W(230);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19066
 
      break;
19067
 
    case 152:                       // 'if'
19068
 
    case 243:                       // 'switch'
19069
 
    case 253:                       // 'typeswitch'
19070
 
      lookahead2W(228);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19071
 
      break;
19072
 
    default:
19073
 
      lk = l1;
19074
 
    }
19075
 
    switch (lk)
19076
 
    {
19077
 
    case 16009:                     // 'for' '$'
19078
 
    case 16046:                     // 'let' '$'
19079
 
    case 116910:                    // 'let' 'score'
19080
 
    case 119945:                    // 'for' 'sliding'
19081
 
    case 128649:                    // 'for' 'tumbling'
19082
 
      parse_FLWORExpr();
19083
 
      break;
19084
 
    case 17560:                     // 'if' '('
19085
 
      parse_IfExpr();
19086
 
      break;
19087
 
    case 17651:                     // 'switch' '('
19088
 
      parse_SwitchExpr();
19089
 
      break;
19090
 
    case 141562:                    // 'try' '{'
19091
 
      parse_TryCatchExpr();
19092
 
      break;
19093
 
    case 17661:                     // 'typeswitch' '('
19094
 
      parse_TypeswitchExpr();
19095
 
      break;
19096
 
    default:
19097
 
      parse_ExprSimple();
19098
 
    }
19099
 
    eventHandler.endNonterminal("ExprSingle", e0);
19100
 
  }
19101
 
 
19102
 
  function try_ExprSingle()
19103
 
  {
19104
 
    switch (l1)
19105
 
    {
19106
 
    case 137:                       // 'for'
19107
 
      lookahead2W(233);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19108
 
      break;
19109
 
    case 174:                       // 'let'
19110
 
      lookahead2W(231);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19111
 
      break;
19112
 
    case 250:                       // 'try'
19113
 
      lookahead2W(230);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19114
 
      break;
19115
 
    case 152:                       // 'if'
19116
 
    case 243:                       // 'switch'
19117
 
    case 253:                       // 'typeswitch'
19118
 
      lookahead2W(228);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19119
 
      break;
19120
 
    default:
19121
 
      lk = l1;
19122
 
    }
19123
 
    switch (lk)
19124
 
    {
19125
 
    case 16009:                     // 'for' '$'
19126
 
    case 16046:                     // 'let' '$'
19127
 
    case 116910:                    // 'let' 'score'
19128
 
    case 119945:                    // 'for' 'sliding'
19129
 
    case 128649:                    // 'for' 'tumbling'
19130
 
      try_FLWORExpr();
19131
 
      break;
19132
 
    case 17560:                     // 'if' '('
19133
 
      try_IfExpr();
19134
 
      break;
19135
 
    case 17651:                     // 'switch' '('
19136
 
      try_SwitchExpr();
19137
 
      break;
19138
 
    case 141562:                    // 'try' '{'
19139
 
      try_TryCatchExpr();
19140
 
      break;
19141
 
    case 17661:                     // 'typeswitch' '('
19142
 
      try_TypeswitchExpr();
19143
 
      break;
19144
 
    default:
19145
 
      try_ExprSimple();
19146
 
    }
19147
 
  }
19148
 
 
19149
 
  function parse_ExprSimple()
19150
 
  {
19151
 
    eventHandler.startNonterminal("ExprSimple", e0);
19152
 
    switch (l1)
19153
 
    {
19154
 
    case 218:                       // 'rename'
19155
 
      lookahead2W(232);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19156
 
      break;
19157
 
    case 219:                       // 'replace'
19158
 
      lookahead2W(235);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19159
 
      break;
19160
 
    case 110:                       // 'delete'
19161
 
    case 159:                       // 'insert'
19162
 
      lookahead2W(234);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19163
 
      break;
19164
 
    case 103:                       // 'copy'
19165
 
    case 129:                       // 'every'
19166
 
    case 235:                       // 'some'
19167
 
      lookahead2W(229);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19168
 
      break;
19169
 
    default:
19170
 
      lk = l1;
19171
 
    }
19172
 
    switch (lk)
19173
 
    {
19174
 
    case 16001:                     // 'every' '$'
19175
 
    case 16107:                     // 'some' '$'
19176
 
      parse_QuantifiedExpr();
19177
 
      break;
19178
 
    case 97951:                     // 'insert' 'node'
19179
 
    case 98463:                     // 'insert' 'nodes'
19180
 
      parse_InsertExpr();
19181
 
      break;
19182
 
    case 97902:                     // 'delete' 'node'
19183
 
    case 98414:                     // 'delete' 'nodes'
19184
 
      parse_DeleteExpr();
19185
 
      break;
19186
 
    case 98010:                     // 'rename' 'node'
19187
 
      parse_RenameExpr();
19188
 
      break;
19189
 
    case 98011:                     // 'replace' 'node'
19190
 
    case 133851:                    // 'replace' 'value'
19191
 
      parse_ReplaceExpr();
19192
 
      break;
19193
 
    case 15975:                     // 'copy' '$'
19194
 
      parse_TransformExpr();
19195
 
      break;
19196
 
    case 85102:                     // 'delete' 'json'
19197
 
      parse_JSONDeleteExpr();
19198
 
      break;
19199
 
    case 85151:                     // 'insert' 'json'
19200
 
      parse_JSONInsertExpr();
19201
 
      break;
19202
 
    case 85210:                     // 'rename' 'json'
19203
 
      parse_JSONRenameExpr();
19204
 
      break;
19205
 
    case 85211:                     // 'replace' 'json'
19206
 
      parse_JSONReplaceExpr();
19207
 
      break;
19208
 
    case 77:                        // 'append'
19209
 
      parse_JSONAppendExpr();
19210
 
      break;
19211
 
    default:
19212
 
      parse_OrExpr();
19213
 
    }
19214
 
    eventHandler.endNonterminal("ExprSimple", e0);
19215
 
  }
19216
 
 
19217
 
  function try_ExprSimple()
19218
 
  {
19219
 
    switch (l1)
19220
 
    {
19221
 
    case 218:                       // 'rename'
19222
 
      lookahead2W(232);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19223
 
      break;
19224
 
    case 219:                       // 'replace'
19225
 
      lookahead2W(235);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19226
 
      break;
19227
 
    case 110:                       // 'delete'
19228
 
    case 159:                       // 'insert'
19229
 
      lookahead2W(234);             // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
19230
 
      break;
19231
 
    case 103:                       // 'copy'
19232
 
    case 129:                       // 'every'
19233
 
    case 235:                       // 'some'
19234
 
      lookahead2W(229);             // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
19235
 
      break;
19236
 
    default:
19237
 
      lk = l1;
19238
 
    }
19239
 
    switch (lk)
19240
 
    {
19241
 
    case 16001:                     // 'every' '$'
19242
 
    case 16107:                     // 'some' '$'
19243
 
      try_QuantifiedExpr();
19244
 
      break;
19245
 
    case 97951:                     // 'insert' 'node'
19246
 
    case 98463:                     // 'insert' 'nodes'
19247
 
      try_InsertExpr();
19248
 
      break;
19249
 
    case 97902:                     // 'delete' 'node'
19250
 
    case 98414:                     // 'delete' 'nodes'
19251
 
      try_DeleteExpr();
19252
 
      break;
19253
 
    case 98010:                     // 'rename' 'node'
19254
 
      try_RenameExpr();
19255
 
      break;
19256
 
    case 98011:                     // 'replace' 'node'
19257
 
    case 133851:                    // 'replace' 'value'
19258
 
      try_ReplaceExpr();
19259
 
      break;
19260
 
    case 15975:                     // 'copy' '$'
19261
 
      try_TransformExpr();
19262
 
      break;
19263
 
    case 85102:                     // 'delete' 'json'
19264
 
      try_JSONDeleteExpr();
19265
 
      break;
19266
 
    case 85151:                     // 'insert' 'json'
19267
 
      try_JSONInsertExpr();
19268
 
      break;
19269
 
    case 85210:                     // 'rename' 'json'
19270
 
      try_JSONRenameExpr();
19271
 
      break;
19272
 
    case 85211:                     // 'replace' 'json'
19273
 
      try_JSONReplaceExpr();
19274
 
      break;
19275
 
    case 77:                        // 'append'
19276
 
      try_JSONAppendExpr();
19277
 
      break;
19278
 
    default:
19279
 
      try_OrExpr();
19280
 
    }
19281
 
  }
19282
 
 
19283
 
  function parse_JSONDeleteExpr()
19284
 
  {
19285
 
    eventHandler.startNonterminal("JSONDeleteExpr", e0);
19286
 
    shift(110);                     // 'delete'
19287
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19288
 
    shift(166);                     // 'json'
19289
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19290
 
    whitespace();
19291
 
    parse_PostfixExpr();
19292
 
    eventHandler.endNonterminal("JSONDeleteExpr", e0);
19293
 
  }
19294
 
 
19295
 
  function try_JSONDeleteExpr()
19296
 
  {
19297
 
    shiftT(110);                    // 'delete'
19298
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19299
 
    shiftT(166);                    // 'json'
19300
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19301
 
    try_PostfixExpr();
19302
 
  }
19303
 
 
19304
 
  function parse_JSONInsertExpr()
19305
 
  {
19306
 
    eventHandler.startNonterminal("JSONInsertExpr", e0);
19307
 
    shift(159);                     // 'insert'
19308
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19309
 
    shift(166);                     // 'json'
19310
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19311
 
    whitespace();
19312
 
    parse_ExprSingle();
19313
 
    shift(163);                     // 'into'
19314
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19315
 
    whitespace();
19316
 
    parse_ExprSingle();
19317
 
    switch (l1)
19318
 
    {
19319
 
    case 81:                        // 'at'
19320
 
      lookahead2W(69);              // S^WS | '(:' | 'position'
19321
 
      break;
19322
 
    default:
19323
 
      lk = l1;
19324
 
    }
19325
 
    if (lk == 108113)               // 'at' 'position'
19326
 
    {
19327
 
      lk = memoized(9, e0);
19328
 
      if (lk == 0)
19329
 
      {
19330
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19331
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19332
 
        var b2A = b2; var e2A = e2;
19333
 
        try
19334
 
        {
19335
 
          shiftT(81);               // 'at'
19336
 
          lookahead1W(69);          // S^WS | '(:' | 'position'
19337
 
          shiftT(211);              // 'position'
19338
 
          lookahead1W(267);         // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19339
 
          try_ExprSingle();
19340
 
          lk = -1;
19341
 
        }
19342
 
        catch (p1A)
19343
 
        {
19344
 
          lk = -2;
19345
 
        }
19346
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19347
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19348
 
        b2 = b2A; e2 = e2A; end = e2A; }}
19349
 
        memoize(9, e0, lk);
19350
 
      }
19351
 
    }
19352
 
    if (lk == -1)
19353
 
    {
19354
 
      shift(81);                    // 'at'
19355
 
      lookahead1W(69);              // S^WS | '(:' | 'position'
19356
 
      shift(211);                   // 'position'
19357
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19358
 
      whitespace();
19359
 
      parse_ExprSingle();
19360
 
    }
19361
 
    eventHandler.endNonterminal("JSONInsertExpr", e0);
19362
 
  }
19363
 
 
19364
 
  function try_JSONInsertExpr()
19365
 
  {
19366
 
    shiftT(159);                    // 'insert'
19367
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19368
 
    shiftT(166);                    // 'json'
19369
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19370
 
    try_ExprSingle();
19371
 
    shiftT(163);                    // 'into'
19372
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19373
 
    try_ExprSingle();
19374
 
    switch (l1)
19375
 
    {
19376
 
    case 81:                        // 'at'
19377
 
      lookahead2W(69);              // S^WS | '(:' | 'position'
19378
 
      break;
19379
 
    default:
19380
 
      lk = l1;
19381
 
    }
19382
 
    if (lk == 108113)               // 'at' 'position'
19383
 
    {
19384
 
      lk = memoized(9, e0);
19385
 
      if (lk == 0)
19386
 
      {
19387
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19388
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19389
 
        var b2A = b2; var e2A = e2;
19390
 
        try
19391
 
        {
19392
 
          shiftT(81);               // 'at'
19393
 
          lookahead1W(69);          // S^WS | '(:' | 'position'
19394
 
          shiftT(211);              // 'position'
19395
 
          lookahead1W(267);         // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19396
 
          try_ExprSingle();
19397
 
          memoize(9, e0A, -1);
19398
 
        }
19399
 
        catch (p1A)
19400
 
        {
19401
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19402
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19403
 
          b2 = b2A; e2 = e2A; end = e2A; }}
19404
 
          memoize(9, e0A, -2);
19405
 
        }
19406
 
        lk = -2;
19407
 
      }
19408
 
    }
19409
 
    if (lk == -1)
19410
 
    {
19411
 
      shiftT(81);                   // 'at'
19412
 
      lookahead1W(69);              // S^WS | '(:' | 'position'
19413
 
      shiftT(211);                  // 'position'
19414
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19415
 
      try_ExprSingle();
19416
 
    }
19417
 
  }
19418
 
 
19419
 
  function parse_JSONRenameExpr()
19420
 
  {
19421
 
    eventHandler.startNonterminal("JSONRenameExpr", e0);
19422
 
    shift(218);                     // 'rename'
19423
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19424
 
    shift(166);                     // 'json'
19425
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19426
 
    whitespace();
19427
 
    parse_PostfixExpr();
19428
 
    shift(79);                      // 'as'
19429
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19430
 
    whitespace();
19431
 
    parse_ExprSingle();
19432
 
    eventHandler.endNonterminal("JSONRenameExpr", e0);
19433
 
  }
19434
 
 
19435
 
  function try_JSONRenameExpr()
19436
 
  {
19437
 
    shiftT(218);                    // 'rename'
19438
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19439
 
    shiftT(166);                    // 'json'
19440
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19441
 
    try_PostfixExpr();
19442
 
    shiftT(79);                     // 'as'
19443
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19444
 
    try_ExprSingle();
19445
 
  }
19446
 
 
19447
 
  function parse_JSONReplaceExpr()
19448
 
  {
19449
 
    eventHandler.startNonterminal("JSONReplaceExpr", e0);
19450
 
    shift(219);                     // 'replace'
19451
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19452
 
    shift(166);                     // 'json'
19453
 
    lookahead1W(82);                // S^WS | '(:' | 'value'
19454
 
    shift(261);                     // 'value'
19455
 
    lookahead1W(64);                // S^WS | '(:' | 'of'
19456
 
    shift(196);                     // 'of'
19457
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19458
 
    whitespace();
19459
 
    parse_PostfixExpr();
19460
 
    shift(270);                     // 'with'
19461
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19462
 
    whitespace();
19463
 
    parse_ExprSingle();
19464
 
    eventHandler.endNonterminal("JSONReplaceExpr", e0);
19465
 
  }
19466
 
 
19467
 
  function try_JSONReplaceExpr()
19468
 
  {
19469
 
    shiftT(219);                    // 'replace'
19470
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19471
 
    shiftT(166);                    // 'json'
19472
 
    lookahead1W(82);                // S^WS | '(:' | 'value'
19473
 
    shiftT(261);                    // 'value'
19474
 
    lookahead1W(64);                // S^WS | '(:' | 'of'
19475
 
    shiftT(196);                    // 'of'
19476
 
    lookahead1W(262);               // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
19477
 
    try_PostfixExpr();
19478
 
    shiftT(270);                    // 'with'
19479
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19480
 
    try_ExprSingle();
19481
 
  }
19482
 
 
19483
 
  function parse_JSONAppendExpr()
19484
 
  {
19485
 
    eventHandler.startNonterminal("JSONAppendExpr", e0);
19486
 
    shift(77);                      // 'append'
19487
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19488
 
    shift(166);                     // 'json'
19489
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19490
 
    whitespace();
19491
 
    parse_ExprSingle();
19492
 
    shift(163);                     // 'into'
19493
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19494
 
    whitespace();
19495
 
    parse_ExprSingle();
19496
 
    eventHandler.endNonterminal("JSONAppendExpr", e0);
19497
 
  }
19498
 
 
19499
 
  function try_JSONAppendExpr()
19500
 
  {
19501
 
    shiftT(77);                     // 'append'
19502
 
    lookahead1W(56);                // S^WS | '(:' | 'json'
19503
 
    shiftT(166);                    // 'json'
19504
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19505
 
    try_ExprSingle();
19506
 
    shiftT(163);                    // 'into'
19507
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19508
 
    try_ExprSingle();
19509
 
  }
19510
 
 
19511
 
  function parse_CommonContent()
19512
 
  {
19513
 
    eventHandler.startNonterminal("CommonContent", e0);
19514
 
    switch (l1)
19515
 
    {
19516
 
    case 12:                        // PredefinedEntityRef
19517
 
      shift(12);                    // PredefinedEntityRef
19518
 
      break;
19519
 
    case 23:                        // CharRef
19520
 
      shift(23);                    // CharRef
19521
 
      break;
19522
 
    case 277:                       // '{{'
19523
 
      shift(277);                   // '{{'
19524
 
      break;
19525
 
    case 283:                       // '}}'
19526
 
      shift(283);                   // '}}'
19527
 
      break;
19528
 
    default:
19529
 
      parse_BlockExpr();
19530
 
    }
19531
 
    eventHandler.endNonterminal("CommonContent", e0);
19532
 
  }
19533
 
 
19534
 
  function try_CommonContent()
19535
 
  {
19536
 
    switch (l1)
19537
 
    {
19538
 
    case 12:                        // PredefinedEntityRef
19539
 
      shiftT(12);                   // PredefinedEntityRef
19540
 
      break;
19541
 
    case 23:                        // CharRef
19542
 
      shiftT(23);                   // CharRef
19543
 
      break;
19544
 
    case 277:                       // '{{'
19545
 
      shiftT(277);                  // '{{'
19546
 
      break;
19547
 
    case 283:                       // '}}'
19548
 
      shiftT(283);                  // '}}'
19549
 
      break;
19550
 
    default:
19551
 
      try_BlockExpr();
19552
 
    }
19553
 
  }
19554
 
 
19555
 
  function parse_ContentExpr()
19556
 
  {
19557
 
    eventHandler.startNonterminal("ContentExpr", e0);
19558
 
    parse_StatementsAndExpr();
19559
 
    eventHandler.endNonterminal("ContentExpr", e0);
19560
 
  }
19561
 
 
19562
 
  function try_ContentExpr()
19563
 
  {
19564
 
    try_StatementsAndExpr();
19565
 
  }
19566
 
 
19567
 
  function parse_CompDocConstructor()
19568
 
  {
19569
 
    eventHandler.startNonterminal("CompDocConstructor", e0);
19570
 
    shift(119);                     // 'document'
19571
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19572
 
    whitespace();
19573
 
    parse_BlockExpr();
19574
 
    eventHandler.endNonterminal("CompDocConstructor", e0);
19575
 
  }
19576
 
 
19577
 
  function try_CompDocConstructor()
19578
 
  {
19579
 
    shiftT(119);                    // 'document'
19580
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19581
 
    try_BlockExpr();
19582
 
  }
19583
 
 
19584
 
  function parse_CompAttrConstructor()
19585
 
  {
19586
 
    eventHandler.startNonterminal("CompAttrConstructor", e0);
19587
 
    shift(82);                      // 'attribute'
19588
 
    lookahead1W(256);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
19589
 
    switch (l1)
19590
 
    {
19591
 
    case 276:                       // '{'
19592
 
      shift(276);                   // '{'
19593
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19594
 
      whitespace();
19595
 
      parse_Expr();
19596
 
      shift(282);                   // '}'
19597
 
      break;
19598
 
    default:
19599
 
      whitespace();
19600
 
      parse_EQName();
19601
 
    }
19602
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19603
 
    switch (l1)
19604
 
    {
19605
 
    case 276:                       // '{'
19606
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19607
 
      break;
19608
 
    default:
19609
 
      lk = l1;
19610
 
    }
19611
 
    if (lk == 144660)               // '{' '}'
19612
 
    {
19613
 
      lk = memoized(10, e0);
19614
 
      if (lk == 0)
19615
 
      {
19616
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19617
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19618
 
        var b2A = b2; var e2A = e2;
19619
 
        try
19620
 
        {
19621
 
          shiftT(276);              // '{'
19622
 
          lookahead1W(88);          // S^WS | '(:' | '}'
19623
 
          shiftT(282);              // '}'
19624
 
          lk = -1;
19625
 
        }
19626
 
        catch (p1A)
19627
 
        {
19628
 
          lk = -2;
19629
 
        }
19630
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19631
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19632
 
        b2 = b2A; e2 = e2A; end = e2A; }}
19633
 
        memoize(10, e0, lk);
19634
 
      }
19635
 
    }
19636
 
    switch (lk)
19637
 
    {
19638
 
    case -1:
19639
 
      shift(276);                   // '{'
19640
 
      lookahead1W(88);              // S^WS | '(:' | '}'
19641
 
      shift(282);                   // '}'
19642
 
      break;
19643
 
    default:
19644
 
      whitespace();
19645
 
      parse_BlockExpr();
19646
 
    }
19647
 
    eventHandler.endNonterminal("CompAttrConstructor", e0);
19648
 
  }
19649
 
 
19650
 
  function try_CompAttrConstructor()
19651
 
  {
19652
 
    shiftT(82);                     // 'attribute'
19653
 
    lookahead1W(256);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
19654
 
    switch (l1)
19655
 
    {
19656
 
    case 276:                       // '{'
19657
 
      shiftT(276);                  // '{'
19658
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19659
 
      try_Expr();
19660
 
      shiftT(282);                  // '}'
19661
 
      break;
19662
 
    default:
19663
 
      try_EQName();
19664
 
    }
19665
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19666
 
    switch (l1)
19667
 
    {
19668
 
    case 276:                       // '{'
19669
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19670
 
      break;
19671
 
    default:
19672
 
      lk = l1;
19673
 
    }
19674
 
    if (lk == 144660)               // '{' '}'
19675
 
    {
19676
 
      lk = memoized(10, e0);
19677
 
      if (lk == 0)
19678
 
      {
19679
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19680
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19681
 
        var b2A = b2; var e2A = e2;
19682
 
        try
19683
 
        {
19684
 
          shiftT(276);              // '{'
19685
 
          lookahead1W(88);          // S^WS | '(:' | '}'
19686
 
          shiftT(282);              // '}'
19687
 
          memoize(10, e0A, -1);
19688
 
          lk = -3;
19689
 
        }
19690
 
        catch (p1A)
19691
 
        {
19692
 
          lk = -2;
19693
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19694
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19695
 
          b2 = b2A; e2 = e2A; end = e2A; }}
19696
 
          memoize(10, e0A, -2);
19697
 
        }
19698
 
      }
19699
 
    }
19700
 
    switch (lk)
19701
 
    {
19702
 
    case -1:
19703
 
      shiftT(276);                  // '{'
19704
 
      lookahead1W(88);              // S^WS | '(:' | '}'
19705
 
      shiftT(282);                  // '}'
19706
 
      break;
19707
 
    case -3:
19708
 
      break;
19709
 
    default:
19710
 
      try_BlockExpr();
19711
 
    }
19712
 
  }
19713
 
 
19714
 
  function parse_CompPIConstructor()
19715
 
  {
19716
 
    eventHandler.startNonterminal("CompPIConstructor", e0);
19717
 
    shift(216);                     // 'processing-instruction'
19718
 
    lookahead1W(249);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
19719
 
    switch (l1)
19720
 
    {
19721
 
    case 276:                       // '{'
19722
 
      shift(276);                   // '{'
19723
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19724
 
      whitespace();
19725
 
      parse_Expr();
19726
 
      shift(282);                   // '}'
19727
 
      break;
19728
 
    default:
19729
 
      whitespace();
19730
 
      parse_NCName();
19731
 
    }
19732
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19733
 
    switch (l1)
19734
 
    {
19735
 
    case 276:                       // '{'
19736
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19737
 
      break;
19738
 
    default:
19739
 
      lk = l1;
19740
 
    }
19741
 
    if (lk == 144660)               // '{' '}'
19742
 
    {
19743
 
      lk = memoized(11, e0);
19744
 
      if (lk == 0)
19745
 
      {
19746
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19747
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19748
 
        var b2A = b2; var e2A = e2;
19749
 
        try
19750
 
        {
19751
 
          shiftT(276);              // '{'
19752
 
          lookahead1W(88);          // S^WS | '(:' | '}'
19753
 
          shiftT(282);              // '}'
19754
 
          lk = -1;
19755
 
        }
19756
 
        catch (p1A)
19757
 
        {
19758
 
          lk = -2;
19759
 
        }
19760
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19761
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19762
 
        b2 = b2A; e2 = e2A; end = e2A; }}
19763
 
        memoize(11, e0, lk);
19764
 
      }
19765
 
    }
19766
 
    switch (lk)
19767
 
    {
19768
 
    case -1:
19769
 
      shift(276);                   // '{'
19770
 
      lookahead1W(88);              // S^WS | '(:' | '}'
19771
 
      shift(282);                   // '}'
19772
 
      break;
19773
 
    default:
19774
 
      whitespace();
19775
 
      parse_BlockExpr();
19776
 
    }
19777
 
    eventHandler.endNonterminal("CompPIConstructor", e0);
19778
 
  }
19779
 
 
19780
 
  function try_CompPIConstructor()
19781
 
  {
19782
 
    shiftT(216);                    // 'processing-instruction'
19783
 
    lookahead1W(249);               // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
19784
 
    switch (l1)
19785
 
    {
19786
 
    case 276:                       // '{'
19787
 
      shiftT(276);                  // '{'
19788
 
      lookahead1W(267);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19789
 
      try_Expr();
19790
 
      shiftT(282);                  // '}'
19791
 
      break;
19792
 
    default:
19793
 
      try_NCName();
19794
 
    }
19795
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19796
 
    switch (l1)
19797
 
    {
19798
 
    case 276:                       // '{'
19799
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19800
 
      break;
19801
 
    default:
19802
 
      lk = l1;
19803
 
    }
19804
 
    if (lk == 144660)               // '{' '}'
19805
 
    {
19806
 
      lk = memoized(11, e0);
19807
 
      if (lk == 0)
19808
 
      {
19809
 
        var b0A = b0; var e0A = e0; var l1A = l1;
19810
 
        var b1A = b1; var e1A = e1; var l2A = l2;
19811
 
        var b2A = b2; var e2A = e2;
19812
 
        try
19813
 
        {
19814
 
          shiftT(276);              // '{'
19815
 
          lookahead1W(88);          // S^WS | '(:' | '}'
19816
 
          shiftT(282);              // '}'
19817
 
          memoize(11, e0A, -1);
19818
 
          lk = -3;
19819
 
        }
19820
 
        catch (p1A)
19821
 
        {
19822
 
          lk = -2;
19823
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
19824
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
19825
 
          b2 = b2A; e2 = e2A; end = e2A; }}
19826
 
          memoize(11, e0A, -2);
19827
 
        }
19828
 
      }
19829
 
    }
19830
 
    switch (lk)
19831
 
    {
19832
 
    case -1:
19833
 
      shiftT(276);                  // '{'
19834
 
      lookahead1W(88);              // S^WS | '(:' | '}'
19835
 
      shiftT(282);                  // '}'
19836
 
      break;
19837
 
    case -3:
19838
 
      break;
19839
 
    default:
19840
 
      try_BlockExpr();
19841
 
    }
19842
 
  }
19843
 
 
19844
 
  function parse_CompCommentConstructor()
19845
 
  {
19846
 
    eventHandler.startNonterminal("CompCommentConstructor", e0);
19847
 
    shift(96);                      // 'comment'
19848
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19849
 
    whitespace();
19850
 
    parse_BlockExpr();
19851
 
    eventHandler.endNonterminal("CompCommentConstructor", e0);
19852
 
  }
19853
 
 
19854
 
  function try_CompCommentConstructor()
19855
 
  {
19856
 
    shiftT(96);                     // 'comment'
19857
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19858
 
    try_BlockExpr();
19859
 
  }
19860
 
 
19861
 
  function parse_CompTextConstructor()
19862
 
  {
19863
 
    eventHandler.startNonterminal("CompTextConstructor", e0);
19864
 
    shift(244);                     // 'text'
19865
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19866
 
    whitespace();
19867
 
    parse_BlockExpr();
19868
 
    eventHandler.endNonterminal("CompTextConstructor", e0);
19869
 
  }
19870
 
 
19871
 
  function try_CompTextConstructor()
19872
 
  {
19873
 
    shiftT(244);                    // 'text'
19874
 
    lookahead1W(87);                // S^WS | '(:' | '{'
19875
 
    try_BlockExpr();
19876
 
  }
19877
 
 
19878
 
  function parse_PrimaryExpr()
19879
 
  {
19880
 
    eventHandler.startNonterminal("PrimaryExpr", e0);
19881
 
    switch (l1)
19882
 
    {
19883
 
    case 184:                       // 'namespace'
19884
 
      lookahead2W(254);             // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
19885
 
      break;
19886
 
    case 216:                       // 'processing-instruction'
19887
 
      lookahead2W(252);             // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
19888
 
      break;
19889
 
    case 276:                       // '{'
19890
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
19891
 
      break;
19892
 
    case 82:                        // 'attribute'
19893
 
    case 121:                       // 'element'
19894
 
      lookahead2W(257);             // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
19895
 
      break;
19896
 
    case 96:                        // 'comment'
19897
 
    case 244:                       // 'text'
19898
 
      lookahead2W(93);              // S^WS | '#' | '(:' | '{'
19899
 
      break;
19900
 
    case 119:                       // 'document'
19901
 
    case 202:                       // 'ordered'
19902
 
    case 256:                       // 'unordered'
19903
 
      lookahead2W(139);             // S^WS | '#' | '(' | '(:' | '{'
19904
 
      break;
19905
 
    case 6:                         // EQName^Token
19906
 
    case 70:                        // 'after'
19907
 
    case 72:                        // 'allowing'
19908
 
    case 73:                        // 'ancestor'
19909
 
    case 74:                        // 'ancestor-or-self'
19910
 
    case 75:                        // 'and'
19911
 
    case 78:                        // 'array'
19912
 
    case 79:                        // 'as'
19913
 
    case 80:                        // 'ascending'
19914
 
    case 81:                        // 'at'
19915
 
    case 83:                        // 'base-uri'
19916
 
    case 84:                        // 'before'
19917
 
    case 85:                        // 'boundary-space'
19918
 
    case 86:                        // 'break'
19919
 
    case 88:                        // 'case'
19920
 
    case 89:                        // 'cast'
19921
 
    case 90:                        // 'castable'
19922
 
    case 91:                        // 'catch'
19923
 
    case 93:                        // 'child'
19924
 
    case 94:                        // 'collation'
19925
 
    case 97:                        // 'constraint'
19926
 
    case 98:                        // 'construction'
19927
 
    case 101:                       // 'context'
19928
 
    case 102:                       // 'continue'
19929
 
    case 103:                       // 'copy'
19930
 
    case 104:                       // 'copy-namespaces'
19931
 
    case 105:                       // 'count'
19932
 
    case 106:                       // 'decimal-format'
19933
 
    case 108:                       // 'declare'
19934
 
    case 109:                       // 'default'
19935
 
    case 110:                       // 'delete'
19936
 
    case 111:                       // 'descendant'
19937
 
    case 112:                       // 'descendant-or-self'
19938
 
    case 113:                       // 'descending'
19939
 
    case 118:                       // 'div'
19940
 
    case 122:                       // 'else'
19941
 
    case 123:                       // 'empty'
19942
 
    case 125:                       // 'encoding'
19943
 
    case 126:                       // 'end'
19944
 
    case 128:                       // 'eq'
19945
 
    case 129:                       // 'every'
19946
 
    case 131:                       // 'except'
19947
 
    case 132:                       // 'exit'
19948
 
    case 133:                       // 'external'
19949
 
    case 134:                       // 'first'
19950
 
    case 135:                       // 'following'
19951
 
    case 136:                       // 'following-sibling'
19952
 
    case 137:                       // 'for'
19953
 
    case 141:                       // 'ft-option'
19954
 
    case 146:                       // 'ge'
19955
 
    case 148:                       // 'group'
19956
 
    case 150:                       // 'gt'
19957
 
    case 151:                       // 'idiv'
19958
 
    case 153:                       // 'import'
19959
 
    case 154:                       // 'in'
19960
 
    case 155:                       // 'index'
19961
 
    case 159:                       // 'insert'
19962
 
    case 160:                       // 'instance'
19963
 
    case 161:                       // 'integrity'
19964
 
    case 162:                       // 'intersect'
19965
 
    case 163:                       // 'into'
19966
 
    case 164:                       // 'is'
19967
 
    case 167:                       // 'json-item'
19968
 
    case 170:                       // 'last'
19969
 
    case 171:                       // 'lax'
19970
 
    case 172:                       // 'le'
19971
 
    case 174:                       // 'let'
19972
 
    case 176:                       // 'loop'
19973
 
    case 178:                       // 'lt'
19974
 
    case 180:                       // 'mod'
19975
 
    case 181:                       // 'modify'
19976
 
    case 182:                       // 'module'
19977
 
    case 186:                       // 'ne'
19978
 
    case 192:                       // 'nodes'
19979
 
    case 194:                       // 'object'
19980
 
    case 198:                       // 'only'
19981
 
    case 199:                       // 'option'
19982
 
    case 200:                       // 'or'
19983
 
    case 201:                       // 'order'
19984
 
    case 203:                       // 'ordering'
19985
 
    case 206:                       // 'parent'
19986
 
    case 212:                       // 'preceding'
19987
 
    case 213:                       // 'preceding-sibling'
19988
 
    case 218:                       // 'rename'
19989
 
    case 219:                       // 'replace'
19990
 
    case 220:                       // 'return'
19991
 
    case 221:                       // 'returning'
19992
 
    case 222:                       // 'revalidation'
19993
 
    case 224:                       // 'satisfies'
19994
 
    case 225:                       // 'schema'
19995
 
    case 228:                       // 'score'
19996
 
    case 229:                       // 'self'
19997
 
    case 234:                       // 'sliding'
19998
 
    case 235:                       // 'some'
19999
 
    case 236:                       // 'stable'
20000
 
    case 237:                       // 'start'
20001
 
    case 240:                       // 'strict'
20002
 
    case 248:                       // 'to'
20003
 
    case 249:                       // 'treat'
20004
 
    case 250:                       // 'try'
20005
 
    case 251:                       // 'tumbling'
20006
 
    case 252:                       // 'type'
20007
 
    case 254:                       // 'union'
20008
 
    case 257:                       // 'updating'
20009
 
    case 260:                       // 'validate'
20010
 
    case 261:                       // 'value'
20011
 
    case 262:                       // 'variable'
20012
 
    case 263:                       // 'version'
20013
 
    case 266:                       // 'where'
20014
 
    case 267:                       // 'while'
20015
 
    case 270:                       // 'with'
20016
 
    case 274:                       // 'xquery'
20017
 
      lookahead2W(92);              // S^WS | '#' | '(' | '(:'
20018
 
      break;
20019
 
    default:
20020
 
      lk = l1;
20021
 
    }
20022
 
    if (lk == 2836                  // '{' Wildcard
20023
 
     || lk == 3348                  // '{' EQName^Token
20024
 
     || lk == 4372                  // '{' IntegerLiteral
20025
 
     || lk == 4884                  // '{' DecimalLiteral
20026
 
     || lk == 5396                  // '{' DoubleLiteral
20027
 
     || lk == 5908                  // '{' StringLiteral
20028
 
     || lk == 16148                 // '{' '$'
20029
 
     || lk == 16660                 // '{' '%'
20030
 
     || lk == 17684                 // '{' '('
20031
 
     || lk == 18196                 // '{' '(#'
20032
 
     || lk == 20756                 // '{' '+'
20033
 
     || lk == 21780                 // '{' '-'
20034
 
     || lk == 22804                 // '{' '.'
20035
 
     || lk == 23316                 // '{' '..'
20036
 
     || lk == 23828                 // '{' '/'
20037
 
     || lk == 24340                 // '{' '//'
20038
 
     || lk == 27924                 // '{' '<'
20039
 
     || lk == 28436                 // '{' '<!--'
20040
 
     || lk == 30484                 // '{' '<?'
20041
 
     || lk == 34068                 // '{' '@'
20042
 
     || lk == 35092                 // '{' '['
20043
 
     || lk == 36116                 // '{' 'after'
20044
 
     || lk == 37140                 // '{' 'allowing'
20045
 
     || lk == 37652                 // '{' 'ancestor'
20046
 
     || lk == 38164                 // '{' 'ancestor-or-self'
20047
 
     || lk == 38676                 // '{' 'and'
20048
 
     || lk == 39700                 // '{' 'append'
20049
 
     || lk == 40212                 // '{' 'array'
20050
 
     || lk == 40724                 // '{' 'as'
20051
 
     || lk == 41236                 // '{' 'ascending'
20052
 
     || lk == 41748                 // '{' 'at'
20053
 
     || lk == 42260                 // '{' 'attribute'
20054
 
     || lk == 42772                 // '{' 'base-uri'
20055
 
     || lk == 43284                 // '{' 'before'
20056
 
     || lk == 43796                 // '{' 'boundary-space'
20057
 
     || lk == 44308                 // '{' 'break'
20058
 
     || lk == 45332                 // '{' 'case'
20059
 
     || lk == 45844                 // '{' 'cast'
20060
 
     || lk == 46356                 // '{' 'castable'
20061
 
     || lk == 46868                 // '{' 'catch'
20062
 
     || lk == 47892                 // '{' 'child'
20063
 
     || lk == 48404                 // '{' 'collation'
20064
 
     || lk == 49428                 // '{' 'comment'
20065
 
     || lk == 49940                 // '{' 'constraint'
20066
 
     || lk == 50452                 // '{' 'construction'
20067
 
     || lk == 51988                 // '{' 'context'
20068
 
     || lk == 52500                 // '{' 'continue'
20069
 
     || lk == 53012                 // '{' 'copy'
20070
 
     || lk == 53524                 // '{' 'copy-namespaces'
20071
 
     || lk == 54036                 // '{' 'count'
20072
 
     || lk == 54548                 // '{' 'decimal-format'
20073
 
     || lk == 55572                 // '{' 'declare'
20074
 
     || lk == 56084                 // '{' 'default'
20075
 
     || lk == 56596                 // '{' 'delete'
20076
 
     || lk == 57108                 // '{' 'descendant'
20077
 
     || lk == 57620                 // '{' 'descendant-or-self'
20078
 
     || lk == 58132                 // '{' 'descending'
20079
 
     || lk == 60692                 // '{' 'div'
20080
 
     || lk == 61204                 // '{' 'document'
20081
 
     || lk == 61716                 // '{' 'document-node'
20082
 
     || lk == 62228                 // '{' 'element'
20083
 
     || lk == 62740                 // '{' 'else'
20084
 
     || lk == 63252                 // '{' 'empty'
20085
 
     || lk == 63764                 // '{' 'empty-sequence'
20086
 
     || lk == 64276                 // '{' 'encoding'
20087
 
     || lk == 64788                 // '{' 'end'
20088
 
     || lk == 65812                 // '{' 'eq'
20089
 
     || lk == 66324                 // '{' 'every'
20090
 
     || lk == 67348                 // '{' 'except'
20091
 
     || lk == 67860                 // '{' 'exit'
20092
 
     || lk == 68372                 // '{' 'external'
20093
 
     || lk == 68884                 // '{' 'first'
20094
 
     || lk == 69396                 // '{' 'following'
20095
 
     || lk == 69908                 // '{' 'following-sibling'
20096
 
     || lk == 70420                 // '{' 'for'
20097
 
     || lk == 72468                 // '{' 'ft-option'
20098
 
     || lk == 74516                 // '{' 'function'
20099
 
     || lk == 75028                 // '{' 'ge'
20100
 
     || lk == 76052                 // '{' 'group'
20101
 
     || lk == 77076                 // '{' 'gt'
20102
 
     || lk == 77588                 // '{' 'idiv'
20103
 
     || lk == 78100                 // '{' 'if'
20104
 
     || lk == 78612                 // '{' 'import'
20105
 
     || lk == 79124                 // '{' 'in'
20106
 
     || lk == 79636                 // '{' 'index'
20107
 
     || lk == 81684                 // '{' 'insert'
20108
 
     || lk == 82196                 // '{' 'instance'
20109
 
     || lk == 82708                 // '{' 'integrity'
20110
 
     || lk == 83220                 // '{' 'intersect'
20111
 
     || lk == 83732                 // '{' 'into'
20112
 
     || lk == 84244                 // '{' 'is'
20113
 
     || lk == 84756                 // '{' 'item'
20114
 
     || lk == 85780                 // '{' 'json-item'
20115
 
     || lk == 87316                 // '{' 'last'
20116
 
     || lk == 87828                 // '{' 'lax'
20117
 
     || lk == 88340                 // '{' 'le'
20118
 
     || lk == 89364                 // '{' 'let'
20119
 
     || lk == 90388                 // '{' 'loop'
20120
 
     || lk == 91412                 // '{' 'lt'
20121
 
     || lk == 92436                 // '{' 'mod'
20122
 
     || lk == 92948                 // '{' 'modify'
20123
 
     || lk == 93460                 // '{' 'module'
20124
 
     || lk == 94484                 // '{' 'namespace'
20125
 
     || lk == 94996                 // '{' 'namespace-node'
20126
 
     || lk == 95508                 // '{' 'ne'
20127
 
     || lk == 98068                 // '{' 'node'
20128
 
     || lk == 98580                 // '{' 'nodes'
20129
 
     || lk == 99604                 // '{' 'object'
20130
 
     || lk == 101652                // '{' 'only'
20131
 
     || lk == 102164                // '{' 'option'
20132
 
     || lk == 102676                // '{' 'or'
20133
 
     || lk == 103188                // '{' 'order'
20134
 
     || lk == 103700                // '{' 'ordered'
20135
 
     || lk == 104212                // '{' 'ordering'
20136
 
     || lk == 105748                // '{' 'parent'
20137
 
     || lk == 108820                // '{' 'preceding'
20138
 
     || lk == 109332                // '{' 'preceding-sibling'
20139
 
     || lk == 110868                // '{' 'processing-instruction'
20140
 
     || lk == 111892                // '{' 'rename'
20141
 
     || lk == 112404                // '{' 'replace'
20142
 
     || lk == 112916                // '{' 'return'
20143
 
     || lk == 113428                // '{' 'returning'
20144
 
     || lk == 113940                // '{' 'revalidation'
20145
 
     || lk == 114964                // '{' 'satisfies'
20146
 
     || lk == 115476                // '{' 'schema'
20147
 
     || lk == 115988                // '{' 'schema-attribute'
20148
 
     || lk == 116500                // '{' 'schema-element'
20149
 
     || lk == 117012                // '{' 'score'
20150
 
     || lk == 117524                // '{' 'self'
20151
 
     || lk == 120084                // '{' 'sliding'
20152
 
     || lk == 120596                // '{' 'some'
20153
 
     || lk == 121108                // '{' 'stable'
20154
 
     || lk == 121620                // '{' 'start'
20155
 
     || lk == 123156                // '{' 'strict'
20156
 
     || lk == 124692                // '{' 'switch'
20157
 
     || lk == 125204                // '{' 'text'
20158
 
     || lk == 127252                // '{' 'to'
20159
 
     || lk == 127764                // '{' 'treat'
20160
 
     || lk == 128276                // '{' 'try'
20161
 
     || lk == 128788                // '{' 'tumbling'
20162
 
     || lk == 129300                // '{' 'type'
20163
 
     || lk == 129812                // '{' 'typeswitch'
20164
 
     || lk == 130324                // '{' 'union'
20165
 
     || lk == 131348                // '{' 'unordered'
20166
 
     || lk == 131860                // '{' 'updating'
20167
 
     || lk == 133396                // '{' 'validate'
20168
 
     || lk == 133908                // '{' 'value'
20169
 
     || lk == 134420                // '{' 'variable'
20170
 
     || lk == 134932                // '{' 'version'
20171
 
     || lk == 136468                // '{' 'where'
20172
 
     || lk == 136980                // '{' 'while'
20173
 
     || lk == 138516                // '{' 'with'
20174
 
     || lk == 140564                // '{' 'xquery'
20175
 
     || lk == 141588                // '{' '{'
20176
 
     || lk == 142612                // '{' '{|'
20177
 
     || lk == 144660)               // '{' '}'
20178
 
    {
20179
 
      lk = memoized(12, e0);
20180
 
      if (lk == 0)
20181
 
      {
20182
 
        var b0A = b0; var e0A = e0; var l1A = l1;
20183
 
        var b1A = b1; var e1A = e1; var l2A = l2;
20184
 
        var b2A = b2; var e2A = e2;
20185
 
        try
20186
 
        {
20187
 
          try_BlockExpr();
20188
 
          lk = -10;
20189
 
        }
20190
 
        catch (p10A)
20191
 
        {
20192
 
          lk = -11;
20193
 
        }
20194
 
        b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
20195
 
        b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
20196
 
        b2 = b2A; e2 = e2A; end = e2A; }}
20197
 
        memoize(12, e0, lk);
20198
 
      }
20199
 
    }
20200
 
    switch (lk)
20201
 
    {
20202
 
    case 8:                         // IntegerLiteral
20203
 
    case 9:                         // DecimalLiteral
20204
 
    case 10:                        // DoubleLiteral
20205
 
    case 11:                        // StringLiteral
20206
 
      parse_Literal();
20207
 
      break;
20208
 
    case 31:                        // '$'
20209
 
      parse_VarRef();
20210
 
      break;
20211
 
    case 34:                        // '('
20212
 
      parse_ParenthesizedExpr();
20213
 
      break;
20214
 
    case 44:                        // '.'
20215
 
      parse_ContextItemExpr();
20216
 
      break;
20217
 
    case 17414:                     // EQName^Token '('
20218
 
    case 17478:                     // 'after' '('
20219
 
    case 17480:                     // 'allowing' '('
20220
 
    case 17481:                     // 'ancestor' '('
20221
 
    case 17482:                     // 'ancestor-or-self' '('
20222
 
    case 17483:                     // 'and' '('
20223
 
    case 17486:                     // 'array' '('
20224
 
    case 17487:                     // 'as' '('
20225
 
    case 17488:                     // 'ascending' '('
20226
 
    case 17489:                     // 'at' '('
20227
 
    case 17491:                     // 'base-uri' '('
20228
 
    case 17492:                     // 'before' '('
20229
 
    case 17493:                     // 'boundary-space' '('
20230
 
    case 17494:                     // 'break' '('
20231
 
    case 17496:                     // 'case' '('
20232
 
    case 17497:                     // 'cast' '('
20233
 
    case 17498:                     // 'castable' '('
20234
 
    case 17499:                     // 'catch' '('
20235
 
    case 17501:                     // 'child' '('
20236
 
    case 17502:                     // 'collation' '('
20237
 
    case 17505:                     // 'constraint' '('
20238
 
    case 17506:                     // 'construction' '('
20239
 
    case 17509:                     // 'context' '('
20240
 
    case 17510:                     // 'continue' '('
20241
 
    case 17511:                     // 'copy' '('
20242
 
    case 17512:                     // 'copy-namespaces' '('
20243
 
    case 17513:                     // 'count' '('
20244
 
    case 17514:                     // 'decimal-format' '('
20245
 
    case 17516:                     // 'declare' '('
20246
 
    case 17517:                     // 'default' '('
20247
 
    case 17518:                     // 'delete' '('
20248
 
    case 17519:                     // 'descendant' '('
20249
 
    case 17520:                     // 'descendant-or-self' '('
20250
 
    case 17521:                     // 'descending' '('
20251
 
    case 17526:                     // 'div' '('
20252
 
    case 17527:                     // 'document' '('
20253
 
    case 17530:                     // 'else' '('
20254
 
    case 17531:                     // 'empty' '('
20255
 
    case 17533:                     // 'encoding' '('
20256
 
    case 17534:                     // 'end' '('
20257
 
    case 17536:                     // 'eq' '('
20258
 
    case 17537:                     // 'every' '('
20259
 
    case 17539:                     // 'except' '('
20260
 
    case 17540:                     // 'exit' '('
20261
 
    case 17541:                     // 'external' '('
20262
 
    case 17542:                     // 'first' '('
20263
 
    case 17543:                     // 'following' '('
20264
 
    case 17544:                     // 'following-sibling' '('
20265
 
    case 17545:                     // 'for' '('
20266
 
    case 17549:                     // 'ft-option' '('
20267
 
    case 17554:                     // 'ge' '('
20268
 
    case 17556:                     // 'group' '('
20269
 
    case 17558:                     // 'gt' '('
20270
 
    case 17559:                     // 'idiv' '('
20271
 
    case 17561:                     // 'import' '('
20272
 
    case 17562:                     // 'in' '('
20273
 
    case 17563:                     // 'index' '('
20274
 
    case 17567:                     // 'insert' '('
20275
 
    case 17568:                     // 'instance' '('
20276
 
    case 17569:                     // 'integrity' '('
20277
 
    case 17570:                     // 'intersect' '('
20278
 
    case 17571:                     // 'into' '('
20279
 
    case 17572:                     // 'is' '('
20280
 
    case 17575:                     // 'json-item' '('
20281
 
    case 17578:                     // 'last' '('
20282
 
    case 17579:                     // 'lax' '('
20283
 
    case 17580:                     // 'le' '('
20284
 
    case 17582:                     // 'let' '('
20285
 
    case 17584:                     // 'loop' '('
20286
 
    case 17586:                     // 'lt' '('
20287
 
    case 17588:                     // 'mod' '('
20288
 
    case 17589:                     // 'modify' '('
20289
 
    case 17590:                     // 'module' '('
20290
 
    case 17592:                     // 'namespace' '('
20291
 
    case 17594:                     // 'ne' '('
20292
 
    case 17600:                     // 'nodes' '('
20293
 
    case 17602:                     // 'object' '('
20294
 
    case 17606:                     // 'only' '('
20295
 
    case 17607:                     // 'option' '('
20296
 
    case 17608:                     // 'or' '('
20297
 
    case 17609:                     // 'order' '('
20298
 
    case 17610:                     // 'ordered' '('
20299
 
    case 17611:                     // 'ordering' '('
20300
 
    case 17614:                     // 'parent' '('
20301
 
    case 17620:                     // 'preceding' '('
20302
 
    case 17621:                     // 'preceding-sibling' '('
20303
 
    case 17626:                     // 'rename' '('
20304
 
    case 17627:                     // 'replace' '('
20305
 
    case 17628:                     // 'return' '('
20306
 
    case 17629:                     // 'returning' '('
20307
 
    case 17630:                     // 'revalidation' '('
20308
 
    case 17632:                     // 'satisfies' '('
20309
 
    case 17633:                     // 'schema' '('
20310
 
    case 17636:                     // 'score' '('
20311
 
    case 17637:                     // 'self' '('
20312
 
    case 17642:                     // 'sliding' '('
20313
 
    case 17643:                     // 'some' '('
20314
 
    case 17644:                     // 'stable' '('
20315
 
    case 17645:                     // 'start' '('
20316
 
    case 17648:                     // 'strict' '('
20317
 
    case 17656:                     // 'to' '('
20318
 
    case 17657:                     // 'treat' '('
20319
 
    case 17658:                     // 'try' '('
20320
 
    case 17659:                     // 'tumbling' '('
20321
 
    case 17660:                     // 'type' '('
20322
 
    case 17662:                     // 'union' '('
20323
 
    case 17664:                     // 'unordered' '('
20324
 
    case 17665:                     // 'updating' '('
20325
 
    case 17668:                     // 'validate' '('
20326
 
    case 17669:                     // 'value' '('
20327
 
    case 17670:                     // 'variable' '('
20328
 
    case 17671:                     // 'version' '('
20329
 
    case 17674:                     // 'where' '('
20330
 
    case 17675:                     // 'while' '('
20331
 
    case 17678:                     // 'with' '('
20332
 
    case 17682:                     // 'xquery' '('
20333
 
      parse_FunctionCall();
20334
 
      break;
20335
 
    case 141514:                    // 'ordered' '{'
20336
 
      parse_OrderedExpr();
20337
 
      break;
20338
 
    case 141568:                    // 'unordered' '{'
20339
 
      parse_UnorderedExpr();
20340
 
      break;
20341
 
    case 32:                        // '%'
20342
 
    case 120:                       // 'document-node'
20343
 
    case 124:                       // 'empty-sequence'
20344
 
    case 145:                       // 'function'
20345
 
    case 152:                       // 'if'
20346
 
    case 165:                       // 'item'
20347
 
    case 185:                       // 'namespace-node'
20348
 
    case 191:                       // 'node'
20349
 
    case 226:                       // 'schema-attribute'
20350
 
    case 227:                       // 'schema-element'
20351
 
    case 243:                       // 'switch'
20352
 
    case 253:                       // 'typeswitch'
20353
 
    case 14854:                     // EQName^Token '#'
20354
 
    case 14918:                     // 'after' '#'
20355
 
    case 14920:                     // 'allowing' '#'
20356
 
    case 14921:                     // 'ancestor' '#'
20357
 
    case 14922:                     // 'ancestor-or-self' '#'
20358
 
    case 14923:                     // 'and' '#'
20359
 
    case 14926:                     // 'array' '#'
20360
 
    case 14927:                     // 'as' '#'
20361
 
    case 14928:                     // 'ascending' '#'
20362
 
    case 14929:                     // 'at' '#'
20363
 
    case 14930:                     // 'attribute' '#'
20364
 
    case 14931:                     // 'base-uri' '#'
20365
 
    case 14932:                     // 'before' '#'
20366
 
    case 14933:                     // 'boundary-space' '#'
20367
 
    case 14934:                     // 'break' '#'
20368
 
    case 14936:                     // 'case' '#'
20369
 
    case 14937:                     // 'cast' '#'
20370
 
    case 14938:                     // 'castable' '#'
20371
 
    case 14939:                     // 'catch' '#'
20372
 
    case 14941:                     // 'child' '#'
20373
 
    case 14942:                     // 'collation' '#'
20374
 
    case 14944:                     // 'comment' '#'
20375
 
    case 14945:                     // 'constraint' '#'
20376
 
    case 14946:                     // 'construction' '#'
20377
 
    case 14949:                     // 'context' '#'
20378
 
    case 14950:                     // 'continue' '#'
20379
 
    case 14951:                     // 'copy' '#'
20380
 
    case 14952:                     // 'copy-namespaces' '#'
20381
 
    case 14953:                     // 'count' '#'
20382
 
    case 14954:                     // 'decimal-format' '#'
20383
 
    case 14956:                     // 'declare' '#'
20384
 
    case 14957:                     // 'default' '#'
20385
 
    case 14958:                     // 'delete' '#'
20386
 
    case 14959:                     // 'descendant' '#'
20387
 
    case 14960:                     // 'descendant-or-self' '#'
20388
 
    case 14961:                     // 'descending' '#'
20389
 
    case 14966:                     // 'div' '#'
20390
 
    case 14967:                     // 'document' '#'
20391
 
    case 14969:                     // 'element' '#'
20392
 
    case 14970:                     // 'else' '#'
20393
 
    case 14971:                     // 'empty' '#'
20394
 
    case 14973:                     // 'encoding' '#'
20395
 
    case 14974:                     // 'end' '#'
20396
 
    case 14976:                     // 'eq' '#'
20397
 
    case 14977:                     // 'every' '#'
20398
 
    case 14979:                     // 'except' '#'
20399
 
    case 14980:                     // 'exit' '#'
20400
 
    case 14981:                     // 'external' '#'
20401
 
    case 14982:                     // 'first' '#'
20402
 
    case 14983:                     // 'following' '#'
20403
 
    case 14984:                     // 'following-sibling' '#'
20404
 
    case 14985:                     // 'for' '#'
20405
 
    case 14989:                     // 'ft-option' '#'
20406
 
    case 14994:                     // 'ge' '#'
20407
 
    case 14996:                     // 'group' '#'
20408
 
    case 14998:                     // 'gt' '#'
20409
 
    case 14999:                     // 'idiv' '#'
20410
 
    case 15001:                     // 'import' '#'
20411
 
    case 15002:                     // 'in' '#'
20412
 
    case 15003:                     // 'index' '#'
20413
 
    case 15007:                     // 'insert' '#'
20414
 
    case 15008:                     // 'instance' '#'
20415
 
    case 15009:                     // 'integrity' '#'
20416
 
    case 15010:                     // 'intersect' '#'
20417
 
    case 15011:                     // 'into' '#'
20418
 
    case 15012:                     // 'is' '#'
20419
 
    case 15015:                     // 'json-item' '#'
20420
 
    case 15018:                     // 'last' '#'
20421
 
    case 15019:                     // 'lax' '#'
20422
 
    case 15020:                     // 'le' '#'
20423
 
    case 15022:                     // 'let' '#'
20424
 
    case 15024:                     // 'loop' '#'
20425
 
    case 15026:                     // 'lt' '#'
20426
 
    case 15028:                     // 'mod' '#'
20427
 
    case 15029:                     // 'modify' '#'
20428
 
    case 15030:                     // 'module' '#'
20429
 
    case 15032:                     // 'namespace' '#'
20430
 
    case 15034:                     // 'ne' '#'
20431
 
    case 15040:                     // 'nodes' '#'
20432
 
    case 15042:                     // 'object' '#'
20433
 
    case 15046:                     // 'only' '#'
20434
 
    case 15047:                     // 'option' '#'
20435
 
    case 15048:                     // 'or' '#'
20436
 
    case 15049:                     // 'order' '#'
20437
 
    case 15050:                     // 'ordered' '#'
20438
 
    case 15051:                     // 'ordering' '#'
20439
 
    case 15054:                     // 'parent' '#'
20440
 
    case 15060:                     // 'preceding' '#'
20441
 
    case 15061:                     // 'preceding-sibling' '#'
20442
 
    case 15064:                     // 'processing-instruction' '#'
20443
 
    case 15066:                     // 'rename' '#'
20444
 
    case 15067:                     // 'replace' '#'
20445
 
    case 15068:                     // 'return' '#'
20446
 
    case 15069:                     // 'returning' '#'
20447
 
    case 15070:                     // 'revalidation' '#'
20448
 
    case 15072:                     // 'satisfies' '#'
20449
 
    case 15073:                     // 'schema' '#'
20450
 
    case 15076:                     // 'score' '#'
20451
 
    case 15077:                     // 'self' '#'
20452
 
    case 15082:                     // 'sliding' '#'
20453
 
    case 15083:                     // 'some' '#'
20454
 
    case 15084:                     // 'stable' '#'
20455
 
    case 15085:                     // 'start' '#'
20456
 
    case 15088:                     // 'strict' '#'
20457
 
    case 15092:                     // 'text' '#'
20458
 
    case 15096:                     // 'to' '#'
20459
 
    case 15097:                     // 'treat' '#'
20460
 
    case 15098:                     // 'try' '#'
20461
 
    case 15099:                     // 'tumbling' '#'
20462
 
    case 15100:                     // 'type' '#'
20463
 
    case 15102:                     // 'union' '#'
20464
 
    case 15104:                     // 'unordered' '#'
20465
 
    case 15105:                     // 'updating' '#'
20466
 
    case 15108:                     // 'validate' '#'
20467
 
    case 15109:                     // 'value' '#'
20468
 
    case 15110:                     // 'variable' '#'
20469
 
    case 15111:                     // 'version' '#'
20470
 
    case 15114:                     // 'where' '#'
20471
 
    case 15115:                     // 'while' '#'
20472
 
    case 15118:                     // 'with' '#'
20473
 
    case 15122:                     // 'xquery' '#'
20474
 
      parse_FunctionItemExpr();
20475
 
      break;
20476
 
    case -10:
20477
 
      parse_BlockExpr();
20478
 
      break;
20479
 
    case -11:
20480
 
      parse_ObjectConstructor();
20481
 
      break;
20482
 
    case 68:                        // '['
20483
 
      parse_ArrayConstructor();
20484
 
      break;
20485
 
    case 278:                       // '{|'
20486
 
      parse_JSONSimpleObjectUnion();
20487
 
      break;
20488
 
    default:
20489
 
      parse_Constructor();
20490
 
    }
20491
 
    eventHandler.endNonterminal("PrimaryExpr", e0);
20492
 
  }
20493
 
 
20494
 
  function try_PrimaryExpr()
20495
 
  {
20496
 
    switch (l1)
20497
 
    {
20498
 
    case 184:                       // 'namespace'
20499
 
      lookahead2W(254);             // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
20500
 
      break;
20501
 
    case 216:                       // 'processing-instruction'
20502
 
      lookahead2W(252);             // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
20503
 
      break;
20504
 
    case 276:                       // '{'
20505
 
      lookahead2W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
20506
 
      break;
20507
 
    case 82:                        // 'attribute'
20508
 
    case 121:                       // 'element'
20509
 
      lookahead2W(257);             // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
20510
 
      break;
20511
 
    case 96:                        // 'comment'
20512
 
    case 244:                       // 'text'
20513
 
      lookahead2W(93);              // S^WS | '#' | '(:' | '{'
20514
 
      break;
20515
 
    case 119:                       // 'document'
20516
 
    case 202:                       // 'ordered'
20517
 
    case 256:                       // 'unordered'
20518
 
      lookahead2W(139);             // S^WS | '#' | '(' | '(:' | '{'
20519
 
      break;
20520
 
    case 6:                         // EQName^Token
20521
 
    case 70:                        // 'after'
20522
 
    case 72:                        // 'allowing'
20523
 
    case 73:                        // 'ancestor'
20524
 
    case 74:                        // 'ancestor-or-self'
20525
 
    case 75:                        // 'and'
20526
 
    case 78:                        // 'array'
20527
 
    case 79:                        // 'as'
20528
 
    case 80:                        // 'ascending'
20529
 
    case 81:                        // 'at'
20530
 
    case 83:                        // 'base-uri'
20531
 
    case 84:                        // 'before'
20532
 
    case 85:                        // 'boundary-space'
20533
 
    case 86:                        // 'break'
20534
 
    case 88:                        // 'case'
20535
 
    case 89:                        // 'cast'
20536
 
    case 90:                        // 'castable'
20537
 
    case 91:                        // 'catch'
20538
 
    case 93:                        // 'child'
20539
 
    case 94:                        // 'collation'
20540
 
    case 97:                        // 'constraint'
20541
 
    case 98:                        // 'construction'
20542
 
    case 101:                       // 'context'
20543
 
    case 102:                       // 'continue'
20544
 
    case 103:                       // 'copy'
20545
 
    case 104:                       // 'copy-namespaces'
20546
 
    case 105:                       // 'count'
20547
 
    case 106:                       // 'decimal-format'
20548
 
    case 108:                       // 'declare'
20549
 
    case 109:                       // 'default'
20550
 
    case 110:                       // 'delete'
20551
 
    case 111:                       // 'descendant'
20552
 
    case 112:                       // 'descendant-or-self'
20553
 
    case 113:                       // 'descending'
20554
 
    case 118:                       // 'div'
20555
 
    case 122:                       // 'else'
20556
 
    case 123:                       // 'empty'
20557
 
    case 125:                       // 'encoding'
20558
 
    case 126:                       // 'end'
20559
 
    case 128:                       // 'eq'
20560
 
    case 129:                       // 'every'
20561
 
    case 131:                       // 'except'
20562
 
    case 132:                       // 'exit'
20563
 
    case 133:                       // 'external'
20564
 
    case 134:                       // 'first'
20565
 
    case 135:                       // 'following'
20566
 
    case 136:                       // 'following-sibling'
20567
 
    case 137:                       // 'for'
20568
 
    case 141:                       // 'ft-option'
20569
 
    case 146:                       // 'ge'
20570
 
    case 148:                       // 'group'
20571
 
    case 150:                       // 'gt'
20572
 
    case 151:                       // 'idiv'
20573
 
    case 153:                       // 'import'
20574
 
    case 154:                       // 'in'
20575
 
    case 155:                       // 'index'
20576
 
    case 159:                       // 'insert'
20577
 
    case 160:                       // 'instance'
20578
 
    case 161:                       // 'integrity'
20579
 
    case 162:                       // 'intersect'
20580
 
    case 163:                       // 'into'
20581
 
    case 164:                       // 'is'
20582
 
    case 167:                       // 'json-item'
20583
 
    case 170:                       // 'last'
20584
 
    case 171:                       // 'lax'
20585
 
    case 172:                       // 'le'
20586
 
    case 174:                       // 'let'
20587
 
    case 176:                       // 'loop'
20588
 
    case 178:                       // 'lt'
20589
 
    case 180:                       // 'mod'
20590
 
    case 181:                       // 'modify'
20591
 
    case 182:                       // 'module'
20592
 
    case 186:                       // 'ne'
20593
 
    case 192:                       // 'nodes'
20594
 
    case 194:                       // 'object'
20595
 
    case 198:                       // 'only'
20596
 
    case 199:                       // 'option'
20597
 
    case 200:                       // 'or'
20598
 
    case 201:                       // 'order'
20599
 
    case 203:                       // 'ordering'
20600
 
    case 206:                       // 'parent'
20601
 
    case 212:                       // 'preceding'
20602
 
    case 213:                       // 'preceding-sibling'
20603
 
    case 218:                       // 'rename'
20604
 
    case 219:                       // 'replace'
20605
 
    case 220:                       // 'return'
20606
 
    case 221:                       // 'returning'
20607
 
    case 222:                       // 'revalidation'
20608
 
    case 224:                       // 'satisfies'
20609
 
    case 225:                       // 'schema'
20610
 
    case 228:                       // 'score'
20611
 
    case 229:                       // 'self'
20612
 
    case 234:                       // 'sliding'
20613
 
    case 235:                       // 'some'
20614
 
    case 236:                       // 'stable'
20615
 
    case 237:                       // 'start'
20616
 
    case 240:                       // 'strict'
20617
 
    case 248:                       // 'to'
20618
 
    case 249:                       // 'treat'
20619
 
    case 250:                       // 'try'
20620
 
    case 251:                       // 'tumbling'
20621
 
    case 252:                       // 'type'
20622
 
    case 254:                       // 'union'
20623
 
    case 257:                       // 'updating'
20624
 
    case 260:                       // 'validate'
20625
 
    case 261:                       // 'value'
20626
 
    case 262:                       // 'variable'
20627
 
    case 263:                       // 'version'
20628
 
    case 266:                       // 'where'
20629
 
    case 267:                       // 'while'
20630
 
    case 270:                       // 'with'
20631
 
    case 274:                       // 'xquery'
20632
 
      lookahead2W(92);              // S^WS | '#' | '(' | '(:'
20633
 
      break;
20634
 
    default:
20635
 
      lk = l1;
20636
 
    }
20637
 
    if (lk == 2836                  // '{' Wildcard
20638
 
     || lk == 3348                  // '{' EQName^Token
20639
 
     || lk == 4372                  // '{' IntegerLiteral
20640
 
     || lk == 4884                  // '{' DecimalLiteral
20641
 
     || lk == 5396                  // '{' DoubleLiteral
20642
 
     || lk == 5908                  // '{' StringLiteral
20643
 
     || lk == 16148                 // '{' '$'
20644
 
     || lk == 16660                 // '{' '%'
20645
 
     || lk == 17684                 // '{' '('
20646
 
     || lk == 18196                 // '{' '(#'
20647
 
     || lk == 20756                 // '{' '+'
20648
 
     || lk == 21780                 // '{' '-'
20649
 
     || lk == 22804                 // '{' '.'
20650
 
     || lk == 23316                 // '{' '..'
20651
 
     || lk == 23828                 // '{' '/'
20652
 
     || lk == 24340                 // '{' '//'
20653
 
     || lk == 27924                 // '{' '<'
20654
 
     || lk == 28436                 // '{' '<!--'
20655
 
     || lk == 30484                 // '{' '<?'
20656
 
     || lk == 34068                 // '{' '@'
20657
 
     || lk == 35092                 // '{' '['
20658
 
     || lk == 36116                 // '{' 'after'
20659
 
     || lk == 37140                 // '{' 'allowing'
20660
 
     || lk == 37652                 // '{' 'ancestor'
20661
 
     || lk == 38164                 // '{' 'ancestor-or-self'
20662
 
     || lk == 38676                 // '{' 'and'
20663
 
     || lk == 39700                 // '{' 'append'
20664
 
     || lk == 40212                 // '{' 'array'
20665
 
     || lk == 40724                 // '{' 'as'
20666
 
     || lk == 41236                 // '{' 'ascending'
20667
 
     || lk == 41748                 // '{' 'at'
20668
 
     || lk == 42260                 // '{' 'attribute'
20669
 
     || lk == 42772                 // '{' 'base-uri'
20670
 
     || lk == 43284                 // '{' 'before'
20671
 
     || lk == 43796                 // '{' 'boundary-space'
20672
 
     || lk == 44308                 // '{' 'break'
20673
 
     || lk == 45332                 // '{' 'case'
20674
 
     || lk == 45844                 // '{' 'cast'
20675
 
     || lk == 46356                 // '{' 'castable'
20676
 
     || lk == 46868                 // '{' 'catch'
20677
 
     || lk == 47892                 // '{' 'child'
20678
 
     || lk == 48404                 // '{' 'collation'
20679
 
     || lk == 49428                 // '{' 'comment'
20680
 
     || lk == 49940                 // '{' 'constraint'
20681
 
     || lk == 50452                 // '{' 'construction'
20682
 
     || lk == 51988                 // '{' 'context'
20683
 
     || lk == 52500                 // '{' 'continue'
20684
 
     || lk == 53012                 // '{' 'copy'
20685
 
     || lk == 53524                 // '{' 'copy-namespaces'
20686
 
     || lk == 54036                 // '{' 'count'
20687
 
     || lk == 54548                 // '{' 'decimal-format'
20688
 
     || lk == 55572                 // '{' 'declare'
20689
 
     || lk == 56084                 // '{' 'default'
20690
 
     || lk == 56596                 // '{' 'delete'
20691
 
     || lk == 57108                 // '{' 'descendant'
20692
 
     || lk == 57620                 // '{' 'descendant-or-self'
20693
 
     || lk == 58132                 // '{' 'descending'
20694
 
     || lk == 60692                 // '{' 'div'
20695
 
     || lk == 61204                 // '{' 'document'
20696
 
     || lk == 61716                 // '{' 'document-node'
20697
 
     || lk == 62228                 // '{' 'element'
20698
 
     || lk == 62740                 // '{' 'else'
20699
 
     || lk == 63252                 // '{' 'empty'
20700
 
     || lk == 63764                 // '{' 'empty-sequence'
20701
 
     || lk == 64276                 // '{' 'encoding'
20702
 
     || lk == 64788                 // '{' 'end'
20703
 
     || lk == 65812                 // '{' 'eq'
20704
 
     || lk == 66324                 // '{' 'every'
20705
 
     || lk == 67348                 // '{' 'except'
20706
 
     || lk == 67860                 // '{' 'exit'
20707
 
     || lk == 68372                 // '{' 'external'
20708
 
     || lk == 68884                 // '{' 'first'
20709
 
     || lk == 69396                 // '{' 'following'
20710
 
     || lk == 69908                 // '{' 'following-sibling'
20711
 
     || lk == 70420                 // '{' 'for'
20712
 
     || lk == 72468                 // '{' 'ft-option'
20713
 
     || lk == 74516                 // '{' 'function'
20714
 
     || lk == 75028                 // '{' 'ge'
20715
 
     || lk == 76052                 // '{' 'group'
20716
 
     || lk == 77076                 // '{' 'gt'
20717
 
     || lk == 77588                 // '{' 'idiv'
20718
 
     || lk == 78100                 // '{' 'if'
20719
 
     || lk == 78612                 // '{' 'import'
20720
 
     || lk == 79124                 // '{' 'in'
20721
 
     || lk == 79636                 // '{' 'index'
20722
 
     || lk == 81684                 // '{' 'insert'
20723
 
     || lk == 82196                 // '{' 'instance'
20724
 
     || lk == 82708                 // '{' 'integrity'
20725
 
     || lk == 83220                 // '{' 'intersect'
20726
 
     || lk == 83732                 // '{' 'into'
20727
 
     || lk == 84244                 // '{' 'is'
20728
 
     || lk == 84756                 // '{' 'item'
20729
 
     || lk == 85780                 // '{' 'json-item'
20730
 
     || lk == 87316                 // '{' 'last'
20731
 
     || lk == 87828                 // '{' 'lax'
20732
 
     || lk == 88340                 // '{' 'le'
20733
 
     || lk == 89364                 // '{' 'let'
20734
 
     || lk == 90388                 // '{' 'loop'
20735
 
     || lk == 91412                 // '{' 'lt'
20736
 
     || lk == 92436                 // '{' 'mod'
20737
 
     || lk == 92948                 // '{' 'modify'
20738
 
     || lk == 93460                 // '{' 'module'
20739
 
     || lk == 94484                 // '{' 'namespace'
20740
 
     || lk == 94996                 // '{' 'namespace-node'
20741
 
     || lk == 95508                 // '{' 'ne'
20742
 
     || lk == 98068                 // '{' 'node'
20743
 
     || lk == 98580                 // '{' 'nodes'
20744
 
     || lk == 99604                 // '{' 'object'
20745
 
     || lk == 101652                // '{' 'only'
20746
 
     || lk == 102164                // '{' 'option'
20747
 
     || lk == 102676                // '{' 'or'
20748
 
     || lk == 103188                // '{' 'order'
20749
 
     || lk == 103700                // '{' 'ordered'
20750
 
     || lk == 104212                // '{' 'ordering'
20751
 
     || lk == 105748                // '{' 'parent'
20752
 
     || lk == 108820                // '{' 'preceding'
20753
 
     || lk == 109332                // '{' 'preceding-sibling'
20754
 
     || lk == 110868                // '{' 'processing-instruction'
20755
 
     || lk == 111892                // '{' 'rename'
20756
 
     || lk == 112404                // '{' 'replace'
20757
 
     || lk == 112916                // '{' 'return'
20758
 
     || lk == 113428                // '{' 'returning'
20759
 
     || lk == 113940                // '{' 'revalidation'
20760
 
     || lk == 114964                // '{' 'satisfies'
20761
 
     || lk == 115476                // '{' 'schema'
20762
 
     || lk == 115988                // '{' 'schema-attribute'
20763
 
     || lk == 116500                // '{' 'schema-element'
20764
 
     || lk == 117012                // '{' 'score'
20765
 
     || lk == 117524                // '{' 'self'
20766
 
     || lk == 120084                // '{' 'sliding'
20767
 
     || lk == 120596                // '{' 'some'
20768
 
     || lk == 121108                // '{' 'stable'
20769
 
     || lk == 121620                // '{' 'start'
20770
 
     || lk == 123156                // '{' 'strict'
20771
 
     || lk == 124692                // '{' 'switch'
20772
 
     || lk == 125204                // '{' 'text'
20773
 
     || lk == 127252                // '{' 'to'
20774
 
     || lk == 127764                // '{' 'treat'
20775
 
     || lk == 128276                // '{' 'try'
20776
 
     || lk == 128788                // '{' 'tumbling'
20777
 
     || lk == 129300                // '{' 'type'
20778
 
     || lk == 129812                // '{' 'typeswitch'
20779
 
     || lk == 130324                // '{' 'union'
20780
 
     || lk == 131348                // '{' 'unordered'
20781
 
     || lk == 131860                // '{' 'updating'
20782
 
     || lk == 133396                // '{' 'validate'
20783
 
     || lk == 133908                // '{' 'value'
20784
 
     || lk == 134420                // '{' 'variable'
20785
 
     || lk == 134932                // '{' 'version'
20786
 
     || lk == 136468                // '{' 'where'
20787
 
     || lk == 136980                // '{' 'while'
20788
 
     || lk == 138516                // '{' 'with'
20789
 
     || lk == 140564                // '{' 'xquery'
20790
 
     || lk == 141588                // '{' '{'
20791
 
     || lk == 142612                // '{' '{|'
20792
 
     || lk == 144660)               // '{' '}'
20793
 
    {
20794
 
      lk = memoized(12, e0);
20795
 
      if (lk == 0)
20796
 
      {
20797
 
        var b0A = b0; var e0A = e0; var l1A = l1;
20798
 
        var b1A = b1; var e1A = e1; var l2A = l2;
20799
 
        var b2A = b2; var e2A = e2;
20800
 
        try
20801
 
        {
20802
 
          try_BlockExpr();
20803
 
          memoize(12, e0A, -10);
20804
 
          lk = -14;
20805
 
        }
20806
 
        catch (p10A)
20807
 
        {
20808
 
          lk = -11;
20809
 
          b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
20810
 
          b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
20811
 
          b2 = b2A; e2 = e2A; end = e2A; }}
20812
 
          memoize(12, e0A, -11);
20813
 
        }
20814
 
      }
20815
 
    }
20816
 
    switch (lk)
20817
 
    {
20818
 
    case 8:                         // IntegerLiteral
20819
 
    case 9:                         // DecimalLiteral
20820
 
    case 10:                        // DoubleLiteral
20821
 
    case 11:                        // StringLiteral
20822
 
      try_Literal();
20823
 
      break;
20824
 
    case 31:                        // '$'
20825
 
      try_VarRef();
20826
 
      break;
20827
 
    case 34:                        // '('
20828
 
      try_ParenthesizedExpr();
20829
 
      break;
20830
 
    case 44:                        // '.'
20831
 
      try_ContextItemExpr();
20832
 
      break;
20833
 
    case 17414:                     // EQName^Token '('
20834
 
    case 17478:                     // 'after' '('
20835
 
    case 17480:                     // 'allowing' '('
20836
 
    case 17481:                     // 'ancestor' '('
20837
 
    case 17482:                     // 'ancestor-or-self' '('
20838
 
    case 17483:                     // 'and' '('
20839
 
    case 17486:                     // 'array' '('
20840
 
    case 17487:                     // 'as' '('
20841
 
    case 17488:                     // 'ascending' '('
20842
 
    case 17489:                     // 'at' '('
20843
 
    case 17491:                     // 'base-uri' '('
20844
 
    case 17492:                     // 'before' '('
20845
 
    case 17493:                     // 'boundary-space' '('
20846
 
    case 17494:                     // 'break' '('
20847
 
    case 17496:                     // 'case' '('
20848
 
    case 17497:                     // 'cast' '('
20849
 
    case 17498:                     // 'castable' '('
20850
 
    case 17499:                     // 'catch' '('
20851
 
    case 17501:                     // 'child' '('
20852
 
    case 17502:                     // 'collation' '('
20853
 
    case 17505:                     // 'constraint' '('
20854
 
    case 17506:                     // 'construction' '('
20855
 
    case 17509:                     // 'context' '('
20856
 
    case 17510:                     // 'continue' '('
20857
 
    case 17511:                     // 'copy' '('
20858
 
    case 17512:                     // 'copy-namespaces' '('
20859
 
    case 17513:                     // 'count' '('
20860
 
    case 17514:                     // 'decimal-format' '('
20861
 
    case 17516:                     // 'declare' '('
20862
 
    case 17517:                     // 'default' '('
20863
 
    case 17518:                     // 'delete' '('
20864
 
    case 17519:                     // 'descendant' '('
20865
 
    case 17520:                     // 'descendant-or-self' '('
20866
 
    case 17521:                     // 'descending' '('
20867
 
    case 17526:                     // 'div' '('
20868
 
    case 17527:                     // 'document' '('
20869
 
    case 17530:                     // 'else' '('
20870
 
    case 17531:                     // 'empty' '('
20871
 
    case 17533:                     // 'encoding' '('
20872
 
    case 17534:                     // 'end' '('
20873
 
    case 17536:                     // 'eq' '('
20874
 
    case 17537:                     // 'every' '('
20875
 
    case 17539:                     // 'except' '('
20876
 
    case 17540:                     // 'exit' '('
20877
 
    case 17541:                     // 'external' '('
20878
 
    case 17542:                     // 'first' '('
20879
 
    case 17543:                     // 'following' '('
20880
 
    case 17544:                     // 'following-sibling' '('
20881
 
    case 17545:                     // 'for' '('
20882
 
    case 17549:                     // 'ft-option' '('
20883
 
    case 17554:                     // 'ge' '('
20884
 
    case 17556:                     // 'group' '('
20885
 
    case 17558:                     // 'gt' '('
20886
 
    case 17559:                     // 'idiv' '('
20887
 
    case 17561:                     // 'import' '('
20888
 
    case 17562:                     // 'in' '('
20889
 
    case 17563:                     // 'index' '('
20890
 
    case 17567:                     // 'insert' '('
20891
 
    case 17568:                     // 'instance' '('
20892
 
    case 17569:                     // 'integrity' '('
20893
 
    case 17570:                     // 'intersect' '('
20894
 
    case 17571:                     // 'into' '('
20895
 
    case 17572:                     // 'is' '('
20896
 
    case 17575:                     // 'json-item' '('
20897
 
    case 17578:                     // 'last' '('
20898
 
    case 17579:                     // 'lax' '('
20899
 
    case 17580:                     // 'le' '('
20900
 
    case 17582:                     // 'let' '('
20901
 
    case 17584:                     // 'loop' '('
20902
 
    case 17586:                     // 'lt' '('
20903
 
    case 17588:                     // 'mod' '('
20904
 
    case 17589:                     // 'modify' '('
20905
 
    case 17590:                     // 'module' '('
20906
 
    case 17592:                     // 'namespace' '('
20907
 
    case 17594:                     // 'ne' '('
20908
 
    case 17600:                     // 'nodes' '('
20909
 
    case 17602:                     // 'object' '('
20910
 
    case 17606:                     // 'only' '('
20911
 
    case 17607:                     // 'option' '('
20912
 
    case 17608:                     // 'or' '('
20913
 
    case 17609:                     // 'order' '('
20914
 
    case 17610:                     // 'ordered' '('
20915
 
    case 17611:                     // 'ordering' '('
20916
 
    case 17614:                     // 'parent' '('
20917
 
    case 17620:                     // 'preceding' '('
20918
 
    case 17621:                     // 'preceding-sibling' '('
20919
 
    case 17626:                     // 'rename' '('
20920
 
    case 17627:                     // 'replace' '('
20921
 
    case 17628:                     // 'return' '('
20922
 
    case 17629:                     // 'returning' '('
20923
 
    case 17630:                     // 'revalidation' '('
20924
 
    case 17632:                     // 'satisfies' '('
20925
 
    case 17633:                     // 'schema' '('
20926
 
    case 17636:                     // 'score' '('
20927
 
    case 17637:                     // 'self' '('
20928
 
    case 17642:                     // 'sliding' '('
20929
 
    case 17643:                     // 'some' '('
20930
 
    case 17644:                     // 'stable' '('
20931
 
    case 17645:                     // 'start' '('
20932
 
    case 17648:                     // 'strict' '('
20933
 
    case 17656:                     // 'to' '('
20934
 
    case 17657:                     // 'treat' '('
20935
 
    case 17658:                     // 'try' '('
20936
 
    case 17659:                     // 'tumbling' '('
20937
 
    case 17660:                     // 'type' '('
20938
 
    case 17662:                     // 'union' '('
20939
 
    case 17664:                     // 'unordered' '('
20940
 
    case 17665:                     // 'updating' '('
20941
 
    case 17668:                     // 'validate' '('
20942
 
    case 17669:                     // 'value' '('
20943
 
    case 17670:                     // 'variable' '('
20944
 
    case 17671:                     // 'version' '('
20945
 
    case 17674:                     // 'where' '('
20946
 
    case 17675:                     // 'while' '('
20947
 
    case 17678:                     // 'with' '('
20948
 
    case 17682:                     // 'xquery' '('
20949
 
      try_FunctionCall();
20950
 
      break;
20951
 
    case 141514:                    // 'ordered' '{'
20952
 
      try_OrderedExpr();
20953
 
      break;
20954
 
    case 141568:                    // 'unordered' '{'
20955
 
      try_UnorderedExpr();
20956
 
      break;
20957
 
    case 32:                        // '%'
20958
 
    case 120:                       // 'document-node'
20959
 
    case 124:                       // 'empty-sequence'
20960
 
    case 145:                       // 'function'
20961
 
    case 152:                       // 'if'
20962
 
    case 165:                       // 'item'
20963
 
    case 185:                       // 'namespace-node'
20964
 
    case 191:                       // 'node'
20965
 
    case 226:                       // 'schema-attribute'
20966
 
    case 227:                       // 'schema-element'
20967
 
    case 243:                       // 'switch'
20968
 
    case 253:                       // 'typeswitch'
20969
 
    case 14854:                     // EQName^Token '#'
20970
 
    case 14918:                     // 'after' '#'
20971
 
    case 14920:                     // 'allowing' '#'
20972
 
    case 14921:                     // 'ancestor' '#'
20973
 
    case 14922:                     // 'ancestor-or-self' '#'
20974
 
    case 14923:                     // 'and' '#'
20975
 
    case 14926:                     // 'array' '#'
20976
 
    case 14927:                     // 'as' '#'
20977
 
    case 14928:                     // 'ascending' '#'
20978
 
    case 14929:                     // 'at' '#'
20979
 
    case 14930:                     // 'attribute' '#'
20980
 
    case 14931:                     // 'base-uri' '#'
20981
 
    case 14932:                     // 'before' '#'
20982
 
    case 14933:                     // 'boundary-space' '#'
20983
 
    case 14934:                     // 'break' '#'
20984
 
    case 14936:                     // 'case' '#'
20985
 
    case 14937:                     // 'cast' '#'
20986
 
    case 14938:                     // 'castable' '#'
20987
 
    case 14939:                     // 'catch' '#'
20988
 
    case 14941:                     // 'child' '#'
20989
 
    case 14942:                     // 'collation' '#'
20990
 
    case 14944:                     // 'comment' '#'
20991
 
    case 14945:                     // 'constraint' '#'
20992
 
    case 14946:                     // 'construction' '#'
20993
 
    case 14949:                     // 'context' '#'
20994
 
    case 14950:                     // 'continue' '#'
20995
 
    case 14951:                     // 'copy' '#'
20996
 
    case 14952:                     // 'copy-namespaces' '#'
20997
 
    case 14953:                     // 'count' '#'
20998
 
    case 14954:                     // 'decimal-format' '#'
20999
 
    case 14956:                     // 'declare' '#'
21000
 
    case 14957:                     // 'default' '#'
21001
 
    case 14958:                     // 'delete' '#'
21002
 
    case 14959:                     // 'descendant' '#'
21003
 
    case 14960:                     // 'descendant-or-self' '#'
21004
 
    case 14961:                     // 'descending' '#'
21005
 
    case 14966:                     // 'div' '#'
21006
 
    case 14967:                     // 'document' '#'
21007
 
    case 14969:                     // 'element' '#'
21008
 
    case 14970:                     // 'else' '#'
21009
 
    case 14971:                     // 'empty' '#'
21010
 
    case 14973:                     // 'encoding' '#'
21011
 
    case 14974:                     // 'end' '#'
21012
 
    case 14976:                     // 'eq' '#'
21013
 
    case 14977:                     // 'every' '#'
21014
 
    case 14979:                     // 'except' '#'
21015
 
    case 14980:                     // 'exit' '#'
21016
 
    case 14981:                     // 'external' '#'
21017
 
    case 14982:                     // 'first' '#'
21018
 
    case 14983:                     // 'following' '#'
21019
 
    case 14984:                     // 'following-sibling' '#'
21020
 
    case 14985:                     // 'for' '#'
21021
 
    case 14989:                     // 'ft-option' '#'
21022
 
    case 14994:                     // 'ge' '#'
21023
 
    case 14996:                     // 'group' '#'
21024
 
    case 14998:                     // 'gt' '#'
21025
 
    case 14999:                     // 'idiv' '#'
21026
 
    case 15001:                     // 'import' '#'
21027
 
    case 15002:                     // 'in' '#'
21028
 
    case 15003:                     // 'index' '#'
21029
 
    case 15007:                     // 'insert' '#'
21030
 
    case 15008:                     // 'instance' '#'
21031
 
    case 15009:                     // 'integrity' '#'
21032
 
    case 15010:                     // 'intersect' '#'
21033
 
    case 15011:                     // 'into' '#'
21034
 
    case 15012:                     // 'is' '#'
21035
 
    case 15015:                     // 'json-item' '#'
21036
 
    case 15018:                     // 'last' '#'
21037
 
    case 15019:                     // 'lax' '#'
21038
 
    case 15020:                     // 'le' '#'
21039
 
    case 15022:                     // 'let' '#'
21040
 
    case 15024:                     // 'loop' '#'
21041
 
    case 15026:                     // 'lt' '#'
21042
 
    case 15028:                     // 'mod' '#'
21043
 
    case 15029:                     // 'modify' '#'
21044
 
    case 15030:                     // 'module' '#'
21045
 
    case 15032:                     // 'namespace' '#'
21046
 
    case 15034:                     // 'ne' '#'
21047
 
    case 15040:                     // 'nodes' '#'
21048
 
    case 15042:                     // 'object' '#'
21049
 
    case 15046:                     // 'only' '#'
21050
 
    case 15047:                     // 'option' '#'
21051
 
    case 15048:                     // 'or' '#'
21052
 
    case 15049:                     // 'order' '#'
21053
 
    case 15050:                     // 'ordered' '#'
21054
 
    case 15051:                     // 'ordering' '#'
21055
 
    case 15054:                     // 'parent' '#'
21056
 
    case 15060:                     // 'preceding' '#'
21057
 
    case 15061:                     // 'preceding-sibling' '#'
21058
 
    case 15064:                     // 'processing-instruction' '#'
21059
 
    case 15066:                     // 'rename' '#'
21060
 
    case 15067:                     // 'replace' '#'
21061
 
    case 15068:                     // 'return' '#'
21062
 
    case 15069:                     // 'returning' '#'
21063
 
    case 15070:                     // 'revalidation' '#'
21064
 
    case 15072:                     // 'satisfies' '#'
21065
 
    case 15073:                     // 'schema' '#'
21066
 
    case 15076:                     // 'score' '#'
21067
 
    case 15077:                     // 'self' '#'
21068
 
    case 15082:                     // 'sliding' '#'
21069
 
    case 15083:                     // 'some' '#'
21070
 
    case 15084:                     // 'stable' '#'
21071
 
    case 15085:                     // 'start' '#'
21072
 
    case 15088:                     // 'strict' '#'
21073
 
    case 15092:                     // 'text' '#'
21074
 
    case 15096:                     // 'to' '#'
21075
 
    case 15097:                     // 'treat' '#'
21076
 
    case 15098:                     // 'try' '#'
21077
 
    case 15099:                     // 'tumbling' '#'
21078
 
    case 15100:                     // 'type' '#'
21079
 
    case 15102:                     // 'union' '#'
21080
 
    case 15104:                     // 'unordered' '#'
21081
 
    case 15105:                     // 'updating' '#'
21082
 
    case 15108:                     // 'validate' '#'
21083
 
    case 15109:                     // 'value' '#'
21084
 
    case 15110:                     // 'variable' '#'
21085
 
    case 15111:                     // 'version' '#'
21086
 
    case 15114:                     // 'where' '#'
21087
 
    case 15115:                     // 'while' '#'
21088
 
    case 15118:                     // 'with' '#'
21089
 
    case 15122:                     // 'xquery' '#'
21090
 
      try_FunctionItemExpr();
21091
 
      break;
21092
 
    case -10:
21093
 
      try_BlockExpr();
21094
 
      break;
21095
 
    case -11:
21096
 
      try_ObjectConstructor();
21097
 
      break;
21098
 
    case 68:                        // '['
21099
 
      try_ArrayConstructor();
21100
 
      break;
21101
 
    case 278:                       // '{|'
21102
 
      try_JSONSimpleObjectUnion();
21103
 
      break;
21104
 
    case -14:
21105
 
      break;
21106
 
    default:
21107
 
      try_Constructor();
21108
 
    }
21109
 
  }
21110
 
 
21111
 
  function parse_JSONSimpleObjectUnion()
21112
 
  {
21113
 
    eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
21114
 
    shift(278);                     // '{|'
21115
 
    lookahead1W(272);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21116
 
    if (l1 != 281)                  // '|}'
21117
 
    {
21118
 
      whitespace();
21119
 
      parse_Expr();
21120
 
    }
21121
 
    shift(281);                     // '|}'
21122
 
    eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
21123
 
  }
21124
 
 
21125
 
  function try_JSONSimpleObjectUnion()
21126
 
  {
21127
 
    shiftT(278);                    // '{|'
21128
 
    lookahead1W(272);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21129
 
    if (l1 != 281)                  // '|}'
21130
 
    {
21131
 
      try_Expr();
21132
 
    }
21133
 
    shiftT(281);                    // '|}'
21134
 
  }
21135
 
 
21136
 
  function parse_ObjectConstructor()
21137
 
  {
21138
 
    eventHandler.startNonterminal("ObjectConstructor", e0);
21139
 
    shift(276);                     // '{'
21140
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21141
 
    if (l1 != 282)                  // '}'
21142
 
    {
21143
 
      whitespace();
21144
 
      parse_PairConstructor();
21145
 
      for (;;)
21146
 
      {
21147
 
        if (l1 != 41)               // ','
21148
 
        {
21149
 
          break;
21150
 
        }
21151
 
        shift(41);                  // ','
21152
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21153
 
        whitespace();
21154
 
        parse_PairConstructor();
21155
 
      }
21156
 
    }
21157
 
    shift(282);                     // '}'
21158
 
    eventHandler.endNonterminal("ObjectConstructor", e0);
21159
 
  }
21160
 
 
21161
 
  function try_ObjectConstructor()
21162
 
  {
21163
 
    shiftT(276);                    // '{'
21164
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21165
 
    if (l1 != 282)                  // '}'
21166
 
    {
21167
 
      try_PairConstructor();
21168
 
      for (;;)
21169
 
      {
21170
 
        if (l1 != 41)               // ','
21171
 
        {
21172
 
          break;
21173
 
        }
21174
 
        shiftT(41);                 // ','
21175
 
        lookahead1W(267);           // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21176
 
        try_PairConstructor();
21177
 
      }
21178
 
    }
21179
 
    shiftT(282);                    // '}'
21180
 
  }
21181
 
 
21182
 
  function parse_PairConstructor()
21183
 
  {
21184
 
    eventHandler.startNonterminal("PairConstructor", e0);
21185
 
    parse_ExprSingle();
21186
 
    shift(49);                      // ':'
21187
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21188
 
    whitespace();
21189
 
    parse_ExprSingle();
21190
 
    eventHandler.endNonterminal("PairConstructor", e0);
21191
 
  }
21192
 
 
21193
 
  function try_PairConstructor()
21194
 
  {
21195
 
    try_ExprSingle();
21196
 
    shiftT(49);                     // ':'
21197
 
    lookahead1W(267);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21198
 
    try_ExprSingle();
21199
 
  }
21200
 
 
21201
 
  function parse_ArrayConstructor()
21202
 
  {
21203
 
    eventHandler.startNonterminal("ArrayConstructor", e0);
21204
 
    shift(68);                      // '['
21205
 
    lookahead1W(271);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21206
 
    if (l1 != 69)                   // ']'
21207
 
    {
21208
 
      whitespace();
21209
 
      parse_Expr();
21210
 
    }
21211
 
    shift(69);                      // ']'
21212
 
    eventHandler.endNonterminal("ArrayConstructor", e0);
21213
 
  }
21214
 
 
21215
 
  function try_ArrayConstructor()
21216
 
  {
21217
 
    shiftT(68);                     // '['
21218
 
    lookahead1W(271);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21219
 
    if (l1 != 69)                   // ']'
21220
 
    {
21221
 
      try_Expr();
21222
 
    }
21223
 
    shiftT(69);                     // ']'
21224
 
  }
21225
 
 
21226
 
  function parse_BlockExpr()
21227
 
  {
21228
 
    eventHandler.startNonterminal("BlockExpr", e0);
21229
 
    shift(276);                     // '{'
21230
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21231
 
    whitespace();
21232
 
    parse_StatementsAndOptionalExpr();
21233
 
    shift(282);                     // '}'
21234
 
    eventHandler.endNonterminal("BlockExpr", e0);
21235
 
  }
21236
 
 
21237
 
  function try_BlockExpr()
21238
 
  {
21239
 
    shiftT(276);                    // '{'
21240
 
    lookahead1W(273);               // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21241
 
    try_StatementsAndOptionalExpr();
21242
 
    shiftT(282);                    // '}'
21243
 
  }
21244
 
 
21245
 
  function parse_FunctionDecl()
21246
 
  {
21247
 
    eventHandler.startNonterminal("FunctionDecl", e0);
21248
 
    shift(145);                     // 'function'
21249
 
    lookahead1W(253);               // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
21250
 
    whitespace();
21251
 
    parse_EQName();
21252
 
    lookahead1W(22);                // S^WS | '(' | '(:'
21253
 
    shift(34);                      // '('
21254
 
    lookahead1W(94);                // S^WS | '$' | '(:' | ')'
21255
 
    if (l1 == 31)                   // '$'
21256
 
    {
21257
 
      whitespace();
21258
 
      parse_ParamList();
21259
 
    }
21260
 
    shift(37);                      // ')'
21261
 
    lookahead1W(148);               // S^WS | '(:' | 'as' | 'external' | '{'
21262
 
    if (l1 == 79)                   // 'as'
21263
 
    {
21264
 
      shift(79);                    // 'as'
21265
 
      lookahead1W(259);             // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
21266
 
      whitespace();
21267
 
      parse_SequenceType();
21268
 
    }
21269
 
    lookahead1W(118);               // S^WS | '(:' | 'external' | '{'
21270
 
    switch (l1)
21271
 
    {
21272
 
    case 276:                       // '{'
21273
 
      shift(276);                   // '{'
21274
 
      lookahead1W(273);             // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
21275
 
      whitespace();
21276
 
      parse_StatementsAndOptionalExpr();
21277
 
      shift(282);                   // '}'
21278
 
      break;
21279
 
    default:
21280
 
      shift(133);                   // 'external'
21281
 
    }
21282
 
    eventHandler.endNonterminal("FunctionDecl", e0);
21283
 
  }
21284
 
 
21285
 
  var lk, b0, e0;
21286
 
  var l1, b1, e1;
21287
 
  var l2, b2, e2;
21288
 
  var bx, ex, sx, lx, tx;
21289
 
  var eventHandler;
21290
 
  var memo;
21291
 
 
21292
 
  function memoize(i, e, v)
21293
 
  {
21294
 
    memo[(e << 4) + i] = v;
21295
 
  }
21296
 
 
21297
 
  function memoized(i, e)
21298
 
  {
21299
 
    var v = memo[(e << 4) + i];
21300
 
    return typeof v != "undefined" ? v : 0;
21301
 
  }
21302
 
 
21303
 
  function error(b, e, s, l, t)
21304
 
  {
21305
 
    if (e > ex)
21306
 
    {
21307
 
      bx = b;
21308
 
      ex = e;
21309
 
      sx = s;
21310
 
      lx = l;
21311
 
      tx = t;
21312
 
    }
21313
 
    throw new self.ParseException(bx, ex, sx, lx, tx);
21314
 
  }
21315
 
 
21316
 
  function shift(t)
21317
 
  {
21318
 
    if (l1 == t)
21319
 
    {
21320
 
      whitespace();
21321
 
      eventHandler.terminal(XQueryParser.TOKEN[l1], b1, e1 > size ? size : e1);
21322
 
      b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
21323
 
      b1 = b2; e1 = e2; l2 = 0; }
21324
 
    }
21325
 
    else
21326
 
    {
21327
 
      error(b1, e1, 0, l1, t);
21328
 
    }
21329
 
  }
21330
 
 
21331
 
  function shiftT(t)
21332
 
  {
21333
 
    if (l1 == t)
21334
 
    {
21335
 
      b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
21336
 
      b1 = b2; e1 = e2; l2 = 0; }
21337
 
    }
21338
 
    else
21339
 
    {
21340
 
      error(b1, e1, 0, l1, t);
21341
 
    }
21342
 
  }
21343
 
 
21344
 
  function skip(code)
21345
 
  {
21346
 
    var b0W = b0; var e0W = e0; var l1W = l1;
21347
 
    var b1W = b1; var e1W = e1;
21348
 
 
21349
 
    l1 = code; b1 = begin; e1 = end;
21350
 
    l2 = 0;
21351
 
 
21352
 
    try_Whitespace();
21353
 
 
21354
 
    b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
21355
 
    b1 = b1W; e1 = e1W; }
21356
 
  }
21357
 
 
21358
 
  function whitespace()
21359
 
  {
21360
 
    if (e0 != b1)
21361
 
    {
21362
 
      b0 = e0;
21363
 
      e0 = b1;
21364
 
      eventHandler.whitespace(b0, e0);
21365
 
    }
21366
 
  }
21367
 
 
21368
 
  function matchW(set)
21369
 
  {
21370
 
    var code;
21371
 
    for (;;)
21372
 
    {
21373
 
      code = match(set);
21374
 
      if (code != 22)               // S^WS
21375
 
      {
21376
 
        if (code != 36)             // '(:'
21377
 
        {
21378
 
          break;
21379
 
        }
21380
 
        skip(code);
21381
 
      }
21382
 
    }
21383
 
    return code;
21384
 
  }
21385
 
 
21386
 
  function lookahead1W(set)
21387
 
  {
21388
 
    if (l1 == 0)
21389
 
    {
21390
 
      l1 = matchW(set);
21391
 
      b1 = begin;
21392
 
      e1 = end;
21393
 
    }
21394
 
  }
21395
 
 
21396
 
  function lookahead2W(set)
21397
 
  {
21398
 
    if (l2 == 0)
21399
 
    {
21400
 
      l2 = matchW(set);
21401
 
      b2 = begin;
21402
 
      e2 = end;
21403
 
    }
21404
 
    lk = (l2 << 9) | l1;
21405
 
  }
21406
 
 
21407
 
  function lookahead1(set)
21408
 
  {
21409
 
    if (l1 == 0)
21410
 
    {
21411
 
      l1 = match(set);
21412
 
      b1 = begin;
21413
 
      e1 = end;
21414
 
    }
21415
 
  }
21416
 
 
21417
 
  function lookahead2(set)
21418
 
  {
21419
 
    if (l2 == 0)
21420
 
    {
21421
 
      l2 = match(set);
21422
 
      b2 = begin;
21423
 
      e2 = end;
21424
 
    }
21425
 
    lk = (l2 << 9) | l1;
21426
 
  }
21427
 
 
21428
 
  var input;
21429
 
  var size;
21430
 
  var begin;
21431
 
  var end;
21432
 
 
21433
 
  function match(tokenSetId)
21434
 
  {
21435
 
    var nonbmp = false;
21436
 
    begin = end;
21437
 
    var current = end;
21438
 
    var result = XQueryParser.INITIAL[tokenSetId];
21439
 
    var state = 0;
21440
 
 
21441
 
    for (var code = result & 4095; code != 0; )
21442
 
    {
21443
 
      var charclass;
21444
 
      var c0 = current < size ? input.charCodeAt(current) : 0;
21445
 
      ++current;
21446
 
      if (c0 < 0x80)
21447
 
      {
21448
 
        charclass = XQueryParser.MAP0[c0];
21449
 
      }
21450
 
      else if (c0 < 0xd800)
21451
 
      {
21452
 
        var c1 = c0 >> 4;
21453
 
        charclass = XQueryParser.MAP1[(c0 & 15) + XQueryParser.MAP1[(c1 & 31) + XQueryParser.MAP1[c1 >> 5]]];
21454
 
      }
21455
 
      else
21456
 
      {
21457
 
        if (c0 < 0xdc00)
21458
 
        {
21459
 
          var c1 = current < size ? input.charCodeAt(current) : 0;
21460
 
          if (c1 >= 0xdc00 && c1 < 0xe000)
21461
 
          {
21462
 
            ++current;
21463
 
            c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
21464
 
            nonbmp = true;
21465
 
          }
21466
 
        }
21467
 
        var lo = 0, hi = 5;
21468
 
        for (var m = 3; ; m = (hi + lo) >> 1)
21469
 
        {
21470
 
          if (XQueryParser.MAP2[m] > c0) hi = m - 1;
21471
 
          else if (XQueryParser.MAP2[6 + m] < c0) lo = m + 1;
21472
 
          else {charclass = XQueryParser.MAP2[12 + m]; break;}
21473
 
          if (lo > hi) {charclass = 0; break;}
21474
 
        }
21475
 
      }
21476
 
 
21477
 
      state = code;
21478
 
      var i0 = (charclass << 12) + code - 1;
21479
 
      code = XQueryParser.TRANSITION[(i0 & 15) + XQueryParser.TRANSITION[i0 >> 4]];
21480
 
 
21481
 
      if (code > 4095)
21482
 
      {
21483
 
        result = code;
21484
 
        code &= 4095;
21485
 
        end = current;
21486
 
      }
21487
 
    }
21488
 
 
21489
 
    result >>= 12;
21490
 
    if (result == 0)
21491
 
    {
21492
 
      end = current - 1;
21493
 
      var c1 = end < size ? input.charCodeAt(end) : 0;
21494
 
      if (c1 >= 0xdc00 && c1 < 0xe000) --end;
21495
 
      return error(begin, end, state, -1, -1);
21496
 
    }
21497
 
 
21498
 
    if (nonbmp)
21499
 
    {
21500
 
      for (var i = result >> 9; i > 0; --i)
21501
 
      {
21502
 
        --end;
21503
 
        var c1 = end < size ? input.charCodeAt(end) : 0;
21504
 
        if (c1 >= 0xdc00 && c1 < 0xe000) --end;
21505
 
      }
21506
 
    }
21507
 
    else
21508
 
    {
21509
 
      end -= result >> 9;
21510
 
    }
21511
 
 
21512
 
    return (result & 511) - 1;
21513
 
  }
21514
 
}
21515
 
 
21516
 
XQueryParser.getTokenSet = function(tokenSetId)
21517
 
{
21518
 
  var set = [];
21519
 
  var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
21520
 
  for (var i = 0; i < 284; i += 32)
21521
 
  {
21522
 
    var j = i;
21523
 
    var i0 = (i >> 5) * 3684 + s - 1;
21524
 
    var i1 = i0 >> 2;
21525
 
    var i2 = i1 >> 2;
21526
 
    var f = XQueryParser.EXPECTED[(i0 & 3) + XQueryParser.EXPECTED[(i1 & 3) + XQueryParser.EXPECTED[(i2 & 7) + XQueryParser.EXPECTED[i2 >> 3]]]];
21527
 
    for ( ; f != 0; f >>>= 1, ++j)
21528
 
    {
21529
 
      if ((f & 1) != 0)
21530
 
      {
21531
 
        set.push(XQueryParser.TOKEN[j]);
21532
 
      }
21533
 
    }
21534
 
  }
21535
 
  return set;
21536
 
};
21537
 
 
21538
 
XQueryParser.MAP0 =
21539
 
[ 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
21540
 
];
21541
 
 
21542
 
XQueryParser.MAP1 =
21543
 
[ 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
21544
 
];
21545
 
 
21546
 
XQueryParser.MAP2 =
21547
 
[ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 38, 30, 38, 30, 30, 38
21548
 
];
21549
 
 
21550
 
XQueryParser.INITIAL =
21551
 
[ 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
21552
 
];
21553
 
 
21554
 
XQueryParser.TRANSITION =
21555
 
[ 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22007, 18176, 18196, 18196, 18196, 18203, 18196, 18196, 18196, 18196, 18230, 18196, 18196, 18196, 18196, 18219, 18196, 18180, 18246, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 18411, 20907, 20920, 20932, 20944, 22539, 18416, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 37625, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 21008, 21032, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21632, 21055, 23546, 23546, 23546, 21178, 23546, 23546, 23916, 42362, 21241, 23546, 23546, 23546, 23546, 19298, 47203, 21077, 21110, 23546, 23546, 23546, 35799, 23546, 23546, 21194, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 21229, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21358, 21323, 23546, 23546, 23546, 26152, 23546, 23546, 27593, 23546, 21369, 29482, 21257, 21282, 21273, 21304, 21317, 21346, 20967, 23546, 23546, 23546, 28947, 23546, 23546, 21385, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 20711, 21423, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 21446, 26048, 18745, 18766, 18771, 20561, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23540, 23546, 23546, 23546, 25880, 23545, 23546, 31245, 23546, 21468, 23534, 21504, 23546, 21511, 23546, 21527, 21539, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 21567, 23546, 23546, 23546, 31874, 23546, 23546, 21586, 23546, 23546, 21608, 21620, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 35211, 23546, 23546, 23546, 23546, 23546, 23546, 23424, 21648, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 21681, 18544, 18567, 18590, 50977, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21736, 21705, 23546, 23546, 23546, 44539, 23546, 23546, 24265, 25689, 25607, 23546, 23546, 23546, 23546, 26450, 47502, 21724, 21752, 23546, 23546, 23546, 35799, 23546, 23546, 21783, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 20237, 21819, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21551, 21857, 21913, 21913, 21913, 21864, 21908, 21913, 21918, 21967, 21842, 21949, 21880, 21961, 21896, 21934, 21983, 21995, 20967, 23546, 23546, 23546, 26225, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 22023, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 28636, 23546, 23546, 23546, 25912, 50946, 23546, 50080, 50952, 21369, 28635, 23546, 22054, 22060, 22076, 22111, 22121, 22137, 23546, 23546, 23546, 30755, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 22183, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 27655, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 51066, 39748, 22869, 22242, 22228, 22245, 22261, 22277, 22288, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 20285, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 18648, 40763, 24585, 22304, 22324, 22304, 22338, 24585, 22308, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 22361, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 22386, 23546, 23546, 23546, 25841, 18403, 23546, 19576, 22382, 44281, 22402, 22429, 22434, 22434, 22450, 22385, 22413, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22473, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 25653, 22498, 22518, 22498, 22532, 25653, 22502, 22555, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27132, 23546, 42897, 23546, 44844, 38626, 22584, 22361, 37471, 23546, 23546, 23546, 23546, 22587, 47563, 46856, 47563, 47563, 22603, 35356, 22824, 22824, 34828, 22804, 22621, 22804, 22804, 33187, 36943, 23546, 23546, 23546, 23546, 23546, 26071, 23546, 22641, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 43701, 32739, 23546, 23546, 23546, 23546, 23546, 29474, 22702, 23546, 33124, 44563, 47563, 47563, 47563, 47564, 22719, 35350, 22824, 22764, 22824, 22767, 35689, 22783, 22804, 22803, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 27587, 23546, 23546, 47562, 46826, 47563, 47563, 27195, 22821, 42846, 22824, 22824, 22824, 30376, 22804, 22841, 22804, 22804, 29883, 33199, 23546, 23546, 21430, 23546, 49502, 48973, 47563, 47563, 36153, 45209, 22824, 22824, 39816, 27834, 22804, 22804, 43796, 30403, 39964, 23546, 23546, 22861, 23546, 47560, 22885, 47563, 23113, 22903, 22824, 33078, 22920, 22804, 38116, 23546, 23546, 22937, 29174, 22980, 47563, 34384, 42527, 22825, 23019, 22804, 31964, 47447, 46606, 23083, 36624, 23105, 32340, 30673, 23131, 36549, 23164, 40907, 43074, 23200, 23229, 23275, 36645, 36686, 33550, 48975, 23107, 30672, 23141, 39417, 23313, 23334, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 24855, 21369, 23546, 23546, 23546, 23546, 23546, 20980, 20992, 23383, 23546, 23546, 23546, 35799, 23546, 23546, 23420, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 23440, 27132, 23546, 23546, 23546, 44844, 23546, 23546, 18368, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 22603, 22824, 22824, 22824, 34828, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 26071, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23485, 23546, 23546, 23546, 26606, 23546, 23546, 23546, 23546, 21369, 28080, 23505, 23528, 23563, 23575, 28081, 23512, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 30821, 23546, 37478, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23598, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23184, 21369, 23546, 23546, 23546, 23546, 23546, 22653, 22665, 23615, 23546, 23546, 23546, 35799, 23546, 23546, 23644, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 23664, 27132, 23546, 23546, 23546, 44844, 23546, 23546, 23688, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 22603, 22824, 22824, 22824, 34828, 22804, 22804, 22804, 22804, 39677, 48779, 23733, 23546, 23546, 23546, 23546, 34921, 23753, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 23777, 48792, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 41753, 22821, 22824, 22824, 22824, 22824, 44122, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 34866, 22821, 22824, 22824, 22824, 22824, 23826, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 39721, 23546, 23546, 23546, 30797, 25982, 23546, 23546, 23849, 21369, 20313, 44188, 23887, 23893, 23909, 23546, 49114, 23932, 23546, 23546, 23546, 36603, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 24187, 24465, 24820, 25200, 24258, 18282, 18849, 18305, 23964, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 23993, 24116, 24017, 24046, 24001, 24088, 25090, 24132, 24812, 24103, 24159, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 24182, 25436, 24884, 24206, 24190, 24890, 24819, 24363, 24227, 24819, 24414, 24143, 25214, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 24243, 24030, 25425, 24281, 24706, 24308, 24337, 24350, 24389, 24405, 24517, 24423, 25208, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 24439, 19364, 24455, 25063, 24489, 24505, 24533, 25266, 24373, 24545, 24561, 24577, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 19809, 24679, 24601, 25048, 19406, 24473, 24617, 25251, 25017, 24736, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 24633, 24673, 24695, 24722, 24779, 24801, 24836, 23977, 20842, 20016, 18679, 20827, 20042, 24871, 24906, 24935, 24951, 25006, 25411, 25295, 20159, 20175, 20206, 25033, 24292, 25079, 25281, 25106, 20376, 20392, 19394, 24919, 24657, 20462, 19676, 24211, 24785, 32258, 19353, 24647, 24966, 20473, 24060, 25136, 20616, 25172, 25188, 25236, 24072, 25311, 25362, 25396, 25452, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 21328, 23546, 23546, 23546, 25841, 25477, 23546, 23546, 25472, 32915, 25493, 25501, 25501, 25501, 25517, 21330, 25540, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 25581, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20499, 25597, 18792, 18808, 18830, 23628, 18814, 25623, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 21016, 25645, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 25669, 25705, 25721, 19477, 25754, 19498, 25737, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 18708, 21452, 19692, 19708, 20143, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 50535, 23259, 25770, 25770, 25770, 25779, 21123, 21135, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 25220, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 25802, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21147, 20888, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 22959, 25825, 25825, 25825, 25834, 20891, 22964, 25857, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 27140, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 25873, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25552, 25561, 23546, 23546, 23546, 26852, 23546, 23546, 23546, 23546, 21369, 33245, 25896, 25896, 25896, 25905, 36950, 33250, 25928, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 22366, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 25964, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 25998, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 26099, 23546, 23546, 23546, 23546, 25841, 21661, 23546, 23546, 21094, 43925, 23546, 23546, 23546, 21665, 26069, 21092, 26087, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 31389, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 26115, 26145, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 23546, 43987, 26168, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 26285, 23546, 23546, 47562, 47563, 47563, 47563, 29369, 22821, 22824, 22824, 22824, 22824, 28821, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 26302, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 29369, 22821, 22824, 22824, 22824, 22824, 28821, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 26321, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 29369, 22821, 22824, 22824, 22824, 22824, 28821, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 19867, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 29369, 22821, 22824, 22824, 22824, 22824, 28821, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 26341, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 26341, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 29369, 22821, 22824, 22824, 22824, 22824, 28821, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 23049, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26364, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 19293, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 31312, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 37937, 26399, 26410, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 26426, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 26445, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 41698, 26466, 26486, 26508, 26520, 41701, 26470, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 38227, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 26543, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 23546, 23546, 23424, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 28554, 23546, 26577, 26583, 26599, 47449, 44239, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 26622, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 26638, 20392, 51127, 20418, 50802, 26654, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 27306, 23546, 23546, 23546, 26527, 26683, 26714, 28322, 26699, 26731, 50814, 50823, 26775, 26789, 26801, 26817, 26829, 26204, 26845, 23599, 23546, 25326, 21171, 35898, 34903, 26868, 26909, 26948, 33311, 26979, 26959, 26995, 27011, 45967, 27047, 27063, 27101, 27117, 34536, 27156, 23546, 23546, 44844, 41240, 34846, 23546, 42415, 27173, 27664, 23546, 42356, 28101, 47563, 47563, 47563, 27192, 27418, 22824, 22824, 42533, 43762, 22804, 22804, 22804, 27211, 27231, 36943, 23546, 44839, 40944, 23546, 27267, 27287, 46640, 23546, 27304, 35519, 43402, 27322, 27344, 47563, 47563, 27380, 27403, 27436, 31453, 22824, 33011, 27464, 27493, 27533, 27556, 22804, 38069, 35418, 30315, 27573, 26241, 27609, 23546, 44532, 27629, 39107, 50620, 23546, 45009, 27646, 31107, 27698, 47563, 27746, 27765, 23297, 27785, 27825, 36368, 22824, 27859, 48139, 23833, 27991, 44504, 49256, 22804, 43572, 23672, 27877, 42988, 25683, 23546, 27893, 27913, 46094, 23546, 21213, 44018, 47563, 30489, 32462, 27941, 34820, 22824, 45399, 49012, 28821, 27978, 22804, 22804, 28014, 28034, 49064, 28072, 35792, 28097, 51046, 28117, 50856, 22994, 28137, 47563, 41728, 28206, 28229, 22824, 41433, 28267, 28290, 22804, 34572, 28320, 28338, 23546, 23546, 39715, 47560, 28358, 45550, 23113, 28379, 35308, 33078, 28399, 36714, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 41649, 28419, 28455, 40472, 38341, 28471, 38828, 40452, 28791, 24756, 33030, 27540, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 28526, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 34078, 28545, 23546, 28652, 28658, 28674, 28690, 28701, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 26963, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22605, 35842, 45303, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 46230, 50621, 28718, 23546, 28717, 23546, 48975, 47563, 47563, 47563, 27769, 28735, 22823, 22824, 22824, 22824, 49361, 49439, 22804, 22804, 22804, 22804, 28781, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 23672, 23807, 23546, 18289, 23546, 23546, 44779, 49528, 23546, 36898, 47563, 47563, 47563, 40417, 28807, 22824, 22824, 22824, 50340, 31197, 28844, 22804, 22804, 22804, 28863, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 21205, 28900, 28924, 28940, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 28963, 23546, 23546, 26527, 23546, 28992, 23546, 29010, 36977, 29029, 29038, 29054, 29069, 29081, 29097, 29109, 26204, 23546, 23546, 33645, 49739, 23546, 28529, 23546, 23546, 31365, 23546, 23546, 23546, 35995, 23546, 29125, 31167, 22824, 29149, 40337, 48749, 32108, 23546, 29172, 23546, 44844, 29190, 42384, 23546, 31347, 50774, 29209, 23546, 25948, 29214, 29230, 29291, 47563, 47563, 29309, 29325, 22824, 22824, 45608, 49036, 29349, 22804, 22804, 39677, 36943, 30220, 23546, 23546, 47099, 23546, 22095, 50621, 37205, 27682, 23546, 23546, 48975, 28152, 40051, 47563, 29366, 37135, 45217, 46920, 46953, 36665, 22824, 49439, 49901, 29385, 29404, 34563, 22804, 29885, 40883, 26241, 23546, 23546, 47600, 23546, 23546, 29423, 23546, 29445, 23546, 48976, 47563, 47563, 47563, 44406, 47564, 22821, 22824, 22824, 49328, 42575, 22767, 35849, 22804, 22804, 39288, 28274, 50448, 23672, 29464, 23546, 23546, 23546, 29498, 42828, 23546, 23546, 47562, 47563, 47563, 46820, 29369, 22821, 22824, 22824, 37856, 22824, 28821, 22804, 22804, 30184, 22804, 29883, 33199, 23546, 23546, 29517, 23546, 47519, 29538, 47563, 46768, 47563, 41728, 22824, 49353, 22824, 41433, 22804, 41641, 22804, 27843, 29565, 23546, 23546, 23546, 29581, 33988, 49629, 29610, 50265, 49148, 29627, 30732, 37573, 29644, 31970, 23546, 23546, 28626, 22586, 47563, 47563, 29661, 22824, 47375, 22804, 22804, 29679, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 45087, 23089, 29701, 47077, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 27251, 29717, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 21570, 23546, 23546, 26527, 23546, 29745, 24166, 23546, 32508, 29764, 29773, 29789, 29803, 29812, 29828, 29839, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 34673, 34671, 23546, 38486, 38493, 29855, 28213, 35842, 29875, 43066, 27800, 23546, 40629, 29901, 44844, 23546, 29926, 30774, 23546, 23546, 41541, 20026, 29946, 29989, 29293, 38320, 30005, 40270, 30031, 42116, 30052, 30082, 30100, 49972, 39453, 30135, 41942, 39677, 36943, 23546, 23546, 23546, 42078, 23546, 30162, 50621, 23546, 23546, 23546, 39564, 48975, 47563, 47563, 47563, 48721, 37135, 22823, 22824, 22824, 22824, 42777, 49439, 22804, 22804, 22804, 22804, 30182, 30146, 30200, 30236, 23546, 23546, 23546, 30252, 30271, 50620, 23546, 23546, 45468, 23469, 31420, 34156, 47563, 47563, 45201, 30292, 30331, 30348, 22824, 22824, 30365, 29156, 29407, 22804, 22804, 22804, 30399, 23672, 23807, 23546, 23546, 23546, 23546, 45523, 28572, 23546, 33872, 47563, 47563, 30419, 29369, 30438, 22824, 22824, 48645, 22824, 31904, 22804, 22804, 50360, 22804, 30539, 33199, 49920, 23546, 30462, 23546, 50724, 48973, 36270, 47563, 30480, 41728, 35391, 22824, 30505, 41433, 50493, 22804, 30530, 30403, 47447, 49732, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23251, 23546, 22586, 47563, 47563, 30555, 22824, 36108, 22804, 22804, 30575, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 30597, 46609, 47561, 23111, 30673, 39296, 30622, 30648, 30668, 30689, 19013, 30707, 30727, 30748, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23547, 30771, 23546, 26527, 25156, 30790, 23546, 30813, 24321, 30837, 30846, 30862, 30876, 30888, 30904, 30915, 26204, 22703, 30931, 26561, 35799, 30978, 26921, 26341, 27925, 30994, 31013, 31032, 31061, 31045, 31097, 31131, 31147, 31183, 31227, 31261, 31277, 39237, 39476, 31293, 33748, 31328, 22212, 31363, 31381, 41158, 23546, 23546, 40033, 23546, 22587, 32449, 31405, 47817, 28510, 31441, 31475, 46890, 31498, 30304, 31538, 22625, 36744, 47681, 39677, 36943, 23698, 29973, 31554, 29930, 31590, 23708, 31634, 39997, 31661, 48812, 31689, 31711, 31727, 31763, 31798, 31814, 29245, 31850, 40093, 31890, 34721, 31940, 35662, 31956, 31986, 27076, 32035, 32066, 32093, 32133, 26241, 50755, 23546, 43683, 23546, 32169, 19239, 32192, 32249, 22951, 24750, 43255, 32274, 47563, 32292, 45560, 22821, 32317, 22824, 42593, 48588, 50230, 35849, 32356, 22804, 45665, 32384, 32405, 32421, 23807, 25150, 32478, 32497, 47176, 23546, 32524, 45835, 36145, 40407, 31425, 32550, 44054, 32586, 34739, 22824, 32631, 32657, 30066, 33080, 32683, 47042, 40501, 29883, 33199, 23546, 45717, 33237, 23546, 23546, 32701, 31115, 42955, 32563, 41728, 45894, 41614, 32608, 41433, 33712, 42499, 35727, 30403, 47447, 28590, 32719, 48060, 32755, 32790, 42232, 33671, 32806, 37745, 39609, 32837, 40736, 33730, 32892, 32931, 32953, 19435, 22586, 32974, 48106, 28046, 33009, 33027, 33047, 48381, 35461, 47447, 40617, 22585, 47563, 50257, 22824, 33074, 36473, 36549, 33096, 40786, 36807, 32667, 39296, 33119, 43227, 48451, 49953, 33140, 24763, 23318, 45645, 33156, 33172, 33217, 47559, 33030, 30691, 33266, 33282, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 33306, 23546, 26527, 33327, 33345, 25456, 24849, 33370, 33400, 23546, 33386, 33428, 33437, 33453, 33464, 26204, 23546, 23546, 33480, 35799, 23546, 23546, 23546, 23546, 27288, 23546, 23546, 34477, 23546, 34484, 31605, 33499, 33519, 43660, 33545, 33568, 27800, 23546, 33621, 23546, 44844, 33621, 23546, 23546, 30997, 23546, 33640, 34051, 23546, 22587, 33661, 47563, 47563, 47563, 33687, 22824, 22824, 22824, 43762, 33703, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 50621, 23546, 23546, 23546, 33746, 48975, 47563, 47563, 47563, 43863, 37135, 22823, 22824, 22824, 22824, 34733, 49439, 22804, 22804, 22804, 22804, 33764, 29885, 40883, 26241, 23546, 23546, 23546, 23546, 23546, 50620, 23546, 20258, 23546, 48976, 47563, 47563, 46759, 47563, 47564, 22821, 22824, 22824, 37850, 22824, 22767, 35849, 22804, 22804, 33781, 22804, 29879, 23672, 23807, 23546, 23546, 23546, 23546, 23546, 43159, 23546, 47562, 47563, 47563, 31773, 29369, 22821, 22824, 22824, 49239, 22824, 28821, 22804, 22804, 22804, 33801, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 41728, 22824, 22824, 22824, 41433, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 33820, 23546, 23546, 22586, 44762, 47563, 23109, 33840, 22825, 34299, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 23335, 32233, 42307, 22729, 33859, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 32176, 23546, 23546, 41552, 33893, 33902, 33918, 33924, 33940, 33956, 33967, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 37894, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 28765, 41920, 23546, 23546, 44844, 23546, 23546, 23546, 39585, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 43177, 23546, 23546, 45738, 48975, 47563, 47563, 47563, 47563, 37135, 41960, 22824, 22824, 22824, 22824, 47410, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 20340, 23546, 23178, 20358, 23546, 23546, 20360, 33983, 47563, 47563, 34004, 47563, 47564, 22821, 22824, 36824, 22824, 22824, 22767, 35849, 22804, 33785, 22804, 22804, 29879, 34024, 23546, 23546, 23546, 34050, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 32147, 47539, 23546, 48973, 47563, 47563, 39206, 45209, 22824, 22824, 43898, 27834, 22804, 22804, 34943, 30403, 47447, 34067, 47158, 34094, 23546, 34121, 32984, 34141, 34177, 43533, 34196, 34244, 36447, 34263, 31970, 28608, 23546, 34315, 34336, 34355, 34372, 28875, 33605, 34412, 34436, 34454, 31964, 47447, 46606, 43054, 32993, 34501, 34521, 30673, 34552, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 43326, 34588, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 41690, 23546, 26286, 34628, 23546, 23546, 23546, 34692, 23546, 34693, 23546, 23546, 34656, 34689, 40521, 22887, 37164, 34396, 43815, 34709, 34755, 23546, 23546, 29501, 44844, 26383, 30255, 23546, 23546, 41921, 23546, 23546, 23546, 22587, 47563, 47563, 32276, 47563, 27418, 22824, 22824, 35655, 43762, 22804, 22804, 35850, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 34780, 43953, 48975, 47563, 47563, 47563, 47563, 29859, 22823, 22824, 22824, 22824, 22824, 30446, 22804, 22804, 22804, 22804, 22804, 34799, 33201, 23546, 34844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 42714, 48976, 34862, 47563, 47563, 47563, 47564, 34882, 22824, 22824, 22824, 22824, 22767, 30383, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 34898, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 49594, 27195, 22821, 22824, 22824, 22824, 49007, 30376, 22804, 22804, 22804, 28251, 29883, 33199, 23546, 23546, 45156, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 28617, 23546, 48860, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 48020, 34919, 46606, 50168, 47563, 35289, 22824, 34937, 22804, 34959, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 26217, 23546, 26527, 28994, 29429, 32937, 21397, 21407, 19607, 19616, 34984, 34999, 35011, 35027, 35038, 26204, 23546, 23546, 23546, 21159, 35548, 23546, 23546, 29013, 35054, 32876, 23546, 35263, 35074, 35112, 39498, 35166, 47961, 27448, 49402, 46199, 35202, 23546, 23546, 23546, 38910, 23546, 47123, 35227, 23546, 23546, 23546, 35244, 44990, 22587, 44754, 35279, 47563, 35324, 35372, 48187, 22824, 29333, 35407, 49176, 35434, 22804, 35477, 39677, 36943, 23546, 35515, 50019, 41319, 42187, 35535, 23546, 19253, 43384, 35575, 35592, 35612, 35186, 47563, 42920, 37391, 20600, 22823, 35386, 22824, 40181, 35635, 35678, 29350, 22804, 33765, 35713, 35750, 48433, 33201, 23546, 23546, 23546, 23546, 35766, 20349, 35815, 44388, 23546, 23546, 40380, 47253, 47563, 47563, 41209, 36250, 35833, 43893, 22824, 22824, 48653, 43541, 43789, 35866, 22804, 22804, 31917, 36853, 33195, 23546, 19730, 35885, 35914, 32534, 35930, 35957, 45488, 36011, 28363, 36030, 36050, 36074, 36103, 39870, 50408, 42260, 32597, 45635, 22804, 36124, 36169, 36204, 27085, 31863, 36220, 46659, 44955, 21826, 38142, 32958, 36266, 47872, 36286, 36321, 36366, 36384, 36409, 36435, 36471, 36489, 36514, 36540, 36572, 23546, 23546, 18340, 36595, 30632, 36619, 36640, 39370, 36661, 36681, 36702, 36740, 36760, 31970, 23546, 36781, 18841, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 34034, 46606, 22585, 31741, 36801, 36823, 36840, 38424, 36549, 46609, 36869, 23111, 30673, 39296, 36886, 35338, 36933, 36966, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 42313, 47646, 36993, 39426, 42307, 22729, 23448, 37021, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 39988, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 50028, 21708, 39996, 40225, 24990, 37071, 37082, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 31016, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 27420, 22824, 43762, 22804, 22804, 48012, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 25524, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 37098, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 37115, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 37134, 47563, 47563, 47563, 47564, 37151, 22824, 22824, 22824, 22824, 22767, 28828, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 41164, 23546, 26527, 23546, 34764, 23546, 19155, 37185, 37221, 37234, 37250, 37256, 37272, 37288, 37299, 26204, 23546, 37315, 23546, 35799, 23546, 43426, 26746, 23546, 23546, 37335, 23546, 32153, 42194, 37334, 37351, 37380, 37407, 37443, 40833, 37430, 32821, 37459, 23546, 23546, 34612, 23546, 23546, 40581, 34220, 23546, 41122, 29193, 49795, 34228, 47262, 37494, 29549, 41774, 37514, 42784, 22904, 45886, 37530, 38036, 37570, 36188, 37589, 23034, 37618, 28342, 23546, 23546, 23546, 23546, 50126, 23546, 23546, 23546, 23546, 23546, 48975, 28498, 44484, 47563, 28434, 44023, 37641, 37671, 39810, 30349, 22824, 39853, 47704, 29645, 22804, 49383, 22804, 37657, 33201, 23546, 23546, 50909, 37693, 23546, 32019, 38379, 23546, 23546, 23546, 48976, 47563, 47563, 46474, 32220, 37710, 22821, 22824, 22824, 49321, 37734, 37761, 35849, 22804, 22804, 37788, 37809, 29879, 33195, 23546, 37872, 23546, 23546, 37889, 23546, 23546, 23546, 47562, 27357, 47563, 47563, 27195, 22821, 40293, 22824, 22824, 22824, 30376, 34247, 22804, 22804, 22804, 29883, 33199, 37910, 31075, 23546, 37928, 47744, 48973, 37953, 47563, 47563, 37979, 38003, 22824, 22824, 38027, 38061, 22804, 22804, 38085, 47447, 23404, 23546, 28599, 23546, 47560, 31782, 47563, 23113, 38011, 22824, 33078, 33721, 22804, 31970, 23546, 21592, 23546, 22586, 47563, 50097, 23109, 22824, 40810, 22804, 22804, 38110, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 33290, 45056, 38132, 38158, 38179, 33552, 39426, 27505, 38215, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23648, 23546, 26527, 23546, 26305, 23546, 23546, 29594, 20530, 20539, 38250, 38264, 38273, 38289, 38300, 26364, 23546, 23948, 23546, 35799, 23546, 34320, 23546, 23546, 23546, 23948, 23546, 35554, 36579, 23947, 35559, 38316, 33588, 36393, 38336, 43066, 27800, 23546, 23546, 38357, 44844, 23546, 39344, 42555, 23546, 39071, 23546, 23546, 38375, 41192, 48530, 47563, 47812, 38395, 28750, 22824, 42121, 31482, 43762, 38449, 22804, 38419, 38440, 32050, 38473, 38509, 46688, 34783, 23546, 23546, 23546, 23546, 23546, 38530, 23546, 23546, 48975, 47883, 38550, 42949, 47563, 37135, 22823, 38568, 30084, 22824, 22824, 49439, 42031, 34293, 41837, 22804, 22804, 29885, 33201, 23546, 38929, 23546, 38602, 23546, 44369, 37873, 23791, 38621, 23546, 48976, 27031, 38642, 47563, 38659, 47564, 38683, 47916, 22824, 22824, 38702, 33843, 35849, 39277, 22804, 33804, 38724, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 36556, 23546, 23546, 23546, 23546, 47560, 38744, 47563, 30559, 22824, 22824, 46066, 22804, 22804, 31970, 23546, 23546, 49685, 22586, 47563, 47563, 23109, 47427, 22825, 22804, 35452, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 38761, 47561, 38782, 38802, 43621, 23464, 38824, 38844, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 38045, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23810, 23546, 46101, 23546, 29522, 38860, 33103, 38895, 38945, 38984, 38970, 38989, 38954, 39005, 39016, 26204, 23546, 24981, 39032, 39052, 39135, 26183, 26715, 27157, 23546, 39087, 39123, 35972, 23871, 39151, 32436, 39187, 39222, 39262, 39312, 39360, 27800, 27271, 23546, 23546, 40856, 29748, 35256, 26269, 47340, 39386, 28121, 33483, 41086, 39406, 48539, 39200, 45029, 47563, 29260, 30036, 22824, 47369, 43762, 41883, 39448, 22787, 22804, 32852, 39469, 27673, 33624, 23546, 39492, 23546, 23546, 30166, 23546, 19760, 23546, 25974, 48975, 39514, 47563, 47563, 47563, 37135, 37987, 39541, 30332, 22824, 22824, 49439, 34278, 22804, 48403, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 49277, 23546, 23546, 39561, 44662, 39580, 20000, 47563, 47563, 38745, 47563, 41583, 39601, 22824, 22824, 42751, 22824, 39625, 36344, 22804, 22804, 49650, 22804, 39663, 33195, 39390, 39701, 21803, 40964, 23546, 28563, 39737, 39764, 42864, 39780, 30015, 27711, 27195, 22821, 39796, 39832, 37838, 39869, 30376, 37543, 39886, 39910, 39936, 47724, 39958, 49087, 33227, 48840, 39980, 40013, 20680, 50204, 40049, 40067, 40083, 45419, 22824, 40109, 40125, 36765, 22804, 40151, 40167, 47447, 40217, 23546, 23546, 19121, 40241, 48114, 40263, 48445, 44596, 40286, 40309, 42808, 40330, 30581, 40353, 23546, 23546, 40374, 28485, 40396, 27517, 40433, 40468, 40722, 40488, 31964, 30114, 48477, 40517, 36058, 24761, 45115, 30673, 40537, 36549, 40555, 19020, 29663, 30673, 40603, 40652, 40668, 40708, 40752, 40779, 40802, 40826, 40849, 24756, 33030, 33551, 47559, 33030, 33552, 40872, 40899, 22729, 23448, 40923, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 40939, 26527, 23546, 35150, 40960, 23546, 26932, 40980, 40989, 41005, 41019, 41028, 41044, 41055, 26204, 41071, 27176, 35142, 41110, 22748, 41145, 23546, 41180, 29961, 41225, 35127, 41274, 41299, 41335, 41350, 41366, 41401, 41487, 41458, 41474, 41503, 23546, 18442, 27630, 46235, 23546, 41314, 19147, 41528, 40358, 23546, 23546, 45375, 22587, 47563, 36909, 41568, 47891, 27418, 38686, 27953, 41607, 41630, 22804, 23213, 41665, 46983, 39677, 36943, 23546, 45937, 23546, 37118, 23546, 39337, 41681, 33824, 35058, 38605, 23546, 41717, 41752, 28167, 41769, 47563, 43475, 41790, 42050, 41800, 22824, 22824, 41816, 41853, 50302, 41874, 22804, 49204, 29885, 47656, 41907, 23546, 38879, 36785, 23546, 23546, 23546, 23546, 23546, 39036, 48976, 47563, 46791, 34008, 47563, 47564, 22821, 22824, 44589, 46895, 22824, 22767, 35849, 22804, 41937, 38457, 22804, 29879, 33195, 23546, 23546, 49550, 23546, 45766, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 32301, 41958, 22824, 22824, 22824, 46046, 28243, 22804, 22804, 22804, 22804, 41977, 33199, 20951, 42005, 23546, 23546, 23546, 44350, 47563, 31827, 47563, 41591, 22824, 49433, 22824, 28884, 22804, 42026, 22804, 30403, 31211, 23546, 23546, 23546, 23546, 27328, 40247, 47563, 27241, 38708, 22824, 42285, 31924, 22804, 29685, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 22739, 46606, 49667, 46712, 38403, 42047, 44103, 22804, 44463, 42066, 42221, 42103, 42137, 42175, 42210, 42248, 42276, 42301, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 35697, 39426, 36136, 22729, 23448, 42329, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 26377, 26527, 23546, 23546, 42378, 33354, 42400, 20758, 23546, 26429, 42436, 42448, 42464, 42475, 26204, 23546, 23546, 25120, 35799, 23546, 23546, 23546, 31573, 31305, 23546, 23546, 31567, 25118, 23546, 48973, 37963, 23115, 42491, 47011, 42515, 27800, 23546, 42549, 23546, 44844, 23546, 38766, 18352, 23546, 39064, 23546, 23546, 22159, 22587, 48548, 38163, 45793, 48521, 47316, 42571, 42591, 47404, 42609, 44147, 39942, 22845, 35499, 47057, 42343, 42636, 23546, 42657, 23546, 42010, 42641, 26759, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 36917, 47563, 37135, 22823, 22824, 22824, 42693, 22824, 49439, 22804, 22804, 28847, 22804, 22804, 29885, 45066, 44270, 23546, 42713, 23546, 23546, 26553, 42677, 42730, 31574, 23546, 48976, 47563, 48931, 47563, 47563, 47564, 42748, 22824, 42767, 22824, 22824, 34180, 35849, 22804, 42800, 22804, 22804, 29879, 33195, 23546, 44983, 23546, 23546, 23546, 23546, 42824, 23546, 47562, 47563, 36034, 47563, 27749, 22821, 22824, 22824, 42844, 22824, 48373, 22804, 22804, 38192, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 18259, 23546, 23546, 42862, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 39325, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 48281, 42880, 42913, 28181, 33529, 39296, 42936, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 38514, 23546, 23546, 23546, 44073, 44076, 50916, 44069, 36233, 42971, 33598, 40201, 40539, 43066, 29275, 42987, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 43004, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 43023, 22824, 22824, 22824, 22824, 43497, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 30422, 47563, 23109, 38579, 22825, 32685, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 22195, 38234, 23546, 23546, 22088, 23546, 31645, 43040, 31695, 43090, 43103, 43112, 43128, 43139, 26204, 23546, 31341, 32732, 35799, 43366, 43155, 43175, 36087, 40692, 50768, 31673, 43193, 32904, 31522, 31081, 43243, 43271, 43287, 43315, 43342, 40683, 23546, 23546, 23546, 45381, 43358, 40568, 43382, 43400, 43418, 23546, 23546, 30119, 43208, 47563, 43442, 27364, 43462, 43491, 28908, 22824, 43513, 43557, 22804, 43588, 41858, 43607, 43637, 43676, 23546, 23546, 23546, 18266, 35576, 23546, 23546, 43699, 43717, 43736, 20331, 32703, 47563, 41378, 47563, 46720, 41989, 43754, 29628, 22824, 22824, 43651, 43778, 43812, 46171, 22804, 44212, 43831, 43879, 33201, 23546, 23546, 45346, 23546, 43914, 43941, 23546, 27809, 23863, 43976, 44003, 47563, 48620, 44039, 35181, 49990, 44092, 22824, 45449, 39545, 44119, 42697, 44138, 22804, 44163, 27998, 44211, 35734, 33195, 39171, 23546, 23546, 23067, 44228, 32012, 23546, 44255, 36870, 46433, 23003, 47563, 27195, 22821, 44297, 46134, 22824, 22824, 30376, 39647, 22804, 44322, 22804, 41442, 44340, 23546, 44366, 44385, 23546, 23546, 34339, 44404, 47563, 47563, 44422, 22824, 22824, 22824, 44438, 22804, 22804, 22804, 44454, 47447, 48298, 23546, 23546, 23546, 44479, 47563, 47563, 46130, 22824, 22824, 44500, 22804, 22804, 44520, 23546, 40027, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 38094, 49704, 44555, 44579, 44612, 44650, 23464, 24759, 33031, 33550, 44685, 30652, 34420, 36724, 24756, 33030, 33551, 47559, 33030, 45310, 44716, 44744, 32641, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 25786, 26527, 44778, 28976, 18999, 44795, 44824, 44860, 44808, 44885, 44899, 44911, 44927, 44938, 26204, 44954, 40587, 23546, 44971, 23546, 23546, 43960, 23546, 50132, 23546, 45006, 35089, 26325, 35096, 32207, 45025, 45045, 44306, 45082, 45103, 27800, 35987, 37200, 44669, 44844, 34640, 23546, 23546, 23546, 23546, 45137, 45172, 23546, 19324, 45188, 43446, 47563, 47563, 45233, 45249, 45268, 22824, 43762, 45291, 40314, 22804, 22804, 39677, 36943, 37912, 23546, 23546, 45326, 45362, 23546, 23546, 23546, 23546, 23546, 37055, 48975, 48512, 31834, 47563, 47563, 46028, 22823, 45397, 45415, 22824, 22824, 36333, 38728, 44324, 22804, 22804, 22804, 45435, 33201, 23546, 23546, 26251, 43720, 23546, 45465, 26758, 45484, 45504, 23546, 45539, 47563, 47563, 47285, 43856, 45576, 45600, 22824, 22824, 47994, 48169, 45624, 45661, 22804, 22804, 42152, 45681, 29879, 45697, 45713, 45733, 23546, 25942, 23546, 23546, 30214, 45754, 47562, 47563, 27730, 45789, 27195, 22821, 22824, 47619, 47969, 22824, 30376, 22804, 22804, 45809, 22804, 29883, 33199, 23546, 21039, 23546, 49467, 37049, 48973, 47563, 45851, 48716, 45584, 47934, 22824, 45868, 48003, 35869, 22804, 45910, 30403, 47447, 23546, 48332, 18869, 22345, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 32000, 21288, 23546, 45931, 45953, 47563, 37498, 23109, 22824, 40444, 22804, 34438, 36455, 45997, 44634, 19558, 46021, 50382, 46044, 28056, 22804, 34468, 46609, 35619, 30711, 46062, 46082, 23464, 24759, 33031, 33550, 19538, 36296, 49945, 23141, 46117, 38586, 45823, 48503, 46150, 46187, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23737, 26527, 23546, 23546, 34968, 23546, 46215, 26881, 26893, 46251, 46267, 46279, 46295, 46306, 26204, 46322, 23241, 25565, 35799, 25341, 42889, 46340, 22204, 44869, 46352, 46368, 46377, 46393, 46349, 46420, 46455, 46490, 46547, 46518, 46534, 32867, 46005, 19766, 34600, 44844, 46563, 23546, 26188, 46580, 41258, 46596, 46625, 46675, 46736, 46784, 46807, 46842, 38552, 46877, 45877, 46911, 46944, 36419, 46977, 46999, 47027, 27557, 39677, 37035, 47093, 47115, 35228, 23546, 47139, 47174, 23546, 47766, 23546, 49770, 47192, 20591, 47219, 47244, 47278, 38643, 47301, 41736, 47356, 47391, 47426, 31459, 49439, 36524, 39920, 40135, 22804, 35492, 33058, 47443, 23546, 20251, 43007, 37694, 47465, 46324, 47491, 47518, 23546, 47535, 47555, 39525, 47841, 47563, 34125, 47580, 47616, 47635, 39844, 22824, 37169, 48362, 35849, 47672, 47697, 22804, 41891, 47720, 33195, 23058, 47740, 23546, 45516, 47760, 23546, 47782, 18627, 47798, 50186, 47833, 47857, 27195, 47907, 47932, 47950, 47985, 48036, 39636, 46165, 37602, 50472, 50517, 37554, 27477, 48056, 18311, 23546, 35780, 48076, 48095, 44700, 47563, 47563, 48130, 48155, 37677, 22824, 48203, 48236, 49183, 22804, 48272, 47447, 18372, 48297, 48314, 48330, 41202, 45981, 33877, 34811, 48348, 48040, 48397, 48419, 37793, 31970, 48467, 23546, 23546, 48493, 46466, 31618, 34505, 49612, 47069, 35443, 43299, 48564, 28304, 47475, 19993, 48611, 37364, 48636, 48669, 43591, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 44177, 29729, 48685, 36498, 48701, 45275, 48737, 39426, 42307, 22729, 39685, 48765, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 48828, 23546, 23546, 48856, 23546, 35941, 30944, 30953, 48876, 30953, 30962, 48892, 48903, 26204, 23546, 23546, 23546, 40636, 23546, 26348, 23546, 23546, 23546, 23546, 26345, 23546, 38923, 23546, 48973, 48919, 48178, 48947, 38808, 37005, 31513, 38873, 23546, 23546, 44844, 23546, 23546, 27897, 48963, 23546, 23546, 23546, 23546, 48971, 46750, 47563, 47563, 34356, 48992, 22824, 22824, 22824, 36305, 49028, 22804, 22804, 22804, 49052, 44728, 49080, 23546, 49103, 45341, 23546, 23546, 42732, 48802, 47595, 38359, 35596, 48975, 47563, 49130, 41385, 43221, 47228, 22823, 48595, 46928, 41415, 49146, 49164, 22804, 49199, 49220, 45915, 29388, 37824, 33201, 23546, 25346, 23546, 26261, 23546, 23546, 23546, 49474, 23546, 23546, 48976, 33503, 47563, 47563, 47563, 47564, 49236, 37414, 22824, 22824, 22824, 22767, 49255, 36180, 22804, 22804, 22804, 29879, 33195, 49272, 23546, 49293, 23546, 23546, 23546, 23546, 28581, 36243, 47563, 47563, 47563, 27195, 49311, 22824, 22824, 22824, 22824, 37772, 22804, 22804, 22804, 22804, 29883, 46502, 23546, 23546, 50321, 46564, 23546, 30276, 23289, 47563, 47563, 37718, 49344, 22824, 22824, 30514, 49377, 22804, 22804, 42620, 47447, 39101, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 46439, 24761, 43524, 30673, 49399, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 49418, 45121, 44624, 47559, 33030, 33552, 39426, 32368, 49455, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 49490, 49547, 33412, 49525, 23546, 34105, 23546, 33409, 49544, 42420, 41283, 49566, 49577, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 49593, 35299, 27962, 22805, 43066, 27800, 23546, 33329, 27613, 44844, 23546, 23546, 23546, 23546, 23546, 32481, 23546, 23546, 22587, 32570, 47563, 46861, 47563, 27418, 49610, 22824, 32331, 43762, 42159, 22804, 27215, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 37318, 23546, 23546, 23546, 20322, 23546, 48975, 47563, 47563, 49628, 47563, 37135, 22823, 22824, 32615, 22824, 22824, 49439, 22804, 22804, 49645, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 49666, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 49683, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 49701, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 49720, 23546, 50953, 23546, 25809, 49755, 49786, 23546, 49811, 49825, 49837, 49853, 49864, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 27387, 22824, 49893, 38199, 49880, 34211, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 42672, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 49917, 23546, 23546, 23546, 22167, 47563, 47563, 47563, 47563, 47564, 49936, 22824, 22824, 22824, 22824, 22767, 49969, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 45149, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 49988, 47563, 50006, 22821, 22824, 48578, 22824, 41424, 30376, 22804, 39894, 22804, 32389, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 26445, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 41512, 50052, 50063, 26204, 23546, 23546, 23546, 35799, 50079, 30464, 23546, 23546, 23546, 23546, 32774, 23546, 41129, 32770, 46701, 50096, 40191, 28190, 22805, 43066, 27800, 23546, 23546, 23546, 50113, 28719, 34485, 45773, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 29611, 47563, 27026, 27418, 22824, 35645, 28383, 43762, 22804, 22921, 22804, 48250, 39677, 50148, 50164, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 41250, 23546, 23546, 23546, 48976, 47563, 47563, 50184, 47563, 45852, 22821, 22824, 38786, 22824, 22824, 45252, 35849, 22804, 48256, 22804, 22804, 29879, 33195, 48079, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 50202, 47563, 47563, 27195, 22821, 50220, 22824, 22824, 22824, 30376, 48220, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 21798, 23546, 23546, 35799, 23546, 23546, 46652, 23546, 23546, 23546, 23546, 46656, 23546, 23546, 50246, 28439, 22824, 50294, 36350, 50281, 47331, 23546, 29448, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 35817, 22587, 47563, 47563, 47563, 27723, 27418, 22824, 22824, 27861, 43762, 22804, 22804, 22804, 48212, 39677, 36943, 23546, 50318, 23546, 23546, 23546, 23546, 23546, 23546, 37099, 23546, 23546, 48975, 38667, 47563, 36014, 47563, 37135, 22823, 50337, 22824, 46961, 22824, 49439, 28018, 22804, 22804, 50356, 22804, 29885, 33201, 23546, 43738, 23546, 23546, 23546, 23546, 23546, 38534, 23546, 23546, 48976, 47563, 50376, 47563, 47563, 47564, 50398, 41961, 50424, 22824, 22824, 22767, 50443, 28403, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 21488, 23546, 47562, 47563, 31747, 47563, 34161, 22821, 22824, 43024, 22824, 22824, 50464, 22804, 22804, 50488, 22804, 43844, 33199, 23546, 23546, 18921, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 31241, 23546, 23546, 39165, 23546, 29133, 47563, 47563, 33578, 22824, 22824, 50509, 22804, 22804, 31970, 23546, 49295, 23546, 22586, 47563, 31161, 23109, 50427, 22825, 22804, 41830, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22677, 23546, 23546, 23546, 23546, 26527, 23546, 23546, 23546, 23546, 21369, 21483, 23546, 23546, 23546, 19262, 39432, 32077, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27800, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 27418, 22824, 22824, 22824, 43762, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 46404, 21767, 21765, 32117, 22038, 50563, 21058, 21061, 50533, 22036, 50551, 50579, 50591, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 50607, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50637, 19916, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 50655, 18544, 18567, 18590, 19934, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 22150, 23546, 21369, 20766, 50679, 50692, 50708, 50717, 49509, 50740, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 51042, 23546, 23546, 23546, 23761, 23546, 23546, 23758, 25629, 19208, 50639, 19926, 50639, 50790, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 18521, 18544, 18567, 18590, 50663, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 42087, 23546, 23546, 23546, 23546, 22568, 29910, 50839, 50872, 50878, 50849, 23148, 50894, 20967, 23546, 23546, 23546, 35799, 23546, 23546, 50932, 23546, 23546, 22686, 23546, 23546, 23546, 22682, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 18327, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 50969, 18544, 18567, 18590, 21689, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 20159, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 20376, 20392, 51127, 20418, 50802, 20462, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 21089, 23546, 23546, 23546, 23546, 25841, 23546, 23546, 23546, 23546, 21369, 23546, 23546, 23546, 23546, 23546, 23546, 23489, 26204, 23546, 23546, 23546, 35799, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 22824, 35842, 22805, 43066, 27132, 23546, 23546, 23546, 44844, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22587, 47563, 47563, 47563, 47563, 22603, 22824, 22824, 22824, 34828, 22804, 22804, 22804, 22804, 39677, 36943, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48975, 47563, 47563, 47563, 47563, 37135, 22823, 22824, 22824, 22824, 22824, 49439, 22804, 22804, 22804, 22804, 22804, 29885, 33201, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 48976, 47563, 47563, 47563, 47563, 47564, 22821, 22824, 22824, 22824, 22824, 22767, 35849, 22804, 22804, 22804, 22804, 29879, 33195, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 47562, 47563, 47563, 47563, 27195, 22821, 22824, 22824, 22824, 22824, 30376, 22804, 22804, 22804, 22804, 29883, 33199, 23546, 23546, 23546, 23546, 23546, 48973, 47563, 47563, 47563, 45209, 22824, 22824, 22824, 27834, 22804, 22804, 22804, 30403, 47447, 23546, 23546, 23546, 23546, 47560, 47563, 47563, 23113, 22824, 22824, 33078, 22804, 22804, 31970, 23546, 23546, 23546, 22586, 47563, 47563, 23109, 22824, 22825, 22804, 22804, 31964, 47447, 46606, 22585, 47563, 24761, 22824, 30673, 22804, 36549, 46609, 47561, 23111, 30673, 39296, 23464, 24759, 33031, 33550, 48975, 23107, 30672, 23141, 24756, 33030, 33551, 47559, 33030, 33552, 39426, 42307, 22729, 23448, 23351, 23363, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 22457, 23546, 23546, 22482, 50993, 50998, 50998, 51019, 22480, 51014, 51035, 23546, 23546, 23546, 23546, 23546, 23546, 51042, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 25629, 19208, 50639, 19926, 50639, 20660, 19723, 18282, 18849, 18305, 51062, 23546, 23546, 18368, 23546, 18915, 18388, 18432, 18458, 18463, 18479, 18968, 18495, 19670, 50655, 18544, 18567, 18590, 19934, 18528, 18551, 18574, 18597, 20868, 18620, 23546, 30606, 23546, 23546, 23546, 23582, 23367, 18643, 23546, 18664, 50036, 18695, 19209, 26024, 18505, 19208, 25377, 18724, 26048, 18745, 18766, 18771, 19889, 50639, 26053, 18750, 50639, 18776, 19839, 20674, 23546, 18792, 18808, 18830, 23628, 18814, 18865, 23546, 44195, 18885, 18937, 18958, 20812, 26011, 20051, 18984, 19036, 19054, 19072, 19090, 26127, 19108, 19038, 19056, 19074, 19092, 26129, 18604, 20668, 23396, 19137, 19171, 19225, 39246, 19278, 47150, 19314, 19340, 26667, 19186, 19380, 19422, 19456, 25721, 19477, 25754, 19498, 19451, 25716, 19472, 25749, 19493, 19514, 19530, 18900, 19554, 23717, 19574, 19592, 19632, 19657, 20190, 20797, 20402, 21452, 19692, 19708, 19964, 21452, 19692, 19708, 20432, 19853, 26492, 19746, 41094, 19782, 18942, 19201, 19798, 19825, 19883, 19905, 19950, 19883, 19905, 19980, 23977, 20842, 20016, 18679, 20827, 20042, 20067, 20090, 20113, 20074, 20097, 20129, 20446, 51082, 20175, 20206, 20222, 51139, 20274, 51143, 20301, 51098, 20392, 51127, 20418, 50802, 51114, 25380, 50639, 18729, 32258, 26037, 20489, 20515, 19641, 20555, 20577, 20616, 20632, 20648, 20696, 20727, 20743, 20782, 20858, 20884, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 23546, 94503, 94503, 90406, 90406, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 1, 12290, 3, 0, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 362, 94503, 90406, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 0, 94503, 90406, 94503, 94503, 94503, 94503, 94503, 94503, 94503, 69632, 73728, 94503, 94503, 94503, 94503, 94503, 65536, 94503, 0, 2183168, 0, 0, 0, 90406, 94503, 296, 297, 0, 2134016, 300, 301, 0, 0, 0, 0, 0, 0, 2985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1631, 0, 0, 0, 0, 0, 1637, 0, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904064, 2908160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2751, 0, 0, 0, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 362, 362, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0, 0, 3001, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 1191, 0, 0, 0, 0, 1107, 0, 0, 0, 2138112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2978, 0, 0, 0, 2424832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625536, 0, 0, 0, 0, 0, 172032, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 1, 12290, 3, 0, 2699264, 2715648, 0, 0, 2772992, 2805760, 2830336, 0, 2863104, 2920448, 0, 0, 0, 0, 0, 0, 0, 1114, 0, 0, 0, 0, 1118, 0, 0, 1121, 0, 2805760, 2920448, 0, 0, 0, 0, 0, 2920448, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 2179072, 2179072, 2179072, 2424832, 2433024, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2625536, 2805760, 2179072, 2830336, 2179072, 2179072, 2863104, 2179072, 2179072, 2179072, 2920448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2801664, 2813952, 2179072, 2838528, 2179072, 2179072, 2179072, 2179072, 2179072, 0, 914, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2625536, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2625536, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 2125824, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 2125824, 2125824, 2805760, 2125824, 2830336, 2125824, 2125824, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 2125824, 2179072, 2125824, 2125824, 2125824, 2125824, 2457600, 2125824, 2125824, 2125824, 2125824, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 0, 0, 0, 0, 0, 0, 2408448, 0, 0, 2584576, 0, 0, 0, 0, 2838528, 0, 0, 2838528, 0, 0, 0, 0, 0, 2469888, 2506752, 2756608, 0, 0, 2580480, 0, 0, 0, 2396160, 2400256, 2412544, 0, 0, 2838528, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2408448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 914, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2445312, 2125824, 0, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2502656, 0, 0, 3010560, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2801664, 2813952, 2125824, 2838528, 2125824, 2801664, 2813952, 2125824, 2838528, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3125248, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2461696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600960, 0, 2674688, 0, 2768896, 2777088, 2781184, 0, 2822144, 0, 0, 2883584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3055616, 0, 0, 0, 3080192, 3100672, 3104768, 0, 0, 0, 0, 3186688, 0, 0, 0, 0, 0, 0, 0, 3182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3003, 3004, 0, 2719744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014656, 3207168, 0, 2691072, 0, 0, 0, 0, 0, 2818048, 2846720, 0, 2916352, 0, 0, 3002368, 0, 0, 3022848, 0, 0, 0, 0, 0, 2871296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0, 0, 0, 3215360, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2494464, 2179072, 2179072, 2514944, 2179072, 2179072, 2461696, 2465792, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2523136, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2699264, 2179072, 2715648, 2179072, 2723840, 2179072, 2732032, 2772992, 2179072, 2179072, 3100672, 2179072, 2179072, 3133440, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 391, 392, 0, 393, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 3504, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3399, 540, 540, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2461696, 2465792, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2523136, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2600960, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2641920, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2719744, 2125824, 2125824, 2125824, 2125824, 2125824, 2768896, 2777088, 2768896, 2777088, 2125824, 2797568, 2822144, 2125824, 2125824, 2125824, 2883584, 2125824, 2912256, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3133440, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 0, 0, 0, 0, 0, 0, 3011, 0, 0, 0, 0, 0, 0, 3018, 0, 0, 0, 0, 2605056, 0, 0, 0, 0, 2887680, 0, 2924544, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162112, 3170304, 0, 0, 3219456, 3035136, 0, 0, 0, 0, 0, 3072000, 2650112, 2179072, 2179072, 2179072, 2707456, 2179072, 2736128, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2887680, 2179072, 2179072, 2543616, 2547712, 2179072, 2179072, 2596864, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2584576, 0, 0, 2809856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3088384, 0, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, 0, 0, 0, 1680, 1681, 0, 1683, 0, 0, 0, 0, 0, 0, 0, 540, 561, 540, 561, 540, 540, 561, 540, 585, 0, 0, 2576384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420736, 0, 0, 0, 0, 429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, 3121152, 3141632, 0, 0, 0, 2924544, 0, 2682880, 0, 0, 0, 0, 0, 0, 0, 1242, 1272, 1273, 0, 1242, 0, 540, 540, 540, 3112960, 2387968, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2453504, 2179072, 2473984, 2482176, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2126737, 2126737, 2503569, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2532241, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2605969, 2126737, 2924544, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3035136, 2179072, 2179072, 3072000, 2179072, 2179072, 2179072, 3137536, 2126737, 2126737, 2499473, 2126737, 2126737, 2126737, 2556817, 2565009, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3224465, 0, 0, 2126810, 2126810, 2126810, 2126810, 2126810, 2446298, 2126810, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0, 3184, 3185, 3186, 0, 0, 3189, 3194880, 2125824, 0, 0, 0, 0, 0, 0, 2387968, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2473984, 2482176, 2125824, 2125824, 2125824, 2605056, 2125824, 2629632, 2125824, 2125824, 2650112, 2125824, 2125824, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3035136, 2125824, 2125824, 3072000, 2125824, 2125824, 3121152, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2125824, 2125824, 3190784, 2125824, 3170304, 2125824, 2125824, 3190784, 3194880, 2125824, 2125824, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3507, 540, 540, 540, 540, 540, 540, 0, 3145728, 0, 3203072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3314, 0, 540, 0, 3067904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 2895872, 0, 0, 0, 2445312, 0, 2842624, 0, 0, 0, 2637824, 0, 0, 0, 0, 432, 0, 0, 0, 329, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 0, 0, 0, 2621440, 0, 3182592, 2899968, 0, 2961408, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2592768, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2445312, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2551808, 2179072, 2179072, 2179072, 2179072, 2179072, 3117056, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2126737, 2637824, 2125824, 2125824, 2125824, 2125824, 2727936, 2752512, 2125824, 2125824, 2125824, 2125824, 2842624, 2846720, 2125824, 2895872, 2916352, 2125824, 2125824, 2945024, 2125824, 2125824, 2994176, 2125824, 3002368, 2125824, 2125824, 3022848, 2125824, 3067904, 3084288, 3096576, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2442, 2443, 0, 0, 2446, 0, 0, 0, 0, 0, 2928640, 0, 0, 0, 3059712, 0, 2543616, 2666496, 0, 2633728, 0, 0, 0, 0, 0, 1697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1116, 0, 0, 0, 0, 0, 2494464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3211264, 2179072, 2928640, 2179072, 2179072, 2179072, 2998272, 2179072, 2179072, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 0, 0, 2126737, 2126737, 2126737, 2126737, 2126737, 2446225, 2126737, 2179072, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2494464, 2125824, 2125824, 2514944, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 2113, 0, 2125824, 2543616, 2547712, 2125824, 2125824, 2596864, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 2125824, 2125824, 2125824, 2408448, 2125824, 2928640, 2125824, 2125824, 2125824, 2998272, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2126811, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2424832, 2125824, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2494464, 2125824, 2125824, 2514944, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 3178496, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2441216, 0, 0, 0, 0, 0, 0, 3311, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 2165, 540, 540, 540, 540, 0, 0, 0, 2740224, 0, 0, 0, 0, 0, 2793472, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0, 0, 1247, 0, 1194, 0, 2646016, 2179072, 2179072, 2695168, 2756608, 2179072, 2179072, 2179072, 2932736, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3039232, 2179072, 3063808, 2179072, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2396160, 2400256, 2125824, 2125824, 2441216, 2125824, 2469888, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2588672, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2588672, 2125824, 2613248, 2646016, 2125824, 2125824, 2695168, 2756608, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3129344, 2125824, 2125824, 3153920, 3166208, 3174400, 2396160, 2125824, 2125824, 3129344, 2125824, 2125824, 3153920, 3166208, 3174400, 2125824, 2506752, 2506752, 2506752, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 987, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2445312, 2125824, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3176, 0, 0, 0, 0, 2953216, 0, 0, 2826240, 3158016, 2437120, 0, 2785280, 0, 0, 0, 2428928, 0, 3018752, 2764800, 2572288, 0, 0, 3051520, 2179072, 2179072, 2637824, 2179072, 2179072, 2179072, 2179072, 2727936, 2752512, 2179072, 2179072, 2179072, 2842624, 2846720, 2179072, 2916352, 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, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 2043, 2044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 0, 0, 0, 0, 0, 0, 2125824, 3018752, 2125824, 2125824, 2125824, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 24576, 987, 2125824, 2125824, 2125824, 2125824, 2424832, 2125824, 3149824, 2125824, 2179072, 3051520, 2125824, 3051520, 2125824, 3051520, 0, 2490368, 2498560, 0, 0, 0, 0, 0, 0, 304, 0, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 1713, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 2107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875392, 0, 0, 0, 3176, 0, 0, 2834432, 0, 3227648, 2568192, 0, 0, 0, 0, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3223552, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2125824, 2555904, 2564096, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 2125824, 2179072, 2416640, 2125824, 2125824, 2179072, 2179072, 2125824, 2125824, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 0, 3108864, 3198976, 0, 0, 2748416, 2879488, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2592768, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 296, 0, 0, 0, 296, 0, 297, 0, 0, 0, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 2592768, 0, 0, 0, 0, 433, 0, 0, 0, 453, 469, 469, 469, 469, 469, 469, 469, 469, 469, 479, 469, 469, 469, 469, 469, 469, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1918, 2125824, 2125824, 2125824, 2408448, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2449408, 0, 2535424, 3031040, 0, 0, 0, 0, 0, 1734, 0, 1736, 1710, 540, 540, 540, 540, 540, 540, 540, 540, 1816, 1818, 540, 540, 540, 540, 540, 1360, 0, 2859008, 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, 2449408, 2125824, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2527232, 0, 0, 0, 0, 0, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 540, 540, 540, 540, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2527232, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2527232, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 1080, 1084, 0, 0, 1088, 2125824, 2125824, 2125824, 2125824, 3092480, 0, 0, 0, 0, 3026944, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 3026944, 2539520, 0, 2949120, 0, 0, 0, 0, 434, 0, 0, 446, 0, 0, 0, 0, 0, 0, 0, 0, 457, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 2179072, 2658304, 2973696, 2179072, 2125824, 2658304, 2973696, 2125824, 2125824, 2658304, 2973696, 2125824, 2711552, 0, 2560000, 2179072, 2179072, 2945024, 2179072, 2179072, 2994176, 2179072, 3002368, 2179072, 2179072, 3022848, 2179072, 3067904, 3084288, 3096576, 2179072, 2179072, 2600960, 2179072, 2179072, 2179072, 2179072, 2641920, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2719744, 2179072, 2179072, 2441216, 2179072, 2469888, 2179072, 2179072, 2179072, 2519040, 2179072, 2179072, 2179072, 2179072, 2588672, 2179072, 2613248, 2703360, 0, 0, 0, 0, 2977792, 0, 0, 3047424, 3129344, 0, 2981888, 2396160, 0, 3153920, 2560000, 2125824, 2560000, 2125824, 0, 2179072, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 2125824, 2457600, 2179072, 2179072, 2179072, 2179072, 2457600, 2125824, 2125824, 2125824, 2985984, 2985984, 2985984, 2985984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 458, 458, 111050, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 111050, 458, 111050, 111050, 111050, 111050, 111050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2738, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 296, 297, 0, 2134016, 300, 301, 0, 0, 0, 0, 0, 0, 184723, 184931, 184931, 184931, 0, 184931, 184931, 184931, 184931, 184931, 0, 0, 0, 0, 0, 184931, 0, 184931, 1, 12290, 3, 78112, 1059, 0, 0, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 296, 0, 297, 0, 2125824, 1059, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2750, 0, 0, 0, 0, 2755, 0, 300, 118784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 300, 300, 300, 300, 0, 0, 0, 0, 0, 300, 0, 300, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 33403, 297, 0, 2134016, 49791, 301, 0, 0, 0, 0, 0, 0, 225889, 225889, 225889, 225889, 225740, 225889, 225889, 225889, 225889, 225889, 225740, 225740, 225740, 225740, 225740, 225906, 225740, 225906, 1, 12290, 3, 0, 0, 0, 0, 249856, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 697, 698, 0, 362, 362, 362, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 296, 0, 0, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 57344, 0, 0, 0, 0, 0, 0, 0, 3506, 0, 540, 540, 540, 540, 540, 540, 540, 2530, 540, 540, 540, 540, 540, 540, 540, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 296, 0, 0, 0, 300, 0, 0, 0, 300, 119195, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3166, 3167, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 0, 0, 0, 0, 0, 122880, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 0, 122880, 0, 2105629, 12290, 3, 0, 0, 291, 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 69632, 73728, 0, 416, 416, 0, 0, 65536, 416, 1092, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765, 0, 0, 0, 0, 0, 1824, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2551808, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 131072, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2507, 0, 0, 0, 0, 0, 131072, 0, 0, 131072, 131072, 0, 0, 0, 0, 0, 0, 131072, 0, 131072, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 131072, 131072, 131072, 131072, 0, 131072, 131072, 131072, 131072, 131072, 0, 0, 0, 0, 0, 131072, 0, 131072, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 135168, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 321, 0, 0, 0, 135168, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3174, 0, 0, 0, 0, 0, 0, 0, 135168, 135168, 135168, 135168, 135168, 135168, 135168, 0, 135168, 135168, 135168, 135168, 135168, 0, 0, 0, 0, 0, 135168, 0, 135168, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118784, 296, 0, 2183168, 0, 0, 0, 0, 0, 636, 637, 0, 2134016, 640, 641, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 1361, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 986, 2125824, 2125824, 2125824, 2125824, 2424832, 0, 301, 139264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 331, 301, 301, 301, 301, 0, 0, 0, 0, 0, 301, 0, 301, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 297, 0, 2183168, 0, 0, 0, 0, 0, 296, 33406, 0, 2134016, 300, 49794, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61440, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455, 0, 0, 0, 0, 0, 301, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779, 0, 0, 0, 0, 0, 298, 298, 143728, 298, 298, 298, 143728, 69632, 73728, 298, 298, 143658, 298, 298, 65536, 298, 298, 0, 0, 298, 298, 143658, 298, 298, 298, 298, 298, 298, 298, 298, 298, 363, 298, 0, 143658, 298, 298, 298, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 298, 298, 298, 298, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 298, 298, 298, 143658, 368, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 143658, 298, 298, 143658, 298, 298, 143658, 143658, 143658, 143658, 143658, 143658, 298, 0, 298, 0, 298, 298, 298, 143658, 298, 298, 298, 298, 298, 298, 298, 298, 298, 143658, 298, 143658, 143658, 143658, 143658, 298, 298, 143658, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 143728, 298, 298, 298, 298, 298, 298, 298, 143658, 143658, 143658, 143658, 143658, 143658, 143728, 143658, 143728, 143728, 143728, 143728, 143728, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 143658, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 90406, 90406, 90406, 90406, 0, 94503, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 2200252, 2200252, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 1134592, 0, 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, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1663, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 0, 12290, 3, 0, 0, 2183168, 126976, 0, 0, 0, 0, 296, 297, 0, 2134016, 300, 301, 0, 0, 0, 0, 0, 0, 1146880, 0, 1146880, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0, 0, 0, 0, 0, 0, 540, 2163, 540, 540, 540, 540, 540, 540, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 345, 346, 347, 0, 0, 0, 0, 0, 0, 0, 757, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 25160, 0, 0, 159744, 0, 0, 0, 0, 25160, 25160, 25160, 159744, 25160, 25160, 25160, 25160, 25160, 159744, 159744, 159744, 159744, 25160, 159744, 25160, 1, 12290, 3, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 1, 12290, 3, 0, 167936, 167936, 167936, 0, 0, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3015, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 172032, 172032, 0, 172032, 0, 0, 172032, 0, 172032, 0, 172032, 0, 0, 0, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 1, 12290, 3, 0, 172032, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 0, 0, 0, 0, 1, 286, 3, 0, 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 106496, 0, 0, 0, 0, 106496, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 1, 0, 3, 78112, 176128, 176128, 176128, 0, 0, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111050, 0, 0, 0, 0, 0, 78112, 290, 0, 634, 0, 0, 0, 296, 297, 0, 2134016, 300, 301, 0, 0, 0, 0, 0, 0, 1159168, 414, 414, 0, 0, 0, 0, 0, 414, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 0, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 959, 561, 585, 585, 585, 1490, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1498, 585, 585, 0, 0, 229376, 0, 0, 0, 0, 0, 0, 0, 0, 1686, 0, 0, 0, 0, 0, 0, 404, 404, 404, 404, 0, 404, 404, 404, 404, 404, 0, 0, 0, 0, 0, 404, 0, 404, 1, 12290, 3, 78112, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155072, 0, 0, 0, 0, 0, 0, 0, 2131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 0, 561, 561, 561, 561, 561, 561, 2250, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 0, 0, 0, 0, 0, 0, 3295, 0, 0, 0, 0, 0, 0, 0, 712, 0, 0, 0, 716, 0, 0, 719, 0, 561, 561, 2287, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 585, 585, 585, 2347, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1514, 585, 585, 2372, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 2671, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1515, 585, 585, 0, 0, 0, 2994, 0, 0, 0, 2998, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 540, 3035, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 910, 540, 3075, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1417, 3116, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1501, 0, 0, 3178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3187, 0, 0, 0, 0, 0, 2046, 0, 2149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 1, 12290, 3, 0, 540, 540, 540, 3203, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3211, 540, 540, 540, 540, 540, 2813, 540, 540, 2817, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2555, 540, 540, 540, 540, 540, 540, 3255, 585, 585, 585, 3258, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3266, 585, 561, 0, 1287, 585, 1467, 1376, 540, 540, 1339, 540, 540, 561, 561, 1430, 561, 0, 585, 585, 585, 585, 585, 288, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, 0, 0, 0, 0, 0, 0, 2465, 0, 0, 2468, 0, 0, 0, 0, 0, 0, 0, 0, 3309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 3508, 540, 3509, 540, 540, 540, 3326, 3327, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 961, 561, 585, 585, 585, 3361, 585, 585, 585, 585, 3362, 3363, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 3387, 0, 0, 0, 0, 0, 2092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 561, 3416, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 3425, 585, 585, 585, 585, 585, 585, 1492, 585, 585, 585, 585, 585, 585, 585, 1499, 585, 585, 585, 585, 3431, 585, 585, 585, 585, 3435, 540, 561, 585, 0, 0, 0, 0, 0, 0, 665, 0, 0, 668, 0, 0, 0, 0, 0, 0, 0, 3172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 3450, 540, 540, 540, 540, 540, 2814, 540, 2816, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2233, 540, 540, 540, 540, 540, 0, 561, 561, 561, 3573, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 3538, 585, 585, 3585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 3627, 561, 561, 585, 585, 0, 540, 561, 585, 0, 540, 561, 585, 0, 540, 561, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2662400, 0, 2813952, 78112, 290, 0, 0, 0, 0, 0, 296, 297, 0, 2134016, 300, 301, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 3, 0, 0, 0, 188416, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 540, 540, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 2169, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 3, 78112, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 0, 192971, 0, 1, 12290, 3, 0, 192971, 192971, 192971, 0, 0, 192971, 0, 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, 322, 0, 0, 0, 0, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 0, 192971, 192971, 192971, 192971, 192971, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801664, 0, 0, 0, 0, 2142208, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 78112, 290, 0, 0, 0, 0, 0, 296, 297, 0, 299, 300, 301, 0, 0, 0, 0, 0, 0, 2797568, 0, 0, 0, 0, 0, 0, 0, 2850816, 2867200, 0, 0, 740, 404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 740, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 585, 585, 585, 585, 2029, 0, 2031, 0, 0, 0, 0, 740, 1184, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 0, 0, 0, 1583, 0, 1585, 0, 0, 0, 0, 0, 0, 0, 1661, 1662, 0, 0, 0, 0, 0, 0, 0, 0, 2727936, 0, 0, 0, 3084288, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 352, 353, 354, 0, 0, 0, 1188, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150976, 0, 0, 0, 0, 0, 0, 561, 561, 585, 585, 585, 585, 1559, 2029, 0, 0, 0, 0, 1565, 2031, 0, 0, 0, 0, 0, 2120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2130, 2033, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 337, 338, 561, 561, 2323, 2648, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2339, 585, 585, 2342, 0, 304, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 2136, 0, 2138, 0, 0, 0, 0, 0, 0, 0, 0, 791, 817, 0, 817, 812, 0, 0, 0, 0, 0, 0, 204800, 204800, 0, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 205104, 204800, 204800, 205103, 205104, 204800, 205103, 205103, 204800, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, 2183801, 0, 0, 0, 0, 0, 296, 297, 151552, 2134016, 300, 301, 0, 212992, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 0, 2200253, 0, 0, 0, 0, 0, 0, 2932736, 2965504, 0, 0, 3076096, 0, 0, 2695168, 3174400, 2646016, 0, 914, 2126737, 2126737, 2126737, 2126737, 2425745, 2433937, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 0, 0, 987, 2126810, 2126810, 2126810, 2126810, 2425818, 2724753, 2126737, 2732945, 2773905, 2126737, 2126737, 2126737, 2806673, 2126737, 2831249, 2126737, 2126737, 2864017, 2126737, 2126737, 2126737, 2126737, 2126737, 2524049, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2601873, 2126737, 2126737, 2921361, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3117969, 2126737, 2126737, 2126737, 2126737, 2593681, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126810, 2126810, 2126810, 2126810, 3093393, 0, 0, 0, 0, 3026944, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2434010, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2626522, 2126810, 2126737, 0, 2179072, 2126810, 2126810, 2126737, 2457600, 2179072, 2179072, 2179072, 2179072, 2458513, 2126737, 2126737, 2126737, 2126737, 2126737, 2626449, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2700177, 2126737, 2716561, 2126737, 2806746, 2126810, 2831322, 2126810, 2126810, 2864090, 2126810, 2126810, 2126810, 2126810, 2921434, 2126810, 2126810, 2126810, 2126810, 2126810, 2126737, 2179072, 2126810, 2126810, 2126737, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2458586, 2126810, 2126810, 2126810, 2126810, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 395, 0, 0, 0, 321, 0, 0, 2126737, 2126737, 2126737, 2409361, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3126161, 2126737, 2126737, 2126737, 2802577, 2814865, 2126737, 2839441, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126810, 2126810, 2126810, 2126810, 2126810, 2663386, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2802650, 2814938, 2126810, 2839514, 0, 0, 0, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2462609, 2466705, 2126737, 0, 2126810, 2126810, 2126810, 2126810, 2126810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 2769809, 2778001, 2126737, 2798481, 2823057, 2126737, 2126737, 2126737, 2884497, 2126737, 2913169, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2655121, 2679697, 2761617, 2765713, 2786193, 2855825, 2970513, 2126737, 3007377, 2126737, 3134353, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3208081, 2126737, 0, 0, 0, 0, 0, 325, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2462682, 2466778, 2126810, 2126810, 2126810, 2524122, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2601946, 2126810, 2126810, 2126810, 2585562, 2126810, 2126810, 2126810, 2126810, 2126810, 2618330, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2888666, 2126810, 2126810, 2925530, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2642906, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2720730, 2126810, 2126810, 2126810, 2126810, 2126810, 2769882, 2778074, 2126810, 2798554, 2823130, 2126810, 2126810, 2126810, 2884570, 2126810, 2913242, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 3126234, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 3208154, 2126810, 2126737, 2179072, 2126810, 2126810, 2126737, 0, 0, 0, 2388881, 2126737, 2126737, 2421649, 2126737, 2126737, 2126737, 2126737, 2126737, 2454417, 2126737, 2474897, 2483089, 2630545, 2126737, 2126737, 2651025, 2126737, 2126737, 2126737, 2708369, 2126737, 2737041, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 985, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2552794, 2126810, 2126810, 2126810, 2126810, 2126810, 2126737, 2126737, 3072913, 2126737, 2126737, 3122065, 2126737, 2126737, 3142545, 2126737, 2126737, 2126737, 3171217, 2126737, 2126737, 3191697, 3195793, 2126737, 0, 0, 0, 0, 0, 0, 2388954, 2126810, 2126810, 2421722, 2126810, 2126810, 2126810, 2126810, 2126810, 3040218, 2126810, 3064794, 2126810, 2126810, 2126810, 2126810, 3101658, 2126810, 2126810, 3134426, 2126810, 2454490, 2126810, 2474970, 2483162, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2532314, 2126810, 2126810, 2126810, 2126810, 3036122, 2126810, 2126810, 3072986, 2126810, 2126810, 3122138, 2126810, 2126810, 3142618, 2126810, 2126810, 2126810, 3171290, 2126810, 2126810, 3191770, 3195866, 2126810, 2126737, 2179072, 2126810, 2126810, 2126737, 2179072, 2179072, 3112960, 3219456, 2126737, 2126737, 3113873, 3220369, 2126810, 2126810, 3113946, 3220442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 2638737, 2126737, 2126737, 2126737, 2126737, 2728849, 2753425, 2126737, 2126737, 2126737, 2126737, 2843537, 2847633, 2126737, 2896785, 2917265, 2638810, 2126810, 2126810, 2126810, 2126810, 2728922, 2753498, 2126810, 2126810, 2126810, 2126810, 2843610, 2847706, 2126810, 2896858, 2917338, 2179072, 3178496, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2495377, 2126737, 2126737, 2515857, 2126737, 2126737, 2126737, 2126737, 3011473, 2126737, 2126737, 2126810, 2126810, 2503642, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 3138522, 2126737, 2940928, 2941841, 2941914, 0, 0, 0, 0, 2126737, 2544529, 2548625, 2126737, 2126737, 2597777, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2552721, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2929553, 2126737, 2126737, 2126737, 2999185, 2126737, 2126737, 2126737, 2126737, 3060625, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3040145, 2126737, 3064721, 2126737, 2126737, 2126737, 2126737, 3101585, 2126737, 2126737, 3179409, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2495450, 2126810, 2126810, 2515930, 2126810, 2126810, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 2160, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 3525, 561, 2126810, 2544602, 2548698, 2126810, 2126810, 2597850, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126737, 0, 2502656, 0, 0, 3010560, 2126810, 2929626, 2126810, 2126810, 2126810, 2999258, 2126810, 2126810, 2126810, 2126810, 3060698, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 3118042, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126737, 2126810, 3179482, 2126737, 2179072, 2126810, 2126737, 2179072, 2179072, 2126737, 2126737, 2126810, 2126810, 2441216, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2397073, 2401169, 2126737, 2126737, 2442129, 2126737, 2470801, 2126737, 2126737, 2126737, 2126737, 2126737, 2663313, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 0, 0, 2126810, 2126810, 2126810, 2409434, 2519953, 2126737, 2126737, 2126737, 2126737, 2589585, 2126737, 2614161, 2646929, 2126737, 2126737, 2696081, 2757521, 2126737, 2126737, 2126737, 2126737, 2126737, 3138449, 2126810, 2126810, 2499546, 2126810, 2126810, 2126810, 2556890, 2565082, 2126810, 2126810, 2126737, 2933649, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3130257, 2126737, 2126737, 3154833, 3167121, 3175313, 2397146, 2401242, 2126810, 2126810, 2442202, 2126810, 2470874, 2126810, 2126810, 2126810, 2520026, 2126810, 2126810, 2126810, 2126810, 2589658, 2126810, 2126810, 2126810, 3011546, 2126810, 2126810, 2126737, 0, 0, 0, 0, 0, 0, 0, 2592768, 0, 0, 0, 0, 663, 0, 0, 666, 667, 0, 0, 0, 0, 0, 0, 0, 540, 571, 540, 571, 540, 540, 571, 540, 595, 2614234, 2647002, 2126810, 2126810, 2696154, 2757594, 2126810, 2126810, 2126810, 2126810, 2933722, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 3224538, 2126737, 2179072, 2417626, 2126810, 2126737, 2179072, 2179072, 2126737, 2126737, 2854912, 2969600, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2126737, 2429841, 2438033, 2126737, 2487185, 2126737, 2126737, 2945937, 2126737, 2126737, 2995089, 2126737, 3003281, 2126737, 2126737, 3023761, 2126737, 3068817, 3085201, 3097489, 2126737, 2126737, 2888593, 2126737, 2126737, 2925457, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 3036049, 2126737, 3019665, 2126737, 2126737, 2126737, 3150737, 2126810, 2429914, 2438106, 2126810, 2487258, 2126810, 2126810, 2126810, 2126810, 2126810, 2700250, 2126810, 2716634, 2126810, 2724826, 2126810, 2733018, 2773978, 2126810, 2126810, 2126810, 2126810, 3150810, 2126737, 2179072, 3051520, 2126737, 3052433, 2126810, 3052506, 0, 2490368, 2498560, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2126810, 2593754, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126810, 2126737, 2449408, 0, 2535424, 3031040, 0, 0, 0, 0, 0, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 370, 0, 0, 2126737, 2450321, 2126737, 2536337, 2126737, 2610065, 2126737, 2859921, 2126737, 2126737, 2126737, 3031953, 2126810, 2450394, 2126810, 2536410, 2126810, 2610138, 2126810, 2859994, 2126810, 2126810, 2126810, 3032026, 2126737, 2527232, 0, 0, 0, 0, 0, 2179072, 2126810, 2126810, 2126737, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2126737, 2126737, 2126737, 2126810, 2126810, 2126810, 2126810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237568, 0, 0, 0, 0, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2126737, 2528145, 2126737, 2126737, 2126737, 2126737, 2126737, 2126810, 2528218, 2126810, 2126810, 2946010, 2126810, 2126810, 2995162, 2126810, 3003354, 2126810, 2126810, 3023834, 2126810, 3068890, 3085274, 3097562, 2126810, 2126810, 2126810, 2606042, 2126810, 2630618, 2126810, 2126810, 2651098, 2126810, 2126810, 2126810, 2708442, 2126810, 2737114, 2126810, 2126810, 2126810, 2655194, 2679770, 2761690, 2765786, 2786266, 2855898, 2970586, 2126810, 3007450, 2126810, 3019738, 2126810, 2126810, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 0, 3108864, 3198976, 0, 2405265, 2126737, 2126737, 2126737, 2126737, 3027857, 2405338, 2126810, 2126810, 2126810, 2126810, 3027930, 2539520, 0, 2949120, 0, 0, 0, 0, 695, 0, 0, 0, 0, 362, 362, 362, 0, 0, 704, 0, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2049, 0, 0, 0, 0, 2179072, 2658304, 2973696, 2179072, 2126737, 2659217, 2974609, 2126737, 2126810, 2659290, 2974682, 2126810, 2711552, 0, 2560000, 2179072, 2179072, 3125248, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2560913, 2126737, 2560986, 2126810, 0, 2179072, 2126737, 2126810, 0, 2179072, 2126737, 2126810, 0, 2179072, 2126737, 2126810, 2126810, 3130330, 2126810, 2126810, 3154906, 3167194, 3175386, 2126737, 2506752, 2507738, 2507665, 2179072, 2179072, 2126737, 2126737, 2126737, 2642833, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2720657, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2126737, 2585489, 2126737, 2126737, 2126737, 2126737, 2126737, 2618257, 2126737, 2985984, 2985984, 2986897, 2986970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 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, 0, 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, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 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, 687, 688, 0, 0, 0, 0, 0, 98304, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 2662400, 0, 2813952, 297, 0, 300, 0, 0, 0, 300, 0, 301, 0, 0, 0, 301, 0, 0, 0, 301, 69632, 139679, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 3133440, 0, 98304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 300, 0, 301, 0, 0, 0, 2473984, 2478080, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 914, 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 301, 0, 0, 0, 0, 0, 914, 0, 2387968, 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, 2605056, 2125824, 3194880, 2125824, 987, 0, 0, 0, 987, 0, 2387968, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2887680, 2125824, 2125824, 2924544, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3035136, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 225740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 349, 350, 0, 0, 0, 0, 2125824, 237568, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, 358, 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, 362, 0, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 296, 297, 0, 2134016, 300, 301, 0, 0, 217088, 2125824, 241664, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 131072, 131072, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 155648, 0, 0, 2183168, 0, 0, 270336, 0, 0, 296, 297, 0, 2134016, 300, 301, 200704, 0, 0, 0, 0, 0, 2462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0, 0, 0, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 180224, 0, 0, 0, 0, 0, 0, 0, 1726, 0, 0, 0, 0, 0, 0, 0, 0, 304, 304, 304, 0, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 20480, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2768896, 2777088, 2797568, 2822144, 2179072, 2179072, 2179072, 2883584, 2912256, 2179072, 2179072, 2179072, 2179072, 2179072, 2617344, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2662400, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2584576, 2125824, 2125824, 2125824, 2125824, 2125824, 2617344, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142208, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 2113823, 0, 0, 0, 0, 0, 0, 293, 0, 0, 0, 293, 0, 0, 245760, 0, 0, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3039232, 2125824, 3063808, 2125824, 2125824, 2125824, 2125824, 3100672, 2125824, 2125824, 3133440, 2125824, 245760, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 122880, 122880, 0, 0, 274432, 274432, 274432, 274432, 0, 0, 0, 0, 0, 274432, 0, 274432, 1, 12290, 3, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 1195, 0, 0, 78112, 290, 0, 0, 0, 0, 0, 296, 297, 0, 0, 300, 301, 0, 0, 0, 0, 0, 328, 329, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200252, 2200252, 2200252, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 0, 0, 0, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 2055, 0, 2056, 0, 0, 0, 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 1104, 2483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 0, 2993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 335, 0, 0, 0, 0, 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 78456, 290, 0, 0, 0, 0, 0, 296, 297, 0, 0, 300, 301, 0, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, 0, 562, 562, 562, 562, 562, 562, 562, 586, 586, 586, 540, 586, 586, 586, 586, 586, 562, 562, 540, 562, 586, 562, 586, 1, 12290, 3, 78112, 0, 0, 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 521, 521, 1, 12290, 3, 78113, 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 1, 12290, 3, 0, 282624, 282624, 282624, 0, 0, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178496, 2670592, 0, 2744320, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 290, 0, 0, 0, 0, 3176, 0, 0, 2740224, 0, 0, 0, 0, 0, 2793472, 0, 0, 0, 0, 0, 0, 0, 2094, 0, 0, 0, 0, 0, 0, 0, 0, 683, 684, 685, 0, 0, 0, 689, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 302, 0, 0, 0, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3301, 0, 0, 0, 0, 2953216, 0, 0, 2826240, 2875392, 0, 0, 0, 3381, 0, 0, 2834432, 0, 3227648, 2568192, 0, 0, 0, 0, 2564096, 0, 2748416, 2879488, 0, 3381, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2531328, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2605056, 2179072, 2629632, 2179072, 2179072, 0, 0, 0, 306, 0, 0, 0, 0, 0, 305, 0, 305, 306, 0, 305, 305, 0, 0, 0, 305, 305, 306, 306, 0, 0, 0, 0, 0, 0, 305, 405, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0, 306, 410, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 742, 0, 0, 0, 0, 742, 0, 748, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 462, 462, 488, 488, 462, 488, 488, 488, 488, 488, 488, 488, 513, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 533, 488, 488, 488, 488, 488, 541, 563, 541, 563, 541, 541, 563, 541, 587, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 541, 613, 613, 613, 613, 613, 587, 563, 563, 541, 563, 587, 563, 587, 1, 12290, 3, 78112, 0, 0, 645, 0, 0, 648, 649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 253952, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, 0, 0, 353, 0, 351, 0, 472, 472, 472, 472, 472, 472, 472, 477, 472, 472, 472, 472, 472, 472, 472, 472, 472, 477, 472, 0, 768, 0, 0, 772, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 727, 0, 0, 0, 731, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 343, 342, 65536, 341, 0, 788, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 736, 0, 796, 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, 0, 820, 0, 0, 648, 0, 0, 0, 0, 0, 837, 792, 0, 0, 0, 0, 0, 841, 842, 792, 792, 0, 0, 0, 0, 792, 736, 792, 0, 540, 540, 851, 855, 540, 540, 540, 540, 1345, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2181, 540, 540, 540, 540, 561, 561, 561, 921, 925, 561, 561, 561, 561, 561, 561, 951, 561, 956, 561, 963, 561, 966, 561, 561, 980, 561, 561, 0, 585, 585, 585, 994, 998, 585, 585, 585, 585, 585, 585, 1963, 1964, 1966, 585, 585, 585, 585, 585, 585, 585, 561, 2713, 585, 2715, 2716, 540, 540, 540, 540, 585, 585, 585, 1024, 585, 1029, 585, 1036, 585, 1039, 585, 585, 1053, 585, 585, 966, 0, 0, 0, 855, 585, 998, 925, 851, 1065, 894, 540, 540, 921, 1070, 966, 561, 0, 585, 585, 585, 585, 585, 78112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114688, 0, 241664, 258048, 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 673, 0, 540, 540, 1342, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 0, 585, 585, 585, 1524, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1517, 585, 585, 585, 1433, 0, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 3070, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 0, 0, 0, 3662, 0, 0, 0, 1641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 1104, 1105, 1106, 1654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 1693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 306, 0, 1732, 0, 0, 1733, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 3030, 540, 540, 540, 540, 540, 540, 540, 1745, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1758, 540, 540, 540, 540, 540, 540, 2540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1329, 540, 540, 540, 540, 540, 540, 540, 540, 1795, 540, 540, 1798, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 900, 540, 540, 540, 540, 540, 540, 1810, 540, 540, 540, 540, 540, 1815, 540, 540, 540, 540, 540, 540, 540, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1416, 561, 1825, 561, 561, 561, 561, 1831, 561, 561, 561, 561, 561, 1837, 561, 561, 561, 561, 561, 983, 561, 0, 585, 585, 585, 585, 585, 1002, 585, 1010, 561, 1892, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1904, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 0, 2726, 0, 0, 2729, 2730, 561, 561, 1909, 561, 561, 561, 561, 561, 561, 561, 26027, 1919, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 540, 3649, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 3231, 3232, 561, 1925, 585, 585, 585, 585, 585, 1931, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 3596, 1944, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1540, 561, 561, 2025, 585, 585, 585, 0, 2029, 0, 0, 0, 0, 0, 2031, 0, 0, 0, 0, 0, 2487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 2041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1132, 0, 0, 0, 2075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 2145, 0, 0, 0, 2143, 0, 0, 2150, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 1705, 0, 0, 540, 540, 2171, 540, 540, 2174, 540, 540, 540, 540, 540, 540, 2182, 540, 540, 540, 540, 540, 540, 2568, 540, 540, 540, 540, 2572, 540, 540, 540, 540, 540, 540, 1347, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2556, 540, 540, 540, 540, 540, 540, 540, 2201, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 2242, 540, 540, 540, 2214, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1805, 540, 540, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2254, 561, 0, 585, 585, 585, 585, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 2123, 0, 2125, 2126, 0, 0, 0, 0, 561, 2257, 561, 561, 561, 561, 561, 561, 2265, 561, 561, 561, 561, 561, 561, 561, 0, 0, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 2952, 561, 2954, 561, 2299, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1438, 561, 2033, 0, 2035, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 0, 0, 2475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 2484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2493, 0, 0, 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 0, 763, 0, 0, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 2592, 561, 561, 561, 561, 561, 1408, 561, 561, 1412, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 1008, 585, 2656, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2664, 585, 585, 585, 585, 585, 585, 2350, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2379, 585, 585, 585, 585, 585, 585, 585, 585, 2699, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1940, 585, 585, 2708, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 540, 540, 561, 561, 561, 3229, 561, 561, 561, 561, 561, 561, 585, 585, 585, 3352, 585, 585, 585, 3355, 585, 585, 2731, 0, 0, 0, 0, 0, 0, 2736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 192971, 0, 0, 0, 2759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1234, 540, 540, 540, 0, 0, 0, 2788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 540, 540, 540, 2826, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2833, 540, 540, 540, 540, 1748, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1760, 540, 540, 540, 540, 1765, 540, 540, 540, 540, 540, 540, 540, 540, 1772, 540, 540, 540, 540, 561, 3406, 561, 561, 3408, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 1009, 585, 561, 561, 561, 2860, 561, 561, 2864, 561, 561, 561, 561, 561, 561, 561, 561, 561, 944, 561, 561, 561, 561, 561, 561, 561, 2873, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2881, 561, 561, 0, 0, 0, 2649, 0, 1920, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2703, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2908, 585, 585, 2912, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2393, 2394, 585, 585, 585, 585, 585, 2921, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2929, 585, 585, 0, 0, 0, 3292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3297, 2955, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 305, 0, 0, 0, 2970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1588, 1589, 0, 0, 540, 540, 540, 540, 3036, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2546, 540, 540, 540, 561, 561, 561, 3076, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1436, 561, 561, 561, 585, 585, 585, 3117, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2356, 585, 2358, 0, 0, 0, 0, 3176, 3442, 0, 3444, 0, 0, 0, 0, 0, 540, 3451, 540, 540, 540, 540, 1796, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 905, 540, 540, 540, 540, 3453, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 561, 3466, 561, 3468, 0, 0, 3501, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 3510, 540, 540, 540, 540, 540, 3204, 3205, 540, 540, 540, 540, 3209, 3210, 540, 540, 540, 540, 540, 1749, 1750, 540, 540, 540, 540, 1757, 540, 540, 540, 540, 540, 540, 1346, 540, 540, 540, 540, 540, 540, 1356, 540, 540, 307, 308, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 2504, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0, 0, 0, 0, 0, 0, 2975, 0, 0, 0, 0, 0, 0, 0, 0, 2999, 0, 0, 0, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 0, 0, 0, 3173, 0, 0, 0, 0, 0, 0, 0, 0, 3183, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 449, 418, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 532, 449, 532, 532, 532, 449, 532, 532, 532, 532, 449, 542, 564, 542, 564, 542, 542, 564, 542, 588, 564, 564, 564, 564, 564, 564, 564, 588, 588, 588, 542, 588, 588, 588, 588, 588, 564, 564, 616, 621, 588, 621, 627, 1, 12290, 3, 78112, 0, 1677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 540, 540, 540, 1811, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1377, 561, 0, 585, 585, 585, 585, 585, 78112, 1079, 0, 0, 1082, 1086, 0, 0, 1090, 585, 585, 585, 1993, 585, 585, 585, 585, 585, 1999, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 3551, 0, 3553, 0, 0, 0, 0, 0, 561, 561, 561, 561, 561, 2589, 561, 561, 561, 561, 2593, 561, 561, 0, 2648, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2338, 585, 585, 585, 585, 585, 585, 585, 2657, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1971, 585, 585, 585, 2709, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 540, 540, 561, 561, 3228, 561, 561, 561, 561, 561, 561, 561, 0, 0, 585, 2900, 585, 585, 585, 585, 585, 540, 3514, 540, 3516, 540, 540, 3518, 540, 561, 561, 561, 561, 561, 561, 561, 561, 1396, 1398, 561, 561, 561, 561, 561, 561, 3527, 561, 3529, 561, 561, 3531, 561, 585, 585, 585, 585, 585, 585, 585, 585, 3540, 585, 3542, 585, 585, 3544, 585, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 362, 0, 0, 0, 147456, 0, 0, 0, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 365, 0, 382, 0, 348, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 764, 0, 0, 420, 428, 419, 428, 0, 310, 428, 441, 450, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, 484, 489, 489, 500, 489, 489, 489, 489, 489, 489, 489, 489, 515, 515, 528, 528, 529, 529, 529, 529, 529, 529, 529, 529, 529, 529, 515, 529, 529, 529, 529, 529, 543, 565, 543, 565, 543, 543, 565, 543, 589, 565, 565, 565, 565, 565, 565, 565, 589, 589, 589, 612, 589, 589, 589, 589, 589, 614, 615, 615, 612, 615, 614, 615, 614, 1, 12290, 3, 78112, 0, 702, 0, 0, 0, 0, 0, 702, 0, 0, 0, 540, 540, 540, 540, 540, 3028, 540, 540, 540, 540, 540, 540, 540, 561, 967, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 585, 2337, 585, 585, 585, 585, 2341, 585, 0, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 3200, 0, 1150, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1102, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 540, 540, 1276, 1278, 540, 540, 540, 540, 540, 540, 540, 540, 1292, 540, 1297, 540, 540, 1301, 540, 540, 540, 540, 1812, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1823, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1378, 561, 0, 585, 585, 585, 585, 585, 78112, 1079, 0, 0, 1083, 1087, 0, 0, 1091, 540, 1304, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1302, 540, 1360, 914, 561, 561, 1364, 561, 1367, 561, 561, 561, 561, 561, 561, 561, 561, 1381, 561, 1386, 561, 561, 1390, 561, 561, 1393, 561, 561, 561, 561, 561, 561, 561, 561, 1431, 561, 561, 1435, 561, 561, 561, 561, 1484, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1942, 540, 1793, 1794, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 2584, 0, 585, 585, 1946, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2005, 585, 585, 585, 1959, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2357, 585, 2102, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 379, 381, 0, 0, 0, 0, 0, 2133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 2033, 0, 2035, 0, 0, 0, 0, 0, 0, 2428, 0, 0, 0, 0, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 0, 0, 2474, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1133, 0, 0, 0, 0, 0, 0, 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, 384, 0, 0, 2799, 0, 0, 0, 0, 0, 0, 0, 2803, 540, 540, 540, 540, 540, 540, 540, 1326, 540, 540, 540, 540, 540, 540, 540, 1339, 585, 2956, 0, 0, 0, 0, 0, 2962, 0, 0, 0, 0, 0, 0, 0, 2966, 0, 0, 0, 3008, 0, 0, 0, 0, 0, 0, 0, 0, 3017, 0, 0, 0, 0, 0, 383, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 3048, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1320, 3089, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1858, 3130, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1957, 540, 3225, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3414, 585, 585, 585, 3281, 585, 585, 585, 585, 561, 540, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 3157, 3513, 540, 540, 540, 540, 540, 540, 540, 561, 3521, 561, 3522, 561, 561, 561, 3526, 540, 540, 540, 3664, 561, 561, 561, 3666, 585, 585, 585, 3668, 0, 0, 540, 540, 540, 3560, 540, 540, 540, 540, 540, 540, 540, 540, 3568, 561, 321, 321, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 371, 0, 430, 436, 0, 442, 451, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 490, 490, 501, 490, 490, 490, 490, 490, 490, 490, 490, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 544, 566, 544, 566, 544, 544, 566, 544, 590, 566, 566, 566, 566, 566, 566, 566, 590, 590, 590, 544, 590, 590, 590, 590, 590, 566, 566, 544, 566, 590, 566, 590, 1, 12290, 3, 78112, 540, 540, 540, 874, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1822, 540, 1360, 585, 1017, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 1122, 0, 1124, 1125, 0, 0, 0, 1127, 1128, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 1159168, 0, 0, 0, 0, 1159168, 0, 0, 1166, 1167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1634, 0, 0, 0, 1113, 0, 1253, 0, 0, 0, 0, 0, 1128, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 0, 773, 774, 0, 0, 778, 779, 0, 675, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0, 0, 0, 0, 0, 0, 1605, 0, 0, 1268, 1127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 1277, 540, 540, 540, 1323, 540, 540, 1325, 540, 540, 1328, 540, 540, 540, 540, 540, 540, 540, 540, 2554, 540, 540, 540, 540, 540, 540, 2560, 1360, 914, 561, 561, 1365, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1400, 561, 561, 561, 561, 561, 561, 1404, 561, 561, 561, 561, 561, 561, 561, 1413, 561, 561, 1415, 561, 561, 0, 2648, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 2655, 561, 1419, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1874, 561, 561, 561, 1443, 561, 561, 561, 561, 561, 26027, 1360, 987, 585, 585, 1456, 585, 585, 0, 0, 3291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 0, 0, 0, 1266, 585, 585, 585, 1504, 585, 585, 1506, 585, 585, 585, 1510, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 2020, 561, 561, 0, 0, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 0, 585, 1991, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2695, 561, 2024, 585, 585, 585, 2028, 0, 2029, 0, 0, 0, 0, 0, 2031, 0, 0, 0, 0, 0, 2502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1586, 1587, 0, 0, 0, 0, 0, 0, 0, 2033, 0, 0, 0, 0, 0, 2035, 0, 0, 0, 0, 0, 2038, 0, 0, 2077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 2807, 540, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 2252, 561, 561, 561, 561, 561, 1447, 561, 561, 26027, 1360, 987, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 2017, 540, 540, 540, 2021, 561, 2256, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1875, 2272, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1890, 561, 561, 561, 2314, 561, 2316, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2340, 585, 585, 585, 2399, 585, 2401, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 561, 561, 540, 540, 2564, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3212, 540, 0, 0, 0, 561, 561, 561, 561, 2588, 561, 561, 561, 561, 561, 561, 561, 561, 1916, 561, 26027, 0, 585, 585, 585, 585, 0, 2757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 2834, 540, 540, 540, 540, 540, 540, 540, 2840, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2571, 540, 540, 540, 540, 540, 540, 2882, 561, 561, 561, 561, 561, 561, 561, 2888, 561, 561, 561, 561, 561, 561, 561, 0, 0, 585, 585, 585, 2902, 585, 585, 585, 2930, 585, 585, 585, 585, 585, 585, 585, 2936, 585, 585, 585, 585, 585, 585, 585, 561, 540, 2714, 585, 561, 540, 540, 540, 540, 540, 540, 3226, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3074, 585, 585, 585, 585, 3282, 585, 585, 585, 561, 540, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 3156, 0, 585, 585, 3369, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 2617344, 0, 0, 0, 0, 0, 2789376, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 3445, 0, 0, 0, 0, 540, 540, 540, 540, 3027, 540, 540, 540, 540, 3031, 540, 540, 540, 540, 540, 540, 3456, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 3524, 561, 561, 561, 561, 3471, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3486, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 3626, 540, 540, 540, 3515, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3413, 561, 561, 3528, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3113, 585, 585, 585, 3541, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 208896, 0, 0, 0, 0, 323, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 1196, 0, 0, 0, 0, 322, 370, 325, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 322, 0, 0, 369, 369, 399, 0, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 322, 452, 465, 465, 465, 465, 465, 465, 465, 478, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 491, 491, 465, 491, 491, 506, 508, 491, 491, 506, 491, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 534, 517, 517, 517, 517, 517, 545, 567, 545, 567, 545, 545, 567, 545, 591, 567, 567, 567, 567, 567, 567, 567, 591, 591, 591, 545, 591, 591, 591, 591, 591, 567, 567, 545, 567, 591, 567, 591, 1, 12290, 3, 78112, 659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 671, 0, 0, 0, 0, 0, 439, 0, 0, 0, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 557, 580, 557, 580, 557, 557, 580, 557, 604, 0, 0, 707, 708, 0, 0, 0, 0, 0, 714, 0, 0, 0, 718, 0, 720, 0, 769, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 787, 0, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 801, 0, 806, 0, 809, 0, 0, 0, 0, 806, 809, 0, 0, 0, 809, 0, 707, 0, 0, 826, 0, 0, 0, 0, 0, 826, 826, 829, 809, 806, 0, 0, 0, 0, 0, 0, 0, 789, 0, 801, 0, 818, 0, 0, 0, 0, 0, 2745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 811, 540, 540, 854, 540, 540, 0, 0, 0, 789, 0, 0, 0, 0, 0, 838, 0, 0, 0, 0, 0, 0, 0, 2142, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2819, 540, 540, 540, 540, 540, 0, 0, 0, 787, 0, 0, 0, 838, 818, 838, 0, 540, 540, 852, 540, 858, 540, 540, 871, 540, 881, 540, 886, 540, 540, 893, 896, 901, 540, 909, 540, 540, 540, 540, 540, 3215, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 895, 540, 540, 540, 540, 540, 561, 561, 561, 922, 561, 928, 561, 561, 941, 561, 561, 952, 561, 957, 561, 561, 0, 2648, 0, 0, 0, 0, 585, 585, 585, 585, 585, 2653, 585, 585, 0, 0, 2959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2965, 0, 965, 968, 973, 561, 981, 561, 561, 0, 585, 585, 585, 995, 585, 1001, 585, 585, 0, 2958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 131072, 0, 0, 1014, 585, 585, 1025, 585, 1030, 585, 585, 1038, 1041, 1046, 585, 1054, 585, 585, 968, 0, 0, 0, 540, 585, 585, 561, 852, 540, 1066, 901, 540, 922, 561, 1071, 973, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0, 0, 0, 0, 0, 1137, 1138, 0, 0, 0, 0, 1142, 0, 0, 0, 362, 362, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 1182, 741, 0, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 1303, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1318, 540, 540, 540, 540, 2173, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2558, 540, 540, 540, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1372, 561, 561, 561, 561, 561, 1850, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1902, 1903, 561, 561, 561, 561, 561, 561, 1387, 561, 561, 561, 1392, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1432, 561, 561, 561, 561, 561, 1439, 561, 561, 561, 1421, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1437, 561, 0, 585, 585, 585, 1049, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0, 0, 0, 0, 811, 0, 585, 585, 585, 585, 1463, 585, 585, 585, 585, 585, 585, 1478, 585, 585, 585, 1483, 0, 0, 1608, 1609, 1610, 0, 1612, 1613, 0, 0, 0, 0, 1618, 0, 0, 0, 0, 0, 679, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2144, 0, 0, 1640, 0, 0, 1643, 0, 1645, 0, 0, 0, 0, 0, 1651, 1652, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 0, 540, 846, 540, 540, 540, 540, 540, 540, 3216, 540, 540, 540, 540, 540, 3221, 540, 3223, 540, 0, 1668, 0, 0, 1670, 0, 0, 0, 0, 1672, 1673, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 347, 345, 65536, 0, 1692, 0, 0, 0, 0, 0, 1698, 1699, 0, 1701, 1702, 1703, 0, 0, 0, 0, 0, 0, 810, 811, 0, 0, 0, 0, 811, 0, 0, 0, 1719, 0, 0, 0, 1723, 1724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 1715, 0, 0, 0, 1735, 1585, 1585, 1737, 540, 1739, 540, 1740, 540, 1742, 540, 540, 540, 1746, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1759, 540, 540, 540, 540, 540, 3318, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2557, 540, 540, 540, 540, 540, 540, 1763, 540, 540, 540, 540, 1767, 540, 1769, 540, 540, 540, 540, 540, 540, 540, 540, 2570, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3041, 540, 540, 540, 540, 540, 540, 540, 540, 1777, 1778, 1780, 540, 540, 540, 540, 540, 540, 1787, 1788, 540, 540, 1791, 1792, 540, 540, 540, 540, 540, 540, 540, 1800, 540, 540, 540, 1804, 540, 540, 540, 540, 540, 540, 2829, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1770, 540, 540, 540, 540, 540, 0, 1828, 561, 1830, 561, 561, 1832, 561, 1834, 561, 561, 561, 1838, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 2725, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 135168, 135168, 0, 0, 65536, 135168, 1859, 561, 1861, 561, 561, 561, 561, 561, 561, 561, 561, 1869, 1870, 1872, 561, 561, 0, 2648, 0, 0, 0, 0, 585, 585, 585, 585, 2652, 585, 585, 585, 585, 585, 585, 2390, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3124, 585, 585, 585, 585, 585, 561, 561, 561, 1894, 561, 561, 561, 1898, 561, 561, 561, 561, 561, 561, 561, 1906, 585, 1926, 585, 1928, 585, 585, 585, 1932, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 585, 1945, 585, 585, 585, 585, 1949, 585, 585, 585, 585, 1953, 585, 1955, 585, 585, 561, 3146, 3147, 3148, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 0, 2488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2096, 0, 0, 0, 0, 0, 0, 1974, 1975, 1976, 585, 585, 1979, 1980, 585, 585, 585, 585, 585, 585, 585, 1988, 585, 561, 0, 1288, 585, 1468, 1377, 540, 540, 540, 1549, 540, 561, 561, 561, 1553, 585, 585, 1992, 585, 585, 585, 585, 585, 585, 585, 2000, 585, 585, 585, 585, 585, 561, 561, 540, 561, 585, 561, 585, 1, 12290, 3, 78112, 585, 585, 585, 585, 2011, 561, 540, 2014, 585, 561, 1792, 540, 2019, 540, 1886, 561, 0, 585, 585, 1040, 585, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 1134592, 0, 0, 0, 0, 2023, 561, 1980, 585, 2027, 585, 0, 2029, 0, 0, 0, 0, 0, 2031, 0, 0, 0, 0, 0, 2761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0, 0, 2093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2119, 0, 2121, 0, 0, 0, 0, 0, 0, 0, 2129, 0, 0, 0, 0, 786, 0, 805, 0, 0, 0, 0, 540, 849, 540, 540, 540, 540, 540, 2216, 540, 540, 540, 540, 540, 540, 2221, 540, 540, 540, 540, 540, 540, 3633, 561, 561, 561, 561, 561, 561, 3639, 585, 585, 0, 0, 0, 2134, 0, 0, 0, 0, 2139, 0, 0, 0, 0, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2502656, 2179072, 2179072, 2179072, 2179072, 540, 2187, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1337, 540, 2211, 2212, 540, 540, 540, 540, 540, 540, 2219, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2582, 540, 540, 540, 0, 0, 0, 561, 561, 2258, 561, 2260, 561, 561, 561, 561, 561, 561, 2268, 561, 2270, 561, 561, 561, 561, 1426, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3343, 561, 561, 561, 561, 3344, 3345, 561, 561, 2343, 585, 2345, 585, 585, 585, 585, 585, 585, 2353, 585, 2355, 585, 585, 585, 585, 561, 0, 0, 0, 3648, 0, 540, 540, 540, 540, 3652, 540, 585, 585, 585, 585, 2389, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2705, 585, 585, 585, 585, 585, 585, 585, 2402, 585, 585, 2405, 2406, 585, 585, 561, 2177, 585, 2345, 2260, 540, 2414, 540, 540, 561, 2418, 561, 561, 585, 2422, 585, 585, 2029, 0, 2031, 0, 0, 0, 0, 795, 663, 844, 0, 0, 0, 0, 540, 848, 540, 540, 540, 540, 540, 1283, 540, 540, 540, 540, 540, 540, 1298, 540, 540, 540, 540, 540, 540, 2580, 540, 540, 540, 540, 540, 540, 0, 2584, 0, 0, 0, 2450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 2459, 0, 0, 0, 0, 0, 2464, 0, 2466, 2467, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 371, 0, 65536, 0, 0, 2498, 0, 0, 0, 0, 0, 0, 0, 2505, 0, 0, 0, 0, 0, 0, 0, 2479, 0, 0, 0, 2481, 0, 0, 0, 0, 2561, 540, 540, 540, 2566, 540, 540, 540, 540, 540, 540, 540, 2573, 540, 540, 540, 540, 540, 540, 2838, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1296, 540, 540, 540, 540, 540, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 2591, 561, 561, 561, 561, 561, 561, 2640, 561, 561, 561, 2643, 561, 561, 561, 561, 561, 561, 2886, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1867, 561, 561, 561, 561, 561, 561, 2621, 561, 561, 561, 561, 2625, 561, 561, 561, 2630, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 0, 3661, 0, 0, 561, 2637, 561, 561, 561, 561, 561, 561, 561, 2642, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3427, 585, 2669, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3267, 2797, 2798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 1741, 540, 0, 0, 2982, 2983, 0, 2984, 0, 2986, 0, 0, 0, 0, 2988, 0, 0, 0, 0, 0, 680, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0, 0, 0, 0, 3007, 0, 0, 2988, 0, 0, 3013, 3014, 0, 3016, 0, 0, 3019, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 3022, 540, 540, 540, 540, 540, 540, 3029, 540, 540, 540, 540, 540, 3033, 3062, 540, 561, 561, 561, 561, 561, 561, 3069, 561, 561, 561, 561, 561, 3073, 561, 0, 585, 585, 1042, 585, 585, 288, 1079, 0, 0, 1082, 1086, 0, 0, 1090, 3103, 561, 585, 585, 585, 585, 585, 585, 3110, 585, 585, 585, 585, 585, 3114, 585, 561, 0, 1543, 585, 1545, 1546, 540, 540, 1548, 540, 540, 561, 561, 1552, 561, 0, 585, 585, 1044, 585, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 794, 0, 0, 0, 0, 0, 0, 0, 798, 3144, 585, 561, 540, 585, 561, 540, 3150, 561, 3152, 585, 3154, 0, 0, 0, 0, 0, 0, 825, 0, 819, 0, 664, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 221184, 0, 0, 0, 0, 65536, 0, 0, 0, 3160, 0, 0, 3163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 2806, 540, 540, 540, 3202, 540, 540, 540, 540, 540, 540, 540, 3207, 540, 540, 540, 540, 540, 540, 540, 540, 3040, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3322, 540, 540, 540, 540, 540, 540, 561, 3234, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1889, 561, 3245, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 3257, 585, 585, 585, 585, 585, 585, 585, 3262, 585, 585, 585, 585, 585, 561, 2013, 585, 2015, 2016, 540, 2018, 540, 540, 561, 2022, 561, 561, 561, 3349, 561, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2667, 0, 3378, 3379, 0, 3176, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 384, 0, 0, 0, 3441, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 2167, 540, 540, 0, 0, 0, 0, 3503, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 3512, 0, 0, 3557, 3558, 3559, 540, 540, 540, 3562, 540, 3564, 540, 540, 540, 540, 3569, 3570, 3571, 561, 561, 561, 3574, 561, 3576, 561, 561, 561, 561, 3581, 3582, 3583, 585, 561, 1203, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 585, 3586, 585, 3588, 585, 585, 585, 585, 3593, 0, 0, 0, 0, 0, 0, 0, 2747, 2748, 2749, 0, 0, 0, 0, 0, 0, 0, 2763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 254413, 1, 12290, 0, 0, 540, 3628, 540, 540, 540, 3632, 561, 561, 3634, 561, 561, 561, 3638, 585, 585, 3640, 585, 585, 585, 3644, 561, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 3563, 540, 3565, 540, 540, 540, 561, 0, 0, 0, 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1120, 0, 0, 0, 0, 366, 0, 0, 0, 374, 376, 0, 0, 0, 0, 0, 0, 0, 344, 0, 402, 0, 0, 0, 0, 0, 402, 0, 0, 409, 0, 0, 0, 409, 69632, 73728, 0, 366, 366, 0, 421, 65536, 366, 0, 0, 366, 421, 498, 502, 498, 498, 507, 498, 498, 498, 507, 498, 421, 421, 327, 421, 0, 0, 421, 0, 421, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 546, 568, 546, 568, 546, 546, 568, 546, 592, 568, 568, 568, 568, 568, 568, 568, 592, 592, 592, 546, 592, 592, 592, 592, 592, 568, 568, 546, 568, 592, 568, 592, 1, 12290, 3, 78112, 0, 0, 677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 540, 540, 540, 875, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2183, 540, 540, 561, 561, 915, 561, 561, 561, 561, 561, 561, 945, 561, 561, 561, 561, 561, 561, 585, 3421, 585, 585, 3423, 585, 585, 585, 585, 585, 585, 1018, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, 540, 988, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 3068, 561, 561, 561, 561, 561, 561, 561, 561, 932, 561, 561, 946, 561, 561, 561, 561, 561, 561, 934, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3240, 561, 561, 561, 561, 561, 561, 0, 0, 1109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 0, 1229, 0, 1109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 540, 540, 540, 1281, 540, 540, 540, 540, 540, 1293, 540, 540, 540, 540, 540, 540, 540, 540, 3054, 3056, 540, 540, 540, 3059, 540, 3061, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 1370, 561, 561, 561, 561, 561, 1382, 585, 585, 1461, 585, 585, 585, 585, 585, 1473, 585, 585, 585, 585, 585, 585, 585, 585, 2914, 585, 585, 585, 585, 585, 585, 585, 585, 3122, 585, 585, 585, 585, 585, 585, 585, 585, 3136, 3138, 585, 585, 585, 3141, 585, 3143, 0, 1720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 1990, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1972, 585, 585, 585, 2373, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2370, 585, 585, 585, 585, 2698, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2383, 585, 0, 0, 0, 3161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1688, 0, 0, 0, 561, 561, 3235, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 2325, 0, 3663, 540, 540, 540, 3665, 561, 561, 561, 3667, 585, 585, 585, 0, 0, 540, 540, 540, 2526, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3058, 540, 540, 540, 422, 422, 0, 422, 431, 0, 422, 0, 422, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 492, 492, 466, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 547, 569, 547, 569, 547, 547, 569, 547, 593, 569, 569, 569, 569, 569, 569, 569, 593, 593, 593, 547, 593, 593, 593, 593, 593, 569, 569, 547, 569, 593, 569, 593, 1, 12290, 3, 78112, 0, 0, 0, 0, 2159, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3032, 540, 540, 540, 540, 540, 2202, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2208, 540, 540, 2413, 540, 540, 540, 2417, 561, 561, 561, 2421, 585, 585, 585, 0, 0, 0, 0, 3293, 0, 0, 0, 0, 0, 3296, 0, 0, 0, 2458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 2967, 0, 0, 0, 2971, 0, 0, 0, 0, 0, 2977, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 418, 0, 65536, 0, 0, 2992, 0, 0, 2995, 0, 0, 0, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 367, 367, 0, 0, 65536, 367, 0, 0, 0, 3023, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2222, 540, 540, 540, 540, 3049, 540, 540, 540, 540, 540, 540, 540, 540, 3057, 540, 540, 3060, 540, 540, 540, 540, 2189, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2583, 0, 0, 0, 540, 540, 3063, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 2326, 0, 561, 561, 3090, 561, 561, 561, 561, 561, 561, 561, 561, 3098, 561, 561, 3101, 561, 0, 585, 585, 1045, 585, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 1102, 1101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 1275, 540, 561, 561, 3104, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2666, 585, 585, 585, 3131, 585, 585, 585, 585, 585, 585, 585, 585, 3139, 585, 585, 3142, 585, 585, 585, 585, 585, 1930, 585, 585, 585, 585, 585, 585, 585, 585, 1941, 585, 585, 585, 585, 585, 1948, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3263, 585, 585, 585, 585, 0, 0, 0, 0, 3179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 0, 3192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 2808, 3201, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1359, 540, 3213, 540, 540, 540, 540, 540, 540, 540, 3218, 540, 3220, 540, 540, 540, 540, 540, 540, 561, 3227, 561, 561, 561, 3230, 561, 561, 561, 561, 561, 982, 561, 0, 585, 585, 585, 585, 999, 585, 585, 585, 561, 561, 3246, 561, 3248, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 3537, 585, 585, 585, 585, 3256, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3278, 585, 585, 3268, 585, 585, 585, 585, 585, 585, 585, 585, 3274, 585, 3276, 585, 585, 561, 3370, 540, 3371, 561, 3372, 585, 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 540, 540, 3328, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3233, 561, 561, 561, 561, 3340, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3346, 561, 0, 994, 1075, 1039, 585, 585, 78112, 1079, 0, 0, 1081, 1085, 0, 0, 1089, 3358, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3364, 585, 585, 585, 585, 585, 585, 585, 1981, 1982, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 2951, 540, 2953, 561, 561, 561, 3654, 3655, 561, 561, 585, 585, 3658, 3659, 585, 585, 0, 0, 0, 0, 0, 0, 1126, 0, 0, 0, 1130, 1131, 0, 0, 0, 0, 0, 0, 1141, 0, 1143, 0, 0, 362, 362, 0, 0, 0, 691, 0, 0, 0, 0, 696, 0, 0, 0, 362, 362, 362, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0, 0, 0, 1160, 0, 1162, 0, 758, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 758, 758, 0, 0, 0, 0, 803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 856, 585, 999, 926, 540, 540, 540, 540, 910, 561, 561, 561, 561, 561, 1880, 1881, 1882, 561, 561, 1885, 1886, 561, 561, 561, 561, 561, 1896, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2603, 561, 2605, 561, 561, 561, 982, 0, 585, 585, 585, 585, 1055, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 375, 0, 378, 0, 0, 0, 378, 0, 0, 0, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1619, 0, 0, 585, 585, 585, 2010, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 561, 3066, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2600, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 987, 585, 585, 585, 585, 585, 0, 2039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 540, 540, 540, 2172, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2238, 2584, 0, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2255, 0, 0, 0, 0, 2461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 3288, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184, 1184, 561, 561, 561, 561, 3350, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2939, 585, 585, 585, 585, 3368, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 394, 0, 0, 467, 467, 485, 493, 493, 485, 493, 493, 493, 493, 493, 493, 493, 493, 518, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 535, 526, 526, 526, 526, 526, 548, 570, 548, 570, 548, 548, 570, 548, 594, 570, 570, 570, 570, 570, 570, 570, 594, 594, 594, 548, 594, 594, 594, 594, 594, 570, 570, 548, 570, 594, 570, 594, 1, 12290, 3, 78112, 767, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, 0, 821, 0, 0, 0, 798, 0, 0, 821, 0, 0, 0, 0, 0, 821, 821, 0, 0, 0, 0, 805, 0, 0, 786, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 798, 0, 0, 0, 0, 0, 0, 839, 794, 0, 0, 839, 0, 0, 0, 0, 808, 0, 0, 692, 0, 0, 672, 0, 692, 0, 813, 675, 676, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 540, 867, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 911, 540, 540, 540, 540, 2215, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1756, 540, 540, 540, 540, 983, 0, 585, 585, 585, 1077, 1056, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 412, 412, 0, 0, 0, 0, 0, 412, 0, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 1241, 0, 0, 0, 0, 0, 0, 0, 0, 1246, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, 0, 540, 1305, 540, 540, 540, 540, 540, 540, 540, 1313, 540, 540, 540, 540, 540, 540, 540, 540, 3332, 540, 561, 561, 561, 561, 561, 561, 935, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3094, 561, 3096, 561, 561, 561, 561, 561, 561, 1340, 540, 540, 1344, 540, 540, 540, 540, 540, 1350, 540, 540, 540, 1357, 540, 540, 540, 540, 540, 3458, 540, 3460, 3461, 540, 3463, 540, 561, 561, 561, 561, 561, 2262, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1399, 561, 561, 561, 561, 561, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1375, 561, 561, 561, 561, 1848, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2868, 561, 561, 561, 561, 561, 1441, 561, 561, 561, 1448, 561, 561, 26027, 1360, 987, 585, 585, 585, 585, 585, 585, 585, 1998, 585, 585, 585, 585, 585, 2003, 585, 585, 1485, 585, 585, 585, 585, 585, 585, 585, 1493, 585, 585, 585, 585, 585, 585, 585, 585, 3261, 585, 585, 585, 585, 585, 585, 585, 585, 3272, 585, 585, 585, 585, 585, 585, 585, 585, 3283, 540, 585, 561, 540, 540, 561, 561, 585, 1522, 585, 585, 1526, 585, 585, 585, 585, 585, 1532, 585, 585, 585, 1539, 585, 585, 585, 585, 585, 1996, 1997, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1531, 585, 585, 585, 585, 585, 585, 0, 0, 0, 1595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0, 0, 0, 1656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 1708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1653, 0, 0, 0, 1722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1729, 0, 0, 0, 0, 0, 0, 1706, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3398, 540, 3400, 540, 561, 561, 1893, 561, 561, 561, 561, 561, 561, 1901, 561, 561, 561, 561, 561, 561, 1410, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1428, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1917, 26027, 0, 1922, 585, 1924, 585, 561, 561, 561, 1910, 1912, 561, 561, 561, 561, 561, 26027, 0, 585, 585, 585, 585, 585, 585, 2335, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 3622, 0, 3624, 0, 0, 540, 585, 585, 585, 585, 1978, 585, 585, 585, 585, 585, 585, 585, 585, 1987, 585, 585, 585, 585, 585, 585, 2934, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2407, 561, 540, 585, 585, 561, 585, 585, 585, 585, 1995, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2004, 2006, 0, 0, 0, 2078, 0, 0, 0, 2081, 0, 0, 0, 0, 0, 2087, 0, 0, 0, 0, 0, 2774, 0, 0, 0, 2778, 0, 2780, 0, 0, 0, 0, 0, 0, 2746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 362, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, 0, 561, 561, 561, 561, 561, 2249, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1519, 585, 585, 2346, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2919, 585, 2448, 0, 0, 0, 0, 0, 0, 0, 0, 2453, 0, 0, 2456, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 2460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471, 0, 0, 0, 2485, 2486, 0, 0, 2489, 0, 0, 2492, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 417, 417, 0, 0, 65536, 417, 0, 0, 2499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2510, 0, 0, 0, 0, 815, 0, 812, 795, 0, 0, 817, 0, 667, 0, 791, 0, 0, 0, 0, 1096, 0, 0, 1098, 0, 0, 0, 0, 0, 0, 0, 0, 827, 0, 0, 0, 0, 0, 0, 0, 0, 540, 2524, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1789, 540, 540, 540, 540, 540, 2551, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2559, 540, 540, 2562, 540, 540, 540, 540, 540, 540, 2569, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3323, 540, 540, 540, 540, 540, 540, 2576, 540, 540, 540, 2579, 540, 540, 540, 540, 540, 540, 540, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 0, 0, 0, 765, 0, 0, 0, 0, 561, 2586, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3254, 561, 561, 561, 585, 585, 585, 585, 585, 2672, 585, 585, 585, 585, 585, 585, 2677, 585, 585, 585, 585, 561, 0, 3646, 0, 0, 0, 540, 540, 540, 540, 540, 540, 2529, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2842, 540, 540, 540, 540, 540, 585, 585, 585, 2683, 585, 585, 585, 585, 585, 585, 2690, 585, 585, 585, 585, 585, 585, 585, 2351, 585, 585, 585, 585, 585, 585, 585, 585, 1508, 585, 585, 585, 585, 585, 585, 585, 585, 2697, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2704, 585, 585, 585, 2707, 0, 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 0, 2739, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 2528, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2234, 540, 540, 540, 540, 0, 540, 540, 540, 2811, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2821, 540, 540, 540, 540, 540, 2836, 540, 540, 540, 2839, 540, 2841, 540, 540, 540, 540, 540, 540, 540, 540, 3520, 561, 561, 561, 561, 561, 561, 561, 1450, 26027, 1360, 987, 585, 585, 585, 585, 585, 2845, 540, 540, 540, 540, 540, 540, 0, 0, 561, 561, 2853, 561, 561, 561, 561, 561, 1913, 561, 561, 561, 561, 26027, 0, 585, 585, 585, 585, 2333, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1050, 585, 585, 585, 585, 561, 561, 2858, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2284, 561, 561, 561, 2874, 2875, 561, 561, 561, 561, 2878, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 1005, 585, 561, 561, 561, 2884, 561, 561, 561, 2887, 561, 2889, 561, 561, 561, 561, 561, 561, 1449, 561, 26027, 1360, 987, 1453, 585, 585, 585, 585, 2893, 561, 561, 561, 561, 561, 561, 0, 0, 585, 585, 2901, 585, 585, 585, 585, 585, 585, 585, 3121, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 561, 540, 3285, 561, 3287, 585, 2906, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3367, 585, 585, 2922, 2923, 585, 585, 585, 585, 2926, 585, 585, 585, 585, 585, 585, 585, 585, 3592, 561, 0, 0, 0, 0, 3595, 0, 585, 585, 585, 2932, 585, 585, 585, 2935, 585, 2937, 585, 585, 585, 585, 585, 585, 585, 1933, 585, 585, 585, 585, 1939, 585, 585, 585, 2941, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 2963, 0, 0, 0, 0, 0, 585, 585, 2957, 0, 0, 2960, 2961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 3009, 0, 0, 3012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200253, 151552, 2200253, 0, 0, 0, 151552, 540, 540, 540, 540, 3037, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3325, 540, 540, 540, 540, 540, 540, 540, 3051, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3465, 561, 561, 561, 561, 561, 561, 3077, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1887, 1888, 561, 561, 561, 561, 561, 561, 3092, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3480, 585, 585, 585, 585, 561, 561, 585, 585, 585, 585, 3108, 585, 585, 585, 585, 3112, 585, 585, 585, 585, 585, 585, 585, 3135, 585, 3137, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 585, 585, 585, 3118, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1512, 585, 585, 585, 585, 585, 585, 585, 3133, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2917, 585, 585, 2920, 0, 0, 3168, 3169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071, 0, 0, 0, 540, 540, 540, 540, 3329, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3412, 561, 561, 3336, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2285, 3347, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 3354, 585, 585, 585, 585, 585, 585, 2404, 585, 585, 585, 585, 561, 2178, 585, 2346, 2261, 3389, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2534, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 3447, 3448, 0, 540, 540, 540, 540, 2527, 540, 540, 540, 540, 2531, 540, 540, 540, 540, 540, 540, 540, 1312, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1784, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 3473, 561, 3475, 3476, 561, 3478, 561, 585, 585, 585, 585, 585, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254413, 0, 0, 0, 0, 0, 585, 585, 585, 3488, 585, 3490, 3491, 585, 3493, 585, 3495, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 313, 314, 314, 419, 420, 65536, 427, 585, 585, 3617, 585, 3618, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 540, 585, 585, 561, 540, 540, 540, 904, 540, 561, 561, 561, 976, 561, 561, 585, 585, 3673, 3674, 3675, 3676, 0, 540, 561, 585, 0, 540, 561, 585, 585, 585, 585, 585, 1079, 0, 0, 1563, 0, 0, 0, 1569, 0, 0, 0, 0, 0, 2789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, 0, 0, 0, 571, 571, 571, 571, 571, 571, 571, 595, 595, 595, 540, 595, 595, 595, 595, 595, 571, 571, 540, 571, 595, 571, 595, 1, 12290, 3, 78112, 737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1707, 0, 0, 2040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1635, 0, 0, 2170, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1360, 0, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2253, 561, 561, 561, 561, 926, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2307, 561, 561, 561, 2310, 400, 0, 0, 0, 0, 378, 0, 69632, 73728, 0, 0, 0, 0, 423, 65536, 0, 0, 0, 0, 1111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1687, 0, 1689, 0, 0, 423, 423, 0, 423, 0, 437, 423, 0, 423, 468, 468, 468, 475, 468, 468, 468, 468, 468, 468, 468, 468, 475, 468, 468, 468, 468, 468, 468, 468, 468, 482, 468, 494, 494, 468, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 537, 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, 572, 572, 549, 572, 596, 572, 596, 1, 12290, 3, 78112, 0, 660, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0, 830, 0, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 742, 661, 0, 0, 0, 0, 0, 540, 847, 540, 540, 540, 540, 540, 540, 3330, 540, 540, 540, 561, 561, 561, 561, 561, 3335, 861, 540, 540, 540, 540, 540, 540, 540, 540, 540, 897, 540, 540, 540, 540, 540, 540, 540, 1799, 540, 540, 540, 540, 540, 540, 1807, 540, 561, 561, 916, 561, 561, 561, 931, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2266, 561, 561, 561, 561, 561, 561, 0, 0, 0, 540, 989, 585, 561, 540, 540, 897, 540, 540, 561, 561, 969, 561, 561, 561, 561, 561, 0, 585, 585, 989, 585, 585, 585, 1004, 585, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1101, 1102, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 0, 0, 540, 540, 540, 1308, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3222, 540, 540, 1360, 914, 561, 1363, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1376, 1383, 561, 561, 561, 1444, 561, 561, 561, 561, 26027, 1360, 987, 585, 1454, 585, 585, 585, 585, 585, 585, 2659, 585, 585, 2662, 2663, 585, 585, 585, 585, 585, 585, 585, 2712, 540, 585, 585, 561, 540, 540, 540, 540, 585, 585, 1488, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3128, 585, 1521, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1535, 585, 585, 585, 585, 585, 585, 2673, 585, 585, 585, 2676, 585, 585, 2678, 585, 2679, 561, 585, 585, 1521, 585, 585, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 1826, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1841, 1842, 585, 585, 2009, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 561, 561, 1849, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2880, 561, 561, 561, 561, 561, 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2074, 540, 540, 2226, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 561, 561, 561, 2854, 561, 561, 561, 561, 561, 561, 2301, 561, 561, 561, 561, 561, 561, 2306, 561, 561, 561, 561, 561, 561, 3079, 561, 561, 561, 561, 561, 3085, 561, 561, 3088, 2311, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 2654, 585, 585, 585, 585, 585, 2374, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3140, 585, 585, 585, 585, 2386, 585, 585, 585, 585, 585, 585, 2391, 585, 585, 585, 585, 585, 2396, 585, 585, 585, 585, 585, 2012, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 561, 561, 2624, 561, 561, 561, 561, 561, 561, 2632, 561, 561, 561, 561, 561, 2288, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2631, 561, 561, 561, 561, 561, 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 2732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 1591, 0, 0, 0, 2772, 0, 0, 0, 0, 2777, 0, 0, 0, 0, 0, 0, 0, 540, 562, 540, 562, 540, 540, 562, 540, 586, 540, 540, 2810, 540, 540, 540, 540, 540, 540, 2818, 540, 540, 540, 540, 540, 540, 540, 889, 540, 540, 540, 540, 907, 540, 540, 540, 540, 540, 540, 540, 2849, 540, 540, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1836, 561, 561, 561, 561, 561, 2857, 561, 561, 561, 561, 561, 561, 2865, 561, 561, 561, 561, 561, 561, 561, 561, 3081, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2897, 561, 561, 0, 0, 585, 585, 585, 585, 585, 585, 585, 1467, 1474, 585, 585, 585, 585, 585, 585, 585, 585, 3621, 0, 0, 0, 0, 0, 0, 540, 2905, 585, 585, 585, 585, 585, 585, 2913, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1983, 585, 585, 1986, 585, 585, 585, 585, 585, 585, 585, 2945, 585, 585, 561, 540, 585, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 3376, 0, 585, 3280, 585, 585, 585, 585, 585, 585, 561, 540, 585, 561, 540, 540, 561, 561, 585, 585, 0, 3155, 0, 0, 585, 585, 585, 3587, 585, 3589, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 0, 2791, 0, 0, 0, 2793, 0, 0, 0, 0, 0, 0, 0, 0, 3600, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1314, 540, 540, 540, 540, 3607, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3614, 585, 585, 585, 585, 585, 585, 2686, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1045, 585, 585, 585, 585, 585, 972, 561, 3653, 561, 561, 561, 561, 585, 3657, 585, 585, 585, 585, 0, 0, 0, 0, 0, 0, 1204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 290, 0, 0, 0, 345, 469, 469, 469, 453, 453, 469, 453, 453, 453, 453, 453, 453, 453, 453, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 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, 573, 573, 550, 573, 597, 573, 597, 1, 12290, 3, 78112, 862, 540, 540, 876, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1315, 540, 540, 540, 585, 1019, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 3498, 0, 0, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1607, 0, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 540, 1341, 540, 540, 540, 540, 540, 1348, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3333, 561, 561, 561, 561, 561, 585, 585, 585, 585, 1505, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3365, 585, 585, 585, 585, 585, 1523, 585, 585, 585, 585, 585, 1530, 585, 585, 585, 585, 585, 585, 585, 1468, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2378, 585, 585, 585, 585, 585, 585, 561, 585, 585, 585, 1557, 585, 1079, 0, 1561, 0, 0, 0, 1567, 0, 0, 0, 0, 0, 803, 0, 0, 0, 0, 0, 0, 0, 803, 0, 0, 0, 0, 540, 540, 540, 540, 540, 1573, 0, 0, 0, 1579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 0, 1695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127, 0, 0, 0, 540, 1762, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1358, 540, 1843, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1854, 561, 561, 561, 561, 561, 561, 3239, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3578, 561, 561, 585, 585, 585, 585, 0, 2064, 2065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 2135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 2186, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1808, 540, 540, 2213, 540, 540, 540, 540, 2218, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1754, 540, 540, 540, 540, 540, 540, 2240, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1401, 561, 561, 2298, 561, 561, 561, 561, 2303, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3083, 561, 561, 561, 561, 561, 585, 585, 585, 2388, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1938, 585, 585, 585, 3034, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2210, 0, 0, 0, 3380, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0, 0, 540, 540, 3404, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2282, 561, 561, 561, 561, 561, 561, 561, 3419, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1049, 585, 585, 585, 585, 561, 540, 3454, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 3523, 561, 561, 561, 3469, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 3484, 385, 387, 337, 0, 0, 0, 0, 0, 0, 336, 0, 0, 337, 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2057, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 1139, 1140, 0, 0, 0, 0, 0, 362, 362, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 438, 0, 444, 0, 470, 470, 470, 470, 470, 470, 470, 551, 574, 551, 574, 551, 551, 574, 551, 598, 480, 470, 470, 470, 499, 476, 499, 499, 499, 499, 499, 499, 499, 499, 470, 470, 476, 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 480, 470, 481, 480, 470, 470, 470, 470, 574, 574, 574, 574, 574, 574, 574, 598, 598, 598, 551, 598, 598, 598, 598, 598, 574, 574, 551, 574, 598, 574, 598, 1, 12290, 3, 78112, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2153, 0, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, 0, 362, 362, 362, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 663, 0, 791, 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 2099, 0, 0, 0, 0, 0, 804, 0, 0, 0, 0, 0, 812, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 717, 0, 0, 0, 831, 0, 0, 0, 663, 834, 0, 791, 0, 0, 0, 0, 0, 840, 0, 0, 0, 0, 0, 2996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2429, 2430, 0, 0, 0, 0, 863, 540, 540, 877, 540, 540, 540, 888, 540, 540, 540, 540, 906, 540, 540, 540, 540, 540, 1311, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2843, 540, 540, 540, 540, 561, 561, 917, 561, 561, 561, 933, 561, 561, 947, 561, 561, 561, 561, 960, 561, 0, 995, 585, 1076, 1046, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 2686976, 2736128, 0, 0, 2531328, 2707456, 0, 3190784, 561, 561, 561, 978, 561, 561, 561, 0, 585, 585, 990, 585, 585, 585, 1006, 585, 585, 585, 585, 585, 2349, 585, 585, 585, 585, 2354, 585, 585, 585, 585, 585, 585, 585, 2377, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 561, 585, 0, 0, 0, 0, 585, 1020, 585, 585, 585, 585, 1033, 585, 585, 585, 585, 1051, 585, 585, 585, 561, 540, 585, 561, 3149, 540, 3151, 561, 3153, 585, 0, 0, 0, 0, 0, 0, 1660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 990, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 3067, 561, 561, 561, 561, 3071, 561, 561, 561, 561, 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431, 0, 2433, 0, 1238, 0, 0, 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 3561, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 540, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1491, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1495, 585, 585, 585, 585, 561, 585, 585, 1556, 585, 585, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 1625, 0, 1627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 839, 540, 540, 540, 540, 859, 540, 1744, 540, 540, 540, 540, 540, 540, 540, 540, 1755, 540, 540, 540, 540, 540, 540, 540, 2176, 540, 540, 2180, 540, 540, 540, 2184, 540, 561, 561, 561, 1847, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2294, 561, 561, 561, 0, 0, 2117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 2148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 0, 0, 0, 0, 0, 0, 0, 561, 561, 561, 561, 2248, 561, 561, 561, 561, 561, 561, 561, 561, 3095, 3097, 561, 561, 561, 3100, 561, 3102, 561, 561, 2313, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, 585, 585, 2651, 585, 585, 585, 585, 585, 585, 585, 2660, 585, 585, 585, 585, 585, 2665, 585, 585, 2398, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 2410, 585, 561, 0, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 585, 585, 585, 585, 0, 3669, 540, 3670, 0, 2436, 0, 0, 0, 0, 0, 0, 2441, 0, 0, 0, 2444, 2445, 0, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 304, 0, 0, 0, 0, 2497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2506, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 163840, 0, 0, 0, 0, 65536, 0, 2512, 0, 0, 0, 0, 2515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523, 540, 2536, 2537, 540, 540, 540, 540, 540, 2542, 540, 2544, 540, 540, 540, 540, 2548, 561, 2595, 561, 561, 2598, 2599, 561, 561, 561, 561, 561, 2604, 561, 2606, 561, 561, 561, 561, 1863, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2890, 561, 561, 561, 561, 561, 561, 561, 2610, 561, 561, 561, 561, 561, 561, 561, 561, 2616, 561, 561, 561, 561, 561, 2276, 561, 561, 2279, 561, 561, 561, 561, 561, 561, 561, 1915, 561, 561, 26027, 1920, 585, 585, 585, 585, 2636, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2608, 2668, 585, 2670, 585, 585, 585, 585, 2674, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2675, 585, 585, 585, 585, 585, 585, 2680, 585, 585, 585, 585, 585, 585, 585, 585, 2688, 585, 585, 585, 585, 585, 585, 585, 1950, 585, 585, 585, 585, 1954, 585, 585, 585, 2696, 585, 585, 585, 585, 2700, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1494, 585, 585, 585, 585, 585, 561, 2720, 561, 561, 585, 2722, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2964, 0, 0, 0, 0, 2770, 0, 0, 0, 2773, 0, 0, 2776, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1691, 0, 2786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0, 3171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0, 0, 0, 0, 540, 2825, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1773, 540, 540, 2835, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2844, 540, 540, 2847, 540, 540, 2850, 540, 0, 0, 2851, 561, 561, 561, 561, 561, 561, 1851, 561, 561, 561, 561, 1855, 561, 561, 561, 561, 561, 2883, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2892, 561, 561, 2895, 561, 561, 2898, 561, 0, 0, 2899, 585, 585, 585, 585, 585, 585, 585, 1965, 585, 585, 585, 1970, 585, 585, 585, 585, 585, 2931, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2940, 585, 585, 2943, 585, 585, 2946, 585, 561, 2948, 585, 2949, 2950, 540, 540, 561, 561, 561, 561, 1878, 561, 561, 561, 561, 1884, 561, 561, 561, 561, 561, 561, 936, 561, 561, 561, 561, 561, 561, 561, 561, 561, 984, 0, 585, 585, 585, 585, 585, 585, 1007, 585, 0, 2968, 2969, 0, 0, 0, 0, 2974, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 331, 331, 0, 0, 0, 0, 3020, 0, 0, 540, 540, 3025, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3043, 540, 540, 540, 540, 540, 540, 540, 3050, 540, 540, 3052, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1352, 540, 540, 540, 540, 540, 561, 561, 561, 3091, 561, 561, 3093, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2602, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 3106, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1496, 585, 585, 585, 1500, 585, 585, 585, 3132, 585, 585, 3134, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1040, 585, 585, 585, 585, 585, 967, 3158, 0, 0, 0, 3162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 1225, 0, 3190, 0, 0, 3193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 2166, 540, 540, 540, 540, 540, 3214, 540, 540, 540, 540, 540, 540, 540, 3219, 540, 540, 540, 540, 540, 540, 540, 2541, 540, 2543, 540, 540, 540, 540, 540, 540, 540, 540, 2581, 540, 540, 540, 540, 0, 2584, 0, 561, 561, 561, 3236, 3237, 561, 561, 561, 561, 561, 3241, 561, 561, 561, 561, 561, 561, 3250, 561, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 3536, 585, 585, 585, 585, 561, 561, 561, 3247, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 585, 3481, 585, 3483, 585, 585, 585, 585, 3269, 585, 585, 585, 585, 585, 585, 585, 585, 3275, 585, 585, 585, 585, 585, 585, 2701, 585, 585, 585, 585, 585, 585, 585, 2706, 585, 0, 0, 3308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 856, 540, 585, 3359, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1057, 561, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 3386, 0, 0, 0, 0, 0, 1169, 0, 1171, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 0, 0, 0, 0, 0, 585, 3429, 585, 585, 585, 585, 585, 585, 561, 540, 561, 585, 0, 3437, 0, 0, 0, 0, 0, 3300, 0, 3176, 3302, 0, 0, 3305, 0, 0, 0, 0, 0, 0, 1113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 362, 0, 703, 0, 0, 3440, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 3452, 540, 540, 540, 540, 3457, 540, 540, 540, 540, 3462, 540, 540, 561, 561, 3467, 561, 0, 997, 1037, 585, 1048, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 0, 783, 0, 0, 561, 561, 561, 3472, 561, 561, 561, 561, 3477, 561, 561, 585, 585, 3482, 585, 585, 585, 585, 585, 585, 3259, 3260, 585, 585, 585, 585, 3264, 3265, 585, 585, 585, 585, 585, 585, 3120, 585, 585, 585, 585, 585, 3126, 585, 585, 3129, 585, 585, 3487, 585, 585, 585, 585, 3492, 585, 585, 561, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 167936, 0, 0, 0, 0, 65536, 0, 3499, 0, 0, 0, 0, 0, 3505, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3397, 540, 540, 540, 540, 540, 540, 540, 540, 3517, 540, 540, 3519, 561, 561, 561, 561, 561, 561, 561, 561, 3252, 561, 561, 561, 561, 561, 561, 585, 561, 561, 561, 3530, 561, 561, 3532, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1042, 585, 585, 585, 585, 585, 969, 585, 585, 3543, 585, 585, 3545, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1144, 0, 362, 362, 0, 1147, 0, 540, 540, 3629, 3630, 540, 540, 561, 561, 561, 3635, 3636, 561, 561, 585, 585, 585, 585, 0, 2029, 0, 0, 0, 0, 0, 2031, 0, 0, 3641, 3642, 585, 585, 561, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 3395, 540, 540, 540, 540, 540, 540, 3401, 561, 561, 585, 585, 0, 540, 561, 585, 0, 540, 561, 585, 3681, 3682, 3683, 3684, 339, 340, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2469, 0, 2470, 0, 342, 342, 343, 342, 0, 341, 342, 445, 454, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 486, 495, 495, 503, 495, 505, 495, 495, 505, 505, 495, 505, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 552, 575, 552, 575, 552, 552, 575, 552, 599, 575, 575, 575, 575, 575, 575, 575, 599, 599, 599, 552, 599, 599, 599, 599, 599, 575, 575, 552, 575, 599, 575, 599, 1, 12290, 3, 78112, 0, 0, 0, 646, 0, 0, 0, 0, 651, 652, 653, 654, 655, 656, 657, 0, 0, 0, 0, 1144, 0, 0, 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2957312, 0, 0, 0, 0, 0, 0, 0, 692, 0, 0, 0, 0, 0, 0, 699, 362, 362, 362, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 735, 0, 800, 0, 0, 0, 0, 721, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 334, 0, 0, 0, 0, 0, 646, 752, 753, 754, 0, 0, 0, 0, 0, 760, 761, 0, 0, 0, 0, 0, 0, 1271, 0, 0, 0, 0, 0, 0, 540, 540, 540, 3026, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2220, 540, 540, 540, 540, 540, 0, 761, 0, 0, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0, 723, 0, 692, 814, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 558, 581, 558, 581, 558, 558, 581, 558, 605, 0, 754, 823, 824, 0, 0, 0, 0, 0, 0, 754, 0, 0, 828, 699, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1633, 0, 0, 0, 0, 0, 0, 833, 0, 0, 0, 835, 0, 0, 0, 692, 699, 0, 0, 692, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 692, 540, 540, 853, 857, 860, 540, 868, 540, 540, 882, 884, 887, 540, 540, 540, 898, 902, 540, 540, 540, 540, 540, 540, 1766, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1786, 540, 540, 540, 540, 540, 561, 561, 561, 923, 927, 930, 561, 938, 561, 561, 561, 953, 955, 958, 561, 561, 561, 561, 1879, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2641, 561, 561, 561, 561, 561, 561, 561, 561, 2648, 0, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 2717, 540, 540, 540, 585, 585, 585, 1026, 1028, 1031, 585, 585, 585, 1043, 1047, 585, 585, 585, 585, 970, 0, 0, 0, 1060, 585, 1062, 1063, 853, 540, 898, 902, 1068, 923, 561, 970, 974, 561, 561, 561, 561, 0, 585, 585, 585, 996, 1000, 1003, 585, 1011, 1073, 0, 996, 585, 1043, 1047, 1078, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 560, 583, 560, 583, 560, 560, 583, 560, 607, 0, 0, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 1231, 0, 0, 0, 0, 1236, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 422, 65536, 0, 540, 1322, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1331, 540, 540, 1338, 540, 540, 540, 540, 2228, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 561, 2852, 561, 561, 561, 561, 561, 561, 561, 561, 1422, 561, 561, 1429, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2879, 561, 561, 561, 561, 561, 561, 561, 1442, 561, 561, 561, 561, 561, 561, 26027, 1360, 987, 585, 585, 585, 585, 585, 585, 585, 2925, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 561, 585, 3436, 0, 3438, 0, 585, 1503, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1513, 585, 585, 1520, 1667, 0, 1669, 0, 0, 0, 1671, 0, 748, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 0, 1602, 0, 0, 0, 0, 0, 0, 540, 1738, 540, 540, 540, 540, 540, 540, 540, 2584, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1839, 561, 561, 561, 1743, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2238, 540, 1776, 540, 540, 1781, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1353, 540, 540, 540, 540, 0, 561, 1829, 561, 561, 561, 561, 561, 561, 1835, 561, 561, 561, 561, 561, 561, 1864, 561, 561, 561, 1868, 561, 561, 1873, 561, 561, 1907, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 0, 585, 1923, 585, 585, 585, 585, 585, 585, 3270, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1968, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1929, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1511, 585, 585, 585, 585, 585, 1958, 585, 585, 585, 1962, 585, 585, 1967, 585, 585, 585, 585, 585, 585, 585, 1469, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2392, 585, 585, 585, 2395, 585, 585, 0, 1086, 0, 0, 0, 2034, 0, 1090, 0, 0, 0, 2036, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 585, 585, 585, 585, 2362, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1534, 585, 585, 585, 585, 2585, 0, 1826, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2271, 585, 585, 585, 2710, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 540, 540, 1814, 540, 540, 540, 540, 1820, 540, 540, 540, 1360, 0, 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1649, 0, 0, 0, 0, 585, 585, 585, 585, 2924, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1937, 585, 585, 585, 585, 561, 561, 3338, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1857, 561, 561, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 3385, 0, 0, 0, 0, 0, 0, 1628, 1629, 1630, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 362, 0, 0, 0, 0, 0, 0, 3402, 540, 540, 540, 561, 561, 561, 3407, 561, 561, 561, 561, 3411, 561, 561, 561, 561, 1391, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1414, 561, 561, 561, 561, 561, 561, 3417, 561, 561, 561, 585, 585, 585, 3422, 585, 585, 585, 585, 3426, 585, 585, 585, 585, 585, 2375, 2376, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1476, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3432, 585, 585, 585, 561, 540, 561, 585, 0, 0, 0, 0, 0, 0, 1644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 3446, 0, 0, 0, 540, 540, 540, 3392, 540, 540, 540, 540, 3396, 540, 540, 540, 540, 540, 540, 540, 3039, 540, 540, 540, 540, 540, 3045, 540, 540, 540, 540, 3455, 540, 540, 540, 3459, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 2626, 561, 561, 561, 561, 561, 561, 2633, 561, 561, 561, 561, 3470, 561, 561, 561, 3474, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 3111, 585, 585, 585, 585, 585, 585, 3485, 585, 585, 585, 3489, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 3603, 540, 3604, 540, 540, 540, 561, 561, 585, 585, 0, 540, 561, 585, 3677, 3678, 3679, 3680, 0, 540, 561, 585, 585, 585, 585, 585, 1079, 0, 1562, 0, 0, 0, 1568, 0, 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 300, 0, 0, 0, 0, 386, 0, 0, 0, 390, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 344, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 521, 521, 521, 521, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 553, 576, 553, 576, 553, 553, 576, 553, 600, 576, 576, 576, 576, 576, 576, 576, 600, 600, 600, 553, 600, 600, 600, 600, 600, 576, 576, 617, 622, 600, 622, 628, 1, 12290, 3, 78112, 561, 561, 561, 979, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2927, 585, 585, 585, 585, 585, 585, 0, 0, 0, 540, 1061, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 3238, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1433, 561, 561, 561, 561, 561, 1107, 0, 0, 0, 0, 1112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0, 0, 0, 561, 561, 561, 1389, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2308, 2309, 561, 561, 561, 1403, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2296, 2297, 1440, 561, 561, 561, 561, 561, 561, 561, 26027, 1360, 987, 585, 585, 585, 585, 585, 585, 585, 2947, 540, 585, 585, 561, 540, 540, 561, 561, 1574, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1664, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1620, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2110, 0, 0, 0, 0, 561, 561, 561, 1877, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2322, 0, 0, 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155, 0, 2116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1676, 0, 2241, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2295, 561, 561, 561, 561, 2274, 561, 561, 561, 561, 2278, 561, 2280, 561, 561, 561, 561, 561, 561, 1897, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1397, 561, 561, 561, 561, 561, 561, 2359, 585, 585, 585, 585, 2363, 585, 2365, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3123, 585, 3125, 585, 585, 585, 585, 0, 0, 0, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494, 2495, 0, 0, 561, 2622, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2607, 561, 0, 3021, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2533, 540, 0, 0, 0, 0, 3176, 3382, 0, 0, 3384, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 3391, 540, 540, 3393, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1785, 540, 540, 540, 1790, 540, 0, 0, 0, 0, 3176, 0, 3443, 0, 0, 0, 0, 0, 3449, 540, 540, 540, 540, 540, 1782, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2832, 540, 540, 540, 540, 864, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 912, 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447, 0, 0, 1624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2060, 0, 0, 1827, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2620, 345, 345, 347, 345, 0, 0, 345, 0, 345, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 3310, 0, 0, 3312, 0, 0, 0, 0, 0, 0, 540, 585, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 561, 3410, 561, 561, 561, 561, 561, 0, 0, 0, 345, 345, 347, 345, 345, 345, 345, 345, 345, 512, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 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, 577, 577, 554, 577, 601, 577, 601, 1, 12290, 3, 78112, 0, 722, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2508, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1690, 0, 0, 0, 811, 0, 0, 810, 0, 0, 0, 0, 0, 755, 0, 0, 819, 0, 0, 0, 0, 1269, 0, 0, 0, 0, 0, 0, 0, 1181, 540, 540, 540, 540, 540, 1797, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3464, 561, 561, 561, 561, 540, 540, 872, 540, 540, 540, 540, 890, 892, 540, 540, 903, 540, 540, 540, 540, 540, 540, 2175, 540, 2177, 540, 540, 540, 540, 540, 540, 2185, 561, 561, 918, 924, 561, 561, 561, 561, 942, 561, 561, 561, 561, 561, 962, 964, 561, 561, 975, 561, 561, 561, 561, 0, 585, 585, 991, 997, 585, 585, 585, 585, 585, 585, 585, 3271, 585, 585, 585, 585, 585, 585, 3277, 585, 1015, 585, 585, 585, 585, 585, 1035, 1037, 585, 585, 1048, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 540, 540, 3650, 3651, 540, 540, 0, 0, 0, 540, 991, 585, 561, 854, 892, 540, 903, 540, 924, 964, 561, 975, 0, 0, 0, 1151, 0, 1153, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 0, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1706, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 1212, 1213, 0, 0, 0, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 540, 540, 1307, 1309, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1316, 540, 540, 1319, 540, 540, 1343, 540, 540, 540, 540, 540, 540, 540, 540, 1354, 1355, 540, 540, 540, 540, 540, 1813, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1360, 1360, 914, 561, 561, 561, 1366, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 1921, 585, 585, 585, 585, 561, 561, 1420, 561, 561, 561, 561, 561, 561, 561, 1434, 561, 561, 561, 561, 561, 561, 3342, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3080, 561, 561, 561, 561, 561, 561, 561, 561, 2319, 561, 561, 561, 561, 0, 0, 0, 561, 561, 561, 1445, 1446, 561, 561, 561, 26027, 1360, 987, 585, 585, 585, 1457, 585, 585, 585, 585, 585, 2403, 585, 585, 585, 585, 585, 561, 2409, 585, 2411, 2412, 585, 1487, 1489, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3366, 585, 585, 585, 585, 1525, 585, 585, 585, 585, 585, 585, 585, 585, 1536, 1537, 585, 585, 585, 585, 585, 585, 3434, 585, 561, 540, 561, 585, 0, 0, 0, 3439, 585, 1542, 0, 540, 585, 585, 561, 540, 1547, 540, 540, 1550, 561, 1551, 561, 561, 561, 561, 1895, 561, 561, 561, 1900, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 988, 585, 585, 585, 585, 585, 1554, 585, 1555, 585, 585, 1558, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2069, 0, 0, 0, 0, 2073, 0, 0, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2037, 0, 0, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2072, 0, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2051, 0, 0, 561, 561, 561, 561, 561, 561, 1833, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 1360, 987, 585, 585, 585, 585, 585, 561, 1908, 561, 561, 561, 561, 1914, 561, 561, 561, 26027, 0, 585, 585, 585, 585, 585, 2334, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2938, 585, 585, 585, 585, 585, 585, 585, 1927, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1055, 585, 561, 585, 585, 585, 1994, 585, 585, 585, 585, 585, 585, 585, 585, 2002, 585, 585, 585, 585, 585, 585, 2711, 561, 540, 585, 585, 561, 540, 540, 540, 540, 540, 540, 2217, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1802, 540, 540, 540, 540, 540, 585, 2008, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 561, 561, 2261, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2891, 561, 561, 561, 561, 0, 2076, 0, 0, 0, 0, 0, 0, 0, 0, 2084, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 266240, 0, 0, 0, 0, 65536, 0, 2088, 0, 0, 2090, 0, 0, 0, 0, 0, 0, 0, 2098, 0, 0, 0, 0, 0, 0, 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 2146, 0, 0, 0, 2146, 0, 0, 2151, 2152, 0, 0, 0, 0, 0, 0, 0, 274432, 274432, 274432, 0, 274432, 274432, 274432, 274432, 274432, 2156, 0, 0, 0, 0, 0, 0, 0, 2162, 540, 540, 540, 540, 540, 2168, 540, 540, 540, 540, 2538, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1821, 540, 540, 1360, 540, 2200, 540, 2203, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2209, 540, 540, 540, 540, 2578, 540, 540, 540, 540, 540, 540, 540, 540, 0, 2584, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 2244, 561, 561, 561, 561, 561, 561, 2251, 561, 561, 561, 561, 561, 561, 3351, 585, 585, 585, 585, 585, 585, 585, 3356, 585, 561, 561, 2300, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2323, 0, 0, 0, 2329, 585, 585, 585, 585, 585, 585, 2336, 585, 585, 585, 585, 585, 585, 585, 1470, 585, 585, 585, 585, 1480, 585, 585, 585, 585, 585, 2360, 585, 585, 585, 585, 585, 585, 2366, 585, 2368, 585, 2371, 585, 585, 585, 585, 585, 585, 3546, 0, 0, 3549, 3550, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2912256, 0, 3207168, 2465792, 0, 0, 2385, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1989, 2472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2480, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 1, 12290, 3, 0, 0, 0, 0, 0, 2514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2522, 0, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 172032, 0, 0, 0, 0, 65536, 0, 561, 561, 2596, 561, 561, 561, 561, 561, 2601, 561, 561, 561, 561, 561, 561, 561, 0, 585, 585, 992, 585, 585, 585, 585, 585, 585, 2681, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1956, 585, 2719, 561, 561, 561, 2721, 585, 585, 585, 2723, 2724, 0, 0, 0, 0, 0, 0, 0, 2801, 0, 0, 0, 540, 2805, 540, 540, 540, 2742, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 2758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2128, 0, 0, 540, 2809, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2223, 2224, 540, 2846, 540, 540, 540, 540, 540, 0, 0, 561, 561, 561, 561, 2855, 561, 2856, 561, 2894, 561, 561, 561, 561, 561, 0, 0, 585, 585, 585, 585, 2903, 585, 2904, 585, 2942, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 3374, 0, 0, 3377, 0, 0, 0, 540, 3024, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1771, 540, 540, 540, 540, 561, 561, 585, 3105, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2369, 585, 585, 585, 585, 585, 3145, 540, 585, 561, 540, 540, 561, 561, 585, 585, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 297, 0, 0, 0, 0, 0, 0, 0, 3390, 540, 540, 540, 540, 3394, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2179, 540, 540, 540, 540, 540, 540, 540, 3403, 540, 540, 3405, 561, 561, 561, 561, 3409, 561, 561, 561, 561, 561, 561, 2277, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3082, 561, 3084, 561, 561, 561, 561, 561, 561, 561, 3418, 561, 561, 3420, 585, 585, 585, 585, 3424, 585, 585, 585, 585, 585, 585, 585, 3591, 585, 561, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 3303, 0, 0, 0, 0, 3307, 0, 585, 585, 585, 585, 585, 3433, 585, 585, 561, 540, 561, 585, 0, 0, 0, 0, 0, 0, 2137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1129, 0, 0, 0, 0, 0, 0, 0, 3500, 0, 3502, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 3511, 540, 540, 540, 540, 2812, 540, 2815, 540, 540, 540, 540, 2820, 540, 540, 540, 2823, 540, 540, 540, 540, 3631, 540, 561, 561, 561, 561, 561, 3637, 561, 585, 585, 585, 585, 585, 1079, 0, 0, 0, 1564, 0, 0, 0, 1570, 0, 585, 585, 3643, 585, 561, 3645, 0, 3647, 0, 0, 540, 540, 540, 540, 540, 540, 540, 1286, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3208, 540, 540, 540, 540, 540, 365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2496, 398, 0, 0, 0, 0, 0, 365, 373, 401, 0, 0, 0, 0, 0, 365, 0, 0, 393, 0, 0, 0, 0, 348, 0, 0, 365, 0, 393, 0, 406, 408, 0, 0, 365, 373, 0, 69632, 73728, 0, 0, 0, 0, 424, 65536, 0, 0, 0, 0, 1596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 0, 0, 0, 424, 424, 0, 424, 0, 408, 424, 447, 455, 0, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 644, 0, 406, 0, 496, 496, 0, 496, 496, 496, 496, 496, 496, 496, 496, 522, 522, 522, 522, 455, 455, 455, 530, 455, 531, 455, 455, 522, 536, 522, 522, 522, 522, 538, 555, 578, 555, 578, 555, 555, 578, 555, 602, 578, 578, 578, 608, 608, 608, 578, 602, 602, 602, 555, 602, 602, 602, 602, 602, 578, 578, 618, 623, 602, 623, 629, 1, 12290, 3, 78112, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0, 694, 0, 0, 0, 0, 0, 362, 362, 362, 0, 0, 0, 0, 0, 0, 2440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1260, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2142, 2143, 0, 540, 540, 540, 878, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1332, 540, 540, 540, 561, 561, 919, 561, 561, 561, 561, 561, 561, 948, 950, 561, 561, 561, 561, 561, 561, 3575, 561, 3577, 561, 561, 561, 585, 585, 585, 585, 0, 0, 1563, 0, 0, 0, 0, 0, 1569, 0, 585, 1021, 1023, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 561, 3496, 0, 3497, 0, 0, 0, 0, 0, 540, 992, 585, 561, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 3341, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3579, 561, 585, 585, 585, 585, 0, 0, 0, 1098, 1230, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 0, 0, 0, 2452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1242, 1251, 540, 540, 1280, 540, 540, 540, 1284, 540, 540, 1295, 540, 540, 1299, 540, 540, 540, 540, 540, 2229, 540, 2231, 540, 540, 540, 540, 540, 540, 540, 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1840, 561, 561, 1360, 914, 561, 561, 561, 561, 561, 561, 1369, 561, 561, 561, 1373, 561, 561, 1384, 561, 561, 1388, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2324, 0, 0, 561, 561, 1405, 561, 561, 561, 1409, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3612, 3613, 561, 585, 585, 585, 585, 585, 1460, 585, 585, 585, 1464, 585, 585, 1475, 585, 585, 1479, 585, 585, 585, 585, 585, 585, 1032, 585, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 3625, 0, 540, 0, 1623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636, 0, 0, 0, 0, 1626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2058, 2059, 0, 2061, 2062, 1638, 0, 0, 0, 1642, 0, 0, 0, 1646, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 362, 362, 0, 0, 1148, 561, 1844, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2635, 561, 561, 561, 561, 1862, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2869, 561, 561, 2872, 2007, 585, 585, 585, 585, 561, 1752, 585, 1938, 1844, 540, 540, 540, 540, 561, 561, 561, 561, 2275, 561, 561, 561, 561, 561, 561, 2281, 561, 2283, 561, 2286, 0, 0, 2056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2154, 0, 0, 0, 0, 0, 2118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0, 0, 0, 0, 2132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141, 0, 0, 0, 0, 0, 0, 2463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158, 0, 0, 2161, 0, 540, 540, 2164, 540, 540, 540, 540, 540, 540, 540, 3053, 540, 3055, 540, 540, 540, 540, 540, 540, 540, 540, 2232, 540, 540, 2235, 2236, 540, 540, 0, 540, 540, 540, 2227, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 2242, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 561, 561, 2246, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 1360, 987, 585, 585, 1455, 585, 1458, 561, 2312, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 0, 0, 0, 0, 585, 2650, 585, 585, 585, 585, 585, 585, 561, 3547, 3548, 0, 0, 0, 0, 0, 0, 3554, 0, 585, 585, 2331, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2381, 2382, 585, 585, 585, 585, 2387, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2397, 540, 540, 2415, 2416, 561, 561, 2419, 2420, 585, 585, 2423, 2424, 0, 1563, 0, 1569, 0, 1575, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2752, 0, 0, 0, 0, 0, 0, 0, 2438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1728, 0, 0, 0, 0, 0, 2513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2519, 0, 0, 0, 0, 0, 0, 2478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 540, 540, 540, 2565, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1333, 540, 540, 540, 585, 585, 2682, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2693, 585, 585, 585, 585, 585, 585, 3590, 585, 585, 561, 0, 3594, 0, 0, 0, 0, 0, 0, 2516, 2466, 0, 0, 0, 0, 0, 2521, 0, 0, 2824, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2239, 561, 561, 561, 561, 2885, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1395, 561, 561, 561, 561, 561, 561, 561, 561, 1430, 561, 561, 561, 561, 561, 561, 561, 561, 2866, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 585, 2933, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1985, 585, 585, 585, 585, 0, 3177, 0, 0, 0, 3180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1601, 1602, 0, 0, 0, 0, 0, 0, 0, 0, 3194, 0, 0, 0, 0, 0, 0, 3197, 0, 3199, 540, 540, 540, 540, 880, 540, 885, 540, 891, 540, 894, 540, 540, 908, 540, 540, 540, 540, 540, 3038, 540, 540, 540, 540, 540, 540, 540, 540, 3046, 540, 585, 3289, 3290, 0, 0, 0, 0, 3294, 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 0, 0, 0, 0, 0, 0, 540, 540, 3316, 540, 540, 540, 3319, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1819, 540, 540, 540, 540, 1360, 561, 3337, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2646, 561, 3415, 561, 561, 561, 561, 561, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3115, 3428, 585, 3430, 585, 585, 585, 585, 585, 561, 540, 561, 585, 0, 0, 0, 0, 0, 0, 2503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 336, 290, 0, 0, 0, 0, 3555, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3566, 540, 540, 561, 3064, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2617, 561, 561, 561, 561, 561, 3608, 561, 3609, 561, 561, 561, 561, 561, 561, 561, 585, 585, 3615, 585, 585, 585, 585, 585, 2658, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1952, 585, 585, 585, 585, 585, 3616, 585, 585, 585, 585, 585, 585, 585, 561, 0, 0, 0, 0, 0, 0, 540, 585, 585, 561, 540, 540, 540, 1067, 911, 561, 561, 561, 1072, 407, 353, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 1658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 1146, 0, 0, 472, 483, 472, 0, 0, 472, 0, 0, 0, 0, 0, 0, 0, 0, 523, 523, 527, 527, 527, 527, 472, 472, 472, 472, 472, 477, 472, 472, 527, 523, 527, 527, 527, 527, 539, 556, 579, 556, 579, 556, 556, 579, 556, 603, 579, 579, 579, 579, 579, 579, 579, 603, 603, 603, 556, 603, 603, 603, 603, 603, 579, 579, 619, 624, 603, 624, 630, 1, 12290, 3, 78112, 0, 644, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 738, 0, 0, 0, 644, 738, 0, 744, 745, 644, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 802, 0, 807, 0, 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 644, 0, 0, 0, 802, 0, 807, 0, 793, 0, 822, 0, 0, 0, 665, 0, 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 362, 0, 0, 0, 1134592, 0, 0, 0, 793, 793, 0, 644, 0, 0, 793, 807, 845, 0, 540, 850, 540, 540, 540, 540, 540, 2539, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3324, 540, 540, 540, 540, 540, 869, 873, 879, 883, 540, 540, 540, 540, 540, 899, 540, 540, 540, 540, 540, 540, 540, 3206, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2205, 540, 540, 540, 540, 540, 540, 561, 561, 920, 561, 561, 561, 561, 939, 943, 949, 561, 954, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 0, 0, 0, 2728, 0, 0, 1016, 1022, 585, 1027, 585, 585, 585, 585, 585, 1044, 585, 585, 585, 585, 585, 1058, 0, 0, 0, 540, 993, 585, 561, 540, 540, 899, 540, 540, 561, 561, 971, 561, 561, 561, 561, 561, 0, 585, 585, 993, 585, 585, 585, 585, 1012, 1149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2784, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1211, 1227, 0, 0, 1099, 0, 0, 0, 1233, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 3176, 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, 1249, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 1674, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 2754, 0, 1252, 1200, 0, 1233, 1255, 0, 1258, 0, 0, 0, 0, 0, 1130, 0, 0, 0, 0, 0, 1597, 0, 0, 0, 1600, 0, 0, 1603, 0, 0, 0, 0, 0, 843, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 3320, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1801, 540, 540, 540, 1806, 540, 540, 0, 1267, 0, 0, 0, 0, 0, 1267, 0, 0, 1149, 1267, 0, 1274, 540, 540, 540, 540, 1282, 540, 540, 540, 1291, 540, 540, 540, 540, 540, 540, 540, 540, 2204, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2830, 540, 540, 540, 540, 540, 540, 540, 1279, 540, 540, 540, 540, 1285, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2194, 540, 540, 540, 540, 540, 540, 1306, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1317, 540, 540, 540, 540, 540, 2567, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2545, 540, 540, 540, 540, 1321, 540, 540, 540, 540, 540, 540, 540, 1327, 540, 540, 540, 1334, 1336, 540, 540, 540, 540, 1310, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1335, 540, 540, 540, 1360, 914, 1362, 561, 561, 561, 561, 1368, 561, 561, 561, 561, 1374, 561, 561, 561, 561, 1407, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2293, 561, 561, 561, 561, 561, 561, 1406, 561, 561, 561, 561, 1411, 561, 561, 561, 561, 561, 561, 561, 561, 1852, 561, 561, 561, 561, 561, 561, 561, 561, 1866, 561, 561, 561, 561, 561, 561, 561, 1418, 561, 561, 561, 1425, 1427, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1865, 561, 561, 561, 561, 561, 561, 561, 561, 1883, 561, 561, 561, 561, 561, 561, 561, 1459, 585, 585, 585, 585, 1465, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1533, 585, 585, 585, 585, 585, 1486, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1497, 585, 585, 585, 585, 585, 585, 1034, 585, 585, 585, 585, 1052, 585, 585, 585, 561, 1502, 585, 585, 585, 585, 585, 585, 585, 585, 1509, 585, 585, 585, 1516, 1518, 585, 585, 585, 585, 585, 2685, 585, 585, 585, 585, 2689, 585, 585, 585, 2694, 585, 561, 0, 1290, 1544, 1470, 1379, 540, 540, 540, 540, 540, 561, 561, 561, 561, 561, 3249, 561, 3251, 561, 561, 561, 561, 561, 561, 561, 585, 3534, 585, 3535, 585, 585, 585, 3539, 585, 0, 1575, 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0, 0, 0, 1592, 1593, 0, 0, 0, 0, 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, 0, 0, 0, 0, 1647, 1648, 0, 0, 0, 0, 0, 0, 0, 2387968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2987, 0, 0, 0, 0, 0, 2990, 0, 1655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482, 0, 0, 0, 1721, 0, 0, 0, 0, 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 300, 300, 300, 300, 0, 300, 300, 300, 300, 300, 540, 540, 540, 1747, 540, 540, 540, 540, 1753, 540, 540, 540, 540, 540, 540, 540, 540, 1817, 540, 540, 540, 540, 540, 540, 1360, 540, 540, 540, 1764, 540, 540, 540, 540, 1768, 540, 540, 540, 540, 540, 540, 540, 540, 2178, 540, 540, 540, 540, 540, 540, 540, 540, 1287, 1294, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1779, 540, 540, 1783, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2206, 2207, 540, 540, 540, 540, 1809, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1379, 561, 0, 1074, 585, 585, 1050, 585, 78112, 1079, 0, 0, 0, 0, 0, 0, 0, 1106, 0, 0, 0, 0, 0, 0, 1210, 0, 561, 1845, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1856, 561, 561, 561, 561, 1423, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3253, 561, 561, 561, 561, 585, 561, 1860, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1871, 561, 561, 561, 561, 1424, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 1920, 585, 585, 585, 585, 1876, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3244, 561, 561, 585, 2026, 585, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 0, 0, 0, 0, 2079, 2080, 0, 0, 2082, 2083, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 3306, 0, 0, 0, 0, 0, 0, 2105, 0, 0, 0, 0, 2108, 2109, 0, 0, 0, 0, 0, 0, 301, 301, 301, 301, 0, 301, 301, 301, 301, 301, 2115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0, 2147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 0, 0, 0, 2157, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 540, 2225, 540, 540, 540, 540, 2230, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 0, 0, 0, 0, 0, 2242, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2618, 561, 561, 561, 561, 561, 2259, 561, 561, 2263, 561, 561, 561, 2267, 561, 561, 561, 561, 561, 561, 3610, 561, 3611, 561, 561, 561, 585, 585, 585, 585, 0, 0, 0, 2030, 0, 1082, 0, 0, 0, 2032, 585, 2344, 585, 585, 2348, 585, 585, 585, 2352, 585, 585, 585, 585, 585, 585, 585, 1528, 585, 585, 585, 585, 585, 585, 1538, 585, 585, 585, 585, 2361, 585, 585, 2364, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1935, 1936, 585, 585, 585, 585, 1943, 585, 585, 2400, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 585, 561, 540, 2718, 540, 540, 0, 0, 0, 2437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2794, 0, 0, 0, 0, 2473, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2511, 0, 540, 540, 2525, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2532, 540, 540, 540, 540, 1324, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1330, 540, 540, 540, 540, 540, 540, 2550, 540, 540, 2552, 540, 2553, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2193, 540, 540, 2196, 540, 540, 540, 540, 2563, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2574, 540, 540, 540, 540, 2827, 2828, 540, 540, 540, 540, 2831, 540, 540, 540, 540, 540, 540, 540, 1751, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1351, 540, 540, 540, 540, 540, 540, 0, 0, 0, 561, 561, 2587, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2264, 561, 561, 561, 561, 2269, 561, 561, 561, 2594, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2871, 561, 561, 2609, 561, 561, 561, 2612, 561, 561, 2614, 561, 2615, 561, 561, 561, 561, 561, 929, 561, 937, 561, 561, 561, 561, 561, 561, 561, 561, 2629, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2623, 561, 561, 2627, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2290, 2291, 561, 561, 561, 561, 561, 561, 561, 0, 2327, 585, 585, 585, 585, 585, 585, 585, 1507, 585, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 561, 3284, 540, 3286, 561, 561, 561, 561, 2638, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3099, 561, 561, 561, 0, 0, 2733, 2734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3002, 0, 0, 0, 2785, 0, 2787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2432, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 3217, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3042, 540, 3044, 540, 540, 540, 540, 540, 540, 2848, 540, 540, 540, 0, 0, 561, 561, 561, 561, 561, 561, 561, 2318, 561, 561, 561, 561, 561, 0, 0, 0, 561, 561, 2859, 561, 2862, 561, 561, 561, 561, 2867, 561, 561, 561, 2870, 561, 561, 561, 561, 2302, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 940, 561, 561, 561, 561, 561, 561, 561, 561, 1394, 561, 561, 561, 561, 561, 561, 561, 1402, 561, 561, 561, 2896, 561, 561, 561, 0, 0, 585, 585, 585, 585, 585, 585, 585, 1529, 585, 585, 585, 585, 585, 585, 585, 585, 2661, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2907, 585, 2910, 585, 585, 585, 585, 2915, 585, 585, 585, 2918, 585, 585, 585, 585, 585, 1527, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2367, 585, 585, 585, 585, 585, 585, 585, 585, 2944, 585, 585, 585, 561, 540, 585, 585, 561, 540, 540, 561, 561, 585, 585, 3373, 0, 0, 0, 3375, 0, 0, 2980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2979, 2991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3005, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2989, 0, 561, 561, 561, 561, 3078, 561, 561, 561, 561, 561, 561, 561, 561, 3086, 561, 561, 561, 561, 2315, 561, 561, 561, 561, 561, 561, 561, 561, 0, 0, 2327, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3273, 585, 585, 585, 585, 585, 585, 561, 561, 585, 585, 585, 3107, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1969, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3119, 585, 585, 585, 585, 585, 585, 585, 585, 3127, 585, 585, 585, 585, 585, 1901, 540, 585, 585, 561, 540, 540, 540, 540, 561, 561, 3065, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3479, 585, 585, 585, 585, 585, 0, 3159, 0, 0, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 3176, 0, 0, 3304, 0, 0, 0, 0, 0, 0, 3191, 0, 0, 0, 0, 0, 0, 3195, 3196, 0, 0, 0, 0, 540, 540, 3601, 540, 3602, 540, 540, 540, 540, 540, 540, 540, 540, 1752, 540, 540, 540, 540, 540, 540, 540, 540, 1349, 540, 540, 540, 540, 540, 540, 540, 540, 1288, 540, 540, 540, 540, 540, 540, 540, 540, 1289, 540, 540, 540, 540, 540, 540, 540, 540, 1290, 540, 540, 540, 540, 1300, 540, 540, 3279, 585, 585, 585, 585, 585, 585, 585, 561, 540, 585, 561, 540, 540, 561, 561, 561, 561, 2611, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2304, 561, 561, 561, 561, 561, 561, 561, 561, 561, 1853, 561, 561, 561, 561, 561, 561, 540, 540, 540, 540, 3317, 540, 540, 540, 3321, 540, 540, 540, 540, 540, 540, 540, 540, 2192, 540, 540, 540, 540, 540, 540, 2198, 561, 561, 561, 3339, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2628, 561, 561, 561, 561, 561, 561, 561, 561, 2305, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3348, 561, 561, 561, 585, 585, 585, 585, 585, 3353, 585, 585, 585, 3357, 561, 561, 3572, 561, 561, 561, 561, 561, 561, 561, 561, 3580, 585, 585, 585, 3584, 3597, 0, 3598, 3599, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3605, 3606, 540, 540, 540, 540, 2837, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1803, 540, 540, 540, 540, 585, 585, 585, 585, 585, 3619, 3620, 585, 561, 0, 0, 3623, 0, 0, 0, 540, 585, 585, 561, 540, 540, 895, 540, 540, 561, 561, 967, 561, 561, 3671, 585, 3672, 0, 540, 561, 585, 0, 540, 561, 585, 0, 540, 561, 585, 585, 585, 585, 585, 1079, 1559, 0, 0, 0, 1565, 0, 0, 0, 1571, 2033, 0, 0, 0, 0, 1577, 2035, 0, 0, 0, 0, 0, 0, 0, 1682, 0, 1684, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 1715, 0, 0, 0, 0, 0, 355, 356, 0, 0, 0, 0, 0, 0, 0, 362, 0, 290, 0, 0, 0, 0, 0, 0, 2762, 0, 0, 0, 0, 0, 0, 0, 2768, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3198, 0, 540, 540, 473, 473, 487, 0, 0, 487, 356, 356, 356, 509, 356, 356, 356, 356, 473, 473, 580, 580, 580, 580, 580, 580, 580, 604, 604, 604, 557, 604, 604, 604, 604, 604, 580, 580, 557, 580, 604, 580, 604, 1, 12290, 3, 78112, 540, 870, 540, 540, 540, 540, 540, 540, 540, 540, 540, 904, 540, 540, 540, 540, 540, 540, 2191, 540, 540, 540, 540, 2195, 540, 2197, 540, 540, 561, 561, 976, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 1013, 1197, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 540, 540, 540, 540, 540, 540, 540, 1360, 914, 561, 561, 561, 561, 561, 561, 561, 561, 1371, 561, 561, 561, 1380, 561, 561, 561, 561, 2639, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2644, 561, 561, 561, 561, 585, 585, 585, 1462, 585, 585, 585, 1471, 585, 585, 585, 585, 585, 585, 585, 585, 1472, 585, 1477, 585, 585, 1481, 585, 585, 1541, 561, 0, 1291, 585, 1471, 1380, 540, 540, 540, 540, 540, 561, 561, 561, 561, 585, 585, 585, 585, 0, 0, 0, 0, 2727, 0, 0, 0, 0, 0, 1576, 0, 0, 0, 1582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0, 0, 0, 2741, 0, 1607, 0, 0, 0, 0, 0, 0, 0, 1615, 1616, 0, 0, 0, 0, 0, 0, 303, 204800, 204800, 0, 205103, 204800, 1, 12290, 3, 0, 1761, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 1774, 1891, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3087, 561, 561, 561, 561, 1911, 561, 561, 561, 561, 561, 561, 26027, 0, 585, 585, 585, 585, 585, 585, 1466, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2928, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1947, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2001, 585, 585, 585, 585, 585, 585, 585, 1960, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1973, 0, 0, 2243, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2634, 561, 561, 2328, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2384, 0, 0, 0, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085, 2086, 0, 0, 0, 0, 2449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3175, 0, 0, 0, 0, 561, 561, 561, 561, 561, 561, 2590, 561, 561, 561, 561, 561, 561, 2289, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2292, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2861, 561, 2863, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2877, 561, 561, 561, 561, 561, 561, 561, 561, 1899, 561, 561, 561, 561, 561, 1905, 561, 585, 585, 585, 2909, 585, 2911, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1984, 585, 585, 585, 585, 585, 585, 585, 3360, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1056, 585, 561, 0, 3556, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3567, 540, 561, 561, 561, 561, 2876, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26027, 0, 585, 585, 585, 585, 561, 561, 561, 561, 3656, 561, 585, 585, 585, 585, 3660, 585, 0, 0, 0, 0, 0, 0, 2775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2124, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 362, 0, 290, 0, 0, 0, 0, 0, 0, 2790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1147354, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0, 0, 357, 0, 367, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2457, 0, 0, 581, 581, 581, 581, 581, 581, 581, 605, 605, 605, 558, 605, 605, 605, 605, 605, 581, 581, 558, 581, 605, 581, 605, 1, 12290, 3, 78112, 865, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2575, 1385, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3243, 561, 1775, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3047, 585, 585, 585, 585, 1961, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2380, 585, 585, 585, 585, 2756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3315, 0, 2981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3188, 0, 3298, 0, 3299, 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3388, 0, 0, 0, 0, 358, 359, 360, 361, 0, 0, 362, 0, 290, 0, 0, 0, 0, 0, 0, 2973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 362, 702, 0, 0, 0, 0, 359, 0, 358, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 425, 65536, 0, 0, 0, 0, 1710, 1711, 0, 0, 0, 1714, 0, 0, 0, 0, 0, 1718, 425, 425, 0, 425, 0, 359, 425, 0, 456, 0, 0, 0, 0, 0, 0, 0, 1102, 0, 0, 0, 0, 1263, 1264, 0, 0, 0, 0, 0, 497, 497, 0, 504, 504, 504, 504, 510, 511, 504, 504, 524, 524, 524, 524, 456, 456, 456, 456, 456, 456, 456, 456, 524, 524, 524, 524, 524, 524, 524, 559, 582, 559, 582, 559, 559, 582, 559, 606, 582, 582, 582, 582, 582, 582, 582, 606, 606, 606, 559, 606, 606, 606, 606, 606, 582, 582, 620, 625, 606, 625, 631, 1, 12290, 3, 78112, 0, 0, 0, 540, 585, 585, 561, 540, 540, 900, 540, 540, 561, 561, 972, 561, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 585, 1934, 585, 585, 585, 585, 585, 585, 585, 0, 0, 2104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2740, 0, 0, 0, 0, 0, 561, 2245, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3533, 585, 585, 585, 585, 585, 585, 585, 585, 585, 3494, 561, 0, 0, 0, 0, 0, 0, 585, 2330, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 1482, 585, 585, 540, 2549, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2237, 0, 540, 540, 2577, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 0, 0, 0, 0, 0, 1611, 0, 0, 1614, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2891776, 0, 0, 0, 0, 0, 2392064, 583, 583, 583, 583, 583, 583, 583, 607, 607, 607, 560, 607, 607, 607, 607, 607, 583, 583, 560, 583, 607, 583, 607, 1, 12290, 3, 78112, 705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 866, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 3224, 1136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 362, 0, 0, 0, 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, 0, 0, 0, 0, 786, 561, 585, 585, 585, 585, 585, 1079, 1560, 0, 0, 0, 1566, 0, 0, 0, 1572, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3313, 0, 0, 540, 2199, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2547, 540, 2535, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 2822, 540, 561, 561, 561, 2597, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2317, 561, 561, 2320, 2321, 561, 561, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, 0, 0, 0, 743, 540, 540, 540, 540, 540, 540, 540, 3331, 540, 540, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3072, 561, 561, 561, 0, 0, 0, 540, 585, 585, 561, 1064, 540, 540, 905, 540, 1069, 561, 561, 977, 561, 561, 561, 561, 0, 585, 585, 585, 585, 585, 585, 585, 585, 1951, 585, 585, 585, 585, 585, 585, 585, 0, 0, 1594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2767, 0, 0, 561, 561, 1846, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2645, 561, 561, 585, 585, 585, 1977, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2692, 585, 585, 585, 540, 540, 540, 2188, 540, 2190, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 561, 561, 561, 3334, 561, 561, 0, 0, 0, 561, 561, 561, 2247, 561, 561, 561, 561, 561, 561, 561, 561, 561, 2613, 561, 561, 561, 561, 561, 561, 561, 2619, 561, 561, 2273, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 3242, 561, 561, 0, 585, 585, 585, 2332, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2408, 540, 585, 585, 561, 561, 2647, 0, 0, 0, 0, 0, 0, 585, 585, 585, 585, 585, 585, 585, 585, 2687, 585, 585, 2691, 585, 585, 585, 585, 585, 585, 585, 585, 2684, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2916, 585, 585, 585, 585, 561, 561, 585, 585, 585, 585, 585, 3109, 585, 585, 585, 585, 585, 585, 585, 585, 2702, 585, 585, 585, 585, 585, 585, 585, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225706, 0, 0, 1134592, 0, 0, 0, 1134592, 1134592, 0, 0, 1134592, 0, 0, 1134592, 0, 1134592, 0, 0, 0, 1134592, 1135005, 1135005, 0, 0, 0, 0, 0, 1135005, 0, 1134592, 1134592, 0, 0, 0, 0, 1135202, 1135202, 1135202, 1135202, 1134592, 1135202, 1135202, 1135202, 1135202, 1135202, 0, 1134592, 1134592, 1134592, 1134592, 1135202, 1134592, 1135202, 1, 12290, 3, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 1138688, 0, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2125824, 2126738, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 987, 2125824, 2125824, 2125824, 2125824, 2424832, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 1147354, 457, 457, 1147354, 457, 457, 457, 457, 457, 457, 457, 457, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 1147405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0, 0, 0, 0, 457, 0, 0, 0, 1147354, 1147354, 1147354, 1147405, 1147405, 1147354, 1147405, 1147405, 1, 12290, 3, 0, 0, 0, 0, 2042, 0, 0, 2045, 2046, 0, 0, 0, 2050, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 1142784, 0, 2179072, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3137536, 2125824, 2940928, 2940928, 2940928, 0, 0, 0, 0, 0, 0, 305, 440, 448, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, 1159168, 0, 0, 1159168, 0, 1159168, 1159168, 0, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2802, 0, 540, 540, 540, 540, 540, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1, 12290, 3, 0, 0, 0, 0, 2053, 0, 2054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 799, 0, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163264, 0, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 913, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 1452, 2125824, 2125824, 2125824, 2125824, 2424832, 106496, 0, 106496, 106496, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 106496, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 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, 0, 0, 2782, 2783, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163840, 0, 0, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 0, 0, 0, 0, 0, 2953216, 0, 0, 2826240, 2875392, 0, 0, 0, 0, 0, 0, 2834432, 0, 3227648, 2568192, 0, 0, 0, 0, 2564096, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2125824, 2555904, 2564096, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2654208, 2678784, 2760704, 2764800, 2785280, 2854912, 2969600, 2125824, 3006464, 2125824, 3018752, 2125824, 2125824
21556
 
];
21557
 
 
21558
 
XQueryParser.EXPECTED =
21559
 
[ 260, 268, 276, 283, 296, 304, 881, 312, 318, 331, 366, 339, 350, 361, 369, 342, 288, 886, 1555, 1545, 377, 384, 1551, 392, 400, 415, 423, 431, 439, 447, 455, 463, 486, 553, 490, 500, 500, 499, 498, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 353, 1871, 509, 517, 525, 1149, 688, 533, 1759, 407, 548, 949, 561, 323, 569, 1480, 1303, 866, 577, 1034, 592, 596, 1439, 1444, 604, 1857, 628, 636, 644, 1919, 1049, 652, 673, 660, 668, 681, 696, 995, 710, 718, 731, 1324, 739, 761, 1116, 776, 784, 792, 1170, 1200, 1204, 807, 843, 851, 859, 894, 902, 910, 723, 918, 926, 934, 942, 753, 957, 1568, 965, 980, 611, 988, 1738, 1003, 1011, 616, 1185, 1827, 871, 1539, 1029, 1042, 1418, 584, 1424, 972, 1057, 1065, 1073, 1598, 1087, 1095, 1103, 1111, 1134, 1142, 768, 478, 1163, 1289, 620, 1155, 1178, 876, 1620, 1643, 1193, 702, 1812, 799, 1789, 1212, 1753, 1218, 1226, 1234, 1242, 500, 1250, 1258, 828, 1266, 1274, 1282, 1297, 1850, 1311, 1319, 1332, 1079, 540, 1345, 1017, 1337, 1359, 1021, 1367, 1375, 1390, 1398, 1403, 1411, 1432, 1452, 1460, 1468, 1476, 1488, 1496, 1382, 1516, 1524, 1532, 1563, 1576, 746, 1584, 1592, 1502, 1606, 1614, 814, 1628, 1636, 469, 821, 1661, 1665, 1673, 1678, 1686, 1694, 1702, 1710, 1718, 501, 1726, 1734, 1746, 1767, 1775, 1783, 1351, 1126, 1797, 1805, 1121, 835, 1820, 474, 1835, 1843, 1865, 1508, 1879, 1649, 1653, 1887, 1892, 1900, 1908, 1916, 500, 500, 1927, 1975, 1928, 1939, 1939, 1939, 1934, 1938, 1939, 1930, 1943, 1950, 1946, 1954, 1958, 1961, 1964, 1968, 1972, 1979, 2007, 2007, 2007, 3094, 2007, 1983, 3521, 2007, 2812, 2007, 2007, 2007, 2007, 2779, 2007, 2007, 2132, 2007, 4152, 3820, 3824, 1987, 2098, 1994, 2000, 2006, 2007, 2007, 3996, 2007, 2007, 2012, 4079, 3820, 3824, 3824, 3824, 3824, 2019, 2097, 2097, 2026, 2170, 2032, 2007, 2007, 2007, 2007, 2919, 2007, 2428, 3887, 2007, 3734, 2038, 2089, 2007, 2007, 2007, 3390, 3824, 3824, 2045, 2097, 2097, 2097, 2097, 2097, 2099, 1996, 2067, 2059, 2063, 2003, 2007, 2007, 2007, 2007, 2007, 2259, 3005, 2007, 3049, 2007, 2007, 2007, 3818, 3820, 3820, 3820, 3820, 2133, 3824, 3824, 3824, 3824, 3824, 2055, 3820, 2139, 3824, 3824, 3824, 3827, 2097, 2097, 2022, 2072, 2007, 2007, 4080, 2007, 2162, 2077, 2007, 2007, 2779, 3400, 3820, 3820, 2053, 3824, 3825, 2097, 2097, 2084, 2072, 2088, 4151, 2385, 2007, 2007, 2007, 2007, 3112, 2752, 3820, 2052, 3824, 2095, 2097, 2104, 2778, 2050, 3823, 2095, 2115, 2129, 3821, 3826, 1989, 3390, 3822, 3827, 1990, 2137, 2141, 2149, 3819, 2141, 2159, 2167, 2048, 2174, 2028, 2181, 2184, 2188, 2192, 2202, 2202, 2193, 2197, 2201, 2203, 2207, 2211, 2215, 2219, 2222, 2226, 2230, 2234, 2238, 2732, 2242, 2007, 2007, 2737, 2247, 2007, 2007, 2007, 3028, 4134, 2007, 2007, 2007, 3213, 2007, 2007, 2007, 2007, 2702, 3310, 2007, 3694, 2243, 2007, 4531, 2253, 2007, 2007, 2007, 2007, 2007, 4488, 2007, 2007, 2007, 4489, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 4297, 2280, 2282, 2286, 2289, 2293, 2297, 2301, 2662, 2386, 2007, 2007, 2007, 2007, 2387, 2307, 2314, 2318, 4376, 4208, 2325, 2681, 3075, 3584, 2645, 2353, 2359, 2620, 2007, 2007, 2381, 2363, 2007, 2007, 3675, 2007, 3534, 4411, 3291, 4070, 3348, 2391, 2007, 2395, 2399, 2007, 2007, 2007, 2007, 3092, 3298, 2007, 2007, 2402, 2007, 2007, 2007, 3382, 2007, 2007, 2418, 3423, 2432, 2007, 2007, 2007, 2007, 2797, 2433, 2797, 2457, 2007, 2007, 2007, 2007, 2463, 2007, 2007, 3716, 3131, 2917, 2007, 2007, 3777, 4457, 4344, 2470, 2007, 2007, 2007, 2477, 2007, 2007, 2007, 2484, 2007, 2107, 3702, 2007, 3700, 2493, 2007, 2111, 2007, 2007, 3723, 3037, 2007, 2007, 2007, 2090, 3072, 2007, 2007, 2007, 2007, 2261, 3346, 2007, 2007, 2500, 2007, 2505, 4255, 4115, 4254, 2007, 4238, 2510, 4117, 3651, 3491, 2511, 4118, 4239, 4255, 3650, 4117, 2516, 4116, 4117, 3593, 3670, 3596, 2528, 2531, 2535, 2538, 2542, 2007, 3509, 2620, 4365, 4173, 2562, 2566, 2570, 2007, 2674, 2672, 3782, 2574, 2007, 3457, 2579, 2007, 2501, 2007, 4424, 3255, 2555, 2588, 4214, 4424, 4450, 2584, 2592, 2599, 3102, 4176, 2007, 2007, 3778, 2008, 2342, 4482, 2348, 4126, 4353, 2007, 2007, 2007, 2721, 2607, 2007, 2007, 2007, 3379, 2007, 2007, 2007, 3480, 2619, 2007, 4362, 2007, 4150, 4231, 2625, 4223, 2632, 2636, 2007, 4444, 2654, 2007, 2007, 2007, 2007, 3897, 2007, 2007, 4225, 2675, 2642, 2007, 2007, 2007, 2007, 4443, 2653, 4024, 2007, 4424, 4341, 2118, 4304, 2679, 2007, 2007, 3794, 2734, 2268, 4056, 2403, 2007, 2007, 3896, 2007, 2655, 2910, 4541, 3011, 2685, 2775, 2007, 2007, 2007, 3576, 2686, 2007, 2007, 4010, 3290, 2007, 2007, 3151, 3295, 3238, 2007, 2697, 2007, 3451, 2403, 4245, 2586, 4285, 2701, 3577, 2715, 2007, 2007, 2007, 3620, 2706, 2007, 2007, 2007, 2007, 2713, 2775, 2007, 2007, 4082, 3399, 2007, 2007, 4082, 3399, 2741, 2769, 2855, 2774, 2007, 3410, 2751, 2007, 2007, 4104, 2007, 2007, 2007, 2007, 2506, 4140, 4109, 4114, 3788, 2803, 4147, 2007, 2007, 4385, 3699, 2007, 3534, 4411, 2007, 2041, 4469, 4448, 2007, 2007, 2007, 2709, 3410, 2751, 2702, 2784, 3450, 4048, 2121, 2770, 3436, 2007, 3434, 3438, 2007, 2791, 2007, 2795, 2801, 2328, 2810, 2787, 2452, 2816, 2453, 2007, 2443, 2450, 2424, 2465, 2007, 2007, 2007, 2007, 3098, 2007, 2007, 2007, 2007, 3372, 2007, 2007, 2007, 2007, 3389, 3820, 3820, 3820, 2163, 3824, 3824, 3824, 3824, 4039, 2821, 2787, 2832, 2786, 3985, 2838, 2843, 4030, 3312, 2839, 2844, 4031, 4431, 2848, 2834, 2852, 2859, 2860, 2177, 2864, 3301, 4460, 4463, 2871, 4547, 2875, 2879, 2883, 2886, 2890, 2894, 2897, 2899, 2900, 2007, 2007, 2904, 2007, 3808, 2910, 4541, 3081, 2914, 2007, 2007, 2924, 2928, 2937, 2944, 2952, 2961, 2968, 3274, 2970, 2007, 2473, 2408, 2007, 2007, 2007, 2007, 2414, 3024, 2007, 2495, 2976, 2980, 4495, 4081, 2986, 2999, 2007, 2007, 2007, 2007, 2007, 3335, 2007, 2489, 2007, 3285, 2007, 3286, 2007, 3109, 2656, 3009, 3015, 3021, 3139, 2007, 4251, 2344, 3032, 2007, 2007, 2007, 2007, 3722, 3036, 2007, 2612, 2007, 2007, 3782, 2574, 2007, 3508, 4541, 3046, 3053, 2702, 3058, 2007, 2007, 3062, 3067, 2007, 2007, 2007, 2007, 3063, 2007, 2007, 2007, 3691, 2007, 2007, 2007, 2007, 2338, 3741, 2007, 2007, 3119, 2007, 2007, 2007, 3125, 2007, 2007, 2007, 2550, 4047, 2007, 2007, 2920, 3125, 2007, 2007, 3428, 4501, 2355, 3026, 2007, 2615, 2654, 4143, 3807, 3464, 2520, 2524, 3111, 2918, 2007, 3114, 3109, 3780, 3113, 3150, 3110, 3781, 3147, 4236, 3779, 2920, 3137, 2919, 2920, 3489, 4183, 3144, 3155, 2155, 2007, 2007, 2007, 4522, 3741, 2007, 3667, 2007, 3121, 3163, 3167, 3171, 3175, 3179, 3183, 3187, 3191, 2007, 2007, 2817, 3354, 2007, 2765, 3195, 3974, 3201, 3218, 4237, 3222, 3226, 3236, 4136, 3242, 3713, 3038, 3248, 3246, 2007, 2007, 2007, 2575, 2690, 2007, 2007, 2007, 2007, 4428, 2007, 2007, 2007, 2249, 4402, 4409, 2007, 2007, 3231, 3253, 2007, 2765, 3195, 3974, 3259, 3475, 4398, 3265, 3269, 3278, 2007, 2007, 3282, 2007, 2647, 2638, 3815, 3004, 2336, 2007, 2007, 2007, 3352, 2007, 2765, 3195, 2780, 3316, 2068, 3260, 3320, 3417, 3327, 3333, 2007, 2719, 3457, 2007, 2725, 2730, 2741, 4471, 3360, 3364, 3407, 2007, 2007, 2007, 3368, 2007, 2736, 3608, 3079, 3085, 3140, 2702, 4437, 3054, 3399, 2007, 2007, 2007, 4081, 3398, 2007, 2745, 2007, 2007, 3576, 2749, 2007, 2007, 2719, 2756, 2763, 3971, 3448, 2007, 2007, 3455, 2007, 2007, 3455, 2007, 2255, 2007, 3975, 3472, 3484, 2007, 3497, 2971, 3449, 2972, 2007, 3503, 3273, 4555, 4530, 4554, 3513, 4094, 4553, 3271, 4553, 4095, 4554, 3272, 4093, 4528, 3271, 3515, 4528, 4529, 2007, 4379, 2620, 3519, 2007, 3525, 4151, 3529, 3538, 3542, 3546, 3550, 3554, 3558, 3562, 3566, 2828, 3729, 2918, 2410, 4192, 3571, 3230, 4556, 3575, 3581, 3356, 3619, 3590, 2007, 2007, 4378, 3676, 2007, 3534, 4488, 2007, 2948, 3600, 2007, 2867, 3355, 2007, 2007, 2007, 2007, 3339, 4185, 3612, 2007, 2007, 2580, 3618, 2007, 2007, 2549, 2551, 2386, 2007, 2007, 3132, 3630, 2007, 2007, 2608, 3641, 2007, 3647, 4412, 2007, 3655, 3866, 3249, 3663, 2007, 2007, 2007, 2660, 2007, 2007, 2666, 2007, 4405, 2007, 2007, 2007, 2007, 2337, 3687, 2007, 2594, 3230, 4081, 3698, 2007, 2805, 3682, 2007, 2007, 2007, 3686, 2007, 2007, 2824, 2007, 2007, 2007, 2007, 2826, 4487, 2995, 2957, 2349, 3606, 2007, 2007, 3706, 2007, 4081, 3710, 2007, 2595, 2007, 3720, 4485, 2946, 3727, 3068, 3733, 2007, 3738, 2620, 2007, 2940, 2777, 3753, 3945, 3949, 3954, 3868, 2007, 3747, 2620, 2007, 2007, 3747, 2620, 3751, 2378, 2034, 3757, 3764, 3636, 2007, 4288, 2007, 2007, 4288, 3428, 3769, 2466, 2015, 3765, 3773, 2007, 3786, 2007, 3127, 2007, 2954, 2007, 2007, 3775, 2007, 2007, 3775, 2007, 2007, 2956, 2007, 2548, 2459, 2007, 3792, 3751, 3798, 3760, 3637, 2602, 2007, 3149, 4508, 2110, 2488, 2007, 3701, 2494, 2007, 2007, 4046, 2007, 3780, 2603, 2007, 3802, 3806, 3812, 3837, 4356, 3836, 3831, 2331, 3835, 3677, 3841, 2332, 3836, 3678, 4221, 3854, 3848, 4359, 3847, 3845, 3852, 3877, 3863, 3874, 3881, 3884, 2007, 2007, 2007, 2007, 2480, 2437, 2007, 2007, 2964, 2776, 2007, 3893, 3901, 3905, 3909, 3913, 3917, 3921, 3925, 3929, 3933, 3937, 2007, 2007, 2982, 4068, 4074, 4253, 2007, 2007, 3212, 4493, 2007, 2007, 2007, 2248, 3959, 3964, 3968, 4202, 3979, 3983, 3989, 3950, 2007, 4000, 4007, 4014, 2007, 2007, 2963, 2421, 3753, 4019, 4023, 2040, 3626, 4028, 4035, 2007, 3229, 3106, 3743, 3026, 2726, 2007, 2007, 2007, 4080, 2007, 4152, 3820, 3820, 2054, 3824, 3824, 2096, 2097, 2097, 2097, 2097, 2100, 2143, 4043, 2007, 2007, 3205, 3209, 2007, 2007, 2007, 2990, 2994, 2007, 2007, 2248, 3207, 2007, 2007, 2007, 3197, 4052, 2310, 4253, 4060, 2669, 2007, 4114, 2007, 2007, 2007, 2628, 3210, 2007, 2007, 2007, 2506, 4064, 2007, 2007, 3232, 3254, 3975, 2007, 4119, 3159, 2962, 4078, 3753, 4086, 2404, 2007, 4090, 2620, 4114, 2007, 2007, 2007, 4099, 2620, 2007, 2007, 3376, 2007, 2007, 2007, 2007, 2933, 4100, 4108, 4113, 2007, 2439, 4123, 3603, 4423, 2007, 3870, 3133, 2007, 2007, 2007, 4130, 2007, 3386, 2068, 4158, 3394, 3506, 2007, 2007, 2007, 4526, 2007, 2007, 2007, 4526, 2007, 3992, 2370, 4535, 4156, 2920, 2007, 2007, 4162, 2007, 2007, 2007, 4162, 2558, 2007, 4166, 4170, 2007, 4180, 2007, 2007, 4189, 2007, 2007, 4196, 4200, 4206, 4212, 3859, 4218, 2007, 2693, 2007, 2007, 4229, 2007, 3586, 2152, 2145, 4235, 3487, 2007, 4243, 3642, 2775, 3643, 4249, 4440, 2806, 3659, 4259, 4264, 3657, 3857, 3940, 2080, 3658, 3858, 3941, 4274, 3939, 3857, 4278, 3856, 3857, 4282, 3017, 4292, 4293, 4270, 2321, 4301, 4003, 4311, 4315, 4319, 4323, 4327, 4330, 4334, 4338, 2007, 2007, 2007, 2007, 2621, 3230, 3492, 3042, 4267, 3478, 2931, 3955, 4350, 4514, 4396, 3306, 3462, 3468, 3444, 2007, 4516, 2007, 2007, 2446, 2007, 2007, 2007, 2759, 2375, 3002, 4369, 4307, 2007, 4015, 2007, 2546, 2544, 4373, 4383, 2007, 2007, 2007, 4389, 3478, 2931, 2068, 3670, 3532, 4437, 2007, 4393, 2007, 2007, 3427, 3432, 2303, 3443, 3422, 2007, 2007, 4416, 4081, 2007, 2091, 3671, 3422, 3203, 4420, 2007, 2007, 2007, 2007, 2007, 3342, 2007, 3388, 3404, 3414, 3421, 2007, 2254, 3381, 3994, 2931, 4346, 4454, 4260, 3567, 3304, 2007, 3439, 3100, 2007, 2007, 2007, 2007, 3089, 2007, 4467, 2007, 2007, 2007, 2007, 2007, 3214, 2124, 2007, 2007, 4475, 2365, 3889, 3499, 2007, 3616, 2007, 2007, 2007, 2337, 3624, 2007, 2906, 2007, 3329, 3633, 2007, 2499, 3960, 4434, 2007, 2007, 2007, 2007, 4479, 2007, 2007, 3493, 2265, 2007, 2272, 3323, 2276, 4499, 2125, 2007, 4505, 2367, 4512, 2007, 4520, 2512, 2007, 2007, 3211, 4539, 2007, 3211, 4539, 2073, 4037, 4454, 2007, 2007, 2007, 4545, 2007, 2649, 2007, 2007, 4551, 3115, 4157, 3422, 2007, 2369, 2007, 2370, 2007, 2371, 3261, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 3458, 2007, 2007, 2080, 4576, 4599, 4601, 4601, 4596, 4590, 4601, 4601, 5213, 4588, 4600, 4601, 4601, 4601, 4601, 4601, 4601, 4605, 4601, 4601, 4624, 4632, 4592, 4611, 4609, 4615, 4626, 4639, 4641, 4646, 4628, 4651, 4653, 4653, 4647, 4635, 4657, 4642, 4661, 4665, 4669, 4673, 4676, 4680, 4682, 4686, 4690, 4560, 6008, 4569, 4572, 6007, 4694, 4697, 4751, 6953, 4752, 5681, 6931, 4707, 6326, 4735, 4735, 4712, 4752, 4752, 5273, 4792, 6322, 4707, 4735, 5096, 4719, 4736, 5094, 5098, 4748, 4748, 4750, 4752, 4752, 4752, 4752, 4564, 5125, 5113, 4729, 5190, 6233, 4752, 5981, 4707, 4707, 4734, 4735, 4711, 4791, 6324, 5279, 4792, 6322, 4707, 4735, 6320, 4748, 4749, 4752, 4752, 4582, 6339, 6230, 4730, 5190, 4752, 4752, 4752, 6892, 4707, 4707, 6327, 4735, 4714, 6320, 6322, 6322, 6322, 6324, 4707, 4707, 4707, 4710, 4735, 4793, 4788, 6324, 4709, 4765, 5096, 5096, 4748, 4752, 4752, 4752, 4758, 4721, 4752, 4752, 4752, 4777, 4792, 4788, 4709, 4752, 4561, 4752, 5750, 4735, 4735, 4794, 6324, 4752, 5743, 4752, 4752, 4752, 4757, 4752, 4707, 4709, 4735, 4735, 4735, 4735, 4711, 4791, 6322, 4792, 5276, 4722, 4752, 4563, 5399, 6420, 4752, 6238, 5201, 5242, 4735, 4735, 4785, 4752, 4563, 5663, 4752, 4563, 6254, 5386, 5386, 5386, 4752, 4752, 4752, 5746, 4752, 6321, 6322, 6322, 6322, 6323, 6320, 6322, 6322, 6323, 4707, 4707, 4707, 4735, 4752, 4752, 4584, 5193, 4735, 4735, 4713, 4752, 4563, 6913, 6240, 6240, 6240, 6929, 4735, 4735, 4714, 5739, 6322, 6322, 6322, 6325, 6322, 6324, 4707, 4710, 4740, 5096, 5097, 4707, 4709, 4735, 4752, 4698, 4752, 6653, 4709, 5467, 5467, 5467, 4752, 5513, 5517, 5483, 4804, 4818, 4798, 4802, 4844, 4844, 4844, 4808, 4815, 4812, 4828, 4832, 4842, 4844, 4844, 4844, 4844, 4845, 4838, 4926, 4844, 4852, 4850, 4913, 4853, 4857, 4861, 4865, 4835, 4869, 4872, 4879, 4876, 4881, 4883, 4887, 4889, 4891, 4893, 4900, 4900, 4897, 4907, 4910, 4923, 4846, 4916, 4919, 4930, 4933, 4935, 4939, 4903, 4943, 4752, 4752, 4752, 4948, 4715, 4752, 4752, 4752, 4977, 6877, 4954, 4752, 4752, 4752, 4978, 6115, 4759, 4759, 4752, 4752, 4753, 6060, 5603, 6128, 4975, 4752, 4714, 4752, 6620, 4752, 6554, 6723, 6126, 4984, 5424, 5283, 4988, 4992, 4993, 4993, 4993, 4997, 5000, 5002, 5006, 5009, 5013, 5017, 5017, 5019, 5023, 5024, 5028, 5030, 5034, 5038, 5037, 5042, 5046, 4752, 4752, 4760, 5740, 4752, 5065, 4752, 5423, 4752, 4725, 4724, 4723, 4565, 5750, 4752, 5657, 4752, 5671, 5072, 4752, 4743, 4752, 5390, 5082, 4752, 6010, 4752, 4751, 5572, 6253, 5505, 4752, 5971, 6389, 5056, 4752, 4752, 4752, 5074, 5535, 6350, 4752, 4752, 6930, 5401, 4752, 5494, 4752, 4752, 4752, 5125, 4752, 6136, 6009, 4752, 5110, 6936, 6567, 5134, 5141, 5150, 5143, 5152, 4752, 4752, 4754, 4752, 4752, 4752, 4755, 4752, 4752, 4752, 4752, 6233, 6232, 4752, 4752, 6347, 4752, 4752, 6356, 5137, 5161, 5250, 4752, 4752, 4752, 5060, 6584, 5222, 5223, 5186, 4752, 6234, 5190, 6523, 5174, 5165, 5171, 5181, 4752, 4752, 4752, 5190, 4752, 5143, 5180, 4752, 4752, 4756, 6223, 4752, 6358, 5781, 5171, 4752, 6600, 5055, 5251, 4752, 5745, 4752, 4752, 6357, 5166, 4752, 5700, 4752, 6585, 5199, 5167, 5205, 5153, 4752, 5211, 5207, 4752, 4752, 4757, 5714, 4752, 5698, 4752, 5191, 5136, 5142, 5151, 5221, 6420, 4752, 4752, 4757, 5946, 5568, 5167, 6098, 6009, 4752, 5973, 4752, 5175, 5166, 6097, 5153, 4752, 4752, 4583, 6238, 5201, 5241, 4752, 4752, 6357, 5780, 6547, 5167, 5243, 4752, 4752, 6357, 5781, 4960, 4752, 6600, 5250, 5242, 4752, 4752, 4752, 5291, 5782, 5243, 4752, 4752, 4752, 5293, 6836, 6078, 4752, 4752, 4752, 5346, 5256, 4752, 4752, 4752, 5355, 4752, 6927, 4752, 4752, 4752, 5377, 5972, 4752, 4752, 6928, 5301, 5305, 5306, 5306, 5307, 5306, 5306, 5311, 5314, 5316, 5318, 5320, 5320, 5320, 5320, 5321, 5325, 5325, 5325, 5327, 5325, 5325, 5331, 5331, 4752, 4752, 4761, 6855, 4752, 4752, 4960, 4752, 4752, 4752, 5217, 4752, 6405, 5353, 5571, 4752, 6913, 6240, 5376, 5259, 4752, 5068, 5397, 4752, 5067, 5385, 5396, 4752, 6696, 6700, 5406, 4752, 4752, 4752, 5471, 5263, 4752, 4752, 4752, 5531, 6256, 5416, 4752, 5572, 4752, 5665, 4752, 5365, 4752, 5664, 4752, 4752, 4961, 4961, 4961, 5670, 4752, 6018, 4752, 4752, 6375, 6009, 4752, 6535, 4752, 4752, 4752, 5581, 5083, 5429, 6534, 4752, 4752, 6428, 6383, 5341, 6009, 4752, 4752, 4752, 5187, 5417, 4752, 5573, 4753, 5358, 6639, 6644, 6017, 4752, 6260, 6601, 4752, 6413, 4752, 4752, 4968, 5118, 5439, 5444, 5449, 4752, 4752, 6578, 5109, 4752, 4752, 4753, 6958, 5445, 5153, 4752, 4752, 4752, 5387, 6259, 6593, 5458, 4752, 4752, 5050, 5054, 5721, 5336, 5342, 4752, 4752, 6591, 4752, 4752, 6698, 4752, 4752, 4752, 5434, 5465, 6603, 4752, 4752, 5080, 4752, 6569, 5473, 5477, 5445, 6429, 5475, 5869, 5481, 4752, 4752, 6717, 6721, 4752, 5720, 5335, 5491, 6602, 4752, 4752, 4752, 5747, 5525, 5477, 5500, 4752, 4752, 6740, 6908, 6569, 5524, 5476, 5499, 6429, 4752, 4752, 6712, 4752, 4752, 5084, 5430, 6860, 4752, 4752, 4752, 5748, 5187, 4752, 4752, 5223, 4752, 5745, 6422, 4752, 4752, 4752, 6219, 4752, 5571, 4752, 5665, 6571, 5548, 5869, 5516, 5812, 5477, 5871, 4752, 4752, 4752, 5750, 5720, 5335, 5504, 4752, 4752, 6868, 5157, 4752, 6861, 4752, 4752, 5111, 6426, 5386, 5748, 5510, 4752, 4752, 5870, 6429, 4752, 4752, 4752, 5746, 4752, 4752, 4752, 4760, 5529, 4752, 4752, 5560, 5567, 4752, 4752, 4757, 5546, 5554, 6429, 4752, 6713, 4752, 4752, 5191, 5176, 5559, 5113, 4752, 4752, 5192, 4752, 4752, 4752, 6727, 4752, 6319, 4752, 4752, 5228, 4752, 5568, 4752, 4752, 4752, 5811, 5225, 6277, 5386, 4752, 4752, 6874, 6878, 4752, 4752, 6206, 4752, 5720, 5814, 5569, 4752, 5687, 5691, 5225, 6255, 6934, 5689, 5570, 5570, 4752, 5944, 5690, 4752, 5689, 5570, 4752, 5688, 4752, 6238, 5563, 4752, 4753, 5522, 5548, 5687, 5577, 4752, 5687, 5577, 6238, 5401, 6651, 4752, 4753, 6054, 6070, 5386, 6364, 5586, 6009, 6256, 5600, 4752, 6419, 5378, 5602, 5607, 5620, 5611, 5619, 5614, 5615, 5615, 5615, 5615, 5624, 5631, 5628, 5635, 5637, 5637, 5637, 5642, 5638, 5646, 5646, 5646, 5646, 4752, 4752, 6449, 4752, 4752, 5247, 5251, 6259, 4778, 5412, 6009, 4752, 5705, 4752, 6945, 4752, 4752, 4752, 6239, 4752, 4752, 5678, 4752, 4752, 5650, 4752, 5656, 5652, 4752, 4756, 4752, 4752, 6103, 4752, 5661, 5669, 5675, 4752, 4757, 5847, 5927, 4752, 5685, 4752, 6232, 4752, 5377, 6310, 4752, 4752, 5695, 4752, 4752, 5289, 5389, 4752, 4752, 5957, 6439, 4752, 4752, 4752, 5845, 5211, 5251, 4752, 6437, 6441, 4752, 4752, 4752, 5860, 4581, 5709, 4752, 4752, 5227, 4752, 5718, 4752, 4752, 5356, 6055, 5761, 5726, 5732, 5738, 4752, 5759, 5763, 5728, 5734, 4752, 4752, 4752, 5980, 5762, 5727, 5733, 4752, 4758, 4752, 4752, 6124, 5052, 5056, 4779, 6862, 4752, 4752, 5380, 5228, 4752, 5767, 6936, 4752, 6937, 6934, 5378, 4752, 5228, 5704, 4752, 4752, 6947, 4752, 4752, 5356, 5549, 5774, 5786, 6683, 5251, 5787, 6684, 4752, 4752, 4752, 5990, 6258, 4778, 5412, 6009, 4752, 6557, 5986, 4752, 4775, 4752, 5744, 6946, 4752, 4752, 4752, 6094, 6233, 4752, 4752, 5791, 4752, 5805, 6900, 6682, 6686, 6686, 4752, 4752, 4752, 6117, 5774, 6902, 6684, 4752, 4950, 5088, 5102, 5411, 6870, 4752, 4752, 5380, 6635, 5768, 6937, 5802, 4744, 5810, 6902, 6685, 4752, 4959, 4752, 4752, 4702, 4752, 4752, 5809, 6901, 5818, 4752, 4752, 5421, 4954, 4752, 5798, 4780, 6870, 5972, 4752, 4752, 4752, 6241, 4752, 4752, 4752, 5188, 6000, 5824, 5251, 4752, 4752, 5842, 5822, 5828, 4752, 4752, 5453, 5153, 5281, 4752, 4752, 4752, 6238, 6233, 6238, 4752, 4752, 5971, 5570, 4752, 4752, 6241, 5972, 4752, 6241, 4752, 4752, 6238, 4752, 4752, 4752, 5230, 6239, 4752, 6241, 5973, 5838, 5237, 4752, 6254, 6635, 5226, 5851, 6443, 5858, 5866, 5875, 5879, 5884, 5886, 5880, 5890, 5893, 5896, 5899, 5901, 5903, 5907, 5907, 5913, 5907, 5907, 5909, 5920, 5921, 5917, 5917, 5919, 5917, 5917, 5918, 5917, 5931, 5265, 4752, 4752, 5460, 5360, 4757, 4752, 6931, 4752, 4752, 4752, 5461, 5361, 6613, 5542, 4752, 4752, 4752, 6896, 5776, 6882, 4752, 4752, 5742, 5936, 5195, 4752, 6225, 5942, 6564, 5950, 5953, 5961, 4752, 4961, 4752, 4752, 4752, 6000, 6367, 5966, 6419, 4752, 4752, 5487, 4752, 6294, 4752, 6293, 5985, 4752, 5990, 5994, 4752, 4752, 4752, 6298, 6367, 5927, 4752, 4752, 4752, 6243, 4759, 6930, 4752, 4752, 5741, 4752, 4752, 6938, 6005, 6421, 6050, 6014, 4752, 4752, 5505, 4752, 4752, 4752, 6437, 4752, 6209, 5755, 5755, 6022, 6026, 6110, 4752, 4962, 4961, 4752, 4752, 6111, 4752, 4752, 4752, 6317, 6031, 6026, 6110, 4752, 4966, 4752, 5225, 5398, 4752, 5400, 4752, 4752, 4752, 6254, 4752, 6366, 5926, 4752, 4752, 5561, 5225, 5266, 4752, 4752, 5224, 6352, 4752, 6628, 4752, 4972, 5386, 5066, 6048, 5970, 4752, 4752, 5573, 5398, 4752, 6208, 4752, 4752, 5596, 4752, 6059, 5779, 6064, 4752, 4977, 4821, 6882, 6069, 6065, 4752, 4752, 5699, 4752, 4752, 6001, 5925, 5251, 4752, 4752, 4752, 6247, 4752, 5739, 4752, 6353, 4752, 6629, 4752, 5973, 4752, 6569, 6074, 6089, 6569, 6084, 6088, 5251, 6082, 6086, 6090, 4752, 4979, 4579, 4752, 4752, 4752, 6422, 4752, 6423, 6722, 4752, 4752, 4752, 6321, 6322, 5389, 6627, 4752, 5971, 4980, 4580, 4752, 4752, 4752, 6320, 4757, 4752, 5740, 4752, 5075, 5968, 4752, 4977, 5523, 6665, 6354, 6627, 4752, 5972, 4752, 4752, 6036, 4753, 6937, 4752, 4752, 4752, 6418, 6252, 4752, 4752, 4752, 6423, 6860, 6869, 4752, 4752, 5720, 5813, 5555, 4752, 4752, 4752, 5809, 6354, 6627, 4752, 4753, 6937, 4978, 4581, 4752, 4752, 4752, 6429, 4752, 4979, 4581, 4752, 4752, 5722, 5337, 5263, 4752, 6861, 6870, 4752, 5287, 5297, 4758, 4752, 5742, 6353, 6860, 6869, 4758, 5740, 5390, 5998, 6234, 4752, 4752, 4752, 6102, 4752, 5386, 6234, 5505, 6935, 4755, 6239, 4752, 5971, 4752, 4752, 4752, 5386, 4754, 5720, 4581, 4752, 4752, 5741, 6936, 4752, 6863, 5739, 4752, 5076, 4752, 4752, 5720, 5335, 5341, 4752, 6869, 4752, 6313, 4752, 6311, 4752, 6608, 4752, 4752, 5745, 4752, 6259, 4752, 4618, 6121, 6232, 6230, 6230, 5741, 6935, 4752, 4752, 6201, 5189, 4752, 6134, 6132, 6140, 6144, 6151, 6145, 6145, 6150, 6146, 6155, 6159, 6163, 6167, 6169, 6174, 6176, 6169, 6169, 6170, 6186, 6187, 6180, 6180, 6185, 6180, 6180, 6181, 6191, 4752, 4752, 4752, 6545, 6229, 6841, 5573, 5061, 6250, 4752, 4752, 4752, 6569, 5524, 4752, 6247, 6251, 4752, 5107, 4752, 4752, 4753, 6719, 6266, 6265, 6267, 4752, 5110, 4752, 5111, 4752, 5113, 5111, 4752, 5956, 4752, 5192, 4752, 6621, 5747, 6333, 4752, 4752, 5797, 5191, 6271, 6276, 5252, 4961, 4752, 6281, 6287, 6251, 4752, 4752, 4752, 6570, 6286, 6291, 4752, 4752, 5751, 4752, 5833, 5832, 5831, 4752, 5110, 6077, 4752, 4752, 6362, 4752, 4752, 4770, 4752, 4752, 4752, 6717, 5589, 4752, 6202, 5190, 4752, 5110, 6929, 4752, 4752, 6307, 4752, 4752, 6934, 4752, 4752, 4752, 6934, 4759, 6304, 5573, 4961, 5831, 5831, 5831, 4752, 5112, 4752, 4752, 5742, 5580, 4769, 6009, 4752, 4752, 6387, 4752, 5126, 4752, 6331, 4961, 4753, 5534, 5538, 5542, 4752, 6282, 5536, 5540, 4752, 5112, 6427, 5932, 5582, 4771, 4752, 4752, 4752, 6546, 5782, 5243, 4752, 5579, 5536, 5540, 5862, 5538, 5542, 4752, 5114, 5993, 4752, 4961, 4752, 5797, 4768, 5153, 4752, 4752, 5804, 6899, 5787, 6318, 4752, 4752, 5957, 4752, 6213, 6334, 4752, 4752, 4752, 6731, 4752, 6234, 6343, 5539, 6009, 4752, 4752, 5769, 4752, 4752, 5938, 6343, 5539, 4752, 6425, 4961, 4752, 5193, 4752, 4752, 6231, 4752, 5377, 5401, 4752, 6254, 6318, 4752, 4752, 6255, 4752, 6425, 4752, 4752, 5409, 6311, 4961, 4752, 4752, 5823, 4752, 4752, 4752, 6240, 4752, 4752, 4752, 5103, 5454, 6009, 4752, 4752, 5844, 5146, 5452, 6377, 4752, 4752, 5846, 5145, 6860, 6009, 4752, 5190, 6375, 6009, 6422, 6424, 4752, 6868, 4752, 4752, 4752, 5388, 5380, 6254, 6362, 4752, 5124, 5122, 4752, 4752, 6322, 6322, 6322, 6322, 4707, 4707, 4707, 4707, 4708, 4735, 4735, 6381, 4752, 6009, 5377, 6389, 4752, 4752, 6885, 6009, 4752, 4752, 6868, 5377, 6253, 6887, 4752, 4752, 6887, 4752, 4752, 6886, 4752, 6403, 5971, 6255, 4752, 4752, 5853, 4752, 4752, 4752, 6936, 6255, 6886, 5971, 6255, 5191, 4752, 4752, 5752, 4752, 4756, 6589, 6886, 6401, 6885, 6885, 4752, 6886, 5377, 6885, 6394, 6394, 4703, 4703, 4703, 4752, 5185, 4752, 4752, 4757, 5110, 4960, 5744, 6398, 4752, 5187, 6451, 4752, 4752, 6409, 4752, 6411, 5750, 6215, 6417, 5744, 6435, 6217, 4752, 5189, 6447, 6457, 6461, 6462, 6466, 6486, 6469, 6484, 6472, 6478, 6475, 6480, 6498, 6492, 6490, 6496, 6496, 6500, 6506, 6506, 6507, 6504, 6506, 6506, 6506, 6511, 6514, 4752, 4752, 5854, 4752, 4752, 4752, 6619, 4824, 5749, 6417, 6518, 4752, 4752, 4752, 6756, 5187, 4752, 4752, 4752, 6834, 6431, 4752, 4752, 4752, 6836, 5834, 6009, 6522, 6527, 6869, 4752, 6430, 4752, 5188, 4752, 5223, 4752, 4752, 4752, 6253, 4752, 6540, 6551, 6561, 5402, 6575, 4752, 4752, 5945, 4752, 4752, 6755, 6009, 4752, 5188, 5194, 4752, 4752, 4752, 6252, 6255, 4752, 6756, 5962, 4752, 5222, 5392, 5390, 4752, 6849, 6848, 4752, 5231, 6032, 6027, 6850, 4752, 4752, 4752, 6854, 6619, 4824, 5749, 6582, 5518, 4752, 4752, 4752, 6861, 4753, 6634, 4752, 4752, 5945, 5691, 4752, 4752, 6589, 4752, 4753, 4752, 4757, 5561, 4752, 6597, 4752, 6607, 4752, 5235, 4752, 4752, 4752, 5225, 6612, 5541, 4752, 6617, 5229, 6351, 5401, 6625, 4752, 5753, 4752, 6633, 5359, 6640, 6645, 6009, 4944, 5540, 4752, 4752, 5955, 4752, 6649, 6238, 5686, 5686, 5144, 4752, 5744, 4752, 4752, 4752, 4753, 4980, 6619, 4824, 6272, 6654, 5754, 4753, 4752, 6311, 4752, 4752, 6312, 4752, 4752, 5355, 5359, 5550, 6658, 6009, 5357, 6678, 4944, 5541, 4752, 5571, 4752, 6597, 6597, 6597, 6597, 4752, 4752, 4752, 6928, 4752, 4752, 5110, 6426, 4752, 5746, 6423, 4752, 5266, 4752, 4564, 4752, 6662, 5550, 6671, 6670, 6009, 4752, 4752, 5977, 4752, 6664, 6669, 5153, 4752, 5270, 6423, 5505, 4823, 5748, 5401, 5189, 4752, 4752, 4752, 5739, 6322, 5752, 4753, 4752, 4752, 5741, 5390, 4752, 6675, 6690, 6429, 6694, 4752, 4752, 5193, 6234, 4824, 5750, 4752, 5369, 4752, 4955, 4752, 4752, 5385, 5753, 4756, 4752, 6239, 4752, 6240, 4752, 5349, 4758, 4752, 6705, 6429, 4752, 5372, 4758, 5592, 4752, 6705, 6429, 5572, 6238, 6913, 4752, 4752, 6009, 4752, 4752, 5712, 4752, 4752, 6010, 6536, 4714, 6709, 4752, 4752, 6016, 4752, 4756, 4752, 6240, 4752, 5379, 6255, 4752, 5388, 4752, 6257, 6419, 5074, 6720, 4752, 4752, 6042, 4752, 5749, 4752, 4752, 4752, 6929, 4752, 4752, 5971, 6717, 6429, 4752, 4752, 6042, 5417, 6914, 6241, 4752, 5747, 6233, 4752, 4752, 4752, 6926, 4752, 6729, 4752, 4752, 4752, 6933, 6727, 4563, 4752, 5747, 6741, 5389, 5192, 5222, 4752, 5986, 4561, 5748, 4752, 6936, 6934, 4562, 5749, 6934, 5853, 4563, 6935, 4752, 5387, 5748, 4752, 4752, 6735, 6371, 4563, 6936, 6934, 4752, 4752, 6739, 6680, 6421, 4744, 6300, 6231, 5091, 4752, 5389, 5748, 4752, 4752, 6701, 4581, 6039, 6745, 6748, 4620, 6733, 6752, 6760, 6768, 6762, 6764, 6771, 6775, 6779, 6782, 6784, 6788, 6790, 6794, 6797, 6801, 6804, 6809, 6808, 6813, 6815, 6819, 6817, 6823, 6827, 6830, 4752, 5391, 5223, 5222, 6421, 4752, 4752, 4759, 5112, 4760, 4752, 5113, 4752, 5428, 6533, 4752, 4752, 6388, 4752, 4752, 6393, 4752, 4752, 6428, 4752, 4752, 6428, 6260, 6840, 5381, 4752, 6845, 4584, 4752, 6043, 4752, 5495, 4752, 4752, 4753, 6197, 4769, 6859, 6044, 4752, 4752, 6195, 5582, 4752, 6739, 6907, 5191, 4752, 6867, 6915, 4752, 5506, 5505, 4752, 5973, 4752, 4563, 4752, 5386, 4752, 5533, 5537, 5541, 5389, 5388, 4752, 4752, 6232, 4752, 4752, 5747, 6741, 6355, 6235, 4752, 6543, 6238, 5400, 4752, 5188, 4752, 4752, 6891, 5777, 5700, 4752, 5562, 6253, 4752, 4752, 6912, 4752, 4752, 6932, 4752, 4752, 6935, 4752, 4753, 5435, 5440, 5445, 5388, 5388, 4752, 4752, 6242, 6042, 4752, 5739, 6934, 4752, 5571, 4752, 5398, 4752, 4751, 5401, 5401, 5399, 5793, 4753, 6898, 5778, 4563, 4752, 5388, 5749, 6601, 5747, 6906, 5192, 6236, 4752, 6897, 5777, 4563, 4752, 5130, 4752, 4752, 6338, 4752, 4752, 6231, 4752, 4752, 6920, 4752, 4752, 4752, 6261, 4752, 5775, 6919, 4752, 5386, 6258, 4781, 5595, 5193, 6237, 4752, 5571, 4752, 5399, 4760, 4752, 5740, 6935, 4752, 4752, 6107, 4752, 4752, 6924, 4752, 4752, 6281, 5535, 6896, 6942, 4752, 4752, 6311, 4752, 4752, 4752, 6530, 4759, 4752, 5740, 6935, 6951, 4752, 4752, 4752, 6311, 5770, 4977, 6959, 4752, 4752, 6312, 5113, 4752, 6957, 4752, 4752, 6313, 4752, 4752, 4752, 6453, 2, 4, 8, 262144, 0, 0, 0, 0x80000000, 1073741824, 0, 0, 1075838976, 2097152, 2097152, 268435456, 4194432, 4194560, 4196352, 270532608, 2097152, 4194304, 50331648, 0, 0, 0, 4194304, 0, 0, 541065216, 541065216, -2143289344, -2143289344, 4194304, 4194304, 4196352, -2143289344, 4194304, 4194432, 37748736, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 4194304, 4194304, 4198144, 4196352, 8540160, 4194304, 4194304, 4194304, 4196352, 276901888, 4194304, 4194304, 8425488, 4194304, 1, 0, 1024, 137363456, 66, 37748736, 742391808, 239075328, -1405091840, 775946240, 775946240, 775946240, 171966464, 742391808, 742391808, 742391808, 775946240, -1371537408, 775946240, 775946240, -1405091840, -1371537408, 775946240, 775946240, 775946240, 775946240, 4718592, -1371537408, 775946240, -1371537408, 775946240, -1371537408, 171966464, 775946240, 171966464, 171966464, 171966464, 171966464, 239075328, 171966464, 775946240, 239075328, 64, 4718592, 2097216, 4720640, 541589504, 4194368, 541589504, 4194400, 4194368, 541065280, 4194368, 4194368, -2143289280, 4194368, -2143285440, -2143285408, -2143285408, 776470528, -2143285408, -2109730976, -2143285408, -2143285408, -2143285408, -2109730976, -2143285408, 775946336, 775946304, 775946304, 776470528, 775946304, -1908404384, 775946304, -1908404384, 0, 2097152, 4194304, 128, 0, 256, 2048, 0, 0, 16777216, 16777216, 16777216, 16777216, 64, 64, 64, 64, 96, 96, 96, 64, 0, 0, 0, 24, 64, 0, 96, 96, 0, 0, 0, 288, 8388608, 0, 0, 8388608, 4096, 4096, 4096, 32, 96, 96, 96, 96, 262144, 96, 96, 1048576, 128, 0, 1048576, 0, 0, 2048, 2048, 2048, 2048, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 96, 96, 128, 128, 2048, 524288, 268435456, 536870912, 1073741824, 0, 0, 8388608, 4096, 0, 64, 0, 2048, 524288, 536870912, 0, 64, 524288, 64, 96, 64, 524288, 524288, 96, 96, 64, 524288, 96, 64, 80, 528, 524304, 1048592, 2097168, 268435472, 16, 16, 2, 536936448, 16, 262160, 16, 536936448, 16, 17, 17, 20, 16, 48, 16, 16, 20, 48, 64, 128, 1024, 134217728, 0, 0, 24, 560, 48, 2097680, 3145744, 1048592, 1048592, 2097168, 16, 1049104, 16, 16, 20, 560, 2097168, 2097168, 16, 16, 16, 16, 20, 16, 2097552, 3146256, 16, 16, 16, 28, 0, 2, 2098064, 17, 21, 16, 16, 163577856, 17, 528, 528, 16, 528, 2228784, -161430188, -161429680, -161430188, -161430188, -161430188, -161429680, -161430188, -161429676, -160905388, -161429676, -161430188, -161429676, -161429676, -161429676, -161429676, -161429675, -161349072, -161349072, -161429675, -161349072, -161349072, -161349072, -161349072, -161347728, -161347728, -161347728, -161347728, -161298576, -160299088, -161298576, -161298572, -161298572, -161298572, -161298572, -18860267, -160774284, -18729163, -160774288, -160299084, -161298572, -160774284, -161298572, -161298572, 16, 16, 28, 16, 16, 112, 21, 53, 146804757, 146812949, 0, 16, 0, 48, 3146256, 2097680, 1048592, 146862101, 146863389, -161429676, 146863389, 146863421, 146863389, 146863389, 146863389, 146863421, -161429740, -161429676, -160905388, -161298572, 0, 65536, 524288, 1048576, 33554432, 0, 159383552, 0, 0, 0, 1157627904, -1073741824, 0, 0, 0, 300, 142606336, 0, 8192, 0, 0, 0, 384, 0, 243269632, 0, 0, 0, 1862270976, 1, 32768, 131328, 131072, 16777216, 0, 0, 1, 2, 4, 128, 2097152, 0, 1073741825, 0x80000000, 0x80000000, 8, 16777216, 1073774592, 278528, 1226014816, 100665360, 100665360, 100665360, 100665360, 100665360, 100665360, -2046818288, 1091799136, -2044196848, 1091799136, 1091799136, 1091799136, 1091799136, 1091799136, 1091803360, 1091799136, 1091799136, 1158908000, 1158908001, 1192462432, 1192462448, 1192462448, 1192462448, 1192462448, 1200851056, 1091799393, 1200851056, 1200851056, 1192462448, 1870630720, 1870647104, 1870630720, 1870647104, 1870630720, 1870647104, 1870647104, 1870647104, 1870647104, 1870647104, 1870647120, 1870647124, 1870647124, 1870647124, 1870630736, 1870655316, 1870655316, 1870655316, 1870655317, 1870655348, 1870647120, 1870647120, 1870647120, 1879019376, 1879035760, 1870647124, 1879035760, 1879035764, 32768, 131072, 524288, 2097152, 8388608, 16777216, 134217728, 268435456, 1073741824, 0x80000000, 131328, 0, 0, 0, 832, 0, 164096, 0, 0, 0, 520, 4333568, 1048576, 1224736768, 0, 0, 1, 4, 0, 0, 235712, 0, 1090519040, 0, 0, 0, 999, 259072, 1191182336, 0, 0, 9437184, 0, 0, 1048576, 0, 128, 128, 128, 128, 2048, 2048, 231744, 0, 0, 0, 1007, 495424, 7864320, 1862270976, 0, 0, 0, 1024, 0, 0, 0, 63, 520000, 1862270976, 1862270976, 16252928, 0, 0, 16252928, 0, 0, 0, 1536, 0x80000000, 64, 98304, 1048576, 150994944, 0, 64, 256, 3584, 16384, 98304, 393216, 98304, 393216, 524288, 1048576, 2097152, 4194304, 0x80000000, 0, 0, 2097152, 4194304, 251658240, 536870912, 1073741824, 0, 0, 8192, 1073741824, 1073741824, 8388608, 2097152, 16777216, 134217728, 268435456, 2048, 65536, 262144, 524288, 1048576, 2097152, 1048576, 2097152, 4194304, 117440512, 64, 256, 1536, 16384, 65536, 117440512, 134217728, 536870912, 1073741824, 0, 0, 100663296, 0, 0, 0, 4096, 0, 0, 0, 64, 0, 0, 128, -2113929216, 64, 256, 1536, 65536, 262144, 524288, 4194304, 16777216, 100663296, 134217728, 536870912, 1073741824, 1048576, 2097152, 4194304, 16777216, 4194432, 3145728, 524288, 2097152, 134217728, 268435456, 65536, 1048576, 0, 0, 0, 2048, 0, 0, 134217728, 0, 0, 0, 15, 16, 524288, 2097152, 1073741824, 0x80000000, 0x80000000, 0, 1048576, 2097152, 67108864, 1073741824, 0, 0, 0, 0, 2097152, 1073741824, 0x80000000, 0, 0, 0, 768, 0, 2097152, 0x80000000, 0, -872415232, 0, -872415232, 67108864, 134217728, 1073741824, 0, 0x80000000, 0, 0, 0, 8192, 4096, 0, 0, 1536, 524288, 64, 64, 96, 64, 0, 524288, 0, 1073741824, 2621440, 1073741824, 9476, 512, 0, 32, 384, 8192, 0, 0, 1, 8, 512, 512, 9476, 134218240, 1050624, 262144, 512, 50331649, 1275208192, 4194312, 4194312, 4194312, 4194312, 541065224, 4194312, 4194312, 4194344, -869654016, 4203820, -869654016, -869654016, -869654016, -869654016, 1279402504, 1279402504, 1279402504, 1279402504, 2143549415, 2143549415, 2143549415, 2143549415, 2143549415, 2143549423, 2143549415, 2143549423, 2143549423, 2143549423, 2143549423, 16, 32, 256, 1024, 8192, 33554432, 8192, 33554432, 67108864, 134217728, 0, 0, 536870912, 9216, 0, 0, 1792, 0x80000000, 0, 1050624, 0, 0, 1, 14, 16, 32, 1024, 2048, 77824, 524288, 0, 512, 139264, 1275068416, 512, 2760704, -872415232, 0, 0, 1856, 0x80000000, 4203520, 0, 0, 0, 32768, 0, 0, 0, 58624, 520, 0, 0, 0, 131072, 0, 0, 0, 512, 0, 1048576, 0, 1275068416, 0, 0, 0, 65536, 0, 0, 0, 12561, 0, 1007, 1007, 0, 0, 2048, 524288, 0, 536870912, 0, 512, 0, 2048, 1048576, 0, 0, 40, 0, 2621440, 0, 0, 0x80000000, 999, 259072, 4194304, 25165824, 100663296, 402653184, 1, 102, 384, 512, 5120, 5120, 8192, 16384, 229376, 4194304, 4194304, 25165824, 33554432, 67108864, 402653184, 402653184, 536870912, 1073741824, 0, 0, 2048, 3145728, 16777216, 536870912, 110, 110, 0, 0, 1, 30, 32, 0, 40, 0, 524288, 64, 96, 1, 6, 96, 384, 512, 1024, 4096, 8192, 16384, 229376, 67108864, 402653184, 536870912, 0, 2, 16, 104, 0, 104, 104, 8192, 33554432, 134217728, 0, 0, 2048, 100663296, 0, 229376, 25165824, 33554432, 402653184, 536870912, 8192, 33554432, 0, 0, 0, 17408, 0, 524288, 2097152, 0, 0, 2048, 268435456, 536870912, 0, 0, 268435456, 49152, 2, 4, 32, 64, 256, 512, 1024, 8, 8, 0, 0, 1, 64, 128, 3584, 16384, 3145728, 16777216, 67108864, 134217728, 805306368, 1073741824, 0, 0, 4, 64, 256, 1024, 4096, 8192, 65536, 524288, 98304, 131072, 25165824, 268435456, 536870912, 0, 2, 4, 256, 1024, 0, 2048, 0, 98304, 131072, 16777216, 268435456, 0, 0, 0, 262144, 0, 0, 65536, 268435456, 0, 0, 1, 128, 512, 2048, 524288, 2048, 524288, 67108864, 536870912, 0, 262144, 0, 0, 2432, 0, 0, 4096, 8192, 0, 32, 4100, 67108864, 0, 32768, 0, 32768, 0, 0, 134348800, 134348800, 1049088, 1049088, 8192, 1049088, 12845065, 12845065, 12845065, 12845065, 270532608, 0, 1049088, 0, 134348800, 12845065, 12845065, 147193865, 5505537, 5591557, 5587465, 5587457, 5587457, 147202057, 5587457, 5587457, 5591557, 5587457, 13894153, 13894153, 13894153, 13894153, -1881791493, 13894153, 81003049, 13894153, 13894153, -1881791493, -1881791493, -1881791493, -1881791493, 0, 9, 0, 0, 1, 5505024, 142606336, 0, 0, 0, 278528, 0, 82432, 0, 0, 1, 16777216, 0, 0, 0, 139264, 0, 0, 0, 229440, 0, 5, 86528, 9, 4456448, 8388608, 0, 0, 8192, 8392704, 9, 8388608, 0, 0, 256, 1024, 65536, 16777216, 268435456, 0, 0, 41, 75497472, 0, 0, 16384, 262144, 0, 0, 0, 512, 1048576, 0, 0, 262144, 4194304, 8388608, 0, 0, 16384, 4194304, 0x80000000, 0, 0, 81920, 0, 0, 2, 4, 16, 32, 8192, 131072, 262144, 1048576, 4194304, 8388608, 4194304, 8388608, 16777216, 33554432, -1946157056, 0, -1946157056, 0, 0, 0, 524288, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 13, 0, 1, 2, 56, 64, 896, 8192, 131072, 0, 0, 33554432, 1024, 0, 4, 0, 8, 16, 32, 64, 128, 1024, 2048, 16384, 65536, 262144, 524288, 2097152, 384, 512, 8192, 131072, 1048576, 0, 16384, 65536, 0, 65536, 0, 0, 131072, 0, 32, 0, 32768, 134217728, 0, 0, 2, 8, 16, 0, 2, 8, 32, 64, 256, 1024, 98304, 131072, 1048576, 33554432, 134217728, 0x80000000, 8, 32, 384, 8192, 131072, 33554432, 131072, 33554432, 0x80000000, 0, 0, 24576, 0, 0, 0, 50331648, 0, 8396800, 4194304, 134217728, 2048, 134217728, 0, 0, 2, 16384, 32768, 1048576, 2097152, 0, 8396800, 0, 0, 4, 8, 0, 0, 16384, 0, 2, 4, 128, 3584, 16384, 16384, 16384, 16777216, 16384, 229376, 25165824, 33554432, 268435456, 536870912, 524288, 268567040, 16384, -2113929088, 2113544, 68423701, 68423701, 68423701, 68423701, 68489237, 68423701, 68423701, 68423701, 85200917, 68423701, 68489237, 72618005, 68423701, 68423701, -2079059883, 68423701, -2079059883, 68425749, 68423703, 69488664, 85200919, 69488664, 69488664, 69488664, 69488664, 70537244, 70537245, 70537245, 70537245, 70537245, 70537245, 70539293, -2022351809, -2076946339, 70537245, -2076946339, -2076946339, -2022351681, -2022351681, -2022351681, -2022351681, -2022351809, -2022351681, -2022351809, -2022351681, 32768, 65536, 4194304, 16777216, 0x80000000, 0, 0, 0, 8388608, 134217728, 1073741824, 131584, 268435456, 0, 0, 4, 128, 1048576, 67108864, 0, 0, 4, 256, 1024, 98304, 0, 0, 5242880, -2080374784, 268288, 0, 0, 4, 16777216, 0, 0, 23, 0, 0, 0, 867391, 24, 282624, 0, 0, 6, 0, 0, 0, 2097152, 0, 0, 0, 28, 3145728, 0, 0, 32768, 65536, 0, 284672, 0, 0, 0, 1048576, 0, 63, 128, 351232, 7340032, -2030043136, 0, 0, 131072, 268435456, 0, 0, 8, 32, 64, 16, 4096, 262144, 1048576, 1073741824, 0, 0, 0, -2046820352, 0, 20480, 0, 0, 8, 4194304, 0, 0, 15, 16, 32, 3072, 20480, 65536, 262144, 7340032, 50331648, 16, 32, 128, 3072, 20480, 0, 1, 4, 1048576, 4096, 1048576, 512, 0, 0, 0, 150528, 0, 0, 0, 5242880, 0, 7, 0, 14, 32, 1024, 2048, 12288, 1, 14, 32, 128, 1024, 7340032, 50331648, 0x80000000, 0, 0, 2048, 16384, 65536, 7340032, 50331648, 8, 32, 1024, 65536, 262144, 2097152, 1073741824, 0, 1, 6, 8, 32, 128, 1024, 65536, 2097152, 4194304, 50331648, 0x80000000, 0, 1, 2, 4, 2097152, 4194304, 67108864, 134217728, 536870912, 0, 32768, 4194304, 16777216, 0, 1, 2, 4, 50331648, 67108864, 0x80000000, 0, 0, 128, 50331648, 0, 0, 8, 33554432, 4096, 4194304, 268435456, 0, 0, 32768, 131072, 131072, 0, 32768, 32768, 268435968, 268435968, 1073743872, 268435968, 0, 128, 6144, 0, 229376, 128, 268435968, 16777220, 268436032, 256, 256, 256, 256, 257, 256, 256, 536871168, 256, 256, 256, 256, 384, -1879046336, -1879046334, 1073744256, -1879046334, -1879046326, -1879046334, -1879046334, -1879046326, -1879046326, -1845491902, -1878784182, 268444480, 268444480, 268444480, 268444480, 2100318145, 268436288, 268436288, 268436288, 268436288, 268436289, 268436288, 2100318149, 2100318149, 2100318149, 2100318149, 2100326337, 2100318149, 2100318149, 2100318145, 2100318149, 2100318145, 2100318149, 2100326341, 2100318149, 2100326341, 2100326341, 0, 1, 16, 32, 128, 512, 0, 4194304, 1, 1024, 0, 0, 229376, 0, 0, 12, 3145728, 0, 0, 576, 0, 0, 16, 8192, 0, 0, 16, 262144, 0, 384, 0, 0, 21, 266240, 1864, 0, 0, 0, 8388608, 0, 0, 0, 128, 0, 0, 0, 256, 0, 0, 0, 260, 512, 0, 1, 4036, 19939328, 2080374784, 0, 0, 0, 16777216, 0, 0, 0, 32, 0, 0, 0, 40, 67108864, 0, 19947520, 0, 0, 0, 19947520, 2304, 0, 8, 0, 512, 301989888, 0, 0, 262144, 16777216, 0, 1, 4, 64, 128, 64, 128, 3840, 16384, 19922944, 19922944, 2080374784, 0, 0, 29, 0, 0, 1536, 0x80000000, 0, 0, 32, 1, 8, 0, 33554432, 0, 0, 32768, 196608, 0, 0, 0, 33554432, 0, 0, 32768, 65536, 131072, 0, 0, 524288, 524288, 524288, 524288, 64, 64, 64, 32, 96, 8, 0, 33554432, 262144, 8192, 0, 0, 4194304, 1024, 0, 4096, 0, 1024, 2048, 16384, 3145728, 2048, 524288, 536870912, 1073741824, 8, 0, 0, 512, 131072, 0, 0, 64, 256, 1536, 2048, 33554432, 8192, 0, 0, 32, 64, 256, 32768, 65536, 16777216, 134217728, 536870912, 1073741824, 0, 3145728, 16777216, 536870912, 1073741824, 0, 0, 8192, 8192, 8192, 9216, 33554432, 0, 2097152, 16777216, 1073741824, 0, 0, 32768, 0, 16777216, 0, 16777216, 64, 0, 2, 0, 0, 32768, 16777216, 0, 0, 32, 512, 128, 131072, 0, 134218752, 0, 0, 44, 0, 66048, 0, 0, 0, 67108864, 0, 0, 0, 8192, 0, 8192, 0, 536870912, 0, 0, 0, 12289, 0, 268500992, 4243456, 0, 0, 59, 140224, 5505024, -1887436800, 0, 0, 2, 2, 4096, 4096, 0, 4096, 8192, 67108864, 0, 0, 1, 4032, 0, 4243456, 4096, 1048588, 12289, 1124073472, 1124073472, 1124073472, 1124073472, 1124073472, 1124073488, 1124073472, 1124073472, 1124073474, 1124073472, 1124073472, 1392574464, 1124073472, 12289, 1073754113, 12289, 12289, 1124073472, 12289, 12289, 1098920193, 1098920193, 1124073488, 1124073472, 1258292224, 1124073472, 1124073472, 1124073472, 1124085761, 1258304513, 1124085761, 1124085761, 1124085761, 1124085777, 1132474625, 1098920209, 1132474625, 1132474625, 1132474625, 1132474625, 1400975617, 2132360255, 2132622399, 2132622399, 2132360255, 2132360255, 2132360255, 2132360255, 2132622399, 2132360255, 2132360255, 2132360255, 2140749119, 2132360255, 2140749119, 2140749119, 0, 65536, 268435456, 49152, 184549376, 0, 0, 0, 83886080, 0, 0, 318767104, 0, 0, 32768, 100663296, 402653184, 1610612736, 0, 0, 0, 231488, 0, 12545, 25165824, 0, 0, 49152, 0, 0, 256, 1536, 65536, 0, 0, 58720256, 0, 0, 131072, 32768, 0, 0, 134217728, 0, 12305, 13313, 0, 0, 331776, 83886080, 117440512, 0, 0, 1, 6, 32, 64, 0, 78081, 327155712, 0, 0, 511808, 7864320, 512, 65536, 0, 0, 64, 65536, 1048576, 0, 0, 33554432, 1073741824, 0, 0, 110, 0, 0, 256, 8388608, 0, 0, 524288, 2097152, 0x80000000, 0, 0, 77824, 0, 0, 0, 268435456, 524288, 1048576, 16777216, 100663296, 134217728, 0, 339968, 0, 0, 128, 131072, 1024, 134217728, 0, 268435456, 0, 0, 128, 33554432, 0, 0, 1, 12288, 0, 0, 0, 134217728, 2048, 12288, 65536, 524288, 1048576, 1048576, 33554432, 67108864, 134217728, 805306368, 0, 327680, 0, 0, 256, 65536, 0, 0, 268435456, 1048576, 33554432, 134217728, 805306368, 1, 14, 16, 1024, 4096, 8192, 229376, 65536, 524288, 33554432, 134217728, 536870912, 1073741824, 0, 1, 14, 1024, 2048, 4096, 8192, 131072, 1048576, 8388608, 33554432, 134217728, 0x80000000, 0, 0, 4096, 65536, 524288, 134217728, 16384, 4194304, 0, 0, 999, 29619200, 2113929216, 0, 0, 0, 148480, 1, 12, 1024, 134217728, 0, 128, 134217728, 8, 0, 8, 8, 8, 0, 1, 4, 8, 134217728, 536870912, 0, 0, 1073741824, 32768, 0, 4, 8, 536870912, 0, 0, 1024, 1024, 0, 1024, 2048, 3145728, 0, 8, 32, 512, 4096, 8192, 0, 0, 68157440, 137363456, 0, 66, 66, 524288, 4100, 1024, 0, 0, 605247, 1058013184, 1073741824, 100680704, 25165824, 92274688, 25165824, 25165824, 92274688, 92274688, 25165952, 25165824, 25165824, 26214400, 92274688, 25165824, 92274688, 93323264, 92274688, 92274688, 92274688, 92274688, 92274720, 93323264, 25165890, 100721664, 25165890, 100721928, 100721928, 100787464, 100853000, 100721928, 100721928, 125977600, 125977600, 125977600, 125977600, 125846528, 125846528, 126895104, 125846528, 125846528, 125846528, 125846560, 125977600, 127026176, 125977600, 125977600, 127026176, 127026176, 281843, 1330419, 281843, 1330419, 281843, 281843, 1330419, 1330419, 281843, 281843, 5524723, 5524723, 5524723, 5524723, 93605107, 5524723, 39079155, 72633587, 72633587, 5524723, 92556531, 93605107, 93605107, 127290611, 97799411, 127290611, 131484915, 2097152, 134217728, 0, 0, 1024, 65536, 58368, 0, 0, 0, 301989888, 8, 124160, 189696, 0, 0, 605503, 1066401792, 0, 0, 3, 240, 19456, 262144, 0, 150528, 0, 0, 0, 536870912, 0, 1073741824, 0, 57344, 0, 0, 0, 1073741824, 0, 0, 0, 1, 2, 112, 128, 3072, 16384, 262144, 2048, 16384, 262144, 0, 0, 2097152, 16777216, 0, 0, 0, 1, 2, 48, 64, 0, 1, 2, 16, 32, 64, 384, 8192, 131072, 1048576, 32, 4096, 8192, 131072, 0, 0, 32768, 0, 256, 0, 256, 0, 65536, 1024, 2048, 262144, 0, 0, 32768, 256, 0, 0, 1024, 2097152, 0, 0, 0, 16384, 0, 0, 0, 4, 0, 0, 0, 5, 64, 128, 262144, 0, 0, 2097152, 268435456, 0, 0, 64, 128, 0, 0, 1536, 1792, 1, 2, 16, 64, 0, 0
21560
 
];
21561
 
 
21562
 
XQueryParser.TOKEN =
21563
 
[
21564
 
  "(0)",
21565
 
  "PragmaContents",
21566
 
  "DirCommentContents",
21567
 
  "DirPIContents",
21568
 
  "CDataSection",
21569
 
  "Wildcard",
21570
 
  "EQName",
21571
 
  "URILiteral",
21572
 
  "IntegerLiteral",
21573
 
  "DecimalLiteral",
21574
 
  "DoubleLiteral",
21575
 
  "StringLiteral",
21576
 
  "PredefinedEntityRef",
21577
 
  "'\"\"'",
21578
 
  "EscapeApos",
21579
 
  "ElementContentChar",
21580
 
  "QuotAttrContentChar",
21581
 
  "AposAttrContentChar",
21582
 
  "PITarget",
21583
 
  "NCName",
21584
 
  "QName",
21585
 
  "S",
21586
 
  "S",
21587
 
  "CharRef",
21588
 
  "CommentContents",
21589
 
  "EOF",
21590
 
  "'!'",
21591
 
  "'!='",
21592
 
  "'\"'",
21593
 
  "'#'",
21594
 
  "'#)'",
21595
 
  "'$'",
21596
 
  "'%'",
21597
 
  "''''",
21598
 
  "'('",
21599
 
  "'(#'",
21600
 
  "'(:'",
21601
 
  "')'",
21602
 
  "'*'",
21603
 
  "'*'",
21604
 
  "'+'",
21605
 
  "','",
21606
 
  "'-'",
21607
 
  "'-->'",
21608
 
  "'.'",
21609
 
  "'..'",
21610
 
  "'/'",
21611
 
  "'//'",
21612
 
  "'/>'",
21613
 
  "':'",
21614
 
  "':)'",
21615
 
  "'::'",
21616
 
  "':='",
21617
 
  "';'",
21618
 
  "'<'",
21619
 
  "'<!--'",
21620
 
  "'</'",
21621
 
  "'<<'",
21622
 
  "'<='",
21623
 
  "'<?'",
21624
 
  "'='",
21625
 
  "'>'",
21626
 
  "'>='",
21627
 
  "'>>'",
21628
 
  "'?'",
21629
 
  "'?>'",
21630
 
  "'@'",
21631
 
  "'NaN'",
21632
 
  "'['",
21633
 
  "']'",
21634
 
  "'after'",
21635
 
  "'all'",
21636
 
  "'allowing'",
21637
 
  "'ancestor'",
21638
 
  "'ancestor-or-self'",
21639
 
  "'and'",
21640
 
  "'any'",
21641
 
  "'append'",
21642
 
  "'array'",
21643
 
  "'as'",
21644
 
  "'ascending'",
21645
 
  "'at'",
21646
 
  "'attribute'",
21647
 
  "'base-uri'",
21648
 
  "'before'",
21649
 
  "'boundary-space'",
21650
 
  "'break'",
21651
 
  "'by'",
21652
 
  "'case'",
21653
 
  "'cast'",
21654
 
  "'castable'",
21655
 
  "'catch'",
21656
 
  "'check'",
21657
 
  "'child'",
21658
 
  "'collation'",
21659
 
  "'collection'",
21660
 
  "'comment'",
21661
 
  "'constraint'",
21662
 
  "'construction'",
21663
 
  "'contains'",
21664
 
  "'content'",
21665
 
  "'context'",
21666
 
  "'continue'",
21667
 
  "'copy'",
21668
 
  "'copy-namespaces'",
21669
 
  "'count'",
21670
 
  "'decimal-format'",
21671
 
  "'decimal-separator'",
21672
 
  "'declare'",
21673
 
  "'default'",
21674
 
  "'delete'",
21675
 
  "'descendant'",
21676
 
  "'descendant-or-self'",
21677
 
  "'descending'",
21678
 
  "'diacritics'",
21679
 
  "'different'",
21680
 
  "'digit'",
21681
 
  "'distance'",
21682
 
  "'div'",
21683
 
  "'document'",
21684
 
  "'document-node'",
21685
 
  "'element'",
21686
 
  "'else'",
21687
 
  "'empty'",
21688
 
  "'empty-sequence'",
21689
 
  "'encoding'",
21690
 
  "'end'",
21691
 
  "'entire'",
21692
 
  "'eq'",
21693
 
  "'every'",
21694
 
  "'exactly'",
21695
 
  "'except'",
21696
 
  "'exit'",
21697
 
  "'external'",
21698
 
  "'first'",
21699
 
  "'following'",
21700
 
  "'following-sibling'",
21701
 
  "'for'",
21702
 
  "'foreach'",
21703
 
  "'foreign'",
21704
 
  "'from'",
21705
 
  "'ft-option'",
21706
 
  "'ftand'",
21707
 
  "'ftnot'",
21708
 
  "'ftor'",
21709
 
  "'function'",
21710
 
  "'ge'",
21711
 
  "'greatest'",
21712
 
  "'group'",
21713
 
  "'grouping-separator'",
21714
 
  "'gt'",
21715
 
  "'idiv'",
21716
 
  "'if'",
21717
 
  "'import'",
21718
 
  "'in'",
21719
 
  "'index'",
21720
 
  "'infinity'",
21721
 
  "'inherit'",
21722
 
  "'insensitive'",
21723
 
  "'insert'",
21724
 
  "'instance'",
21725
 
  "'integrity'",
21726
 
  "'intersect'",
21727
 
  "'into'",
21728
 
  "'is'",
21729
 
  "'item'",
21730
 
  "'json'",
21731
 
  "'json-item'",
21732
 
  "'key'",
21733
 
  "'language'",
21734
 
  "'last'",
21735
 
  "'lax'",
21736
 
  "'le'",
21737
 
  "'least'",
21738
 
  "'let'",
21739
 
  "'levels'",
21740
 
  "'loop'",
21741
 
  "'lowercase'",
21742
 
  "'lt'",
21743
 
  "'minus-sign'",
21744
 
  "'mod'",
21745
 
  "'modify'",
21746
 
  "'module'",
21747
 
  "'most'",
21748
 
  "'namespace'",
21749
 
  "'namespace-node'",
21750
 
  "'ne'",
21751
 
  "'next'",
21752
 
  "'no'",
21753
 
  "'no-inherit'",
21754
 
  "'no-preserve'",
21755
 
  "'node'",
21756
 
  "'nodes'",
21757
 
  "'not'",
21758
 
  "'object'",
21759
 
  "'occurs'",
21760
 
  "'of'",
21761
 
  "'on'",
21762
 
  "'only'",
21763
 
  "'option'",
21764
 
  "'or'",
21765
 
  "'order'",
21766
 
  "'ordered'",
21767
 
  "'ordering'",
21768
 
  "'paragraph'",
21769
 
  "'paragraphs'",
21770
 
  "'parent'",
21771
 
  "'pattern-separator'",
21772
 
  "'per-mille'",
21773
 
  "'percent'",
21774
 
  "'phrase'",
21775
 
  "'position'",
21776
 
  "'preceding'",
21777
 
  "'preceding-sibling'",
21778
 
  "'preserve'",
21779
 
  "'previous'",
21780
 
  "'processing-instruction'",
21781
 
  "'relationship'",
21782
 
  "'rename'",
21783
 
  "'replace'",
21784
 
  "'return'",
21785
 
  "'returning'",
21786
 
  "'revalidation'",
21787
 
  "'same'",
21788
 
  "'satisfies'",
21789
 
  "'schema'",
21790
 
  "'schema-attribute'",
21791
 
  "'schema-element'",
21792
 
  "'score'",
21793
 
  "'self'",
21794
 
  "'sensitive'",
21795
 
  "'sentence'",
21796
 
  "'sentences'",
21797
 
  "'skip'",
21798
 
  "'sliding'",
21799
 
  "'some'",
21800
 
  "'stable'",
21801
 
  "'start'",
21802
 
  "'stemming'",
21803
 
  "'stop'",
21804
 
  "'strict'",
21805
 
  "'strip'",
21806
 
  "'structured-item'",
21807
 
  "'switch'",
21808
 
  "'text'",
21809
 
  "'then'",
21810
 
  "'thesaurus'",
21811
 
  "'times'",
21812
 
  "'to'",
21813
 
  "'treat'",
21814
 
  "'try'",
21815
 
  "'tumbling'",
21816
 
  "'type'",
21817
 
  "'typeswitch'",
21818
 
  "'union'",
21819
 
  "'unique'",
21820
 
  "'unordered'",
21821
 
  "'updating'",
21822
 
  "'uppercase'",
21823
 
  "'using'",
21824
 
  "'validate'",
21825
 
  "'value'",
21826
 
  "'variable'",
21827
 
  "'version'",
21828
 
  "'weight'",
21829
 
  "'when'",
21830
 
  "'where'",
21831
 
  "'while'",
21832
 
  "'wildcards'",
21833
 
  "'window'",
21834
 
  "'with'",
21835
 
  "'without'",
21836
 
  "'word'",
21837
 
  "'words'",
21838
 
  "'xquery'",
21839
 
  "'zero-digit'",
21840
 
  "'{'",
21841
 
  "'{{'",
21842
 
  "'{|'",
21843
 
  "'|'",
21844
 
  "'||'",
21845
 
  "'|}'",
21846
 
  "'}'",
21847
 
  "'}}'"
21848
 
];
21849
 
                                                            });
21850
 
 
21851
 
define('ace/mode/xquery/visitors/SemanticHighlighter', ['require', 'exports', 'module' ], function(require, exports, module) {
21852
 
 
21853
 
  var SemanticHighlighter = exports.SemanticHighlighter = function(ast) {
21854
 
    
21855
 
    this.tokens = {};
21856
 
 
21857
 
    this.getTokens = function() {
21858
 
      this.visit(ast);
21859
 
      return this.tokens;
21860
 
    };
21861
 
 
21862
 
   this.EQName = this.NCName = function(node)
21863
 
   {
21864
 
     var row = node.pos.sl;
21865
 
     this.tokens[row] = this.tokens[row] === undefined ? [] : this.tokens[row];
21866
 
     node.pos.type = "support.function";
21867
 
     this.tokens[row].push(node.pos);
21868
 
     return true;
21869
 
   };
21870
 
 
21871
 
    this.visit = function(node) {
21872
 
      var name = node.name;
21873
 
      var skip = false;
21874
 
 
21875
 
      if (typeof this[name] === "function") skip = this[name](node) === true ? true : false;
21876
 
 
21877
 
      if (!skip) {
21878
 
        this.visitChildren(node);
21879
 
      }
21880
 
    };
21881
 
 
21882
 
    this.visitChildren = function(node, handler) {
21883
 
      for (var i = 0; i < node.children.length; i++) {
21884
 
        var child = node.children[i];
21885
 
        if (handler !== undefined && typeof handler[child.name] === "function") {
21886
 
          handler[child.name](child);
21887
 
        }
21888
 
        else {
21889
 
          this.visit(child);
21890
 
        }
21891
 
      }
21892
 
    };
21893
 
    
21894
 
  };
21895
 
  
21896
 
});