summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/parser/javascriptgrammar.cpp
blob: 13c3fada1cca11272258e8d1b980523cba6b1f6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
// This file was generated by qlalr - DO NOT EDIT!
#include "javascriptgrammar_p.h"

const char *const JavaScriptGrammar::spell [] = {
  "end of file", "&", "&&", "&=", "break", "case", "catch", ":", ";", "continue", 
  "default", "delete", "/", "/=", "do", ".", "else", "=", "==", "===", 
  "finally", "for", "function", ">=", ">", ">>", ">>=", ">>>", ">>>=", "identifier", 
  "if", "in", "instanceof", "{", "[", "<=", "(", "<", "<<", "<<=", 
  "-", "-=", "--", "new", "!", "!=", "!==", "numeric literal", "|", "|=", 
  "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", 
  ")", ";", 0, "*", "*=", "string literal", "switch", "this", "throw", "~", 
  "try", "typeof", "var", "void", "while", "with", "^", "^=", "null", "true", 
  "false", "const", "debugger", "reserved word", "public", "import", 0, 0};

const int JavaScriptGrammar::lhs [] = {
  88, 89, 89, 92, 92, 93, 93, 91, 90, 90, 
  95, 95, 97, 97, 96, 94, 96, 94, 96, 94, 
  96, 94, 94, 94, 94, 94, 94, 94, 98, 98, 
  103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
  103, 103, 103, 103, 103, 105, 105, 109, 109, 104, 
  104, 107, 107, 110, 110, 110, 110, 111, 111, 111, 
  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 
  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 
  111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 
  113, 113, 113, 113, 113, 116, 116, 117, 117, 117, 
  117, 115, 115, 118, 118, 119, 119, 120, 120, 120, 
  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
  122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 
  124, 125, 125, 125, 125, 125, 125, 125, 126, 126, 
  126, 126, 126, 126, 127, 127, 127, 127, 127, 128, 
  128, 128, 128, 128, 129, 129, 130, 130, 131, 131, 
  132, 132, 133, 133, 134, 134, 135, 135, 136, 136, 
  137, 137, 138, 138, 139, 139, 140, 140, 108, 108, 
  141, 141, 142, 142, 142, 142, 142, 142, 142, 142, 
  142, 142, 142, 142, 100, 100, 143, 143, 144, 144, 
  145, 145, 99, 99, 99, 99, 99, 99, 99, 99, 
  99, 99, 99, 99, 99, 99, 99, 146, 161, 161, 
  160, 160, 102, 102, 162, 162, 163, 163, 165, 165, 
  164, 166, 169, 167, 167, 170, 168, 168, 147, 148, 
  148, 149, 149, 150, 150, 150, 150, 150, 150, 150, 
  151, 151, 151, 151, 152, 152, 152, 152, 153, 153, 
  154, 156, 171, 171, 174, 174, 172, 172, 175, 173, 
  155, 157, 157, 158, 158, 158, 176, 177, 159, 159, 
  101, 114, 181, 181, 178, 178, 179, 179, 182, 183, 
  183, 184, 184, 180, 180, 106, 106, 185};

const int JavaScriptGrammar:: rhs[] = {
  2, 1, 1, 1, 2, 3, 3, 0, 1, 2, 
  1, 3, 2, 3, 4, 4, 2, 2, 5, 5, 
  3, 3, 3, 4, 5, 6, 1, 1, 1, 3, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 
  3, 5, 3, 4, 3, 2, 4, 1, 2, 0, 
  1, 3, 5, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 4, 3, 5, 1, 2, 4, 4, 4, 
  3, 0, 1, 1, 3, 1, 1, 1, 2, 2, 
  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
  1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 
  3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 
  3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 
  3, 3, 3, 3, 1, 3, 1, 3, 1, 3, 
  1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 
  1, 3, 1, 3, 1, 5, 1, 5, 1, 3, 
  1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 3, 0, 1, 1, 3, 
  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 
  0, 1, 3, 3, 1, 1, 1, 3, 1, 3, 
  2, 2, 2, 0, 1, 2, 0, 1, 1, 2, 
  2, 7, 5, 7, 7, 5, 9, 10, 7, 8, 
  2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 
  5, 5, 3, 5, 1, 2, 0, 1, 4, 3, 
  3, 3, 3, 3, 3, 4, 5, 2, 2, 2, 
  8, 8, 1, 3, 0, 1, 0, 1, 1, 1, 
  2, 1, 1, 0, 1, 0, 1, 2};

const int JavaScriptGrammar::action_default [] = {
  8, 2, 0, 4, 3, 0, 0, 0, 6, 7, 
  5, 27, 225, 0, 29, 0, 226, 9, 1, 0, 
  0, 28, 0, 285, 286, 0, 283, 0, 284, 0, 
  287, 128, 195, 159, 167, 163, 203, 210, 107, 179, 
  209, 217, 205, 155, 0, 206, 288, 0, 293, 92, 
  207, 208, 213, 108, 171, 175, 96, 125, 106, 111, 
  91, 145, 211, 132, 290, 289, 292, 214, 0, 0, 
  0, 0, 38, 39, 0, 35, 0, 294, 32, 0, 
  296, 50, 0, 0, 0, 0, 0, 33, 36, 0, 
  0, 197, 239, 37, 0, 31, 0, 0, 34, 0, 
  0, 0, 0, 0, 215, 216, 121, 204, 212, 0, 
  0, 108, 127, 294, 32, 296, 110, 109, 0, 0, 
  0, 123, 124, 122, 0, 295, 285, 0, 0, 287, 
  0, 282, 0, 297, 0, 57, 58, 59, 60, 85, 
  61, 86, 62, 63, 64, 65, 66, 67, 68, 69, 
  54, 70, 71, 72, 73, 74, 56, 87, 75, 55, 
  76, 77, 78, 79, 80, 81, 82, 83, 84, 88, 
  0, 52, 0, 0, 44, 0, 53, 43, 126, 0, 
  156, 0, 0, 0, 0, 146, 0, 0, 0, 0, 
  0, 0, 136, 0, 0, 0, 130, 131, 129, 134, 
  138, 137, 135, 133, 148, 147, 149, 0, 164, 0, 
  160, 0, 0, 102, 101, 90, 89, 0, 0, 100, 
  196, 103, 0, 104, 0, 105, 99, 240, 241, 281, 
  0, 192, 185, 183, 190, 191, 189, 188, 194, 187, 
  186, 184, 193, 180, 0, 168, 0, 0, 172, 0, 
  0, 176, 0, 0, 102, 94, 0, 93, 0, 98, 
  291, 255, 0, 256, 257, 258, 251, 0, 252, 253, 
  254, 279, 280, 112, 0, 0, 0, 0, 0, 244, 
  245, 201, 199, 161, 169, 165, 181, 157, 202, 0, 
  108, 173, 177, 150, 139, 0, 0, 158, 0, 0, 
  0, 0, 151, 0, 0, 0, 0, 0, 143, 141, 
  144, 142, 140, 153, 152, 154, 0, 166, 0, 162, 
  0, 200, 108, 0, 182, 197, 198, 0, 197, 0, 
  0, 247, 0, 0, 0, 249, 0, 170, 0, 0, 
  174, 0, 0, 178, 237, 0, 229, 238, 232, 0, 
  236, 0, 197, 230, 0, 197, 0, 0, 248, 0, 
  0, 0, 250, 295, 0, 271, 0, 0, 0, 243, 
  0, 242, 219, 222, 0, 58, 85, 61, 86, 63, 
  64, 35, 68, 69, 32, 70, 73, 33, 36, 197, 
  37, 76, 31, 78, 34, 80, 81, 82, 83, 84, 
  88, 220, 218, 96, 97, 102, 0, 95, 0, 259, 
  260, 0, 0, 0, 262, 267, 265, 268, 0, 0, 
  266, 267, 0, 263, 0, 264, 221, 270, 0, 221, 
  269, 0, 272, 273, 0, 221, 274, 275, 0, 0, 
  276, 0, 0, 0, 277, 278, 114, 113, 0, 0, 
  0, 246, 0, 0, 0, 261, 0, 51, 0, 48, 
  50, 41, 0, 47, 42, 49, 46, 40, 0, 45, 
  118, 116, 120, 117, 115, 119, 0, 18, 13, 0, 
  14, 10, 0, 0, 0, 24, 0, 26, 23, 0, 
  25, 0, 0, 22, 32, 50, 16, 29, 0, 11, 
  0, 17, 0, 20, 12, 0, 21, 32, 50, 15, 
  0, 19, 30, 234, 227, 0, 235, 231, 0, 233, 
  223, 0, 224, 228, 298};

const int JavaScriptGrammar::goto_default [] = {
  6, 5, 18, 1, 4, 3, 17, 498, 499, 477, 
  19, 372, 44, 11, 107, 60, 458, 456, 134, 133, 
  32, 457, 132, 135, 214, 56, 49, 222, 58, 38, 
  221, 53, 59, 106, 57, 31, 63, 61, 293, 43, 
  287, 33, 283, 35, 285, 34, 284, 54, 291, 55, 
  292, 39, 286, 282, 323, 408, 288, 289, 36, 42, 
  45, 50, 51, 40, 37, 62, 108, 52, 67, 104, 
  105, 41, 374, 373, 20, 515, 514, 345, 346, 517, 
  348, 516, 347, 414, 418, 421, 417, 416, 436, 437, 
  25, 47, 124, 24, 46, 65, 64, 0};

const int JavaScriptGrammar::action_index [] = {
  -18, -88, 35, -88, 13, 262, 83, 118, -88, -88, 
  -88, -88, -88, 76, 71, 162, -88, -88, 249, 125, 
  46, -88, 42, 41, 58, 17, -88, 52, -88, 54, 
  1419, 126, -88, 156, 31, 10, -88, -88, 228, -88, 
  -88, -88, -88, 201, 199, -88, -88, 55, -88, -88, 
  -88, -88, -88, 408, 72, 79, 203, 188, -88, -88, 
  -88, 365, -88, 300, -88, 1419, -88, -88, 197, 204, 
  80, 603, -88, -88, 1335, -88, 48, 33, 61, 37, 
  1587, 64, 603, 603, 603, 441, 603, -88, -88, 603, 
  603, 603, -88, -88, 44, -88, 603, 603, -88, 36, 
  603, 603, 73, 59, -88, -88, -88, -88, -88, 603, 
  603, 78, 185, 62, -88, 1083, -88, -88, 603, 603, 
  603, -88, -88, -88, 65, -88, 74, 32, 60, 1419, 
  57, -88, 81, 77, 75, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  603, -88, 1167, 56, -88, 603, -88, -88, 166, 603, 
  235, 603, 603, 603, 603, 365, 603, 603, 603, 603, 
  603, 603, 163, 603, 603, 603, 94, 96, 84, 300, 
  300, 300, 300, 190, 365, 365, 365, 603, 10, 603, 
  156, 999, 603, 603, -88, -88, -88, 131, 603, -88, 
  -88, 68, 30, -88, 603, -88, -88, -88, -88, -88, 
  603, -88, -88, -88, -88, -88, -88, -88, -88, -88, 
  -88, -88, -88, -88, 603, 34, 603, 603, 63, 82, 
  603, -88, 999, 603, 603, -88, 148, -88, 67, -88, 
  -88, -88, 124, -88, -88, -88, -88, 120, -88, -88, 
  -88, -88, -88, -88, 70, 66, 603, 111, 122, -88, 
  -88, 757, -88, 21, -24, -53, -88, 222, 5, -51, 
  526, 69, 108, 266, 300, -17, 603, 251, 603, 603, 
  603, 603, 250, 603, 603, 603, 603, 603, 211, 168, 
  187, 167, 171, 276, 291, 270, 603, -76, 603, 1, 
  603, -88, 352, 603, -88, 603, -1, -8, 603, 4, 
  1335, -88, 603, 114, 1335, -88, 603, -20, 603, 603, 
  69, 24, 603, -88, 18, 89, 9, -88, -88, 603, 
  -88, 15, 603, -88, -19, 603, -21, 1335, -88, 603, 
  86, 1335, -88, 2, 1335, -88, 603, 88, 1335, 27, 
  1335, -88, -88, 1335, -22, 173, 3, 170, 92, 603, 
  1335, 49, 19, 85, 53, 25, 441, 47, 38, 915, 
  39, 11, 43, 603, 45, -6, 603, 0, 603, -32, 
  -27, -88, -88, 174, -88, 603, -43, -88, 90, -88, 
  -88, 603, 100, -25, -88, 6, -88, 20, 106, 603, 
  -88, 14, 7, -88, -39, -88, 1335, -88, 99, 1335, 
  -88, 160, -88, -88, 93, 1335, -2, -88, -15, -13, 
  -88, -23, -57, -28, -88, -88, -88, -88, 603, 110, 
  1335, -88, 603, 109, 1335, -88, 103, 50, 834, -88, 
  40, -88, 680, -88, -88, -88, -88, -88, 107, -88, 
  -88, -88, -88, -88, -88, -88, 287, -88, -88, 295, 
  -88, -88, 12, 8, -3, 23, 603, 26, 29, 603, 
  51, 1503, 28, -88, 130, 147, -88, 16, 117, -88, 
  237, -88, 22, -88, -88, 1251, -88, 116, 135, -88, 
  157, -88, -88, -16, -88, 195, -88, -88, 603, -88, 
  -88, -14, -88, -88, -88, 

  -98, -98, -98, -98, 2, -10, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, 50, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  57, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -36, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, 191, -98, -98, -98, -98, 
  -98, 68, -98, -98, 67, -98, -98, -98, -98, -98, 
  -98, -98, 41, 114, 150, 232, 153, -98, -98, 146, 
  149, 47, -98, -98, -98, -98, 25, 89, -98, -29, 
  85, 80, -98, -98, -98, -98, -98, -98, -98, 103, 
  108, -98, -98, -98, -98, -98, -98, -98, 105, 100, 
  96, -98, -98, -98, -98, -98, -68, -98, -98, 176, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -12, -98, -13, -98, -98, 7, -98, -98, -98, 118, 
  -98, 117, 119, 141, 121, -98, 128, 130, 124, 140, 
  83, 51, -98, 48, 62, 55, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, 60, -98, 54, 
  -98, 31, 37, 43, -98, -98, -98, -98, 22, -98, 
  -98, -98, -98, -98, 42, -98, -98, -98, -98, -98, 
  45, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, 61, -98, 58, -20, -98, -98, 
  -7, -98, 52, 4, 53, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 9, -98, -98, -98, 
  -98, 138, -98, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 194, -98, 167, 170, 
  180, 186, -98, 73, 76, 90, 92, 99, -98, -98, 
  -98, -98, -98, -98, -98, -98, 196, -98, 184, -98, 
  161, -98, -98, 160, -98, 112, -98, -98, 120, -98, 
  6, -98, 12, -98, 17, -98, 163, -98, 164, 157, 
  -98, -98, 154, -98, -98, -98, -98, -98, -98, 192, 
  -98, -28, 113, -98, -98, 86, -98, 49, -98, 20, 
  -98, 28, -98, -98, 35, -98, 36, -98, 24, -98, 
  30, -98, -98, 29, -98, -98, -98, -98, -98, 77, 
  67, -98, -98, -98, -98, -98, 115, -98, -98, 19, 
  -98, -98, -98, 26, -98, -24, 84, -98, 69, -98, 
  -98, -98, -98, -98, -98, 126, -98, -98, -98, -98, 
  -98, 39, -98, -98, -98, -98, -98, -42, -98, 18, 
  -98, -82, -98, -98, -98, -98, -67, -98, -98, -71, 
  -98, -98, -98, -98, -98, -98, -86, -98, -98, -35, 
  -98, -98, -98, -33, -98, -98, -98, -98, 14, -98, 
  8, -98, -2, -98, 1, -98, -98, -98, -9, -98, 
  -1, -98, -6, -98, -98, -98, -98, -98, -98, -98, 
  -98, -98, -98, -98, -98, -98, 82, -98, -98, 159, 
  -98, -98, -98, -98, -98, -98, 40, -98, -98, 46, 
  -98, 44, -98, -98, 38, 23, -98, 27, -98, -98, 
  -98, -98, 64, -98, -98, 33, -98, 34, 59, -98, 
  -98, -98, -98, -98, -98, -98, -98, -98, -14, -98, 
  -98, -56, -98, -98, -98};

const int JavaScriptGrammar::action_info [] = {
  318, 518, 296, 443, 448, 435, 442, 218, 415, 452, 
  325, 419, 344, 320, 426, 513, 425, 407, 439, 419, 
  435, 441, 296, 318, 316, 419, 485, 435, 316, -226, 
  486, 342, -225, 402, 218, 349, 489, 488, 23, 357, 
  359, 484, 355, 370, 344, -56, -55, 411, 459, 476, 
  -77, 497, -79, 328, -74, 281, -66, 512, 465, 218, 
  -54, 366, 363, 175, 330, 244, 27, 2, 364, 435, 
  26, 336, 459, 366, 244, 513, 224, 29, 23, 207, 
  411, 28, 207, 524, 281, 172, 209, 30, 170, 250, 
  226, 125, 128, 129, 218, 452, 218, 351, 2, 438, 
  7, 126, 276, 26, 476, 22, 429, 218, 218, 448, 
  229, 460, 131, 439, 125, 218, 422, 218, 218, 218, 
  116, -294, 218, 364, 109, 502, 0, 259, 0, 246, 
  177, 117, 491, 247, 109, 110, 109, 364, 0, 218, 
  492, 272, 271, 459, 275, 110, 361, 110, 368, 476, 
  352, 410, 409, 272, 271, 459, 218, 179, 338, 461, 
  413, 423, 339, 476, 497, 502, 109, 469, 218, 454, 
  450, 278, 482, 503, 334, 0, 497, 110, 118, 9, 
  8, 270, 269, 280, 279, 265, 264, 219, 193, 252, 
  194, 483, 193, 193, 194, 194, 193, 118, 194, 267, 
  118, 195, 262, 521, 257, 195, 195, 218, 253, 195, 
  405, 0, 193, 511, 194, 193, 0, 194, 252, 181, 
  182, 433, 432, 119, 0, 195, 262, 0, 195, 120, 
  0, 268, 266, 267, 263, 261, 193, 253, 194, 254, 
  298, 299, 119, 211, 505, 119, 183, 184, 120, 195, 
  0, 120, 492, 181, 182, 0, 522, 520, 263, 261, 
  228, 227, 212, 0, 213, 268, 266, 300, 301, 298, 
  299, 13, 0, 303, 304, 0, 0, 0, 14, 0, 
  183, 184, 305, 0, 13, 306, 0, 307, 0, 303, 
  304, 14, 0, 303, 304, 0, 300, 301, 305, 303, 
  304, 306, 305, 307, 0, 306, 0, 307, 305, 13, 
  0, 306, 0, 307, 303, 304, 14, 13, 0, 0, 
  0, 16, 0, 305, 14, 193, 306, 194, 307, 0, 
  12, 0, 0, 15, 16, 0, 0, 0, 195, 0, 
  0, 0, 478, 12, 0, 0, 15, 0, 0, 0, 
  480, 0, 0, 0, 0, 231, 0, 0, 0, 16, 
  0, 0, 0, 0, 0, 232, 0, 16, 12, 233, 
  0, 15, 0, 0, 0, 0, 12, 0, 234, 15, 
  235, 0, 0, 0, 0, 0, 0, 0, 186, 187, 
  0, 236, 0, 237, 116, 0, 188, 189, 0, 0, 
  190, 238, 191, 0, 239, 117, 0, 0, 0, 0, 
  240, 231, 0, 0, 0, 0, 241, 0, 0, 0, 
  0, 232, 0, 0, 0, 233, 0, 0, 0, 242, 
  0, 0, 0, 0, 234, 0, 235, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 236, 0, 237, 
  116, 0, 0, 72, 73, 0, 0, 238, 0, 0, 
  239, 117, 0, 113, 0, 0, 240, 0, 0, 0, 
  114, 0, 241, 0, 115, 81, 0, 82, 0, 0, 
  0, 0, 0, 0, 85, 242, 0, 0, 88, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 93, 0, 95, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 
  98, 75, 0, 0, 0, 0, 0, 0, 0, 231, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 
  0, 0, 0, 233, 0, 0, 0, 0, 0, 0, 
  0, 0, 234, 0, 235, 0, 0, 332, 0, 0, 
  0, 0, 0, 0, 0, 236, 0, 237, 116, 0, 
  0, 0, 0, 0, 0, 238, 0, 0, 239, 117, 
  0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 
  241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 71, 72, 73, 0, 0, 0, 
  0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 
  0, 0, 114, 0, 0, 0, 115, 81, 0, 82, 
  0, 0, 0, 83, 0, 84, 85, 86, 0, 0, 
  88, 0, 0, 0, 89, 0, 90, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 
  95, 0, 97, 0, 100, 0, 101, 0, 0, 0, 
  0, 87, 98, 75, 0, 0, 0, 0, 0, 0, 
  0, 71, 72, 73, 0, 0, 0, 0, 0, 0, 
  0, 0, 113, 0, 0, 0, 0, 0, 0, 114, 
  0, 0, 0, 115, 81, 0, 82, 0, 0, 0, 
  83, 0, 84, 85, 86, 0, 0, 88, 0, 0, 
  0, 89, 0, 90, 0, 0, 464, 0, 0, 0, 
  0, 0, 0, 0, 0, 93, 0, 95, 0, 97, 
  0, 100, 0, 101, 0, 0, 0, 0, 87, 98, 
  75, 0, 0, 0, 0, 0, 0, 0, 71, 72, 
  73, 0, 0, 0, 0, 0, 0, 0, 0, 113, 
  0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 
  115, 81, 0, 82, 0, 0, 0, 83, 0, 84, 
  85, 86, 0, 0, 88, 0, 0, 0, 89, 0, 
  90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 93, 0, 95, 0, 97, 0, 100, 295, 
  101, 0, 0, 0, 0, 87, 98, 75, 0, 0, 
  0, 0, 0, 0, 0, 71, 72, 73, 0, 0, 
  0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 
  0, 0, 0, 114, 0, 0, 0, 115, 81, 0, 
  82, 0, 0, 0, 83, 0, 84, 85, 86, 0, 
  0, 88, 0, 0, 0, 89, 0, 90, 0, 0, 
  467, 0, 0, 0, 0, 0, 0, 0, 0, 93, 
  0, 95, 0, 97, 0, 100, 0, 101, 0, 0, 
  0, 0, 87, 98, 75, 0, 0, 0, 0, 0, 
  0, 0, -75, 0, 0, 0, 71, 72, 73, 0, 
  0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 
  0, 0, 0, 0, 114, 0, 0, 0, 115, 81, 
  0, 82, 0, 0, 0, 83, 0, 84, 85, 86, 
  0, 0, 88, 0, 0, 0, 89, 0, 90, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  93, 0, 95, 0, 97, 0, 100, 0, 101, 0, 
  0, 0, 0, 87, 98, 75, 0, 0, 0, 0, 
  0, 0, 0, 136, 137, 138, 0, 0, 140, 142, 
  143, 0, 0, 144, 0, 145, 0, 0, 0, 147, 
  148, 149, 0, 0, 0, 0, 0, 0, 216, 151, 
  152, 153, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 
  0, 0, 0, 0, 0, 160, 161, 162, 0, 164, 
  165, 166, 167, 168, 169, 0, 0, 155, 163, 146, 
  139, 141, 157, 0, 0, 0, 0, 136, 137, 138, 
  0, 0, 140, 142, 143, 0, 0, 144, 0, 145, 
  0, 0, 0, 147, 148, 149, 0, 0, 0, 0, 
  0, 0, 150, 151, 152, 153, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 
  156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 158, 0, 0, 0, 0, 0, 159, 160, 
  161, 162, 0, 164, 165, 166, 167, 168, 169, 0, 
  0, 155, 163, 146, 139, 141, 157, 0, 0, 0, 
  0, 136, 137, 138, 0, 0, 140, 142, 143, 0, 
  0, 144, 0, 145, 0, 0, 0, 147, 148, 149, 
  0, 0, 0, 0, 0, 0, 150, 151, 152, 153, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  154, 0, 0, 0, 156, 0, 0, 0, 0, 0, 
  0, 0, 174, 0, 0, 0, 158, 0, 0, 0, 
  0, 0, 159, 160, 161, 162, 0, 164, 165, 166, 
  167, 168, 169, 0, 0, 155, 163, 146, 139, 141, 
  157, 0, 0, 0, 0, 68, 0, 0, 0, 0, 
  69, 0, 71, 72, 73, 74, 0, 0, 0, 0, 
  0, 0, 76, 113, 0, 0, 0, 0, 0, 0, 
  507, 79, 0, 0, 80, 508, 0, 82, 0, 0, 
  0, 83, 0, 84, 85, 86, 0, 0, 88, 0, 
  0, 0, 89, 0, 90, 0, 0, 0, 0, 0, 
  91, 0, 92, 0, 0, 0, 93, 94, 95, 96, 
  97, 99, 100, 16, 101, 102, 103, 0, 0, 87, 
  98, 75, 12, 70, 0, 0, 0, 0, 0, 68, 
  0, 0, 0, 0, 69, 0, 71, 72, 73, 74, 
  0, 0, 0, 0, 0, 0, 76, 113, 0, 0, 
  0, 0, 0, 0, 78, 79, 0, 0, 80, 81, 
  0, 82, 0, 0, 0, 83, 0, 84, 85, 86, 
  0, 0, 88, 0, 0, 0, 89, 0, 90, 0, 
  0, 0, 0, 0, 91, 0, 92, 0, 0, 0, 
  93, 94, 95, 96, 97, 99, 100, 16, 101, 102, 
  103, 0, 0, 87, 98, 75, 12, 70, 0, 0, 
  0, 0, 0, 68, 0, 0, 0, 0, 69, 0, 
  71, 72, 73, 74, 0, 0, 0, 0, 0, 0, 
  76, 77, 0, 0, 0, 0, 0, 0, 78, 79, 
  0, 0, 80, 81, 0, 82, 0, 0, 0, 83, 
  0, 84, 85, 86, 0, 0, 88, 0, 0, 0, 
  89, 0, 90, 0, 0, 0, 0, 0, 91, 0, 
  92, 0, 0, 0, 93, 94, 95, 96, 97, 99, 
  100, 16, 101, 102, 103, 0, 0, 87, 98, 75, 
  12, 70, 0, 0, 0, 0, 0, 68, 0, 0, 
  0, 0, 69, 0, 71, 72, 73, 74, 0, 0, 
  0, 0, 0, 0, 76, 113, 0, 0, 0, 0, 
  0, 0, 494, 79, 0, 0, 80, 495, 0, 82, 
  0, 0, 0, 83, 0, 84, 85, 86, 0, 0, 
  88, 0, 0, 0, 89, 0, 90, 0, 0, 0, 
  0, 0, 91, 0, 92, 0, 0, 0, 93, 94, 
  95, 96, 97, 99, 100, 16, 101, 102, 103, 0, 
  0, 87, 98, 75, 12, 70, 0, 0, 0, 0, 
  0, 375, 137, 138, 0, 0, 377, 142, 379, 72, 
  73, 380, 0, 145, 0, 0, 0, 147, 382, 383, 
  0, 0, 0, 0, 0, 0, 384, 385, 152, 153, 
  80, 81, 0, 82, 0, 0, 0, 83, 0, 84, 
  386, 86, 0, 0, 388, 0, 0, 0, 89, 0, 
  90, 0, -221, 0, 0, 0, 389, 0, 92, 0, 
  0, 0, 390, 391, 392, 393, 97, 395, 396, 397, 
  398, 399, 400, 0, 0, 387, 394, 381, 376, 378, 
  157, 0, 0, 0, 0, 

  249, 430, 424, 440, 21, 427, 519, 10, 171, 173, 
  453, 466, 455, 251, 463, 462, 256, 331, 230, 451, 
  523, 277, 127, 445, 333, 444, 449, 176, 335, 434, 
  428, 326, 360, 500, 434, 369, 501, 431, 431, 362, 
  401, 371, 220, 509, 506, 420, 365, 496, 367, 217, 
  353, 412, 487, 468, 215, 493, 481, 0, 490, 326, 
  358, 0, 225, 223, 21, 243, 510, 0, 66, 500, 
  48, 0, 504, 223, 500, 215, 255, 0, 274, 111, 
  258, 0, 111, 196, 479, 111, 111, 203, 0, 111, 
  198, 111, 111, 111, 0, 210, 21, 197, 326, 111, 
  111, 273, 447, 208, 111, 248, 245, 111, 111, 308, 
  273, 111, 309, 447, 111, 111, 111, 446, 446, 202, 
  111, 111, 475, 111, 326, 326, 310, 111, 311, 123, 
  111, 111, 326, 122, 111, 312, 111, 112, 121, 111, 
  403, 356, 178, 404, 0, 111, 223, 470, 111, 111, 
  111, 0, 111, 406, 185, 111, 204, 180, 206, 111, 
  200, 111, 0, 0, 192, 481, 199, 327, 354, 290, 
  0, 111, 111, 21, 294, 329, 201, 111, 205, 473, 
  111, 111, 474, 471, 111, 322, 472, 66, 322, 48, 
  294, 322, 322, 294, 111, 111, 294, 294, 111, 294, 
  294, 111, 66, 294, 48, 302, 294, 343, 313, 337, 
  341, 111, 340, 324, 321, 111, 294, 111, 314, 0, 
  294, 0, 294, 322, 315, 111, 319, 111, 294, 0, 
  294, 0, 294, 0, 297, 0, 0, 0, 0, 0, 
  317, 0, 0, 0, 0, 350, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 
  404, 0, 0, 0, 0, 0, 0, 130, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

const int JavaScriptGrammar::action_check [] = {
  76, 17, 1, 60, 36, 33, 29, 8, 33, 36, 
  61, 5, 29, 8, 7, 29, 55, 60, 20, 5, 
  33, 36, 1, 76, 48, 5, 29, 33, 48, 29, 
  7, 7, 29, 55, 8, 17, 7, 29, 36, 60, 
  31, 29, 61, 16, 29, 7, 7, 36, 8, 33, 
  7, 29, 7, 61, 7, 36, 7, 29, 8, 8, 
  7, 36, 29, 7, 60, 2, 8, 85, 7, 33, 
  29, 2, 8, 36, 2, 29, 8, 60, 36, 48, 
  36, 29, 48, 0, 36, 8, 76, 33, 7, 7, 
  60, 29, 60, 33, 8, 36, 8, 8, 85, 6, 
  65, 36, 36, 29, 33, 29, 7, 8, 8, 36, 
  55, 8, 55, 20, 29, 8, 10, 8, 8, 8, 
  42, 36, 8, 7, 40, 8, -1, 60, -1, 50, 
  55, 53, 7, 54, 40, 51, 40, 7, -1, 8, 
  15, 61, 62, 8, 74, 51, 60, 51, 60, 33, 
  61, 61, 62, 61, 62, 8, 8, 1, 50, 56, 
  60, 55, 54, 33, 29, 8, 40, 60, 8, 60, 
  60, 60, 10, 56, 60, -1, 29, 51, 12, 61, 
  62, 61, 62, 61, 62, 61, 62, 56, 25, 15, 
  27, 29, 25, 25, 27, 27, 25, 12, 27, 29, 
  12, 38, 29, 8, 56, 38, 38, 8, 34, 38, 
  36, -1, 25, 56, 27, 25, -1, 27, 15, 18, 
  19, 61, 62, 57, -1, 38, 29, -1, 38, 63, 
  -1, 61, 62, 29, 61, 62, 25, 34, 27, 36, 
  18, 19, 57, 15, 7, 57, 45, 46, 63, 38, 
  -1, 63, 15, 18, 19, -1, 61, 62, 61, 62, 
  61, 62, 34, -1, 36, 61, 62, 45, 46, 18, 
  19, 22, -1, 23, 24, -1, -1, -1, 29, -1, 
  45, 46, 32, -1, 22, 35, -1, 37, -1, 23, 
  24, 29, -1, 23, 24, -1, 45, 46, 32, 23, 
  24, 35, 32, 37, -1, 35, -1, 37, 32, 22, 
  -1, 35, -1, 37, 23, 24, 29, 22, -1, -1, 
  -1, 72, -1, 32, 29, 25, 35, 27, 37, -1, 
  81, -1, -1, 84, 72, -1, -1, -1, 38, -1, 
  -1, -1, 55, 81, -1, -1, 84, -1, -1, -1, 
  55, -1, -1, -1, -1, 3, -1, -1, -1, 72, 
  -1, -1, -1, -1, -1, 13, -1, 72, 81, 17, 
  -1, 84, -1, -1, -1, -1, 81, -1, 26, 84, 
  28, -1, -1, -1, -1, -1, -1, -1, 23, 24, 
  -1, 39, -1, 41, 42, -1, 31, 32, -1, -1, 
  35, 49, 37, -1, 52, 53, -1, -1, -1, -1, 
  58, 3, -1, -1, -1, -1, 64, -1, -1, -1, 
  -1, 13, -1, -1, -1, 17, -1, -1, -1, 77, 
  -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 39, -1, 41, 
  42, -1, -1, 12, 13, -1, -1, 49, -1, -1, 
  52, 53, -1, 22, -1, -1, 58, -1, -1, -1, 
  29, -1, 64, -1, 33, 34, -1, 36, -1, -1, 
  -1, -1, -1, -1, 43, 77, -1, -1, 47, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, 
  79, 80, -1, -1, -1, -1, -1, -1, -1, 3, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, 
  -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, 
  -1, -1, 26, -1, 28, -1, -1, 31, -1, -1, 
  -1, -1, -1, -1, -1, 39, -1, 41, 42, -1, 
  -1, -1, -1, -1, -1, 49, -1, -1, 52, 53, 
  -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, 
  64, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, 
  -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, 
  -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, 
  -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 
  47, -1, -1, -1, 51, -1, 53, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 
  67, -1, 69, -1, 71, -1, 73, -1, -1, -1, 
  -1, 78, 79, 80, -1, -1, -1, -1, -1, -1, 
  -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, 
  -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, 
  -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 
  40, -1, 42, 43, 44, -1, -1, 47, -1, -1, 
  -1, 51, -1, 53, -1, -1, 56, -1, -1, -1, 
  -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, 
  -1, 71, -1, 73, -1, -1, -1, -1, 78, 79, 
  80, -1, -1, -1, -1, -1, -1, -1, 11, 12, 
  13, -1, -1, -1, -1, -1, -1, -1, -1, 22, 
  -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 
  33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 
  43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 
  53, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, 65, -1, 67, -1, 69, -1, 71, 72, 
  73, -1, -1, -1, -1, 78, 79, 80, -1, -1, 
  -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, 
  -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, 
  -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 
  36, -1, -1, -1, 40, -1, 42, 43, 44, -1, 
  -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, 
  56, -1, -1, -1, -1, -1, -1, -1, -1, 65, 
  -1, 67, -1, 69, -1, 71, -1, 73, -1, -1, 
  -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, 
  -1, -1, 7, -1, -1, -1, 11, 12, 13, -1, 
  -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, 
  -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, 
  -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, 
  -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  65, -1, 67, -1, 69, -1, 71, -1, 73, -1, 
  -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, 
  -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, 
  11, -1, -1, 14, -1, 16, -1, -1, -1, 20, 
  21, 22, -1, -1, -1, -1, -1, -1, 29, 30, 
  31, 32, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, 
  -1, -1, -1, -1, -1, 66, 67, 68, -1, 70, 
  71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 
  81, 82, 83, -1, -1, -1, -1, 4, 5, 6, 
  -1, -1, 9, 10, 11, -1, -1, 14, -1, 16, 
  -1, -1, -1, 20, 21, 22, -1, -1, -1, -1, 
  -1, -1, 29, 30, 31, 32, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, 
  47, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, 
  67, 68, -1, 70, 71, 72, 73, 74, 75, -1, 
  -1, 78, 79, 80, 81, 82, 83, -1, -1, -1, 
  -1, 4, 5, 6, -1, -1, 9, 10, 11, -1, 
  -1, 14, -1, 16, -1, -1, -1, 20, 21, 22, 
  -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  43, -1, -1, -1, 47, -1, -1, -1, -1, -1, 
  -1, -1, 55, -1, -1, -1, 59, -1, -1, -1, 
  -1, -1, 65, 66, 67, 68, -1, 70, 71, 72, 
  73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 
  83, -1, -1, -1, -1, 4, -1, -1, -1, -1, 
  9, -1, 11, 12, 13, 14, -1, -1, -1, -1, 
  -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, 
  29, 30, -1, -1, 33, 34, -1, 36, -1, -1, 
  -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, 
  -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, 
  59, -1, 61, -1, -1, -1, 65, 66, 67, 68, 
  69, 70, 71, 72, 73, 74, 75, -1, -1, 78, 
  79, 80, 81, 82, -1, -1, -1, -1, -1, 4, 
  -1, -1, -1, -1, 9, -1, 11, 12, 13, 14, 
  -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 
  -1, -1, -1, -1, 29, 30, -1, -1, 33, 34, 
  -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, 
  -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, 
  -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, 
  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 
  75, -1, -1, 78, 79, 80, 81, 82, -1, -1, 
  -1, -1, -1, 4, -1, -1, -1, -1, 9, -1, 
  11, 12, 13, 14, -1, -1, -1, -1, -1, -1, 
  21, 22, -1, -1, -1, -1, -1, -1, 29, 30, 
  -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, 
  -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 
  51, -1, 53, -1, -1, -1, -1, -1, 59, -1, 
  61, -1, -1, -1, 65, 66, 67, 68, 69, 70, 
  71, 72, 73, 74, 75, -1, -1, 78, 79, 80, 
  81, 82, -1, -1, -1, -1, -1, 4, -1, -1, 
  -1, -1, 9, -1, 11, 12, 13, 14, -1, -1, 
  -1, -1, -1, -1, 21, 22, -1, -1, -1, -1, 
  -1, -1, 29, 30, -1, -1, 33, 34, -1, 36, 
  -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 
  47, -1, -1, -1, 51, -1, 53, -1, -1, -1, 
  -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, 
  67, 68, 69, 70, 71, 72, 73, 74, 75, -1, 
  -1, 78, 79, 80, 81, 82, -1, -1, -1, -1, 
  -1, 4, 5, 6, -1, -1, 9, 10, 11, 12, 
  13, 14, -1, 16, -1, -1, -1, 20, 21, 22, 
  -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 
  33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 
  43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 
  53, -1, 55, -1, -1, -1, 59, -1, 61, -1, 
  -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 
  73, 74, 75, -1, -1, 78, 79, 80, 81, 82, 
  83, -1, -1, -1, -1, 

  20, 72, 84, 89, 14, 72, 20, 5, 20, 22, 
  12, 20, 11, 20, 20, 16, 12, 11, 54, 11, 
  76, 12, 90, 58, 12, 58, 12, 20, 11, 58, 
  12, 12, 12, 10, 58, 11, 9, 12, 12, 11, 
  11, 11, 20, 9, 11, 87, 11, 9, 12, 12, 
  78, 12, 12, 12, 23, 11, 6, -1, 12, 12, 
  11, -1, 20, 20, 14, 20, 7, -1, 11, 10, 
  13, -1, 8, 20, 10, 23, 24, -1, 11, 31, 
  27, -1, 31, 35, 2, 31, 31, 36, -1, 31, 
  35, 31, 31, 31, -1, 41, 14, 35, 12, 31, 
  31, 33, 33, 43, 31, 47, 45, 31, 31, 36, 
  33, 31, 36, 33, 31, 31, 31, 33, 33, 36, 
  31, 31, 33, 31, 12, 12, 36, 31, 36, 33, 
  31, 31, 12, 33, 31, 36, 31, 34, 33, 31, 
  25, 55, 34, 28, -1, 31, 20, 33, 31, 31, 
  31, -1, 31, 27, 37, 31, 37, 39, 37, 31, 
  36, 31, -1, -1, 36, 6, 36, 55, 55, 31, 
  -1, 31, 31, 14, 36, 55, 36, 31, 37, 33, 
  31, 31, 33, 33, 31, 31, 33, 11, 31, 13, 
  36, 31, 31, 36, 31, 31, 36, 36, 31, 36, 
  36, 31, 11, 36, 13, 38, 36, 53, 38, 46, 
  53, 31, 48, 53, 53, 31, 36, 31, 38, -1, 
  36, -1, 36, 31, 38, 31, 42, 31, 36, -1, 
  36, -1, 36, -1, 40, -1, -1, -1, -1, -1, 
  44, -1, -1, -1, -1, 53, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, 
  28, -1, -1, -1, -1, -1, -1, 91, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};