compiler/libec: (#598) Warn for labeled statements directly under a case statement
[sdk] / compiler / libec / src / grammar.ec
1 /* A Bison parser, made by GNU Bison 2.4.2.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4    
5       Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
6    Foundation, Inc.
7    
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30    
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43
44 /* Identify Bison output.  */
45 #define YYBISON 1
46
47 /* Bison version.  */
48 #define YYBISON_VERSION "2.4.2"
49
50 /* Skeleton name.  */
51 #define YYSKELETON_NAME "yacc.c"
52
53 /* Pure parsers.  */
54 #define YYPURE 0
55
56 /* Push parsers.  */
57 #define YYPUSH 0
58
59 /* Pull parsers.  */
60 #define YYPULL 1
61
62 /* Using locations.  */
63 #define YYLSP_NEEDED 1
64
65
66
67 /* Copy the first part of user declarations.  */
68
69 /* Line 189 of yacc.c  */
70 #line 1 "grammar.y"
71
72 import "ecdefs"
73
74 #define YYLTYPE Location
75 #include "grammar.h"
76
77 #ifndef YYLLOC_DEFAULT
78 # define YYLLOC_DEFAULT(Current, Rhs, N)         \
79   (Current).start = (Rhs)[1].start;      \
80   (Current).end = (Rhs)[N].end;
81 #endif
82
83 #define PRECOMPILER
84 extern File fileInput;
85 extern char * yytext;
86 OldList * ast;
87 int yylex();
88 int yyerror();
89 bool guess;
90 bool deleteWatchable = false;
91
92 #define MAX_STRUCT_LEVELS     256
93 AccessMode memberAccessStack[MAX_STRUCT_LEVELS];
94 int defaultMemberAccess = -1;
95
96 #define POP_DEFAULT_ACCESS    if(defaultMemberAccess > -1) defaultMemberAccess--;
97
98 #define C89_DECL_WARNING            $"eC expects all declarations to precede statements in the block (C89 style)\n"
99 #define CASE_LABELED_STMT_WARNING   $"labeled statement directly within a case statement\n"
100
101 #define uint _uint
102 default:
103
104
105
106 /* Line 189 of yacc.c  */
107 #line 108 "grammar.ec"
108
109 /* Enabling traces.  */
110 #ifndef YYDEBUG
111 # define YYDEBUG 1
112 #endif
113
114 /* Enabling verbose error messages.  */
115 #ifdef YYERROR_VERBOSE
116 # undef YYERROR_VERBOSE
117 # define YYERROR_VERBOSE 1
118 #else
119 # define YYERROR_VERBOSE 0
120 #endif
121
122 /* Enabling the token table.  */
123 #ifndef YYTOKEN_TABLE
124 # define YYTOKEN_TABLE 0
125 #endif
126
127
128 /* Tokens.  */
129 #ifndef YYTOKENTYPE
130 # define YYTOKENTYPE
131    /* Put the tokens into the symbol table, so that GDB and other debuggers
132       know about them.  */
133    enum yytokentype {
134      IDENTIFIER = 258,
135      CONSTANT = 259,
136      STRING_LITERAL = 260,
137      SIZEOF = 261,
138      PTR_OP = 262,
139      INC_OP = 263,
140      DEC_OP = 264,
141      LEFT_OP = 265,
142      RIGHT_OP = 266,
143      LE_OP = 267,
144      GE_OP = 268,
145      EQ_OP = 269,
146      NE_OP = 270,
147      AND_OP = 271,
148      OR_OP = 272,
149      MUL_ASSIGN = 273,
150      DIV_ASSIGN = 274,
151      MOD_ASSIGN = 275,
152      ADD_ASSIGN = 276,
153      SUB_ASSIGN = 277,
154      LEFT_ASSIGN = 278,
155      RIGHT_ASSIGN = 279,
156      AND_ASSIGN = 280,
157      XOR_ASSIGN = 281,
158      OR_ASSIGN = 282,
159      TYPE_NAME = 283,
160      TYPEDEF = 284,
161      EXTERN = 285,
162      STATIC = 286,
163      AUTO = 287,
164      REGISTER = 288,
165      CHAR = 289,
166      SHORT = 290,
167      INT = 291,
168      UINT = 292,
169      INT64 = 293,
170      LONG = 294,
171      SIGNED = 295,
172      UNSIGNED = 296,
173      FLOAT = 297,
174      DOUBLE = 298,
175      CONST = 299,
176      VOLATILE = 300,
177      VOID = 301,
178      VALIST = 302,
179      STRUCT = 303,
180      UNION = 304,
181      ENUM = 305,
182      ELLIPSIS = 306,
183      CASE = 307,
184      DEFAULT = 308,
185      IF = 309,
186      SWITCH = 310,
187      WHILE = 311,
188      DO = 312,
189      FOR = 313,
190      GOTO = 314,
191      CONTINUE = 315,
192      BREAK = 316,
193      RETURN = 317,
194      IFX = 318,
195      ELSE = 319,
196      CLASS = 320,
197      THISCLASS = 321,
198      CLASS_NAME = 322,
199      PROPERTY = 323,
200      SETPROP = 324,
201      GETPROP = 325,
202      NEWOP = 326,
203      RENEW = 327,
204      DELETE = 328,
205      EXT_DECL = 329,
206      EXT_STORAGE = 330,
207      IMPORT = 331,
208      DEFINE = 332,
209      VIRTUAL = 333,
210      ATTRIB = 334,
211      PUBLIC = 335,
212      PRIVATE = 336,
213      TYPED_OBJECT = 337,
214      ANY_OBJECT = 338,
215      _INCREF = 339,
216      EXTENSION = 340,
217      ASM = 341,
218      TYPEOF = 342,
219      WATCH = 343,
220      STOPWATCHING = 344,
221      FIREWATCHERS = 345,
222      WATCHABLE = 346,
223      CLASS_DESIGNER = 347,
224      CLASS_NO_EXPANSION = 348,
225      CLASS_FIXED = 349,
226      ISPROPSET = 350,
227      CLASS_DEFAULT_PROPERTY = 351,
228      PROPERTY_CATEGORY = 352,
229      CLASS_DATA = 353,
230      CLASS_PROPERTY = 354,
231      SUBCLASS = 355,
232      NAMESPACE = 356,
233      NEW0OP = 357,
234      RENEW0 = 358,
235      VAARG = 359,
236      DBTABLE = 360,
237      DBFIELD = 361,
238      DBINDEX = 362,
239      DATABASE_OPEN = 363,
240      ALIGNOF = 364,
241      ATTRIB_DEP = 365,
242      __ATTRIB = 366,
243      BOOL = 367,
244      _BOOL = 368,
245      _COMPLEX = 369,
246      _IMAGINARY = 370,
247      RESTRICT = 371,
248      THREAD = 372
249    };
250 #endif
251
252
253
254 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
255 typedef union YYSTYPE
256 {
257
258 /* Line 214 of yacc.c  */
259 #line 38 "grammar.y"
260
261    SpecifierType specifierType;
262    int i;
263    AccessMode declMode;
264    Identifier id;
265    Expression exp;
266    Specifier specifier;
267    OldList * list;
268    Enumerator enumerator;
269    Declarator declarator;
270    Pointer pointer;
271    Initializer initializer;
272    InitDeclarator initDeclarator;
273    TypeName typeName;
274    Declaration declaration;
275    Statement stmt;
276    FunctionDefinition function;
277    External external;
278    Context context;
279    AsmField asmField;
280    Attrib attrib;
281    ExtDecl extDecl;
282    Attribute attribute;
283
284    Instantiation instance;
285    MembersInit membersInit;
286    MemberInit memberInit;
287    ClassFunction classFunction;
288    ClassDefinition _class;
289    ClassDef classDef;
290    PropertyDef prop;
291    char * string;
292    Symbol symbol;
293    PropertyWatch propertyWatch;
294    TemplateParameter templateParameter;
295    TemplateArgument templateArgument;
296    TemplateDatatype templateDatatype;
297
298    DBTableEntry dbtableEntry;
299    DBIndexItem dbindexItem;
300    DBTableDef dbtableDef;
301
302
303
304 /* Line 214 of yacc.c  */
305 #line 306 "grammar.ec"
306 } YYSTYPE;
307 # define YYSTYPE_IS_TRIVIAL 1
308 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
309 # define YYSTYPE_IS_DECLARED 1
310 #endif
311
312 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
313 typedef struct YYLTYPE
314 {
315   int first_line;
316   int first_column;
317   int last_line;
318   int last_column;
319 } YYLTYPE;
320 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
321 # define YYLTYPE_IS_DECLARED 1
322 # define YYLTYPE_IS_TRIVIAL 1
323 #endif
324
325
326 /* Copy the second part of user declarations.  */
327
328
329 /* Line 264 of yacc.c  */
330 #line 331 "grammar.ec"
331
332 #ifdef short
333 # undef short
334 #endif
335
336 #ifdef YYTYPE_UINT8
337 typedef YYTYPE_UINT8 yytype_uint8;
338 #else
339 typedef unsigned char yytype_uint8;
340 #endif
341
342 #ifdef YYTYPE_INT8
343 typedef YYTYPE_INT8 yytype_int8;
344 #elif (defined __STDC__ || defined __C99__FUNC__ \
345      || defined __cplusplus || defined _MSC_VER)
346 typedef signed char yytype_int8;
347 #else
348 typedef short int yytype_int8;
349 #endif
350
351 #ifdef YYTYPE_UINT16
352 typedef YYTYPE_UINT16 yytype_uint16;
353 #else
354 typedef unsigned short int yytype_uint16;
355 #endif
356
357 #ifdef YYTYPE_INT16
358 typedef YYTYPE_INT16 yytype_int16;
359 #else
360 typedef short int yytype_int16;
361 #endif
362
363 #ifndef YYSIZE_T
364 # ifdef __SIZE_TYPE__
365 #  define YYSIZE_T __SIZE_TYPE__
366 # elif defined size_t
367 #  define YYSIZE_T size_t
368 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
369      || defined __cplusplus || defined _MSC_VER)
370 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
371 #  define YYSIZE_T size_t
372 # else
373 #  define YYSIZE_T unsigned int
374 # endif
375 #endif
376
377 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
378
379 #ifndef YY_
380 # if defined YYENABLE_NLS && YYENABLE_NLS
381 #  if ENABLE_NLS
382 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
383 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
384 #  endif
385 # endif
386 # ifndef YY_
387 #  define YY_(msgid) msgid
388 # endif
389 #endif
390
391 /* Suppress unused-variable warnings by "using" E.  */
392 #if ! defined lint || defined __GNUC__
393 # define YYUSE(e) ((void) (e))
394 #else
395 # define YYUSE(e) /* empty */
396 #endif
397
398 /* Identity function, used to suppress warnings about constant conditions.  */
399 #ifndef lint
400 # define YYID(n) (n)
401 #else
402 #if (defined __STDC__ || defined __C99__FUNC__ \
403      || defined __cplusplus || defined _MSC_VER)
404 static int
405 YYID (int yyi)
406 #else
407 static int
408 YYID (yyi)
409     int yyi;
410 #endif
411 {
412   return yyi;
413 }
414 #endif
415
416 #if ! defined yyoverflow || YYERROR_VERBOSE
417
418 /* The parser invokes alloca or malloc; define the necessary symbols.  */
419
420 # ifdef YYSTACK_USE_ALLOCA
421 #  if YYSTACK_USE_ALLOCA
422 #   ifdef __GNUC__
423 #    define YYSTACK_ALLOC __builtin_alloca
424 #   elif defined __BUILTIN_VA_ARG_INCR
425 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
426 #   elif defined _AIX
427 #    define YYSTACK_ALLOC __alloca
428 #   elif defined _MSC_VER
429 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
430 #    define alloca _alloca
431 #   else
432 #    define YYSTACK_ALLOC alloca
433 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
434      || defined __cplusplus || defined _MSC_VER)
435 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
436 #     ifndef _STDLIB_H
437 #      define _STDLIB_H 1
438 #     endif
439 #    endif
440 #   endif
441 #  endif
442 # endif
443
444 # ifdef YYSTACK_ALLOC
445    /* Pacify GCC's `empty if-body' warning.  */
446 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
447 #  ifndef YYSTACK_ALLOC_MAXIMUM
448     /* The OS might guarantee only one guard page at the bottom of the stack,
449        and a page size can be as small as 4096 bytes.  So we cannot safely
450        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
451        to allow for a few compiler-allocated temporary stack slots.  */
452 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
453 #  endif
454 # else
455 #  define YYSTACK_ALLOC YYMALLOC
456 #  define YYSTACK_FREE YYFREE
457 #  ifndef YYSTACK_ALLOC_MAXIMUM
458 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
459 #  endif
460 #  if (defined __cplusplus && ! defined _STDLIB_H \
461        && ! ((defined YYMALLOC || defined malloc) \
462              && (defined YYFREE || defined free)))
463 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
464 #   ifndef _STDLIB_H
465 #    define _STDLIB_H 1
466 #   endif
467 #  endif
468 #  ifndef YYMALLOC
469 #   define YYMALLOC malloc
470 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
471      || defined __cplusplus || defined _MSC_VER)
472 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
473 #   endif
474 #  endif
475 #  ifndef YYFREE
476 #   define YYFREE free
477 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
478      || defined __cplusplus || defined _MSC_VER)
479 void free (void *); /* INFRINGES ON USER NAME SPACE */
480 #   endif
481 #  endif
482 # endif
483 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
484
485
486 #if (! defined yyoverflow \
487      && (! defined __cplusplus \
488          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
489              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
490
491 /* A type that is properly aligned for any stack member.  */
492 union yyalloc
493 {
494   yytype_int16 yyss_alloc;
495   YYSTYPE yyvs_alloc;
496   YYLTYPE yyls_alloc;
497 };
498
499 /* The size of the maximum gap between one aligned stack and the next.  */
500 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
501
502 /* The size of an array large to enough to hold all stacks, each with
503    N elements.  */
504 # define YYSTACK_BYTES(N) \
505      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
506       + 2 * YYSTACK_GAP_MAXIMUM)
507
508 /* Copy COUNT objects from FROM to TO.  The source and destination do
509    not overlap.  */
510 # ifndef YYCOPY
511 #  if defined __GNUC__ && 1 < __GNUC__
512 #   define YYCOPY(To, From, Count) \
513       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
514 #  else
515 #   define YYCOPY(To, From, Count)              \
516       do                                        \
517         {                                       \
518           YYSIZE_T yyi;                         \
519           for (yyi = 0; yyi < (Count); yyi++)   \
520             (To)[yyi] = (From)[yyi];            \
521         }                                       \
522       while (YYID (0))
523 #  endif
524 # endif
525
526 /* Relocate STACK from its old location to the new one.  The
527    local variables YYSIZE and YYSTACKSIZE give the old and new number of
528    elements in the stack, and YYPTR gives the new location of the
529    stack.  Advance YYPTR to a properly aligned location for the next
530    stack.  */
531 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
532     do                                                                  \
533       {                                                                 \
534         YYSIZE_T yynewbytes;                                            \
535         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
536         Stack = &yyptr->Stack_alloc;                                    \
537         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
538         yyptr += yynewbytes / sizeof (*yyptr);                          \
539       }                                                                 \
540     while (YYID (0))
541
542 #endif
543
544 /* YYFINAL -- State number of the termination state.  */
545 #define YYFINAL  295
546 /* YYLAST -- Last index in YYTABLE.  */
547 #define YYLAST   40121
548
549 /* YYNTOKENS -- Number of terminals.  */
550 #define YYNTOKENS  143
551 /* YYNNTS -- Number of nonterminals.  */
552 #define YYNNTS  257
553 /* YYNRULES -- Number of rules.  */
554 #define YYNRULES  1307
555 /* YYNRULES -- Number of states.  */
556 #define YYNSTATES  2167
557
558 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
559 #define YYUNDEFTOK  2
560 #define YYMAXUTOK   372
561
562 #define YYTRANSLATE(YYX)                                                \
563   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
564
565 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
566 static const yytype_uint8 yytranslate[] =
567 {
568        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571        2,     2,     2,   137,     2,     2,   131,   139,   134,     2,
572      121,   122,   118,   135,   126,   136,   129,   138,     2,     2,
573        2,     2,     2,     2,     2,     2,     2,     2,   130,   124,
574      119,   125,   120,   142,     2,     2,     2,     2,     2,     2,
575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
577        2,   132,     2,   133,   140,     2,     2,     2,     2,     2,
578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
580        2,     2,     2,   128,   141,   127,   123,     2,     2,     2,
581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
591        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
592        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
593        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
594        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
595       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
596       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
597       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
598       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
599       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
600       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
601       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
602       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
603       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
604      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
605      115,   116,   117
606 };
607
608 #if YYDEBUG
609 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
610    YYRHS.  */
611 static const yytype_uint16 yyprhs[] =
612 {
613        0,     0,     3,     6,     9,    11,    14,    16,    18,    20,
614       25,    30,    33,    35,    39,    44,    48,    51,    54,    56,
615       60,    63,    66,    69,    72,    75,    78,    81,    85,    88,
616       90,    93,    95,    98,   101,   104,   107,   110,   113,   115,
617      117,   121,   123,   127,   131,   133,   135,   139,   143,   145,
618      149,   153,   157,   161,   163,   166,   169,   171,   173,   176,
619      179,   182,   185,   188,   191,   193,   195,   197,   200,   203,
620      205,   208,   211,   214,   217,   219,   222,   225,   229,   234,
621      240,   245,   249,   254,   257,   261,   266,   272,   277,   281,
622      286,   292,   298,   303,   306,   310,   314,   318,   322,   325,
623      330,   334,   338,   341,   346,   350,   353,   357,   360,   364,
624      367,   369,   372,   376,   380,   384,   387,   389,   393,   397,
625      399,   403,   407,   410,   415,   421,   425,   430,   434,   436,
626      440,   444,   448,   451,   455,   458,   463,   469,   473,   478,
627      482,   484,   488,   492,   495,   497,   500,   503,   506,   508,
628      511,   517,   525,   535,   542,   551,   556,   563,   565,   568,
629      572,   577,   580,   583,   585,   587,   590,   593,   595,   597,
630      599,   601,   609,   611,   614,   619,   621,   623,   626,   630,
631      633,   636,   639,   643,   645,   648,   651,   654,   656,   658,
632      660,   663,   666,   669,   673,   677,   679,   681,   684,   687,
633      689,   692,   695,   698,   701,   703,   706,   708,   711,   714,
634      719,   724,   731,   734,   739,   744,   751,   753,   755,   759,
635      761,   766,   772,   774,   776,   778,   780,   784,   786,   788,
636      790,   794,   798,   802,   804,   808,   810,   813,   816,   820,
637      824,   830,   836,   843,   850,   853,   856,   860,   864,   868,
638      872,   876,   880,   884,   888,   892,   896,   900,   902,   904,
639      908,   910,   913,   918,   920,   922,   924,   929,   934,   940,
640      949,   952,   954,   956,   959,   966,   973,   979,   985,   992,
641      999,  1005,  1011,  1019,  1027,  1034,  1041,  1049,  1057,  1064,
642     1071,  1076,  1082,  1087,  1094,  1099,  1101,  1103,  1105,  1107,
643     1111,  1114,  1116,  1119,  1122,  1125,  1127,  1132,  1137,  1141,
644     1146,  1151,  1155,  1159,  1162,  1165,  1170,  1175,  1179,  1184,
645     1188,  1192,  1195,  1198,  1200,  1202,  1206,  1210,  1212,  1214,
646     1218,  1222,  1225,  1228,  1231,  1234,  1237,  1240,  1245,  1251,
647     1257,  1260,  1265,  1267,  1269,  1271,  1273,  1275,  1277,  1279,
648     1281,  1283,  1285,  1287,  1292,  1294,  1298,  1302,  1306,  1310,
649     1314,  1318,  1320,  1324,  1328,  1332,  1336,  1338,  1342,  1346,
650     1350,  1354,  1357,  1359,  1362,  1366,  1370,  1374,  1378,  1382,
651     1386,  1390,  1392,  1396,  1400,  1404,  1408,  1412,  1416,  1420,
652     1424,  1426,  1430,  1434,  1438,  1442,  1444,  1448,  1452,  1456,
653     1460,  1462,  1466,  1470,  1474,  1478,  1480,  1484,  1488,  1490,
654     1494,  1498,  1500,  1506,  1512,  1518,  1524,  1530,  1536,  1542,
655     1548,  1554,  1560,  1566,  1572,  1578,  1584,  1590,  1596,  1598,
656     1602,  1606,  1610,  1614,  1618,  1622,  1626,  1630,  1632,  1634,
657     1636,  1638,  1640,  1642,  1644,  1646,  1648,  1650,  1652,  1654,
658     1658,  1662,  1665,  1667,  1671,  1675,  1677,  1679,  1682,  1685,
659     1689,  1693,  1697,  1701,  1705,  1709,  1713,  1716,  1719,  1722,
660     1725,  1728,  1734,  1741,  1748,  1751,  1757,  1759,  1761,  1763,
661     1768,  1770,  1774,  1778,  1782,  1786,  1790,  1794,  1796,  1800,
662     1804,  1808,  1812,  1814,  1818,  1822,  1826,  1830,  1832,  1835,
663     1839,  1843,  1847,  1851,  1855,  1859,  1863,  1865,  1869,  1873,
664     1877,  1881,  1885,  1889,  1893,  1897,  1899,  1903,  1907,  1911,
665     1915,  1917,  1921,  1925,  1929,  1933,  1935,  1939,  1943,  1947,
666     1951,  1953,  1957,  1961,  1963,  1967,  1971,  1973,  1979,  1985,
667     1991,  1997,  2002,  2007,  2012,  2017,  2023,  2029,  2035,  2041,
668     2046,  2051,  2056,  2061,  2067,  2073,  2079,  2085,  2091,  2097,
669     2103,  2109,  2113,  2117,  2120,  2123,  2125,  2129,  2133,  2137,
670     2141,  2143,  2146,  2150,  2154,  2157,  2160,  2163,  2165,  2168,
671     2172,  2176,  2178,  2180,  2182,  2184,  2186,  2188,  2190,  2192,
672     2194,  2196,  2198,  2200,  2202,  2204,  2206,  2208,  2210,  2214,
673     2218,  2220,  2224,  2227,  2229,  2232,  2235,  2238,  2243,  2248,
674     2252,  2256,  2261,  2267,  2272,  2279,  2286,  2291,  2297,  2302,
675     2309,  2316,  2322,  2328,  2331,  2334,  2337,  2343,  2347,  2353,
676     2360,  2366,  2374,  2382,  2391,  2400,  2408,  2416,  2420,  2424,
677     2428,  2433,  2437,  2443,  2449,  2456,  2464,  2471,  2476,  2478,
678     2480,  2482,  2484,  2486,  2488,  2490,  2492,  2494,  2497,  2499,
679     2501,  2503,  2505,  2507,  2509,  2511,  2513,  2515,  2517,  2519,
680     2521,  2523,  2525,  2527,  2529,  2534,  2539,  2544,  2546,  2548,
681     2550,  2552,  2554,  2556,  2558,  2560,  2562,  2564,  2566,  2568,
682     2570,  2572,  2574,  2576,  2578,  2580,  2582,  2584,  2586,  2588,
683     2590,  2592,  2594,  2596,  2598,  2603,  2608,  2613,  2615,  2617,
684     2620,  2623,  2627,  2633,  2636,  2640,  2646,  2652,  2658,  2660,
685     2664,  2667,  2670,  2674,  2678,  2681,  2685,  2689,  2694,  2698,
686     2702,  2706,  2710,  2714,  2718,  2723,  2728,  2733,  2735,  2737,
687     2742,  2746,  2749,  2753,  2757,  2761,  2765,  2769,  2773,  2777,
688     2781,  2785,  2789,  2793,  2797,  2799,  2801,  2803,  2806,  2808,
689     2811,  2813,  2816,  2818,  2821,  2823,  2826,  2828,  2831,  2833,
690     2836,  2838,  2841,  2843,  2846,  2848,  2851,  2853,  2856,  2858,
691     2861,  2863,  2866,  2868,  2871,  2873,  2876,  2878,  2881,  2883,
692     2886,  2888,  2891,  2893,  2896,  2898,  2901,  2903,  2906,  2908,
693     2911,  2913,  2916,  2918,  2921,  2923,  2926,  2928,  2931,  2933,
694     2935,  2937,  2940,  2942,  2945,  2947,  2950,  2952,  2955,  2960,
695     2966,  2968,  2970,  2972,  2975,  2977,  2980,  2982,  2985,  2987,
696     2990,  2995,  3001,  3003,  3006,  3008,  3011,  3013,  3016,  3018,
697     3021,  3023,  3026,  3028,  3031,  3036,  3042,  3044,  3047,  3049,
698     3052,  3054,  3057,  3059,  3062,  3064,  3067,  3069,  3072,  3077,
699     3083,  3087,  3091,  3093,  3097,  3101,  3105,  3109,  3111,  3113,
700     3115,  3120,  3125,  3130,  3134,  3139,  3144,  3149,  3153,  3155,
701     3159,  3164,  3168,  3173,  3178,  3183,  3188,  3192,  3195,  3199,
702     3203,  3207,  3211,  3214,  3217,  3220,  3224,  3229,  3231,  3233,
703     3236,  3240,  3244,  3248,  3252,  3255,  3258,  3261,  3265,  3270,
704     3272,  3274,  3276,  3278,  3280,  3285,  3287,  3289,  3291,  3293,
705     3295,  3297,  3299,  3301,  3303,  3308,  3310,  3313,  3317,  3324,
706     3330,  3334,  3339,  3342,  3346,  3350,  3354,  3358,  3363,  3368,
707     3373,  3376,  3380,  3384,  3388,  3393,  3398,  3402,  3407,  3410,
708     3414,  3418,  3422,  3427,  3432,  3434,  3437,  3440,  3444,  3446,
709     3448,  3451,  3454,  3458,  3460,  3462,  3465,  3468,  3472,  3474,
710     3477,  3481,  3484,  3487,  3489,  3492,  3496,  3499,  3501,  3504,
711     3508,  3512,  3514,  3517,  3521,  3525,  3527,  3530,  3534,  3538,
712     3540,  3543,  3547,  3551,  3553,  3556,  3560,  3564,  3566,  3570,
713     3575,  3577,  3582,  3585,  3591,  3595,  3597,  3599,  3601,  3603,
714     3605,  3607,  3611,  3615,  3618,  3621,  3623,  3625,  3629,  3632,
715     3636,  3638,  3642,  3646,  3650,  3654,  3658,  3660,  3663,  3667,
716     3671,  3673,  3676,  3678,  3681,  3684,  3687,  3690,  3694,  3696,
717     3698,  3702,  3706,  3708,  3712,  3717,  3721,  3726,  3730,  3734,
718     3739,  3743,  3748,  3750,  3754,  3758,  3763,  3767,  3771,  3775,
719     3780,  3782,  3786,  3790,  3794,  3798,  3802,  3804,  3808,  3811,
720     3813,  3815,  3817,  3819,  3821,  3824,  3826,  3828,  3830,  3832,
721     3835,  3838,  3841,  3843,  3845,  3847,  3849,  3851,  3854,  3856,
722     3858,  3863,  3871,  3873,  3877,  3878,  3885,  3894,  3905,  3918,
723     3927,  3938,  3949,  3955,  3963,  3973,  3985,  3993,  4003,  4013,
724     4017,  4022,  4027,  4031,  4035,  4039,  4044,  4049,  4053,  4057,
725     4061,  4066,  4071,  4075,  4078,  4082,  4085,  4089,  4094,  4099,
726     4103,  4107,  4109,  4111,  4113,  4115,  4117,  4120,  4124,  4127,
727     4130,  4133,  4137,  4141,  4144,  4150,  4157,  4160,  4163,  4166,
728     4169,  4172,  4175,  4177,  4180,  4183,  4187,  4189,  4192,  4194,
729     4197,  4200,  4202,  4205,  4208,  4211,  4214,  4217,  4220,  4222,
730     4224,  4227,  4230,  4232,  4234,  4237,  4240,  4242,  4245,  4248,
731     4250,  4253,  4255,  4258,  4261,  4267,  4273,  4281,  4289,  4295,
732     4301,  4305,  4308,  4314,  4319,  4324,  4332,  4339,  4346,  4352,
733     4360,  4367,  4372,  4380,  4390,  4394,  4399,  4404,  4410,  4416,
734     4423,  4431,  4438,  4445,  4451,  4457,  4462,  4466,  4469,  4471,
735     4474,  4479,  4483,  4489,  4494,  4498,  4501,  4504,  4507,  4511,
736     4515,  4519,  4523,  4526,  4529,  4531,  4533,  4538,  4542,  4547,
737     4551,  4555,  4558,  4563,  4567,  4572,  4576,  4580,  4583,  4585,
738     4588,  4590,  4592,  4595,  4597,  4600,  4604,  4608,  4610,  4613,
739     4616,  4619,  4623,  4628,  4633,  4636,  4639,  4642,  4645,  4647,
740     4650,  4652,  4655,  4657,  4660,  4663,  4665,  4668,  4670,  4673,
741     4676,  4679,  4682,  4684,  4687,  4690,  4694,  4696,  4698,  4699,
742     4706,  4713,  4719,  4724,  4726,  4729,  4732,  4734,  4738,  4742,
743     4747,  4749,  4751,  4754,  4757,  4764,  4771,  4778
744 };
745
746 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
747 static const yytype_int16 yyrhs[] =
748 {
749      389,     0,    -1,   215,   118,    -1,   215,   119,    -1,   148,
750       -1,   215,   215,    -1,    28,    -1,    28,    -1,   146,    -1,
751      146,   119,   209,   120,    -1,   146,   119,   209,    11,    -1,
752      298,   333,    -1,   331,    -1,   298,   121,   122,    -1,   123,
753      298,   121,   122,    -1,    78,   298,   333,    -1,    78,   331,
754       -1,   298,   334,    -1,   332,    -1,    78,   298,   334,    -1,
755       78,   332,    -1,   149,   373,    -1,   152,   373,    -1,   152,
756      124,    -1,   150,   373,    -1,   151,   373,    -1,   149,   124,
757       -1,   149,   323,   124,    -1,   149,   374,    -1,   153,    -1,
758      152,   374,    -1,   154,    -1,   154,   124,    -1,   297,   333,
759       -1,   297,   335,    -1,   297,   334,    -1,   157,   373,    -1,
760      157,   374,    -1,   158,    -1,   157,    -1,   223,   125,   338,
761       -1,   338,    -1,   223,   125,   339,    -1,   223,   125,     1,
762       -1,   339,    -1,   161,    -1,   163,   126,   161,    -1,   164,
763      126,   161,    -1,   162,    -1,   163,   126,   162,    -1,   164,
764      126,   162,    -1,   163,   126,     1,    -1,   164,   126,     1,
765       -1,   126,    -1,   163,   124,    -1,   164,   124,    -1,   165,
766       -1,   159,    -1,   168,   165,    -1,   168,   159,    -1,   166,
767      165,    -1,   166,   159,    -1,   168,   124,    -1,   166,   124,
768       -1,   124,    -1,   166,    -1,   163,    -1,   166,   163,    -1,
769      168,   163,    -1,   160,    -1,   167,   160,    -1,   168,   160,
770       -1,   166,   160,    -1,   166,   164,    -1,   164,    -1,   163,
771        1,    -1,   170,   127,    -1,   170,     1,   127,    -1,   297,
772      215,   128,   168,    -1,   297,   215,   128,   167,     1,    -1,
773      297,   215,   128,   167,    -1,   297,   215,   128,    -1,   297,
774      215,   128,     1,    -1,   172,   127,    -1,   172,     1,   127,
775       -1,   298,   215,   128,   168,    -1,   298,   215,   128,   167,
776        1,    -1,   298,   215,   128,   167,    -1,   298,   215,   128,
777       -1,   298,   215,   128,     1,    -1,   299,   215,   128,   167,
778      127,    -1,   299,   215,   128,   168,   127,    -1,   299,   215,
779      128,   127,    -1,   175,   127,    -1,   175,     1,   127,    -1,
780      148,   128,   167,    -1,   215,   128,   167,    -1,   148,   128,
781      168,    -1,   148,   128,    -1,   148,   128,   167,     1,    -1,
782      148,   128,     1,    -1,   215,   128,   168,    -1,   215,   128,
783       -1,   215,   128,   167,     1,    -1,   215,   128,     1,    -1,
784      177,   127,    -1,   177,     1,   127,    -1,   128,   168,    -1,
785      128,   167,     1,    -1,   128,     1,    -1,   128,    -1,   128,
786      167,    -1,   223,   125,   338,    -1,   223,   125,   339,    -1,
787      223,   125,     1,    -1,   223,     1,    -1,   178,    -1,   180,
788      126,   178,    -1,   181,   126,   178,    -1,   179,    -1,   180,
789      126,   179,    -1,   181,   126,   179,    -1,   180,     1,    -1,
790       68,   303,   215,   128,    -1,    68,   303,   327,   215,   128,
791       -1,    68,   303,   128,    -1,    68,   303,   327,   128,    -1,
792       68,     1,   128,    -1,   182,    -1,   183,    69,   373,    -1,
793      183,    70,   373,    -1,   183,    95,   373,    -1,   183,    91,
794       -1,   183,    97,   217,    -1,   183,   127,    -1,    99,   303,
795      215,   128,    -1,    99,   303,   327,   215,   128,    -1,    99,
796      303,   128,    -1,    99,   303,   327,   128,    -1,    99,     1,
797      128,    -1,   185,    -1,   186,    69,   373,    -1,   186,    70,
798      373,    -1,   186,   127,    -1,   215,    -1,   188,   215,    -1,
799      188,   373,    -1,    73,   373,    -1,   189,    -1,   190,   189,
800       -1,    88,   121,   188,   122,   373,    -1,    88,   121,   242,
801      122,   128,   190,   127,    -1,   242,   129,    88,   121,   242,
802      122,   128,   190,   127,    -1,    89,   121,   242,   126,   188,
803      122,    -1,   242,   129,    89,   121,   242,   126,   188,   122,
804       -1,    89,   121,   242,   122,    -1,   242,   129,    89,   121,
805      242,   122,    -1,    90,    -1,    90,   188,    -1,   223,   129,
806       90,    -1,   242,   129,    90,   188,    -1,   196,   124,    -1,
807      180,   124,    -1,   155,    -1,   184,    -1,   361,   155,    -1,
808      361,   184,    -1,   187,    -1,    91,    -1,    93,    -1,    94,
809       -1,    99,   121,   215,   122,   125,   338,   124,    -1,   124,
810       -1,   361,   130,    -1,   361,   121,   215,   122,    -1,   156,
811       -1,   298,    -1,   298,   285,    -1,   361,   298,   285,    -1,
812      361,   298,    -1,   361,   174,    -1,   361,   171,    -1,    98,
813      298,   285,    -1,   191,    -1,    92,   215,    -1,    92,   148,
814       -1,    96,   215,    -1,   174,    -1,   171,    -1,   180,    -1,
815      172,     1,    -1,   175,     1,    -1,   361,   156,    -1,   361,
816      172,     1,    -1,   361,   175,     1,    -1,   181,    -1,   195,
817       -1,   197,   195,    -1,   198,   195,    -1,   196,    -1,   197,
818        1,    -1,   198,     1,    -1,   197,   196,    -1,   198,   196,
819       -1,   298,    -1,   298,   327,    -1,   298,    -1,   298,   327,
820       -1,    65,   215,    -1,    65,   215,   125,   200,    -1,    65,
821      215,   130,   199,    -1,    65,   215,   130,   199,   125,   200,
822       -1,    65,   147,    -1,    65,   147,   125,   200,    -1,    65,
823      147,   130,   199,    -1,    65,   147,   130,   199,   125,   200,
824       -1,   215,    -1,   215,    -1,   215,   125,   202,    -1,   232,
825       -1,   298,   215,   125,   204,    -1,   298,   327,   215,   125,
826      204,    -1,   201,    -1,   203,    -1,   205,    -1,   206,    -1,
827      207,   126,   206,    -1,   204,    -1,   202,    -1,   200,    -1,
828      215,   125,   204,    -1,   215,   125,   202,    -1,   215,   125,
829      200,    -1,   208,    -1,   209,   126,   208,    -1,    65,    -1,
830      210,   215,    -1,   210,   146,    -1,   215,   210,   215,    -1,
831      215,   210,   146,    -1,   210,   215,   119,   207,   120,    -1,
832      210,   146,   119,   207,   120,    -1,   215,   210,   215,   119,
833      207,   120,    -1,   215,   210,   146,   119,   207,   120,    -1,
834      214,   127,    -1,   213,   124,    -1,   211,   128,   127,    -1,
835      213,   128,   127,    -1,   210,   215,   124,    -1,   210,   145,
836      124,    -1,   211,   130,   302,    -1,   211,   128,   198,    -1,
837      213,   128,   198,    -1,   211,   128,   197,    -1,   213,   128,
838      197,    -1,   211,   128,     1,    -1,   213,   128,     1,    -1,
839        3,    -1,   219,    -1,   121,   244,   122,    -1,   384,    -1,
840      131,   384,    -1,   131,   384,   129,   384,    -1,     4,    -1,
841      215,    -1,   174,    -1,    85,   121,   373,   122,    -1,    85,
842      121,   244,   122,    -1,    85,   121,   345,   122,   336,    -1,
843       85,   121,   345,   122,   121,   345,   122,   336,    -1,   218,
844      215,    -1,   218,    -1,   217,    -1,   121,   122,    -1,    71,
845      305,   328,   132,   264,   133,    -1,    71,   305,   328,   132,
846      265,   133,    -1,    71,   305,   132,   264,   133,    -1,    71,
847      305,   132,   265,   133,    -1,   102,   305,   328,   132,   264,
848      133,    -1,   102,   305,   328,   132,   265,   133,    -1,   102,
849      305,   132,   264,   133,    -1,   102,   305,   132,   265,   133,
850       -1,    72,   264,   304,   328,   132,   264,   133,    -1,    72,
851      264,   304,   328,   132,   265,   133,    -1,    72,   264,   304,
852      132,   264,   133,    -1,    72,   264,   304,   132,   265,   133,
853       -1,   103,   264,   304,   328,   132,   264,   133,    -1,   103,
854      264,   304,   328,   132,   265,   133,    -1,   103,   264,   304,
855      132,   264,   133,    -1,   103,   264,   304,   132,   265,   133,
856       -1,    65,   121,   297,   122,    -1,    65,   121,   297,   327,
857      122,    -1,    65,   121,   215,   122,    -1,   104,   121,   242,
858      126,   345,   122,    -1,    98,   121,   215,   122,    -1,   396,
859       -1,   397,    -1,   398,    -1,   399,    -1,   132,   224,   133,
860       -1,   132,   133,    -1,   176,    -1,   177,     1,    -1,   121,
861      244,    -1,   121,   262,    -1,   216,    -1,   223,   132,   244,
862      133,    -1,   223,   132,   262,   133,    -1,   223,   121,   122,
863       -1,   223,   121,   224,   122,    -1,   223,   121,   225,   122,
864       -1,   223,   129,   215,    -1,   223,     7,   215,    -1,   223,
865        8,    -1,   223,     9,    -1,   246,   132,   244,   133,    -1,
866      246,   132,   262,   133,    -1,   246,   121,   122,    -1,   246,
867      121,   224,   122,    -1,   246,   129,   215,    -1,   246,     7,
868      215,    -1,   246,     8,    -1,   246,     9,    -1,   242,    -1,
869      220,    -1,   224,   126,   242,    -1,   224,   126,   220,    -1,
870      261,    -1,   221,    -1,   224,   126,   261,    -1,   224,   126,
871      221,    -1,   224,   126,    -1,     8,   227,    -1,     9,   227,
872       -1,   228,   229,    -1,   228,   220,    -1,     6,   227,    -1,
873        6,   121,   346,   122,    -1,     6,   121,    65,   145,   122,
874       -1,     6,   121,    65,   144,   122,    -1,   109,   227,    -1,
875      109,   121,   346,   122,    -1,   226,    -1,   223,    -1,   134,
876       -1,   118,    -1,   135,    -1,   136,    -1,   123,    -1,   137,
877       -1,    73,    -1,    84,    -1,   227,    -1,   121,   345,   122,
878      229,    -1,   229,    -1,   230,   118,   229,    -1,   230,   138,
879      229,    -1,   230,   139,   229,    -1,   250,   118,   229,    -1,
880      250,   138,   229,    -1,   250,   139,   229,    -1,   230,    -1,
881      231,   135,   230,    -1,   231,   136,   230,    -1,   251,   135,
882      230,    -1,   251,   136,   230,    -1,   231,    -1,   232,    10,
883      231,    -1,   232,    11,   231,    -1,   252,    10,   231,    -1,
884      252,    11,   231,    -1,   234,   119,    -1,   232,    -1,   233,
885      232,    -1,   234,   120,   232,    -1,   234,    12,   232,    -1,
886      234,    13,   232,    -1,   253,   119,   232,    -1,   253,   120,
887      232,    -1,   253,    12,   232,    -1,   253,    13,   232,    -1,
888      234,    -1,   235,    14,   234,    -1,   235,    15,   234,    -1,
889      254,    14,   234,    -1,   254,    15,   234,    -1,   235,    14,
890      220,    -1,   235,    15,   220,    -1,   254,    14,   220,    -1,
891      254,    15,   220,    -1,   235,    -1,   236,   134,   235,    -1,
892      255,   134,   235,    -1,   236,   134,   220,    -1,   255,   134,
893      220,    -1,   236,    -1,   237,   140,   236,    -1,   256,   140,
894      236,    -1,   237,   140,   220,    -1,   256,   140,   220,    -1,
895      237,    -1,   238,   141,   237,    -1,   257,   141,   237,    -1,
896      238,   141,   220,    -1,   257,   141,   220,    -1,   238,    -1,
897      239,    16,   238,    -1,   258,    16,   238,    -1,   239,    -1,
898      240,    17,   239,    -1,   259,    17,   239,    -1,   240,    -1,
899      240,   142,   244,   130,   241,    -1,   240,   142,   262,   130,
900      241,    -1,   259,   142,   244,   130,   241,    -1,   259,   142,
901      262,   130,   241,    -1,   240,   142,   245,   130,   241,    -1,
902      240,   142,   263,   130,   241,    -1,   259,   142,   245,   130,
903      241,    -1,   259,   142,   263,   130,   241,    -1,   240,   142,
904      244,   130,   220,    -1,   240,   142,   262,   130,   220,    -1,
905      259,   142,   244,   130,   220,    -1,   259,   142,   262,   130,
906      220,    -1,   240,   142,   245,   130,   220,    -1,   240,   142,
907      263,   130,   220,    -1,   259,   142,   245,   130,   220,    -1,
908      259,   142,   263,   130,   220,    -1,   241,    -1,   227,   243,
909      242,    -1,   248,   243,   242,    -1,   241,   243,   242,    -1,
910      260,   243,   242,    -1,   227,   243,   220,    -1,   248,   243,
911      220,    -1,   241,   243,   220,    -1,   260,   243,   220,    -1,
912      125,    -1,    18,    -1,    19,    -1,    20,    -1,    21,    -1,
913       22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
914       27,    -1,   242,    -1,   244,   126,   242,    -1,   262,   126,
915      242,    -1,   262,   122,    -1,   220,    -1,   244,   126,   220,
916       -1,   262,   126,   220,    -1,   222,    -1,     1,    -1,   223,
917        1,    -1,   175,     1,    -1,   223,     7,     1,    -1,   246,
918        7,     1,    -1,   223,   121,   224,    -1,   223,   121,   225,
919       -1,   223,   129,     1,    -1,   246,   121,   225,    -1,   246,
920      129,     1,    -1,     8,   248,    -1,     9,   248,    -1,   228,
921      249,    -1,   228,   221,    -1,     6,   248,    -1,     6,   121,
922      346,   122,     1,    -1,     6,   121,    65,   145,   122,     1,
923       -1,     6,   121,    65,   144,   122,     1,    -1,   109,   248,
924       -1,   109,   121,   346,   122,     1,    -1,   247,    -1,   246,
925       -1,   248,    -1,   121,   345,   122,   249,    -1,   249,    -1,
926      230,   118,   249,    -1,   230,   138,   249,    -1,   230,   139,
927      249,    -1,   250,   118,   249,    -1,   250,   138,   249,    -1,
928      250,   139,   249,    -1,   250,    -1,   231,   135,   250,    -1,
929      231,   136,   250,    -1,   251,   135,   250,    -1,   251,   136,
930      250,    -1,   251,    -1,   232,    10,   251,    -1,   232,    11,
931      251,    -1,   252,    10,   251,    -1,   252,    11,   251,    -1,
932      252,    -1,   233,   252,    -1,   234,   120,   252,    -1,   234,
933       12,   252,    -1,   234,    13,   252,    -1,   253,   119,   252,
934       -1,   253,   120,   252,    -1,   253,    12,   252,    -1,   253,
935       13,   252,    -1,   253,    -1,   235,    14,   253,    -1,   235,
936       15,   253,    -1,   254,    14,   253,    -1,   254,    15,   253,
937       -1,   235,    14,   221,    -1,   235,    15,   221,    -1,   254,
938       14,   221,    -1,   254,    15,   221,    -1,   254,    -1,   236,
939      134,   254,    -1,   255,   134,   254,    -1,   236,   134,   221,
940       -1,   255,   134,   221,    -1,   255,    -1,   237,   140,   255,
941       -1,   256,   140,   255,    -1,   237,   140,   221,    -1,   256,
942      140,   221,    -1,   256,    -1,   238,   141,   256,    -1,   257,
943      141,   256,    -1,   238,   141,   221,    -1,   257,   141,   221,
944       -1,   257,    -1,   239,    16,   257,    -1,   258,    16,   257,
945       -1,   258,    -1,   240,    17,   258,    -1,   259,    17,   258,
946       -1,   259,    -1,   240,   142,   244,   130,   259,    -1,   240,
947      142,   262,   130,   259,    -1,   259,   142,   244,   130,   259,
948       -1,   259,   142,   262,   130,   259,    -1,   240,   142,   244,
949      130,    -1,   240,   142,   262,   130,    -1,   259,   142,   244,
950      130,    -1,   259,   142,   262,   130,    -1,   240,   142,   245,
951      130,   259,    -1,   240,   142,   263,   130,   259,    -1,   259,
952      142,   245,   130,   259,    -1,   259,   142,   263,   130,   259,
953       -1,   240,   142,   245,   130,    -1,   240,   142,   263,   130,
954       -1,   259,   142,   245,   130,    -1,   259,   142,   263,   130,
955       -1,   240,   142,   244,   130,   221,    -1,   240,   142,   262,
956      130,   221,    -1,   259,   142,   244,   130,   221,    -1,   259,
957      142,   262,   130,   221,    -1,   240,   142,   245,   130,   221,
958       -1,   240,   142,   263,   130,   221,    -1,   259,   142,   245,
959      130,   221,    -1,   259,   142,   263,   130,   221,    -1,   240,
960      142,   130,    -1,   259,   142,   130,    -1,   240,   142,    -1,
961      259,   142,    -1,   260,    -1,   227,   243,   261,    -1,   248,
962      243,   261,    -1,   227,   243,   221,    -1,   248,   243,   221,
963       -1,   261,    -1,   242,     1,    -1,   244,   126,   261,    -1,
964      262,   126,   261,    -1,   244,   244,    -1,   262,   244,    -1,
965      244,   262,    -1,   221,    -1,   220,     1,    -1,   244,   126,
966      221,    -1,   262,   126,   221,    -1,   241,    -1,   260,    -1,
967       29,    -1,    30,    -1,    31,    -1,   117,    -1,    32,    -1,
968       33,    -1,   116,    -1,    29,    -1,    30,    -1,    31,    -1,
969      117,    -1,    32,    -1,    33,    -1,   116,    -1,   215,    -1,
970      215,   125,   264,    -1,   215,   125,   265,    -1,   268,    -1,
971      269,   126,   268,    -1,   269,   126,    -1,    50,    -1,   270,
972      215,    -1,   270,   148,    -1,   273,   127,    -1,   270,   215,
973      128,   127,    -1,   270,   148,   128,   127,    -1,   270,   128,
974      269,    -1,   270,   128,     1,    -1,   270,   215,   128,   269,
975       -1,   270,   215,   128,   269,     1,    -1,   270,   215,   128,
976        1,    -1,   270,   215,   128,   269,   124,   197,    -1,   270,
977      215,   128,   269,   124,   198,    -1,   270,   148,   128,   269,
978       -1,   270,   148,   128,   269,     1,    -1,   270,   148,   128,
979        1,    -1,   270,   148,   128,   269,   124,   197,    -1,   270,
980      148,   128,   269,   124,   198,    -1,   270,   215,   128,   269,
981      124,    -1,   270,   148,   128,   269,   124,    -1,   270,   215,
982       -1,   270,   148,    -1,   276,   127,    -1,   274,   130,   302,
983      128,   127,    -1,   274,   128,   127,    -1,   274,   130,   302,
984      128,   269,    -1,   274,   130,   302,   128,   269,     1,    -1,
985      274,   130,   302,   128,     1,    -1,   274,   130,   302,   128,
986      269,   124,   197,    -1,   274,   130,   302,   128,   269,   124,
987      198,    -1,   274,   130,   302,   128,   269,     1,   124,   197,
988       -1,   274,   130,   302,   128,   269,     1,   124,   198,    -1,
989      274,   130,   302,   128,     1,   124,   197,    -1,   274,   130,
990      302,   128,     1,   124,   198,    -1,   270,   128,   269,    -1,
991      270,   128,     1,    -1,   274,   128,   269,    -1,   274,   128,
992      269,     1,    -1,   274,   128,     1,    -1,   274,   128,   269,
993      124,   197,    -1,   274,   128,   269,   124,   198,    -1,   274,
994      130,   302,   128,   269,   124,    -1,   274,   130,   302,   128,
995      269,     1,   124,    -1,   274,   130,   302,   128,     1,   124,
996       -1,   274,   128,   269,   124,    -1,   275,    -1,   292,    -1,
997      276,    -1,   293,    -1,   318,    -1,    44,    -1,    45,    -1,
998      279,    -1,   280,    -1,   281,   280,    -1,    46,    -1,    34,
999       -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,    47,
1000       -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,    41,
1001       -1,    85,    -1,   289,    -1,   271,    -1,   145,    -1,    87,
1002      121,   242,   122,    -1,   100,   121,   145,   122,    -1,   100,
1003      121,   215,   122,    -1,    66,    -1,    82,    -1,    83,    -1,
1004      113,    -1,   112,    -1,   114,    -1,   115,    -1,    46,    -1,
1005       34,    -1,    35,    -1,    36,    -1,    37,    -1,    38,    -1,
1006       47,    -1,    39,    -1,    42,    -1,    43,    -1,    40,    -1,
1007       41,    -1,    85,    -1,   289,    -1,   271,    -1,   148,    -1,
1008      113,    -1,   112,    -1,   114,    -1,   115,    -1,    87,   121,
1009      242,   122,    -1,   100,   121,   145,   122,    -1,   100,   121,
1010      215,   122,    -1,    66,    -1,   335,    -1,   335,   323,    -1,
1011      130,   264,    -1,   335,   130,   264,    -1,   335,   130,   264,
1012      130,   264,    -1,   130,   265,    -1,   335,   130,   265,    -1,
1013      335,   130,   264,   130,   265,    -1,   335,   130,   265,   130,
1014      265,    -1,   335,   130,   265,   130,   264,    -1,   284,    -1,
1015      285,   126,   284,    -1,   294,   215,    -1,   294,   146,    -1,
1016      294,   318,   215,    -1,   294,   318,   146,    -1,   288,   127,
1017       -1,   286,   128,   127,    -1,   294,   128,   127,    -1,   294,
1018      318,   128,   127,    -1,   286,   128,   197,    -1,   286,   128,
1019      198,    -1,   286,   128,     1,    -1,   294,   128,   197,    -1,
1020      294,   128,   198,    -1,   294,   128,     1,    -1,   294,   318,
1021      128,   197,    -1,   294,   318,   128,   198,    -1,   294,   318,
1022      128,     1,    -1,   286,    -1,   286,    -1,   286,   119,   207,
1023      120,    -1,   290,   130,   302,    -1,   293,   127,    -1,   291,
1024      128,   127,    -1,   290,   128,   127,    -1,   294,   128,   127,
1025       -1,   291,   128,   197,    -1,   291,   128,   198,    -1,   291,
1026      128,     1,    -1,   290,   128,   197,    -1,   290,   128,   198,
1027       -1,   290,   128,     1,    -1,   294,   128,   197,    -1,   294,
1028      128,   198,    -1,   294,   128,     1,    -1,    48,    -1,    49,
1029       -1,   280,    -1,   295,   280,    -1,   282,    -1,   295,   282,
1030       -1,   272,    -1,   295,   272,    -1,   287,    -1,   295,   287,
1031       -1,   280,    -1,   296,   280,    -1,   282,    -1,   296,   282,
1032       -1,   144,    -1,   296,   144,    -1,   272,    -1,   296,   272,
1033       -1,   287,    -1,   296,   287,    -1,   266,    -1,   297,   266,
1034       -1,   280,    -1,   297,   280,    -1,   283,    -1,   297,   283,
1035       -1,   272,    -1,   297,   272,    -1,   287,    -1,   297,   287,
1036       -1,   266,    -1,   298,   266,    -1,   280,    -1,   298,   280,
1037       -1,   282,    -1,   298,   282,    -1,   144,    -1,   298,   144,
1038       -1,   287,    -1,   298,   287,    -1,   272,    -1,   298,   272,
1039       -1,   267,    -1,   299,   267,    -1,   280,    -1,   299,   280,
1040       -1,   282,    -1,   299,   282,    -1,   144,    -1,   299,   144,
1041       -1,   277,    -1,   299,   277,    -1,   278,    -1,   299,   278,
1042       -1,    81,    -1,    80,    -1,   266,    -1,   301,   266,    -1,
1043      280,    -1,   301,   280,    -1,   283,    -1,   301,   283,    -1,
1044      215,    -1,   301,   215,    -1,   215,   119,   209,   120,    -1,
1045      301,   215,   119,   209,   120,    -1,   301,    -1,   294,    -1,
1046      266,    -1,   303,   266,    -1,   280,    -1,   303,   280,    -1,
1047      283,    -1,   303,   283,    -1,   215,    -1,   303,   215,    -1,
1048      215,   119,   209,   120,    -1,   303,   215,   119,   209,   120,
1049       -1,   266,    -1,   304,   266,    -1,   280,    -1,   304,   280,
1050       -1,   283,    -1,   304,   283,    -1,   287,    -1,   304,   287,
1051       -1,   272,    -1,   304,   272,    -1,   215,    -1,   304,   215,
1052       -1,   215,   119,   209,   120,    -1,   304,   215,   119,   209,
1053      120,    -1,   266,    -1,   305,   266,    -1,   280,    -1,   305,
1054      280,    -1,   283,    -1,   305,   283,    -1,   287,    -1,   305,
1055      287,    -1,   272,    -1,   305,   272,    -1,   215,    -1,   305,
1056      215,    -1,   215,   119,   209,   120,    -1,   305,   215,   119,
1057      209,   120,    -1,   307,   126,     1,    -1,   306,   126,     1,
1058       -1,   215,    -1,   307,   126,   215,    -1,   306,   126,   215,
1059       -1,   349,   126,   215,    -1,   350,   126,   215,    -1,   309,
1060       -1,   146,    -1,    37,    -1,   146,   132,   264,   133,    -1,
1061      146,   132,   265,   133,    -1,   146,   132,   145,   133,    -1,
1062      146,   132,   133,    -1,   308,   132,   264,   133,    -1,   308,
1063      132,   265,   133,    -1,   308,   132,   145,   133,    -1,   308,
1064      132,   133,    -1,   215,    -1,   121,   329,   122,    -1,   121,
1065      318,   329,   122,    -1,   121,   330,   122,    -1,   121,   318,
1066      330,   122,    -1,   309,   132,   264,   133,    -1,   309,   132,
1067      265,   133,    -1,   309,   132,   145,   133,    -1,   309,   132,
1068      133,    -1,   309,   121,    -1,   310,   351,   122,    -1,   310,
1069      352,   122,    -1,   310,   307,   122,    -1,   310,   306,   122,
1070       -1,   310,   122,    -1,   310,   306,    -1,   310,     1,    -1,
1071      310,   349,   121,    -1,   310,   298,   215,   121,    -1,   311,
1072       -1,   309,    -1,   308,   121,    -1,   314,   351,   122,    -1,
1073      314,   352,   122,    -1,   314,   307,   122,    -1,   314,   306,
1074      122,    -1,   314,   122,    -1,   314,   306,    -1,   314,     1,
1075       -1,   314,   349,   121,    -1,   314,   298,   215,   121,    -1,
1076      315,    -1,   308,    -1,    74,    -1,    75,    -1,   323,    -1,
1077       86,   121,   384,   122,    -1,    79,    -1,   110,    -1,   111,
1078       -1,     3,    -1,    28,    -1,    75,    -1,    74,    -1,    44,
1079       -1,   320,    -1,   320,   121,   244,   122,    -1,   321,    -1,
1080      322,   321,    -1,   322,   126,   321,    -1,   319,   121,   121,
1081      322,   122,   122,    -1,   319,   121,   121,   122,   122,    -1,
1082      121,   327,   122,    -1,   121,   318,   327,   122,    -1,   132,
1083      133,    -1,   132,   264,   133,    -1,   132,   265,   133,    -1,
1084      132,   145,   133,    -1,   324,   132,   133,    -1,   324,   132,
1085      264,   133,    -1,   324,   132,   145,   133,    -1,   324,   132,
1086      265,   133,    -1,   121,   122,    -1,   121,   351,   122,    -1,
1087      121,   352,   122,    -1,   324,   121,   122,    -1,   324,   121,
1088      351,   122,    -1,   324,   121,   352,   122,    -1,   121,   328,
1089      122,    -1,   121,   318,   328,   122,    -1,   121,   122,    -1,
1090      121,   351,   122,    -1,   121,   352,   122,    -1,   325,   121,
1091      122,    -1,   325,   121,   351,   122,    -1,   325,   121,   352,
1092      122,    -1,   118,    -1,   118,   281,    -1,   118,   326,    -1,
1093      118,   281,   326,    -1,   326,    -1,   324,    -1,   326,   324,
1094       -1,   318,   326,    -1,   318,   326,   324,    -1,   326,    -1,
1095      325,    -1,   326,   325,    -1,   318,   326,    -1,   318,   326,
1096      325,    -1,   313,    -1,   326,   313,    -1,   318,   326,   313,
1097       -1,   329,   318,    -1,   335,   318,    -1,   317,    -1,   326,
1098      317,    -1,   318,   326,   317,    -1,   330,   318,    -1,   311,
1099       -1,   326,   311,    -1,   318,   326,   311,    -1,   326,   318,
1100      311,    -1,   312,    -1,   326,   312,    -1,   318,   326,   312,
1101       -1,   326,   318,   312,    -1,   315,    -1,   326,   315,    -1,
1102      318,   326,   315,    -1,   326,   318,   315,    -1,   316,    -1,
1103      326,   316,    -1,   318,   326,   316,    -1,   326,   318,   316,
1104       -1,   308,    -1,   326,   308,    -1,   318,   326,   308,    -1,
1105      326,   318,   308,    -1,   242,    -1,   128,   340,   127,    -1,
1106      128,   340,   126,   127,    -1,   261,    -1,   128,   340,   127,
1107        1,    -1,   128,   340,    -1,   128,   340,   126,   127,     1,
1108       -1,   128,   340,   126,    -1,   241,    -1,   220,    -1,   260,
1109       -1,   221,    -1,   336,    -1,   337,    -1,   340,   126,   336,
1110       -1,   340,   126,   337,    -1,   340,   336,    -1,   340,   337,
1111       -1,   329,    -1,   330,    -1,   329,   125,   336,    -1,   329,
1112        1,    -1,   329,   125,   337,    -1,   341,    -1,   343,   126,
1113      341,    -1,    37,   126,   341,    -1,    38,   126,   341,    -1,
1114      146,   126,   341,    -1,   344,   126,   341,    -1,   342,    -1,
1115      341,     1,    -1,   343,   126,   342,    -1,   344,   126,   342,
1116       -1,   295,    -1,   295,   327,    -1,   296,    -1,   296,   327,
1117       -1,   298,   330,    -1,   298,   327,    -1,   298,   134,    -1,
1118      298,   134,   330,    -1,   298,    -1,    65,    -1,   298,   330,
1119        1,    -1,   298,   327,     1,    -1,   347,    -1,   349,   126,
1120      347,    -1,   349,     1,   126,   347,    -1,   350,   126,   347,
1121       -1,   350,     1,   126,   347,    -1,     1,   126,   347,    -1,
1122      307,   126,   347,    -1,   307,     1,   126,   347,    -1,   306,
1123      126,   347,    -1,   306,     1,   126,   347,    -1,   348,    -1,
1124      349,   126,   348,    -1,   350,   126,   348,    -1,   350,     1,
1125      126,   348,    -1,     1,   126,   348,    -1,   307,   126,   348,
1126       -1,   306,   126,   348,    -1,   306,     1,   126,   348,    -1,
1127      349,    -1,   349,   126,    51,    -1,   350,   126,    51,    -1,
1128      307,   126,    51,    -1,   306,   126,    51,    -1,     1,   126,
1129       51,    -1,   350,    -1,   349,   126,     1,    -1,   350,     1,
1130       -1,   358,    -1,   323,    -1,   373,    -1,   124,    -1,   130,
1131       -1,   244,   124,    -1,   376,    -1,   378,    -1,   380,    -1,
1132      357,    -1,   194,   124,    -1,   193,   124,    -1,   192,   124,
1133       -1,   359,    -1,   379,    -1,   374,    -1,   377,    -1,   381,
1134       -1,   380,     1,    -1,   262,    -1,   384,    -1,   384,   121,
1135      242,   122,    -1,   132,   215,   133,   384,   121,   242,   122,
1136       -1,   355,    -1,   356,   126,   355,    -1,    -1,    86,   280,
1137      121,   384,   122,   124,    -1,    86,   280,   121,   384,   130,
1138      356,   122,   124,    -1,    86,   280,   121,   384,   130,   356,
1139      130,   356,   122,   124,    -1,    86,   280,   121,   384,   130,
1140      356,   130,   356,   130,   356,   122,   124,    -1,    86,   280,
1141      121,   384,     3,   356,   122,   124,    -1,    86,   280,   121,
1142      384,     3,   356,   130,   356,   122,   124,    -1,    86,   280,
1143      121,   384,   130,   356,     3,   356,   122,   124,    -1,    86,
1144      121,   384,   122,   124,    -1,    86,   121,   384,   130,   356,
1145      122,   124,    -1,    86,   121,   384,   130,   356,   130,   356,
1146      122,   124,    -1,    86,   121,   384,   130,   356,   130,   356,
1147      130,   356,   122,   124,    -1,    86,   121,   384,     3,   356,
1148      122,   124,    -1,    86,   121,   384,     3,   356,   130,   356,
1149      122,   124,    -1,    86,   121,   384,   130,   356,     3,   356,
1150      122,   124,    -1,   215,   130,   353,    -1,    52,   264,   130,
1151      353,    -1,    52,   265,   130,   353,    -1,    52,   130,   353,
1152       -1,    53,   130,   353,    -1,   215,   130,   362,    -1,    52,
1153      264,   130,   362,    -1,    52,   265,   130,   362,    -1,    52,
1154      130,   362,    -1,    53,   130,   362,    -1,   215,   130,   354,
1155       -1,    52,   264,   130,   354,    -1,    52,   265,   130,   354,
1156       -1,    52,   130,   354,    -1,    52,   130,    -1,    53,   130,
1157      354,    -1,    53,   130,    -1,   215,   130,   365,    -1,    52,
1158      264,   130,   365,    -1,    52,   265,   130,   365,    -1,    52,
1159      130,   365,    -1,    53,   130,   365,    -1,    80,    -1,    81,
1160       -1,    53,    -1,    80,    -1,    81,    -1,   297,   124,    -1,
1161      297,   343,   124,    -1,   169,   124,    -1,   365,   124,    -1,
1162      299,   124,    -1,   299,   343,   124,    -1,   300,   343,   124,
1163       -1,   173,   124,    -1,    77,   215,   125,   241,   124,    -1,
1164       31,    77,   215,   125,   241,   124,    -1,   299,     1,    -1,
1165      297,     1,    -1,   365,     1,    -1,   170,     1,    -1,   169,
1166        1,    -1,   297,   344,    -1,   362,    -1,   366,   362,    -1,
1167      367,   362,    -1,   366,     1,   124,    -1,   365,    -1,   366,
1168      365,    -1,   353,    -1,   368,   353,    -1,   369,   353,    -1,
1169      354,    -1,   368,   354,    -1,   369,   354,    -1,   368,   362,
1170       -1,   369,   362,    -1,   368,   365,    -1,   369,   365,    -1,
1171      368,    -1,   366,    -1,   366,   368,    -1,   367,   368,    -1,
1172      369,    -1,   367,    -1,   366,   369,    -1,   367,   369,    -1,
1173      128,    -1,   374,   127,    -1,   372,   371,    -1,   372,    -1,
1174      372,   370,    -1,   124,    -1,   244,   124,    -1,   262,   124,
1175       -1,    54,   121,   244,   122,   353,    -1,    54,   121,   262,
1176      122,   353,    -1,    54,   121,   244,   122,   353,    64,   353,
1177       -1,    54,   121,   262,   122,   353,    64,   353,    -1,    55,
1178      121,   244,   122,   353,    -1,    55,   121,   262,   122,   353,
1179       -1,    54,   121,   262,    -1,   376,     1,    -1,    56,   121,
1180      244,   122,   353,    -1,    56,   121,   262,   353,    -1,    56,
1181      121,   122,   353,    -1,    57,   353,    56,   121,   244,   122,
1182      124,    -1,    57,   353,    56,   121,   262,   124,    -1,    58,
1183      121,   375,   375,   122,   353,    -1,    58,   121,   375,   122,
1184      353,    -1,    58,   121,   375,   375,   244,   122,   353,    -1,
1185       58,   121,   375,   375,   262,   353,    -1,    58,   121,   122,
1186      353,    -1,    58,   121,   215,   130,   244,   122,   353,    -1,
1187       58,   121,   215,   130,   244,   124,   244,   122,   353,    -1,
1188       58,   121,     1,    -1,    58,   121,   262,     1,    -1,    58,
1189      121,   375,     1,    -1,    58,   121,   375,   262,     1,    -1,
1190       58,   121,   375,   375,   262,    -1,    58,   121,   375,   375,
1191      122,   354,    -1,    58,   121,   375,   375,   244,   122,   354,
1192       -1,    58,   121,   375,   375,   262,   354,    -1,    57,   353,
1193       56,   121,   244,   122,    -1,    57,   353,    56,   121,   244,
1194       -1,    57,   353,    56,   121,   262,    -1,    57,   353,    56,
1195      121,    -1,    57,   353,    56,    -1,    57,   353,    -1,    57,
1196       -1,    56,     1,    -1,    56,   121,   122,     1,    -1,    56,
1197      121,   262,    -1,    56,   121,   244,   122,   354,    -1,    56,
1198      121,   262,   354,    -1,    59,   215,   124,    -1,    60,   124,
1199       -1,    61,   124,    -1,    62,   124,    -1,    62,   244,   124,
1200       -1,    62,   262,   124,    -1,    62,   220,   124,    -1,    62,
1201      221,   124,    -1,    62,   262,    -1,    62,   221,    -1,    62,
1202       -1,    59,    -1,   299,   331,   366,   373,    -1,   299,   331,
1203      373,    -1,   299,   333,   366,   373,    -1,   299,   333,   373,
1204       -1,   331,   366,   373,    -1,   331,   373,    -1,   299,   331,
1205      366,   374,    -1,   299,   331,   374,    -1,   299,   333,   366,
1206      374,    -1,   299,   333,   374,    -1,   331,   366,   374,    -1,
1207      331,   374,    -1,     5,    -1,   384,     5,    -1,   382,    -1,
1208      212,    -1,   299,   212,    -1,   363,    -1,    76,   384,    -1,
1209       76,    31,   384,    -1,    76,   215,   384,    -1,   124,    -1,
1210      360,   382,    -1,   360,   212,    -1,   360,   363,    -1,   360,
1211       76,   384,    -1,   360,    76,    31,   384,    -1,   360,    76,
1212      215,   384,    -1,   360,   130,    -1,    31,   130,    -1,   101,
1213      215,    -1,   101,   148,    -1,   390,    -1,   360,   390,    -1,
1214      214,    -1,   299,   214,    -1,   383,    -1,   360,   214,    -1,
1215      360,   383,    -1,   364,    -1,   360,   364,    -1,   386,    -1,
1216      388,   386,    -1,   387,   386,    -1,   388,     1,    -1,   387,
1217        1,    -1,   385,    -1,   388,   385,    -1,   387,   212,    -1,
1218      387,   360,   212,    -1,   388,    -1,   387,    -1,    -1,   105,
1219      384,   215,   128,   395,   127,    -1,   105,   384,   148,   128,
1220      395,   127,    -1,   105,   384,   128,   395,   127,    -1,   298,
1221      215,   384,   124,    -1,   215,    -1,   120,   215,    -1,   119,
1222      215,    -1,   392,    -1,   393,   126,   392,    -1,   107,   393,
1223      124,    -1,   107,   393,   215,   124,    -1,   391,    -1,   394,
1224       -1,   395,   391,    -1,   395,   394,    -1,   108,   121,   242,
1225      126,   242,   122,    -1,   106,   121,   384,   126,   215,   122,
1226       -1,   107,   121,   384,   126,   215,   122,    -1,   105,   121,
1227      384,   122,    -1
1228 };
1229
1230 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1231 static const yytype_uint16 yyrline[] =
1232 {
1233        0,   281,   281,   310,   369,   370,   480,   484,   487,   488,
1234      489,   538,   540,   545,   550,   555,   557,   562,   564,   569,
1235      571,   576,   578,   580,   582,   584,   588,   592,   605,   607,
1236      609,   611,   613,   619,   621,   626,   631,   636,   638,   640,
1237      645,   646,   650,   651,   662,   666,   667,   669,   674,   675,
1238      677,   680,   692,   703,   722,   724,   729,   730,   731,   732,
1239      733,   734,   735,   736,   749,   753,   754,   755,   756,   760,
1240      761,   762,   763,   764,   765,   766,   770,   772,   777,   779,
1241      781,   783,   785,   815,   817,   822,   824,   826,   828,   830,
1242      859,   861,   863,   868,   870,   875,   877,   881,   883,   885,
1243      887,   892,   895,   898,   901,   966,   968,   973,   975,   977,
1244      979,   981,  1012,  1016,  1017,  1018,  1022,  1023,  1024,  1028,
1245     1029,  1030,  1031,  1035,  1038,  1041,  1044,  1047,  1052,  1053,
1246     1055,  1057,  1059,  1061,  1066,  1070,  1073,  1076,  1079,  1082,
1247     1087,  1088,  1090,  1095,  1099,  1101,  1106,  1108,  1113,  1115,
1248     1120,  1125,  1127,  1132,  1134,  1136,  1138,  1143,  1145,  1147,
1249     1149,  1154,  1155,  1156,  1157,  1158,  1159,  1160,  1161,  1162,
1250     1163,  1164,  1166,  1167,  1169,  1173,  1176,  1177,  1178,  1179,
1251     1180,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,
1252     1191,  1192,  1196,  1197,  1198,  1202,  1206,  1207,  1208,  1212,
1253     1213,  1214,  1215,  1216,  1220,  1221,  1233,  1234,  1238,  1239,
1254     1240,  1241,  1242,  1243,  1244,  1245,  1249,  1253,  1254,  1258,
1255     1266,  1267,  1271,  1272,  1273,  1277,  1278,  1282,  1283,  1284,
1256     1285,  1286,  1287,  1327,  1328,  1332,  1340,  1341,  1349,  1350,
1257     1352,  1353,  1362,  1363,  1367,  1374,  1381,  1387,  1394,  1400,
1258     1409,  1416,  1422,  1428,  1434,  1440,  1446,  1457,  1462,  1463,
1259     1468,  1469,  1470,  1474,  1478,  1479,  1480,  1481,  1482,  1483,
1260     1484,  1497,  1498,  1499,  1500,  1501,  1502,  1503,  1504,  1505,
1261     1506,  1507,  1508,  1509,  1510,  1511,  1512,  1513,  1514,  1515,
1262     1516,  1517,  1518,  1519,  1521,  1522,  1523,  1524,  1525,  1527,
1263     1528,  1532,  1536,  1540,  1541,  1545,  1547,  1548,  1549,  1550,
1264     1551,  1552,  1553,  1554,  1555,  1557,  1558,  1559,  1560,  1561,
1265     1562,  1563,  1564,  1591,  1592,  1593,  1594,  1598,  1599,  1600,
1266     1601,  1602,  1606,  1607,  1608,  1609,  1611,  1612,  1613,  1614,
1267     1617,  1618,  1622,  1623,  1632,  1633,  1634,  1635,  1636,  1637,
1268     1638,  1639,  1643,  1644,  1648,  1649,  1650,  1651,  1652,  1653,
1269     1654,  1658,  1659,  1660,  1661,  1662,  1666,  1667,  1668,  1669,
1270     1670,  1674,  1682,  1683,  1684,  1685,  1686,  1687,  1688,  1689,
1271     1690,  1694,  1695,  1696,  1697,  1698,  1700,  1701,  1702,  1703,
1272     1707,  1708,  1709,  1711,  1712,  1716,  1717,  1718,  1720,  1721,
1273     1725,  1726,  1727,  1729,  1730,  1734,  1735,  1736,  1740,  1741,
1274     1742,  1746,  1747,  1748,  1749,  1750,  1752,  1753,  1754,  1755,
1275     1757,  1758,  1759,  1760,  1762,  1763,  1764,  1765,  1769,  1770,
1276     1771,  1772,  1773,  1775,  1776,  1777,  1778,  1782,  1783,  1784,
1277     1785,  1786,  1787,  1788,  1789,  1790,  1791,  1792,  1796,  1797,
1278     1798,  1799,  1803,  1804,  1805,  1809,  1810,  1811,  1812,  1814,
1279     1815,  1817,  1818,  1823,  1825,  1830,  1858,  1859,  1860,  1861,
1280     1863,  1864,  1865,  1866,  1868,  1869,  1873,  1874,  1883,  1884,
1281     1888,  1889,  1890,  1891,  1892,  1893,  1894,  1898,  1899,  1903,
1282     1907,  1911,  1918,  1919,  1920,  1921,  1922,  1926,  1927,  1978,
1283     1979,  1980,  1981,  1982,  1983,  1984,  1988,  1989,  1990,  1991,
1284     1992,  1999,  2000,  2001,  2002,  2006,  2007,  2008,  2010,  2011,
1285     2015,  2016,  2017,  2019,  2020,  2024,  2025,  2026,  2028,  2029,
1286     2033,  2034,  2035,  2039,  2040,  2041,  2045,  2046,  2047,  2048,
1287     2049,  2050,  2051,  2052,  2053,  2055,  2056,  2057,  2058,  2059,
1288     2060,  2061,  2062,  2064,  2065,  2066,  2067,  2069,  2070,  2071,
1289     2072,  2074,  2082,  2086,  2091,  2098,  2099,  2103,  2108,  2109,
1290     2113,  2114,  2115,  2116,  2122,  2123,  2124,  2128,  2129,  2130,
1291     2131,  2135,  2137,  2141,  2142,  2143,  2144,  2145,  2146,  2147,
1292     2151,  2152,  2153,  2154,  2155,  2156,  2157,  2161,  2162,  2163,
1293     2167,  2168,  2169,  2173,  2177,  2178,  2182,  2183,  2184,  2188,
1294     2189,  2191,  2192,  2193,  2194,  2195,  2197,  2198,  2199,  2200,
1295     2201,  2203,  2204,  2208,  2209,  2213,  2214,  2215,  2219,  2220,
1296     2221,  2222,  2223,  2224,  2225,  2226,  2227,  2229,  2230,  2232,
1297     2233,  2234,  2235,  2236,  2238,  2239,  2240,  2241,  2245,  2246,
1298     2250,  2251,  2255,  2259,  2260,  2261,  2266,  2267,  2271,  2272,
1299     2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,  2282,
1300     2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,  2291,  2292,
1301     2293,  2294,  2295,  2296,  2300,  2301,  2302,  2303,  2304,  2305,
1302     2306,  2307,  2308,  2309,  2310,  2311,  2312,  2313,  2314,  2315,
1303     2316,  2317,  2318,  2319,  2320,  2321,  2322,  2323,  2329,  2331,
1304     2333,  2335,  2337,  2339,  2341,  2343,  2345,  2347,  2352,  2353,
1305     2357,  2363,  2369,  2376,  2386,  2387,  2388,  2389,  2393,  2394,
1306     2395,  2397,  2398,  2399,  2401,  2402,  2403,  2407,  2411,  2419,
1307     2428,  2437,  2438,  2440,  2441,  2445,  2452,  2459,  2462,  2475,
1308     2489,  2492,  2494,  2496,  2501,  2502,  2506,  2507,  2508,  2509,
1309     2510,  2511,  2512,  2513,  2517,  2518,  2519,  2520,  2521,  2522,
1310     2523,  2524,  2525,  2526,  2530,  2531,  2532,  2533,  2534,  2535,
1311     2536,  2537,  2538,  2539,  2543,  2544,  2545,  2546,  2547,  2548,
1312     2549,  2550,  2551,  2552,  2553,  2554,  2558,  2559,  2560,  2561,
1313     2562,  2563,  2564,  2565,  2566,  2567,  2571,  2572,  2576,  2577,
1314     2578,  2579,  2580,  2581,  2582,  2583,  2584,  2586,  2588,  2606,
1315     2624,  2625,  2629,  2630,  2631,  2632,  2633,  2634,  2635,  2636,
1316     2637,  2655,  2672,  2673,  2674,  2675,  2676,  2677,  2678,  2679,
1317     2680,  2681,  2682,  2683,  2684,  2702,  2719,  2720,  2721,  2722,
1318     2723,  2724,  2725,  2726,  2727,  2728,  2729,  2730,  2731,  2749,
1319     2766,  2767,  2771,  2772,  2773,  2774,  2775,  2779,  2780,  2787,
1320     2789,  2798,  2807,  2816,  2825,  2826,  2827,  2828,  2832,  2833,
1321     2834,  2835,  2836,  2837,  2838,  2839,  2840,  2844,  2848,  2849,
1322     2850,  2851,  2852,  2857,  2866,  2875,  2884,  2898,  2899,  2904,
1323     2908,  2909,  2910,  2911,  2912,  2917,  2926,  2935,  2944,  2958,
1324     2959,  3008,  3009,  3010,  3011,  3023,  3024,  3025,  3030,  3031,
1325     3032,  3033,  3034,  3038,  3039,  3043,  3044,  3045,  3049,  3050,
1326     3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,  3063,
1327     3064,  3065,  3066,  3067,  3068,  3069,  3073,  3074,  3075,  3076,
1328     3077,  3078,  3079,  3080,  3084,  3085,  3086,  3087,  3091,  3092,
1329     3093,  3094,  3095,  3099,  3100,  3101,  3102,  3103,  3107,  3108,
1330     3110,  3112,  3114,  3119,  3120,  3122,  3124,  3129,  3130,  3131,
1331     3132,  3136,  3137,  3138,  3139,  3143,  3144,  3145,  3146,  3150,
1332     3151,  3152,  3153,  3157,  3158,  3159,  3160,  3164,  3165,  3166,
1333     3183,  3184,  3185,  3186,  3199,  3216,  3217,  3222,  3223,  3227,
1334     3228,  3229,  3230,  3233,  3234,  3238,  3239,  3240,  3244,  3248,
1335     3252,  3253,  3254,  3255,  3256,  3265,  3274,  3275,  3276,  3277,
1336     3281,  3282,  3286,  3287,  3292,  3293,  3294,  3295,  3296,  3297,
1337     3316,  3317,  3321,  3322,  3323,  3324,  3325,  3326,  3328,  3329,
1338     3330,  3331,  3335,  3336,  3337,  3338,  3339,  3341,  3342,  3343,
1339     3347,  3348,  3349,  3350,  3351,  3352,  3356,  3357,  3358,  3363,
1340     3364,  3365,  3366,  3367,  3368,  3369,  3370,  3371,  3372,  3373,
1341     3374,  3375,  3379,  3380,  3381,  3382,  3383,  3384,  3385,  3389,
1342     3390,  3391,  3395,  3396,  3397,  3401,  3402,  3403,  3404,  3406,
1343     3407,  3408,  3410,  3411,  3412,  3413,  3415,  3416,  3417,  3421,
1344     3422,  3423,  3424,  3425,  3427,  3428,  3429,  3430,  3431,  3435,
1345     3436,  3437,  3438,  3439,  3440,  3441,  3443,  3444,  3445,  3446,
1346     3447,  3451,  3452,  3453,  3457,  3458,  3462,  3463,  3464,  3465,
1347     3469,  3470,  3471,  3473,  3474,  3475,  3479,  3483,  3484,  3486,
1348     3487,  3488,  3492,  3493,  3494,  3495,  3499,  3500,  3504,  3505,
1349     3506,  3510,  3511,  3512,  3513,  3514,  3515,  3516,  3520,  3521,
1350     3522,  3523,  3527,  3528,  3529,  3530,  3534,  3538,  3542,  3544,
1351     3547,  3553,  3554,  3555,  3559,  3560,  3561,  3562,  3563,  3564,
1352     3568,  3569,  3573,  3574,  3575,  3577,  3578,  3580,  3581,  3582,
1353     3583,  3584,  3586,  3587,  3591,  3592,  3593,  3594,  3598,  3599,
1354     3600,  3601,  3603,  3604,  3605,  3606,  3607,  3608,  3609,  3612,
1355     3616,  3617,  3621,  3622,  3626,  3627,  3628,  3629,  3630,  3631,
1356     3632,  3633,  3637,  3638,  3639,  3640,  3646,  3647,  3649,  3650,
1357     3653,  3654,  3657,  3658,  3659,  3660,  3661,  3662,  3666,  3667,
1358     3679,  3680,  3683,  3686,  3688,  3689,  3690,  3700,  3702,  3703,
1359     3705,  3706,  3707,  3708,  3718,  3719,  3720,  3721,  3722,  3723,
1360     3727,  3728,  3737,  3739,  3740,  3742,  3744,  3748,  3749,  3750,
1361     3751,  3752,  3756,  3757,  3758,  3760,  3765,  3766,  3767,  3771,
1362     3772,  3773,  3777,  3781,  3782,  3783,  3787,  3788,  3792,  3793,
1363     3797,  3798,  3799,  3800,  3804,  3808,  3812,  3816
1364 };
1365 #endif
1366
1367 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1368 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1369    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1370 static const char *const yytname[] =
1371 {
1372   "$end", "error", "$undefined", "IDENTIFIER", "CONSTANT",
1373   "STRING_LITERAL", "SIZEOF", "PTR_OP", "INC_OP", "DEC_OP", "LEFT_OP",
1374   "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP",
1375   "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
1376   "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN",
1377   "TYPE_NAME", "TYPEDEF", "EXTERN", "STATIC", "AUTO", "REGISTER", "CHAR",
1378   "SHORT", "INT", "UINT", "INT64", "LONG", "SIGNED", "UNSIGNED", "FLOAT",
1379   "DOUBLE", "CONST", "VOLATILE", "VOID", "VALIST", "STRUCT", "UNION",
1380   "ENUM", "ELLIPSIS", "CASE", "DEFAULT", "IF", "SWITCH", "WHILE", "DO",
1381   "FOR", "GOTO", "CONTINUE", "BREAK", "RETURN", "IFX", "ELSE", "CLASS",
1382   "THISCLASS", "CLASS_NAME", "PROPERTY", "SETPROP", "GETPROP", "NEWOP",
1383   "RENEW", "DELETE", "EXT_DECL", "EXT_STORAGE", "IMPORT", "DEFINE",
1384   "VIRTUAL", "ATTRIB", "PUBLIC", "PRIVATE", "TYPED_OBJECT", "ANY_OBJECT",
1385   "_INCREF", "EXTENSION", "ASM", "TYPEOF", "WATCH", "STOPWATCHING",
1386   "FIREWATCHERS", "WATCHABLE", "CLASS_DESIGNER", "CLASS_NO_EXPANSION",
1387   "CLASS_FIXED", "ISPROPSET", "CLASS_DEFAULT_PROPERTY",
1388   "PROPERTY_CATEGORY", "CLASS_DATA", "CLASS_PROPERTY", "SUBCLASS",
1389   "NAMESPACE", "NEW0OP", "RENEW0", "VAARG", "DBTABLE", "DBFIELD",
1390   "DBINDEX", "DATABASE_OPEN", "ALIGNOF", "ATTRIB_DEP", "__ATTRIB", "BOOL",
1391   "_BOOL", "_COMPLEX", "_IMAGINARY", "RESTRICT", "THREAD", "'*'", "'<'",
1392   "'>'", "'('", "')'", "'~'", "';'", "'='", "','", "'}'", "'{'", "'.'",
1393   "':'", "'$'", "'['", "']'", "'&'", "'+'", "'-'", "'!'", "'/'", "'%'",
1394   "'^'", "'|'", "'?'", "$accept", "guess_type", "type", "base_strict_type",
1395   "base_strict_type_name", "strict_type",
1396   "class_function_definition_start",
1397   "constructor_function_definition_start",
1398   "destructor_function_definition_start",
1399   "virtual_class_function_definition_start",
1400   "class_function_definition_start_error",
1401   "virtual_class_function_definition_start_error",
1402   "class_function_definition", "class_function_definition_error",
1403   "instance_class_function_definition_start",
1404   "instance_class_function_definition_start_error",
1405   "instance_class_function_definition",
1406   "instance_class_function_definition_error", "data_member_initialization",
1407   "data_member_initialization_error", "data_member_initialization_list",
1408   "data_member_initialization_list_error",
1409   "data_member_initialization_list_coloned",
1410   "members_initialization_list_coloned", "members_initialization_list",
1411   "members_initialization_list_error", "instantiation_named",
1412   "instantiation_named_error", "guess_instantiation_named",
1413   "guess_instantiation_named_error", "external_guess_instantiation_named",
1414   "instantiation_unnamed", "instantiation_unnamed_error",
1415   "instantiation_anon", "instantiation_anon_error", "default_property",
1416   "default_property_error", "default_property_list",
1417   "default_property_list_error", "property_start", "property_body",
1418   "property", "class_property_start", "class_property_body",
1419   "class_property", "watch_property_list", "property_watch",
1420   "property_watch_list", "self_watch_definition", "watch_definition",
1421   "stopwatching", "firewatchers", "struct_declaration",
1422   "struct_declaration_error", "struct_declaration_list",
1423   "struct_declaration_list_error", "template_datatype",
1424   "template_type_argument", "template_type_parameter",
1425   "template_identifier_argument", "template_identifier_parameter",
1426   "template_expression_argument", "template_expression_parameter",
1427   "template_parameter", "template_parameters_list", "template_argument",
1428   "template_arguments_list", "class_entry", "class_decl", "class",
1429   "class_head", "class_error", "identifier", "primary_expression",
1430   "i18n_string", "constant", "simple_primary_expression",
1431   "anon_instantiation_expression", "anon_instantiation_expression_error",
1432   "primary_expression_error", "postfix_expression",
1433   "argument_expression_list", "argument_expression_list_error",
1434   "common_unary_expression", "unary_expression", "unary_operator",
1435   "cast_expression", "multiplicative_expression", "additive_expression",
1436   "shift_expression", "relational_expression_smaller_than",
1437   "relational_expression", "equality_expression", "and_expression",
1438   "exclusive_or_expression", "inclusive_or_expression",
1439   "logical_and_expression", "logical_or_expression",
1440   "conditional_expression", "assignment_expression", "assignment_operator",
1441   "expression", "expression_anon_inst", "postfix_expression_error",
1442   "common_unary_expression_error", "unary_expression_error",
1443   "cast_expression_error", "multiplicative_expression_error",
1444   "additive_expression_error", "shift_expression_error",
1445   "relational_expression_error", "equality_expression_error",
1446   "and_expression_error", "exclusive_or_expression_error",
1447   "inclusive_or_expression_error", "logical_and_expression_error",
1448   "logical_or_expression_error", "conditional_expression_error",
1449   "assignment_expression_error", "expression_error",
1450   "expression_anon_inst_error", "constant_expression",
1451   "constant_expression_error", "storage_class_specifier",
1452   "external_storage_class_specifier", "enumerator", "enumerator_list",
1453   "enum_specifier", "enum_specifier_nocompound", "enum_specifier_compound",
1454   "enum_specifier_compound_error", "enum_decl", "enum_class",
1455   "enum_class_error", "class_specifier", "class_specifier_error",
1456   "ext_storage", "type_qualifier", "type_qualifier_list", "type_specifier",
1457   "strict_type_specifier", "struct_declarator", "struct_declarator_list",
1458   "struct_entry", "struct_or_union_specifier_compound",
1459   "struct_or_union_specifier_compound_error",
1460   "struct_or_union_specifier_nocompound", "struct_decl", "struct_head",
1461   "struct_class", "struct_class_error", "struct_or_union",
1462   "specifier_qualifier_list", "guess_specifier_qualifier_list",
1463   "declaration_specifiers", "guess_declaration_specifiers",
1464   "external_guess_declaration_specifiers",
1465   "external_guess_declaration_specifiers_error", "_inheritance_specifiers",
1466   "inheritance_specifiers", "property_specifiers", "renew_specifiers",
1467   "new_specifiers", "identifier_list_error", "identifier_list",
1468   "direct_declarator_nofunction_type_ok", "direct_declarator_nofunction",
1469   "direct_declarator_function_start", "direct_declarator_function",
1470   "direct_declarator_function_error", "direct_declarator",
1471   "direct_declarator_function_start_type_ok",
1472   "direct_declarator_function_type_ok",
1473   "direct_declarator_function_error_type_ok", "direct_declarator_type_ok",
1474   "ext_decl", "_attrib", "attribute_word", "attribute", "attribs_list",
1475   "attrib", "direct_abstract_declarator",
1476   "direct_abstract_declarator_noarray", "pointer", "abstract_declarator",
1477   "abstract_declarator_noarray", "declarator", "declarator_type_ok",
1478   "declarator_function", "declarator_function_error",
1479   "declarator_function_type_ok", "declarator_function_error_type_ok",
1480   "declarator_nofunction_type_ok", "initializer", "initializer_error",
1481   "initializer_condition", "initializer_condition_error",
1482   "initializer_list", "init_declarator", "init_declarator_error",
1483   "init_declarator_list", "init_declarator_list_error", "type_name",
1484   "guess_type_name", "parameter_declaration",
1485   "parameter_declaration_error", "parameter_list", "parameter_list_error",
1486   "parameter_type_list", "parameter_type_list_error", "statement",
1487   "statement_error", "asm_field", "asm_field_list", "asm_statement",
1488   "labeled_statement", "labeled_statement_error", "declaration_mode",
1489   "member_access", "declaration", "external_guess_declaration",
1490   "external_guess_declaration_error", "declaration_error",
1491   "declaration_list", "declaration_list_error", "statement_list",
1492   "statement_list_error", "compound_inside", "compound_inside_error",
1493   "compound_start", "compound_statement", "compound_statement_error",
1494   "expression_statement", "selection_statement",
1495   "selection_statement_error", "iteration_statement",
1496   "iteration_statement_error", "jump_statement", "jump_statement_error",
1497   "function_definition", "function_definition_error", "string_literal",
1498   "external_declaration", "external_declaration_error",
1499   "translation_unit_error", "translation_unit", "thefile",
1500   "dbtable_definition", "dbfield_entry", "dbindex_item",
1501   "dbindex_item_list", "dbindex_entry", "dbfield_definition_list",
1502   "database_open", "dbfield", "dbindex", "dbtable", 0
1503 };
1504 #endif
1505
1506 # ifdef YYPRINT
1507 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1508    token YYLEX-NUM.  */
1509 static const yytype_uint16 yytoknum[] =
1510 {
1511        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1512      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1513      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1514      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1515      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1516      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1517      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1518      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1519      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1520      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1521      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1522      365,   366,   367,   368,   369,   370,   371,   372,    42,    60,
1523       62,    40,    41,   126,    59,    61,    44,   125,   123,    46,
1524       58,    36,    91,    93,    38,    43,    45,    33,    47,    37,
1525       94,   124,    63
1526 };
1527 # endif
1528
1529 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1530 static const yytype_uint16 yyr1[] =
1531 {
1532        0,   143,   144,   144,   145,   145,   146,   147,   148,   148,
1533      148,   149,   149,   150,   151,   152,   152,   153,   153,   154,
1534      154,   155,   155,   155,   155,   155,   155,   155,   156,   156,
1535      156,   156,   156,   157,   157,   158,   159,   160,   160,   160,
1536      161,   161,   162,   162,   162,   163,   163,   163,   164,   164,
1537      164,   164,   164,   164,   165,   165,   166,   166,   166,   166,
1538      166,   166,   166,   166,   166,   167,   167,   167,   167,   168,
1539      168,   168,   168,   168,   168,   168,   169,   169,   170,   170,
1540      170,   170,   170,   171,   171,   172,   172,   172,   172,   172,
1541      173,   173,   173,   174,   174,   175,   175,   175,   175,   175,
1542      175,   175,   175,   175,   175,   176,   176,   177,   177,   177,
1543      177,   177,   178,   179,   179,   179,   180,   180,   180,   181,
1544      181,   181,   181,   182,   182,   182,   182,   182,   183,   183,
1545      183,   183,   183,   183,   184,   185,   185,   185,   185,   185,
1546      186,   186,   186,   187,   188,   188,   189,   189,   190,   190,
1547      191,   192,   192,   193,   193,   193,   193,   194,   194,   194,
1548      194,   195,   195,   195,   195,   195,   195,   195,   195,   195,
1549      195,   195,   195,   195,   195,   196,   196,   196,   196,   196,
1550      196,   196,   196,   196,   196,   196,   196,   196,   196,   196,
1551      196,   196,   196,   196,   196,   196,   197,   197,   197,   198,
1552      198,   198,   198,   198,   199,   199,   200,   200,   201,   201,
1553      201,   201,   201,   201,   201,   201,   202,   203,   203,   204,
1554      205,   205,   206,   206,   206,   207,   207,   208,   208,   208,
1555      208,   208,   208,   209,   209,   210,   211,   211,   211,   211,
1556      211,   211,   211,   211,   212,   212,   212,   212,   212,   212,
1557      213,   214,   214,   214,   214,   214,   214,   215,   216,   216,
1558      217,   217,   217,   218,   219,   219,   219,   219,   219,   219,
1559      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1560      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1561      219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
1562      219,   220,   221,   222,   222,   223,   223,   223,   223,   223,
1563      223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1564      223,   223,   223,   224,   224,   224,   224,   225,   225,   225,
1565      225,   225,   226,   226,   226,   226,   226,   226,   226,   226,
1566      226,   226,   227,   227,   228,   228,   228,   228,   228,   228,
1567      228,   228,   229,   229,   230,   230,   230,   230,   230,   230,
1568      230,   231,   231,   231,   231,   231,   232,   232,   232,   232,
1569      232,   233,   234,   234,   234,   234,   234,   234,   234,   234,
1570      234,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1571      236,   236,   236,   236,   236,   237,   237,   237,   237,   237,
1572      238,   238,   238,   238,   238,   239,   239,   239,   240,   240,
1573      240,   241,   241,   241,   241,   241,   241,   241,   241,   241,
1574      241,   241,   241,   241,   241,   241,   241,   241,   242,   242,
1575      242,   242,   242,   242,   242,   242,   242,   243,   243,   243,
1576      243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
1577      244,   244,   245,   245,   245,   246,   246,   246,   246,   246,
1578      246,   246,   246,   246,   246,   246,   247,   247,   247,   247,
1579      247,   247,   247,   247,   247,   247,   248,   248,   249,   249,
1580      250,   250,   250,   250,   250,   250,   250,   251,   251,   251,
1581      251,   251,   252,   252,   252,   252,   252,   253,   253,   253,
1582      253,   253,   253,   253,   253,   253,   254,   254,   254,   254,
1583      254,   254,   254,   254,   254,   255,   255,   255,   255,   255,
1584      256,   256,   256,   256,   256,   257,   257,   257,   257,   257,
1585      258,   258,   258,   259,   259,   259,   260,   260,   260,   260,
1586      260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
1587      260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
1588      260,   260,   260,   260,   260,   261,   261,   261,   261,   261,
1589      262,   262,   262,   262,   262,   262,   262,   263,   263,   263,
1590      263,   264,   265,   266,   266,   266,   266,   266,   266,   266,
1591      267,   267,   267,   267,   267,   267,   267,   268,   268,   268,
1592      269,   269,   269,   270,   271,   271,   272,   272,   272,   273,
1593      273,   273,   273,   273,   273,   273,   273,   273,   273,   273,
1594      273,   273,   273,   274,   274,   275,   275,   275,   276,   276,
1595      276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
1596      276,   276,   276,   276,   276,   276,   276,   276,   277,   277,
1597      278,   278,   279,   280,   280,   280,   281,   281,   282,   282,
1598      282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
1599      282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
1600      282,   282,   282,   282,   283,   283,   283,   283,   283,   283,
1601      283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
1602      283,   283,   283,   283,   283,   283,   283,   283,   284,   284,
1603      284,   284,   284,   284,   284,   284,   284,   284,   285,   285,
1604      286,   286,   286,   286,   287,   287,   287,   287,   288,   288,
1605      288,   288,   288,   288,   288,   288,   288,   289,   290,   290,
1606      291,   292,   292,   292,   292,   293,   293,   293,   293,   293,
1607      293,   293,   293,   293,   294,   294,   295,   295,   295,   295,
1608      295,   295,   295,   295,   296,   296,   296,   296,   296,   296,
1609      296,   296,   296,   296,   297,   297,   297,   297,   297,   297,
1610      297,   297,   297,   297,   298,   298,   298,   298,   298,   298,
1611      298,   298,   298,   298,   298,   298,   299,   299,   299,   299,
1612      299,   299,   299,   299,   299,   299,   300,   300,   301,   301,
1613      301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
1614      302,   302,   303,   303,   303,   303,   303,   303,   303,   303,
1615      303,   303,   304,   304,   304,   304,   304,   304,   304,   304,
1616      304,   304,   304,   304,   304,   304,   305,   305,   305,   305,
1617      305,   305,   305,   305,   305,   305,   305,   305,   305,   305,
1618      306,   306,   307,   307,   307,   307,   307,   308,   308,   308,
1619      308,   308,   308,   308,   308,   308,   308,   308,   309,   309,
1620      309,   309,   309,   309,   309,   309,   309,   310,   311,   311,
1621      311,   311,   311,   312,   312,   312,   312,   313,   313,   314,
1622      315,   315,   315,   315,   315,   316,   316,   316,   316,   317,
1623      317,   318,   318,   318,   318,   319,   319,   319,   320,   320,
1624      320,   320,   320,   321,   321,   322,   322,   322,   323,   323,
1625      324,   324,   324,   324,   324,   324,   324,   324,   324,   324,
1626      324,   324,   324,   324,   324,   324,   325,   325,   325,   325,
1627      325,   325,   325,   325,   326,   326,   326,   326,   327,   327,
1628      327,   327,   327,   328,   328,   328,   328,   328,   329,   329,
1629      329,   329,   329,   330,   330,   330,   330,   331,   331,   331,
1630      331,   332,   332,   332,   332,   333,   333,   333,   333,   334,
1631      334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
1632      337,   337,   337,   337,   337,   338,   338,   339,   339,   340,
1633      340,   340,   340,   340,   340,   341,   341,   341,   342,   342,
1634      343,   343,   343,   343,   343,   343,   344,   344,   344,   344,
1635      345,   345,   346,   346,   347,   347,   347,   347,   347,   347,
1636      348,   348,   349,   349,   349,   349,   349,   349,   349,   349,
1637      349,   349,   350,   350,   350,   350,   350,   350,   350,   350,
1638      351,   351,   351,   351,   351,   351,   352,   352,   352,   353,
1639      353,   353,   353,   353,   353,   353,   353,   353,   353,   353,
1640      353,   353,   354,   354,   354,   354,   354,   354,   354,   355,
1641      355,   355,   356,   356,   356,   357,   357,   357,   357,   357,
1642      357,   357,   357,   357,   357,   357,   357,   357,   357,   358,
1643      358,   358,   358,   358,   358,   358,   358,   358,   358,   359,
1644      359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1645      359,   360,   360,   360,   361,   361,   362,   362,   362,   362,
1646      363,   363,   363,   363,   363,   363,   364,   365,   365,   365,
1647      365,   365,   366,   366,   366,   366,   367,   367,   368,   368,
1648      368,   369,   369,   369,   369,   369,   369,   369,   370,   370,
1649      370,   370,   371,   371,   371,   371,   372,   373,   374,   374,
1650      374,   375,   375,   375,   376,   376,   376,   376,   376,   376,
1651      377,   377,   378,   378,   378,   378,   378,   378,   378,   378,
1652      378,   378,   378,   378,   379,   379,   379,   379,   379,   379,
1653      379,   379,   379,   379,   379,   379,   379,   379,   379,   379,
1654      379,   379,   379,   379,   380,   380,   380,   380,   380,   380,
1655      380,   380,   381,   381,   381,   381,   382,   382,   382,   382,
1656      382,   382,   383,   383,   383,   383,   383,   383,   384,   384,
1657      385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
1658      385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
1659      386,   386,   386,   386,   386,   386,   386,   387,   387,   387,
1660      387,   387,   388,   388,   388,   388,   389,   389,   389,   390,
1661      390,   390,   391,   392,   392,   392,   393,   393,   394,   394,
1662      395,   395,   395,   395,   396,   397,   398,   399
1663 };
1664
1665 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1666 static const yytype_uint8 yyr2[] =
1667 {
1668        0,     2,     2,     2,     1,     2,     1,     1,     1,     4,
1669        4,     2,     1,     3,     4,     3,     2,     2,     1,     3,
1670        2,     2,     2,     2,     2,     2,     2,     3,     2,     1,
1671        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1672        3,     1,     3,     3,     1,     1,     3,     3,     1,     3,
1673        3,     3,     3,     1,     2,     2,     1,     1,     2,     2,
1674        2,     2,     2,     2,     1,     1,     1,     2,     2,     1,
1675        2,     2,     2,     2,     1,     2,     2,     3,     4,     5,
1676        4,     3,     4,     2,     3,     4,     5,     4,     3,     4,
1677        5,     5,     4,     2,     3,     3,     3,     3,     2,     4,
1678        3,     3,     2,     4,     3,     2,     3,     2,     3,     2,
1679        1,     2,     3,     3,     3,     2,     1,     3,     3,     1,
1680        3,     3,     2,     4,     5,     3,     4,     3,     1,     3,
1681        3,     3,     2,     3,     2,     4,     5,     3,     4,     3,
1682        1,     3,     3,     2,     1,     2,     2,     2,     1,     2,
1683        5,     7,     9,     6,     8,     4,     6,     1,     2,     3,
1684        4,     2,     2,     1,     1,     2,     2,     1,     1,     1,
1685        1,     7,     1,     2,     4,     1,     1,     2,     3,     2,
1686        2,     2,     3,     1,     2,     2,     2,     1,     1,     1,
1687        2,     2,     2,     3,     3,     1,     1,     2,     2,     1,
1688        2,     2,     2,     2,     1,     2,     1,     2,     2,     4,
1689        4,     6,     2,     4,     4,     6,     1,     1,     3,     1,
1690        4,     5,     1,     1,     1,     1,     3,     1,     1,     1,
1691        3,     3,     3,     1,     3,     1,     2,     2,     3,     3,
1692        5,     5,     6,     6,     2,     2,     3,     3,     3,     3,
1693        3,     3,     3,     3,     3,     3,     3,     1,     1,     3,
1694        1,     2,     4,     1,     1,     1,     4,     4,     5,     8,
1695        2,     1,     1,     2,     6,     6,     5,     5,     6,     6,
1696        5,     5,     7,     7,     6,     6,     7,     7,     6,     6,
1697        4,     5,     4,     6,     4,     1,     1,     1,     1,     3,
1698        2,     1,     2,     2,     2,     1,     4,     4,     3,     4,
1699        4,     3,     3,     2,     2,     4,     4,     3,     4,     3,
1700        3,     2,     2,     1,     1,     3,     3,     1,     1,     3,
1701        3,     2,     2,     2,     2,     2,     2,     4,     5,     5,
1702        2,     4,     1,     1,     1,     1,     1,     1,     1,     1,
1703        1,     1,     1,     4,     1,     3,     3,     3,     3,     3,
1704        3,     1,     3,     3,     3,     3,     1,     3,     3,     3,
1705        3,     2,     1,     2,     3,     3,     3,     3,     3,     3,
1706        3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
1707        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1708        1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
1709        3,     1,     5,     5,     5,     5,     5,     5,     5,     5,
1710        5,     5,     5,     5,     5,     5,     5,     5,     1,     3,
1711        3,     3,     3,     3,     3,     3,     3,     1,     1,     1,
1712        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
1713        3,     2,     1,     3,     3,     1,     1,     2,     2,     3,
1714        3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
1715        2,     5,     6,     6,     2,     5,     1,     1,     1,     4,
1716        1,     3,     3,     3,     3,     3,     3,     1,     3,     3,
1717        3,     3,     1,     3,     3,     3,     3,     1,     2,     3,
1718        3,     3,     3,     3,     3,     3,     1,     3,     3,     3,
1719        3,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1720        1,     3,     3,     3,     3,     1,     3,     3,     3,     3,
1721        1,     3,     3,     1,     3,     3,     1,     5,     5,     5,
1722        5,     4,     4,     4,     4,     5,     5,     5,     5,     4,
1723        4,     4,     4,     5,     5,     5,     5,     5,     5,     5,
1724        5,     3,     3,     2,     2,     1,     3,     3,     3,     3,
1725        1,     2,     3,     3,     2,     2,     2,     1,     2,     3,
1726        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1727        1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
1728        1,     3,     2,     1,     2,     2,     2,     4,     4,     3,
1729        3,     4,     5,     4,     6,     6,     4,     5,     4,     6,
1730        6,     5,     5,     2,     2,     2,     5,     3,     5,     6,
1731        5,     7,     7,     8,     8,     7,     7,     3,     3,     3,
1732        4,     3,     5,     5,     6,     7,     6,     4,     1,     1,
1733        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
1734        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1735        1,     1,     1,     1,     4,     4,     4,     1,     1,     1,
1736        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1737        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1738        1,     1,     1,     1,     4,     4,     4,     1,     1,     2,
1739        2,     3,     5,     2,     3,     5,     5,     5,     1,     3,
1740        2,     2,     3,     3,     2,     3,     3,     4,     3,     3,
1741        3,     3,     3,     3,     4,     4,     4,     1,     1,     4,
1742        3,     2,     3,     3,     3,     3,     3,     3,     3,     3,
1743        3,     3,     3,     3,     1,     1,     1,     2,     1,     2,
1744        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1745        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1746        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1747        1,     2,     1,     2,     1,     2,     1,     2,     1,     2,
1748        1,     2,     1,     2,     1,     2,     1,     2,     1,     1,
1749        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1750        1,     1,     1,     2,     1,     2,     1,     2,     1,     2,
1751        4,     5,     1,     2,     1,     2,     1,     2,     1,     2,
1752        1,     2,     1,     2,     4,     5,     1,     2,     1,     2,
1753        1,     2,     1,     2,     1,     2,     1,     2,     4,     5,
1754        3,     3,     1,     3,     3,     3,     3,     1,     1,     1,
1755        4,     4,     4,     3,     4,     4,     4,     3,     1,     3,
1756        4,     3,     4,     4,     4,     4,     3,     2,     3,     3,
1757        3,     3,     2,     2,     2,     3,     4,     1,     1,     2,
1758        3,     3,     3,     3,     2,     2,     2,     3,     4,     1,
1759        1,     1,     1,     1,     4,     1,     1,     1,     1,     1,
1760        1,     1,     1,     1,     4,     1,     2,     3,     6,     5,
1761        3,     4,     2,     3,     3,     3,     3,     4,     4,     4,
1762        2,     3,     3,     3,     4,     4,     3,     4,     2,     3,
1763        3,     3,     4,     4,     1,     2,     2,     3,     1,     1,
1764        2,     2,     3,     1,     1,     2,     2,     3,     1,     2,
1765        3,     2,     2,     1,     2,     3,     2,     1,     2,     3,
1766        3,     1,     2,     3,     3,     1,     2,     3,     3,     1,
1767        2,     3,     3,     1,     2,     3,     3,     1,     3,     4,
1768        1,     4,     2,     5,     3,     1,     1,     1,     1,     1,
1769        1,     3,     3,     2,     2,     1,     1,     3,     2,     3,
1770        1,     3,     3,     3,     3,     3,     1,     2,     3,     3,
1771        1,     2,     1,     2,     2,     2,     2,     3,     1,     1,
1772        3,     3,     1,     3,     4,     3,     4,     3,     3,     4,
1773        3,     4,     1,     3,     3,     4,     3,     3,     3,     4,
1774        1,     3,     3,     3,     3,     3,     1,     3,     2,     1,
1775        1,     1,     1,     1,     2,     1,     1,     1,     1,     2,
1776        2,     2,     1,     1,     1,     1,     1,     2,     1,     1,
1777        4,     7,     1,     3,     0,     6,     8,    10,    12,     8,
1778       10,    10,     5,     7,     9,    11,     7,     9,     9,     3,
1779        4,     4,     3,     3,     3,     4,     4,     3,     3,     3,
1780        4,     4,     3,     2,     3,     2,     3,     4,     4,     3,
1781        3,     1,     1,     1,     1,     1,     2,     3,     2,     2,
1782        2,     3,     3,     2,     5,     6,     2,     2,     2,     2,
1783        2,     2,     1,     2,     2,     3,     1,     2,     1,     2,
1784        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
1785        2,     2,     1,     1,     2,     2,     1,     2,     2,     1,
1786        2,     1,     2,     2,     5,     5,     7,     7,     5,     5,
1787        3,     2,     5,     4,     4,     7,     6,     6,     5,     7,
1788        6,     4,     7,     9,     3,     4,     4,     5,     5,     6,
1789        7,     6,     6,     5,     5,     4,     3,     2,     1,     2,
1790        4,     3,     5,     4,     3,     2,     2,     2,     3,     3,
1791        3,     3,     2,     2,     1,     1,     4,     3,     4,     3,
1792        3,     2,     4,     3,     4,     3,     3,     2,     1,     2,
1793        1,     1,     2,     1,     2,     3,     3,     1,     2,     2,
1794        2,     3,     4,     4,     2,     2,     2,     2,     1,     2,
1795        1,     2,     1,     2,     2,     1,     2,     1,     2,     2,
1796        2,     2,     1,     2,     2,     3,     1,     1,     0,     6,
1797        6,     5,     4,     1,     2,     2,     1,     3,     3,     4,
1798        1,     1,     2,     2,     6,     6,     6,     4
1799 };
1800
1801 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1802    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1803    means the default is an error.  */
1804 static const yytype_uint16 yydefact[] =
1805 {
1806     1288,   257,     6,   590,   591,   592,   594,   595,   659,   660,
1807      661,   662,   663,   665,   668,   669,   666,   667,   653,   654,
1808      658,   664,   754,   755,   603,  1133,   235,   677,   911,   912,
1809        0,     0,   915,  1131,  1132,   678,   679,   670,     0,     0,
1810        0,     0,     0,   916,   917,   681,   680,   682,   683,   596,
1811      593,   954,     0,  1257,   802,   673,     8,     4,     0,     0,
1812        0,  1251,     0,  1270,   878,   796,     0,   672,     0,   648,
1813      650,   804,   806,   655,   798,   800,   737,   671,     0,     0,
1814      649,   651,     0,     0,     0,     0,     0,   977,   652,     0,
1815      913,     0,     0,     0,  1253,  1275,  1250,  1272,  1282,  1277,
1816        0,     0,     0,  1268,     0,  1265,  1248,     0,     0,  1254,
1817        0,     0,     0,     0,  1267,  1266,     0,   656,   955,   652,
1818      956,   869,   868,   878,   910,   867,   897,   968,     0,   909,
1819      973,     0,     0,     0,     0,     0,     0,  1143,     0,   237,
1820      236,     0,     0,   245,     0,   244,     2,     3,     0,     5,
1821        0,   605,   604,     0,     0,   625,     0,     0,     0,     0,
1822      741,     0,   721,   720,     0,  1146,   592,   662,   663,  1140,
1823      803,     8,  1252,  1271,   878,   797,   805,   807,   799,   801,
1824      977,   985,   652,     0,     0,  1016,     0,     0,     0,  1026,
1825        0,     0,   869,     0,   868,     0,     0,   887,     0,     0,
1826      583,   584,   585,   587,   588,  1039,   589,   586,   892,   790,
1827      862,   784,     0,   794,     0,   786,   788,   737,   792,     0,
1828        0,  1038,     0,     0,  1042,  1052,     0,     0,     0,     0,
1829        0,     0,   978,     0,   685,   686,   687,   688,   689,   691,
1830      694,   695,   692,   693,   684,   690,   707,   696,     0,     0,
1831      701,   700,   702,   703,  1176,   699,     0,     0,   774,   698,
1832      780,   776,   778,   782,   697,     0,  1152,     0,     0,     0,
1833        0,  1241,  1247,   592,     0,  1264,  1259,  1273,     0,  1260,
1834     1276,  1258,  1274,  1269,  1281,  1284,     0,     0,     0,     0,
1835        0,  1279,  1280,  1283,  1278,     1,     0,  1255,  1256,  1249,
1836        0,     0,   456,   263,     0,     0,     0,     0,     0,     0,
1837      350,   351,     0,     0,     0,     0,     0,     0,     0,     0,
1838        0,     0,   345,     0,   348,     0,     0,   344,   346,   347,
1839      349,     0,   265,     0,   264,   305,   272,   271,   258,   455,
1840        0,   342,   352,     0,   354,   361,   366,   372,     0,   381,
1841      390,   395,   400,   405,   408,   411,   428,     0,   477,   476,
1842      478,   480,   487,   492,   497,   506,   515,   520,   525,   530,
1843      533,   536,     0,   260,   295,   296,   297,   298,     0,     0,
1844        0,     0,     0,   657,   957,     0,   899,     0,   904,     0,
1845        0,     0,     0,     0,     0,     0,   910,   969,   974,     0,
1846      879,   971,   881,   976,   972,   670,     4,   229,   228,   227,
1847      233,     0,   264,   352,   219,   478,     0,   206,   249,     0,
1848        0,   248,   255,     0,     0,  1134,  1135,     0,   168,     0,
1849      169,   170,     0,     0,     0,     0,     0,   172,   246,     0,
1850        0,     0,     0,    29,    31,   163,   175,   188,     0,   187,
1851        0,   116,   119,     0,   195,   128,     0,   164,   140,     0,
1852      167,   183,   196,   199,     0,     0,   264,     0,     0,   176,
1853        0,   981,   652,     0,    12,    18,     0,   809,   808,   816,
1854      810,     0,   812,   814,   737,   821,   820,   250,   256,   247,
1855        0,     0,   239,   238,   638,   597,   600,   637,   641,   627,
1856        0,     0,     0,   222,   223,   224,   225,     0,   217,     0,
1857      750,   743,     0,     0,   740,   747,   742,     0,     0,   753,
1858      744,     0,     0,   723,   722,     0,     0,     0,     0,     0,
1859      978,   986,     0,  1018,     0,     0,  1237,  1243,     0,  1239,
1860     1245,  1027,  1141,     0,     0,     0,  1142,   886,     0,   264,
1861      581,   582,     0,     0,     0,     0,   605,   604,   606,     0,
1862      724,     0,     0,   662,     0,     0,  1036,   791,     8,   878,
1863      785,   795,   787,   789,   793,   910,   867,   652,   959,   958,
1864        0,     0,     0,   891,     0,     0,   890,     0,     0,     0,
1865     1068,     0,   888,   889,   979,     0,   980,     0,     0,  1150,
1866     1138,  1149,    76,  1147,   688,   689,  1136,   878,   775,   781,
1867      777,   779,   783,   652,     0,  1151,  1148,  1139,     0,  1153,
1868        0,  1240,  1246,  1154,     0,     0,     0,     0,     0,     0,
1869        0,     0,  1235,     0,     0,     0,   696,     0,     0,     0,
1870      157,  1072,  1073,   699,     0,     0,     0,   264,     0,   352,
1871        0,     0,   478,   565,   570,     0,  1070,  1158,  1161,  1078,
1872     1069,  1082,     0,     0,     0,     0,  1180,  1178,  1071,  1084,
1873        0,  1085,  1076,  1083,     0,  1086,  1177,     0,     0,  1261,
1874      878,     0,     0,     0,  1271,     0,   867,   985,   652,     0,
1875        0,     0,     0,  1247,  1285,     0,     0,   411,     0,     0,
1876      914,     0,   336,   470,     0,   332,   466,   333,   467,     0,
1877      856,   846,   854,   848,   850,   852,     0,     0,     0,     0,
1878        0,     0,     0,     0,     0,     0,     0,     0,   340,   474,
1879      273,     0,     0,     0,   760,   756,   758,   762,  1030,     0,
1880      261,     0,   300,   301,     0,   324,     0,   323,     0,   458,
1881       93,     0,   270,   457,     0,   313,   314,     0,     0,     0,
1882      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
1883      437,     0,     0,   335,   469,   334,   468,     0,     0,     0,
1884        0,     0,     0,     0,   373,   498,     0,     0,   371,     0,
1885        0,     0,     0,     0,     0,     0,     0,     0,     0,   674,
1886        0,   321,   322,     0,     0,     0,     0,     0,     0,     0,
1887        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1888        0,     0,     0,     0,     0,     0,     0,   675,   676,     0,
1889        0,     0,  1300,  1301,     0,     0,     0,   873,     0,     0,
1890        0,   877,     0,     0,     0,   903,   902,   900,   901,   910,
1891      969,   974,   880,   882,   996,    10,     9,     0,     0,     0,
1892      652,   958,   207,     0,     0,   264,   206,     0,     0,   828,
1893      822,   824,   826,     0,     0,     0,    16,    20,     0,   185,
1894      184,   186,     0,     0,     0,     0,   345,     0,   264,     0,
1895       26,     0,    21,    28,    24,     0,    25,    23,    22,    30,
1896       32,   190,    83,   191,   122,   162,     0,     0,     0,     0,
1897      132,     0,     0,   134,     0,     0,   143,   161,   200,   197,
1898      202,   201,   198,   203,   115,     0,     0,     0,   878,   718,
1899      177,   993,     0,   989,   652,     0,    11,    17,   708,   894,
1900     1038,     0,     0,     0,   982,     0,     0,   173,   165,   192,
1901      181,     0,   180,     0,   166,   878,   179,     0,   605,   604,
1902      817,   811,   813,   815,     0,     0,     0,   602,   640,     0,
1903        0,     7,   212,   208,   739,     0,     0,     0,     0,  1015,
1904     1022,  1023,  1024,    64,    53,    92,    39,    38,    57,    69,
1905       45,    48,     0,    74,    56,     0,     0,     0,  1006,  1008,
1906        0,  1005,  1007,     0,    41,    44,   910,   979,   970,   987,
1907      975,   996,   988,     0,   997,  1000,  1017,  1019,  1236,  1242,
1908     1238,  1244,  1021,  1028,  1025,  1029,   885,   883,   884,  1065,
1909     1047,  1056,   610,   609,     0,     0,   456,   725,     0,     0,
1910      456,   726,     0,     0,     0,   940,   878,     0,     0,   652,
1911      958,     0,     0,     0,   932,     0,     0,     0,     0,     0,
1912     1037,   961,     0,     0,   960,  1041,  1040,     0,   861,  1064,
1913      864,  1050,  1058,     0,   860,  1063,   863,  1048,  1057,     0,
1914     1067,  1061,   865,  1043,  1053,     0,  1062,   866,  1045,  1054,
1915      918,   919,   922,   921,   920,     0,   923,   925,     0,     0,
1916        0,     0,    77,     0,  1137,  1155,     0,     0,     0,     0,
1917        0,     0,  1219,     0,     0,     0,     0,     0,     0,     0,
1918        0,     0,     0,   264,     0,  1070,  1217,  1075,  1077,     0,
1919        0,  1225,  1226,  1227,     0,  1233,     0,     0,     0,     0,
1920        0,     0,   158,   144,  1081,  1080,  1079,     0,     0,     0,
1921      571,     0,  1074,     0,     0,     0,     0,   451,     0,     0,
1922      456,     0,     0,     0,     0,  1159,  1162,  1164,     0,  1160,
1923     1163,  1165,     0,  1191,  1087,  1262,  1263,   237,   236,     0,
1924        0,     0,   986,     0,     0,  1243,     0,  1245,  1246,     0,
1925        0,  1144,     0,     0,   768,   264,   770,   764,   766,   772,
1926     1032,     0,     0,     0,     0,     0,     0,   857,   847,   855,
1927      849,   851,   853,   652,   964,   963,     0,   842,   832,   840,
1928      834,   836,   838,     0,     0,     0,     0,     0,     0,     0,
1929        0,     0,     0,     0,     0,     0,     0,   259,     0,   761,
1930      757,   759,   763,  1031,     0,     0,   456,     0,     0,     0,
1931      105,     0,   299,   456,     0,     0,    94,   456,     0,     0,
1932      459,   312,   308,   328,   461,   462,   327,   463,   311,     0,
1933        0,   433,   429,   302,   355,   481,   356,   482,   357,   483,
1934      362,   488,   363,   489,   367,   493,   368,   494,   375,   500,
1935      376,   501,   374,   499,   386,   511,   382,   507,   387,   512,
1936      383,   508,   393,   518,   391,   516,   398,   523,   396,   521,
1937      403,   528,   401,   526,   406,   531,   409,   534,   561,     0,
1938      577,     0,     0,     0,     0,   435,   431,   460,   320,   317,
1939        0,   464,   465,   319,     0,     0,   434,   430,   358,   484,
1940      359,   485,   360,   486,   364,   490,   365,   491,   369,   495,
1941      370,   496,   379,   504,   380,   505,   377,   502,   378,   503,
1942      388,   513,   384,   509,   389,   514,   385,   510,   394,   519,
1943      392,   517,   399,   524,   397,   522,   404,   529,   402,   527,
1944      407,   532,   410,   535,   562,     0,     0,     0,     0,   436,
1945      432,     0,     0,  1293,  1296,     0,     0,  1291,  1302,  1303,
1946        0,     0,   872,   870,   871,   876,   874,   875,   234,   232,
1947      231,   230,   264,   652,   961,   241,     0,   207,   240,   127,
1948        0,   125,   829,   823,   825,   827,     0,   652,     0,    15,
1949       19,     0,   182,   993,   652,     0,   139,     0,   137,   829,
1950        0,   264,   652,     0,    27,    84,   117,   120,   118,   121,
1951      129,   130,   131,   133,   141,   142,   114,   112,   113,    13,
1952      710,   713,     0,     0,   906,  1038,     0,     0,     0,   994,
1953      990,     0,     0,   709,   878,   895,   983,   984,   878,   193,
1954      194,   178,     0,     0,     0,     0,   598,   599,   601,     0,
1955        0,   630,   626,     0,     0,     0,     0,     0,   226,   218,
1956      216,     0,     0,     0,    36,    37,    75,    54,     0,    55,
1957        0,    63,    61,    72,    67,    73,    60,    90,    39,    70,
1958       62,    91,    59,    71,    68,     0,    58,     0,   688,    33,
1959       35,    34,  1009,  1010,     0,   618,   608,     0,   613,   607,
1960        0,   456,   727,     0,     0,     0,   958,     0,   930,   941,
1961      942,   935,   933,   934,     0,   962,   943,     0,     0,   936,
1962        0,     0,     0,  1051,  1059,  1038,  1049,  1044,  1046,  1055,
1963      929,     0,     0,     0,   926,   704,   705,   706,   456,     0,
1964        0,  1112,  1122,  1117,     0,     0,     0,  1113,  1124,  1118,
1965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1966        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1967     1216,  1204,     0,  1181,   264,     0,     0,     0,  1224,  1230,
1968     1231,  1228,  1229,     0,     0,     0,     0,   145,  1109,  1119,
1969     1114,     0,   159,   568,   566,     0,     0,     0,   449,   572,
1970      569,   567,   450,   573,     0,   987,  1242,  1244,  1145,     0,
1971        0,     0,     0,     0,     0,     0,     0,     0,     0,   769,
1972      771,   765,   767,   773,  1033,     0,   292,   290,     0,     0,
1973      948,   652,     0,     0,     0,     0,     0,     0,   966,     0,
1974      965,     0,     0,     0,   843,   833,   841,   835,   837,   839,
1975        0,   267,     0,   266,   294,     0,     0,     0,     0,     0,
1976        0,  1307,     0,     0,     0,     0,   353,   479,   262,   108,
1977      106,   326,   325,    99,   103,   309,     0,   310,   306,   307,
1978      578,     0,     0,     0,     0,     0,     0,   318,   315,   316,
1979        0,     0,     0,     0,  1295,  1294,  1298,     0,     0,     0,
1980     1290,  1289,     0,   958,   218,     0,     0,   123,   126,     0,
1981        0,     0,     0,     0,   994,     0,   135,   138,     0,    14,
1982      456,     0,     0,   719,     0,   878,   907,   995,   991,   992,
1983      711,   714,   896,   174,   818,     0,   243,   242,     0,   629,
1984        0,   213,   214,   204,   209,   210,   220,     0,     0,    51,
1985       46,    49,    52,    47,    50,    37,    43,    40,    42,     0,
1986        0,  1013,  1014,   617,     0,   612,     0,   961,   960,   931,
1987      944,   945,   938,   937,   939,  1035,  1034,     0,   928,   927,
1988       79,  1110,  1120,  1115,     0,  1111,  1121,  1116,     0,     0,
1989        0,     0,     0,  1220,  1194,     0,     0,  1193,  1223,     0,
1990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1991     1201,     0,  1182,  1205,  1183,  1206,     0,     0,     0,  1094,
1992      914,  1094,     0,     0,   155,     0,     0,     0,   160,     0,
1993        0,     0,     0,     0,     0,     0,     0,     0,     0,   471,
1994      291,   858,     0,   963,     0,   946,   949,   950,   276,   277,
1995        0,   967,   951,     0,     0,     0,     0,     0,     0,     0,
1996        0,     0,     0,   268,   280,   281,     0,     0,     0,     0,
1997        0,     0,     0,     0,     0,   475,   330,   329,   453,   579,
1998      420,   553,   412,   537,   424,   557,   416,   545,   454,   580,
1999      421,   554,   413,   538,   425,   558,   417,   546,   422,   555,
2000      414,   539,   426,   559,   418,   547,   423,   556,   415,   540,
2001      427,   560,   419,   548,  1297,  1299,  1292,   830,     0,   124,
2002      150,   995,     0,   136,    86,   908,     0,     0,   819,     0,
2003        0,     0,     0,     0,     0,   205,     0,   221,     0,     0,
2004     1011,  1012,  1001,     0,     0,     0,     0,   924,  1184,  1185,
2005     1188,  1189,  1192,  1222,     0,     0,     0,     0,     0,     0,
2006        0,  1198,  1207,     0,     0,     0,     0,  1092,     0,  1089,
2007     1102,     0,  1094,     0,  1094,     0,     0,     0,     0,   473,
2008      472,   965,   947,   859,   952,   953,   274,   275,   844,   284,
2009      285,     0,     0,     0,     0,   278,   279,   288,   289,     0,
2010        0,   293,  1305,  1306,  1304,   831,     0,   712,   715,   717,
2011      716,     0,     0,   215,   211,     0,   998,  1003,     0,     0,
2012        0,     0,     0,     0,     0,  1212,  1196,     0,     0,  1197,
2013     1209,     0,  1200,  1211,     0,     0,     0,  1094,     0,  1094,
2014        0,  1094,     0,  1095,     0,     0,     0,   148,     0,   153,
2015        0,   156,     0,   845,   282,   283,     0,   286,   287,   171,
2016      999,  1186,  1187,     0,     0,  1195,  1202,     0,  1199,  1210,
2017        0,  1106,  1093,     0,     0,     0,  1103,     0,     0,  1094,
2018     1094,     0,  1094,   147,   146,   151,   149,     0,     0,   353,
2019      479,   269,     0,     0,     0,  1090,     0,     0,  1094,  1099,
2020        0,     0,  1096,     0,     0,   154,  1203,     0,  1107,  1108,
2021     1104,     0,     0,     0,     0,  1094,   152,     0,     0,  1100,
2022     1101,  1097,     0,  1091,  1105,     0,  1098
2023 };
2024
2025 /* YYDEFGOTO[NTERM-NUM].  */
2026 static const yytype_int16 yydefgoto[] =
2027 {
2028       -1,   209,    55,    56,   972,   331,   439,   440,   441,   442,
2029      443,   444,   445,   446,   986,   987,   988,   989,   990,   991,
2030      992,   993,   994,   995,   996,   997,   256,   257,   447,   448,
2031       58,   332,   333,   743,   772,   451,   452,   453,   454,   455,
2032      456,   457,   458,   459,   460,  2086,  2087,  2088,   461,   644,
2033      645,   646,   462,   463,   464,   465,  1782,   407,   503,   408,
2034      504,   409,   505,   506,   864,   410,   411,    59,    60,    61,
2035       62,    63,   334,   335,   336,   337,   338,   998,   999,   339,
2036      340,   746,  1265,   341,   649,   343,   344,   345,   346,   347,
2037      348,   349,   350,   351,   352,   353,   354,   355,   356,   731,
2038      826,   651,  1322,   358,   359,   652,   361,   362,   363,   364,
2039      365,   366,   367,   368,   369,   370,   371,   653,   654,  1124,
2040     1324,   552,   553,   211,    65,   496,   497,   212,    67,   213,
2041      214,    68,    69,    70,    71,    72,    73,   215,   118,   216,
2042      262,   929,   930,   217,   218,   219,    77,    78,    79,    80,
2043       81,   220,   738,  1200,   265,   469,    83,    84,   486,   487,
2044      874,  1223,   716,  1047,  1048,   124,    85,   470,    87,   471,
2045      127,   128,   129,   933,   130,   119,    89,  1096,  1097,  1098,
2046       90,   578,  1214,   473,   580,  1216,   133,   185,   474,   475,
2047      187,   937,   135,  1016,  1533,  1004,  1005,  1534,   188,   189,
2048      190,   191,   739,  1201,   224,   225,   226,   227,   228,   229,
2049      657,   658,  2007,  2008,   659,   660,   661,    93,   476,   266,
2050       94,    95,   267,   268,   269,   664,   665,   666,   667,   270,
2051      668,   895,  1617,  1127,   671,   672,   673,  1128,   675,    96,
2052       97,   373,    98,    99,   100,   101,   102,   103,   832,  1394,
2053     1395,   833,   834,   374,   375,   376,   377
2054 };
2055
2056 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2057    STATE-NUM.  */
2058 #define YYPACT_NINF -1556
2059 static const int yypact[] =
2060 {
2061    37011, -1556, -1556, -1556, -1556,   787, -1556, -1556, -1556, -1556,
2062    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2063    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2064      917,    74, -1556, -1556, -1556, -1556, -1556, -1556,   -34,     8,
2065       25,   738,   167, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2066    -1556,  2516,  2277, -1556, -1556, -1556,   214, -1556,   257,   738,
2067      473, -1556,   518,    66,  1080, -1556,   288, -1556,   782, -1556,
2068      335, -1556, -1556, -1556, -1556, -1556,   814, -1556,   809,   316,
2069    -1556,   367,  1140, 36619,  3045,    30, 37303, -1556,   361,   383,
2070    -1556,  1822, 11879, 35307, -1556, -1556, -1556, -1556, -1556, -1556,
2071    37114, 36220,   585, -1556,    74, -1556, -1556,   167,   167,   583,
2072      524,   167, 28164,   738, -1556, -1556,   277, -1556,  2516, -1556,
2073    -1556, -1556,   537, -1556,   185,  1085, -1556, -1556, 37398, -1556,
2074    -1556,  2277,  2446,  2142,  2755,  2519, 22746, -1556,   552,   542,
2075      604, 29259, 39529, -1556, 29384, -1556, -1556, -1556,   738, -1556,
2076     1007,  1116,  1212,   191, 39529, -1556, 39259, 29509, 39529, 29634,
2077    -1556, 29759, -1556, -1556,   738, -1556, -1556,   939,   557, -1556,
2078    -1556,   252, -1556,    66,   641, -1556, -1556, -1556, -1556, -1556,
2079     1456,  1796,   361,  2446,  1559,  2519, 11879, 11879,   203, -1556,
2080     1301,   589,   599,   557,   942,   361,  1321, -1556, 26704,   645,
2081    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2082      453, -1556,   386, -1556,   669, -1556, -1556,   739, -1556,   729,
2083     1871, 34357,    12,   509, -1556, -1556,   626,   658,   688,   748,
2084      307,   756, -1556,   307, -1556, -1556, -1556, -1556, -1556, -1556,
2085    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,   804,   815,
2086    -1556, -1556, -1556, -1556, -1556, -1556,    39,    69, -1556, -1556,
2087    -1556, -1556, -1556, -1556, -1556, 36815, -1556, 16552,  9710, 40004,
2088    16690, -1556,   833,   897,  1050, -1556, -1556,    66, 36717, -1556,
2089    -1556, -1556, -1556, -1556, -1556, -1556,   335,   367, 37873, 11879,
2090    38155, -1556, -1556, -1556, -1556, -1556,   873,   583,   583, -1556,
2091    28164,   317, -1556, -1556, 28237, 28310, 28310,   903, 39709, 28164,
2092    -1556, -1556,   924,   927, 39709, 28164,   954,   965,   979,   991,
2093     1020, 28383, -1556, 10395, -1556,   167, 24441, -1556, -1556, -1556,
2094    -1556,   932, -1556,    97,  1044, -1556, -1556,    74, -1556, -1556,
2095    11763, -1556,  2321, 26777, -1556,   996,  1120,  1271, 28164,  1017,
2096     1424,  1060,  1014,  1043,  1187,    72,  2321,  1100,   608, -1556,
2097     2321, -1556,  1021,  1323,  1497,  1153,  1592,  1137,  1149,  1151,
2098     1290,   126,  2321,   583, -1556, -1556, -1556, -1556,  1179,   270,
2099    39349,  1190,  1205, -1556, -1556, 26850, -1556, 26923, -1556,   683,
2100      764,  1260,  1280,  2446,  2757,  2812,   185, -1556, -1556,   931,
2101    -1556, -1556, -1556, -1556, -1556,   924,   932, -1556, -1556, -1556,
2102    -1556,   694,   657, -1556,  1271, -1556,  1497, 34473, -1556, 22867,
2103    39259, -1556,   670, 38989, 38249, -1556, -1556,  1238, -1556,   738,
2104    -1556, -1556,    74, 38437, 38061, 23718, 39619, -1556, -1556,   883,
2105     1281,  1281,   960, -1556,  1294, -1556, -1556, -1556,   111,   907,
2106      119, -1556, -1556, 28626,  1307, -1556,  1391, -1556, -1556,   101,
2107    -1556, -1556, -1556,  1356, 28759, 28884,   495,   199,   608, 35513,
2108    37493, -1556,   361,  1822, -1556, -1556, 35410, -1556, -1556,  1353,
2109    -1556,   738, -1556, -1556, -1556,  1939, 39709, -1556,   670, -1556,
2110    29009, 29134,  1368,  1381, -1556,  1378, -1556,  1387, -1556, -1556,
2111     3438,  1396,   742, -1556, -1556, -1556, -1556,  1002,   719, 34473,
2112      665, -1556, 29884, 30009, -1556,   665, -1556, 30134, 30259,   665,
2113    -1556, 30384, 30509, -1556, -1556,  2277,  2277,  2277, 20965,   931,
2114     1456,  1796,   931, -1556, 26996,  9710, -1556,   833,  9710, -1556,
2115      833, -1556, -1556,  2277,  2277,   931, -1556, -1556,  1407,   258,
2116    -1556, -1556,  1412,  1416, 39079,  1461,  1401,  1443, -1556, 30634,
2117    -1556, 30759,   554, -1556, 10611, 27069,  2277, -1556,  1226,   453,
2118    -1556, -1556, -1556, -1556, -1556,   185,  1420,   361,   289,   181,
2119      414,   625,  1431, -1556, 38719,  1452, -1556, 38809,  1458, 38899,
2120     1465, 39169, -1556, -1556, -1556,  1183, -1556, 28164,   738, -1556,
2121    -1556,  1460, -1556, -1556,   939,   557, -1556,  1468, -1556, -1556,
2122    -1556, -1556, -1556,   361,  1343,   589, -1556, -1556,  1475, -1556,
2123    16828, -1556,   833, -1556,   187, 27142,  1473,  1507,  1511,   282,
2124    16966,  1518,    74,  1522,  1523, 17104,   924,  1999,  1537,  1540,
2125       74, -1556, -1556,   932,  1532,  1539,  1541,  1345, 15025,  2321,
2126    15310, 24514,  2321,  2321, -1556, 15448, 36913, -1556, -1556, -1556,
2127    -1556, -1556, 17242, 17380, 17518, 17656, -1556, -1556, -1556,   833,
2128    17794, -1556, -1556, -1556, 17932, -1556, -1556,   167,   167,   583,
2129      727,   738,  1348,  1544, -1556,   185,    30, -1556,   361,  2446,
2130    11879, 11879,  9710, -1556, -1556, 37967, 28164,   321,  1549,   381,
2131    -1556, 22988, -1556, -1556, 27215, -1556, -1556, -1556, -1556, 39709,
2132     1555, -1556, -1556, -1556, -1556, -1556, 34788, 39709, 23125,    74,
2133    34893, 39709, 28164,   167,   167,   167, 28164, 10395, -1556, -1556,
2134    -1556, 12009, 12165, 12308, -1556, -1556, -1556, -1556, 35202,  1546,
2135      102, 21102, -1556, -1556,   124, -1556,   271, -1556, 21239,  1548,
2136    -1556, 21376, -1556, -1556,  1478, -1556, -1556, 24587,  1490, 28164,
2137    -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2138    -1556, 26777,   154, -1556, -1556, -1556, -1556, 28164, 28164, 28164,
2139    28164, 28164, 28164, 28164,  1271,  1497, 28164, 28164, -1556, 28164,
2140    26777, 26777, 26777, 26777, 26777, 28164, 28164, 12451, 26777, -1556,
2141     1519, -1556, -1556, 24660,  1531, 28164, 26777, 28164, 28164, 28164,
2142    28164, 28164, 28164, 28164, 28164, 28164, 28164, 28164, 26777, 26777,
2143    26777, 26777, 26777, 28164, 28164, 12594, 26777, -1556, -1556,   594,
2144      453, 39619, -1556, -1556, 36319, 39349, 39349, -1556,  1543,  1545,
2145     1553, -1556,  1554,  1557,  1558, -1556, -1556, -1556, -1556,   185,
2146    -1556, -1556, -1556, -1556,  1562, -1556, -1556, 22746, 22746, 34252,
2147      361,   722, -1556,   682,  1026,  1285, 34473,  1062,  1573,  1590,
2148    -1556, -1556, -1556,  1939, 34578, 38343, -1556, -1556,    74, -1556,
2149    -1556, -1556, 35616,  1582,    74, 34683,  1440, 23246,  1462, 38531,
2150    -1556,  1587, -1556,   833, -1556,   833, -1556, -1556, -1556,   833,
2151    -1556,  1591, -1556,   981, -1556, -1556,  3816,  3816,  1281,  1281,
2152    -1556,  1281,   176, -1556,  1281,  1281, -1556, -1556,   922, -1556,
2153     1356,   922, -1556,  1356,  1011, 27288,  2212, 28164,   776, -1556,
2154     1586,   185, 37588, -1556,   361,  2446, -1556, -1556,  1045,   645,
2155    34357, 28493,   642,   307, -1556,   307,  2277, -1556, -1556, -1556,
2156    -1556,   256, -1556,   284, -1556,   495, 35513, 22746, -1556, -1556,
2157     1595, -1556, -1556, -1556, 39259, 39259, 28164,    74, -1556, 30884,
2158      226, -1556,   856,   947, -1556, 39259,    74,   784,    74,  2291,
2159    -1556, -1556, -1556, -1556, -1556, -1556,  1281, -1556, -1556, -1556,
2160    -1556, -1556, 11496,  1429, -1556, 21513, 39904, 21650, -1556, -1556,
2161    11154, -1556, -1556, 38625, -1556, -1556,   185,  1456, -1556,  1796,
2162    -1556,   185, -1556, 26996, -1556, -1556, -1556, -1556, -1556,   833,
2163    -1556,   833, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2164    -1556, -1556, -1556,  1387,   261,   374,  1593, -1556, 31009, 31134,
2165     1594, -1556, 31259, 31384, 31509, -1556,   222,   421,   476,  1311,
2166     1585,  1597,  1600,  1604, -1556,  1596,  1598,  1601,   361,   931,
2167     2519,   181, 37683, 27361,   289, -1556, -1556, 39439, -1556, -1556,
2168      453, -1556, -1556, 39439, -1556, -1556,   453, -1556, -1556, 39439,
2169    -1556, -1556,   453, -1556, -1556, 39439, -1556,   453, -1556, -1556,
2170    -1556, -1556, -1556, -1556, -1556,  1605,  1560, -1556,  1251,  1606,
2171     1608,   352, -1556, 21787, -1556, -1556, 18070,  1603,  1609, 18208,
2172    28164, 28164, -1556, 27434, 27507,  1610,  1615,  1617, 23425,  1621,
2173       74, 24733,  2460,  1433, 24806, -1556,  1687, -1556, -1556, 24879,
2174     1620, -1556, -1556, -1556,  1624,  1628, 24952, 15586,   167,  1634,
2175    28164, 28164,    74, -1556, -1556, -1556, -1556, 20691,   790, 26777,
2176    -1556,  1299, -1556, 28164, 12737, 12880, 26777, -1556, 28164, 13023,
2177     1475, 18346, 18484, 18622, 18760, -1556, -1556, -1556, 18898, -1556,
2178    -1556, -1556, 19036, -1556, -1556,   583,   583,  1638,  1644, 34009,
2179    34133,   931, -1556,   931,  9710, -1556,  9710, -1556, -1556,  1640,
2180    26777, -1556, 26777,   728, -1556,   495, -1556, -1556, -1556, -1556,
2181    35202,  1645,  1647, 39799, 22746, 37208, 28164,  1656, -1556, -1556,
2182    -1556, -1556, -1556,   361,  1658,  1665,  1655,  1669, -1556, -1556,
2183    -1556, -1556, -1556, 34998, 25025,  1667,  1668,  1670, 28164,  1661,
2184    35103,  1672,   565,    85,   113,  1673,  1674, -1556,    74, -1556,
2185    -1556, -1556, -1556, -1556, 28164,   167,   299, 35719, 21924,  1678,
2186    -1556, 26777, -1556,   300, 35819, 22061, -1556,   311, 35919, 22198,
2187    -1556, -1556, -1556, -1556,   985,  1686, -1556, -1556, -1556, 25098,
2188     6146, -1556, -1556,  1678, -1556, -1556, -1556, -1556, -1556, -1556,
2189      996,  1021,   996,  1021,  1120,  1323,  1120,  1323,  1271,  1497,
2190     1271,  1497,  1271,  1497, -1556, -1556,  1017,  1153, -1556, -1556,
2191     1017,  1153, -1556, -1556,  1424,  1592, -1556, -1556,  1060,  1137,
2192    -1556, -1556,  1014,  1149,  1043,  1151,  1187,  1290, -1556,    67,
2193    -1556, 25171,  1680,  8500,  1681, -1556, -1556, -1556, -1556, -1556,
2194     1047, -1556, -1556, -1556, 25244,  9322, -1556, -1556, -1556, -1556,
2195    -1556, -1556, -1556, -1556,   996,  1021,   996,  1021,  1120,  1323,
2196     1120,  1323,  1271,  1497,  1271,  1497,  1271,  1497,  1271,  1497,
2197    -1556, -1556,  1017,  1153, -1556, -1556,  1017,  1153, -1556, -1556,
2198     1424,  1592, -1556, -1556,  1060,  1137, -1556, -1556,  1014,  1149,
2199     1043,  1151,  1187,  1290, -1556, 25317,  1682, 10840,  1683, -1556,
2200    -1556,    74,    74, -1556, -1556,   564,  1237, -1556, -1556, -1556,
2201    36419, 36519, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2202    -1556, -1556,   938,  2005,   722, -1556, 22746,    74, -1556, -1556,
2203    22746, -1556,   653, -1556, -1556, -1556,   494,   361,  2446, -1556,
2204    -1556,   373,  1586,  1562,   361,  2446, -1556,  1692, -1556,   799,
2205      508,  1150,  2277,  1695, -1556, -1556, -1556, -1556, -1556, -1556,
2206    -1556, -1556, -1556, -1556, -1556, -1556,  2777, -1556, -1556, -1556,
2207    -1556, -1556, 22335,  2152,   645, 34357, 20554,   690,   931,   185,
2208    -1556,   931, 28164, -1556,   895, -1556, -1556, -1556,  1696,  1591,
2209     1548,  1586,  1081, 22746,  1111,  1113, -1556, -1556, -1556, 31634,
2210    31759,  1671, -1556,  4332, 39619, 39619, 39619, 39619, -1556, -1556,
2211    -1556, 28164,  1694, 27580, -1556,   833, -1556, -1556, 27653, -1556,
2212    27726, -1556, -1556, -1556,  1438,  1429, -1556, -1556,  1281, -1556,
2213    -1556, -1556, -1556, -1556,  1438,  1429, -1556, 27799,  5944, -1556,
2214    -1556, -1556, -1556, -1556, 19174, -1556, -1556,   132, -1556, -1556,
2215      233,  1693, -1556, 31884, 32009,   361,  1585,  1701, -1556, -1556,
2216    -1556, -1556, -1556, -1556,   931,   289, -1556,  1704,  1705, -1556,
2217     1700,  1703,  1710, -1556, -1556, 34357, -1556, -1556, -1556, -1556,
2218    -1556, 28164,  1712,  1146, -1556, -1556, -1556, -1556,   333, 36019,
2219    22472, -1556, -1556, -1556, 19312, 20691, 20691, -1556, -1556, -1556,
2220    19450, 25390, 15724, 25463, 25536, 23516, 25609, 15862, 20828,  1707,
2221     1708, 20828, 28164, 27872,  1789, 25682,  1628, 23772,   167, 20828,
2222     1725, 11304, 23425, -1556,  1474, 25755, 23857, 25828, -1556, -1556,
2223    -1556, -1556, -1556,   114,   167,  1726,  1144, -1556, -1556, -1556,
2224    -1556, 19588, -1556, -1556, -1556,  1732,  1733,    74, -1556, -1556,
2225    -1556, -1556, -1556, -1556, 39259, -1556, -1556, -1556, -1556, 25901,
2226     1717, 23930,  1727, 25974,  1728, 24003,  1729,  1738,  1740, -1556,
2227    -1556, -1556, -1556, -1556, -1556, 13166, -1556, -1556,  1742,  1127,
2228    -1556,  2454,  1744,  1745,  1751,  1722,  1743, 22746,  1665, 37778,
2229     1658, 28164, 22746, 28164,  1758, -1556, -1556, -1556, -1556, -1556,
2230     1749, -1556, 27945, -1556, -1556,  1750,  1752, 28164, 28164,  1755,
2231     4900, -1556,    74,    74, 28164, 13309, -1556, -1556,   583, -1556,
2232    -1556, -1556, -1556, -1556, -1556, -1556, 13452, -1556, -1556, -1556,
2233    -1556, 26777, 13595, 13738, 26777, 13881, 14024, -1556, -1556, -1556,
2234    14167, 14310, 14453, 14596, -1556, -1556, -1556,   594,  1764,    52,
2235    -1556, -1556,   361,   722,  1878,  1139, 22746, -1556, -1556,  1763,
2236      931,   931,  1281,   931,  1562,  1769, -1556, -1556,  1767, -1556,
2237      344, 36119, 22609, -1556,   361,   984, -1556,   185, -1556, -1556,
2238     1768,  1773, -1556, -1556, -1556,  1208, -1556, -1556, 32134,  1780,
2239    32259, -1556,  1784, 34473, -1556,  1785, -1556, 28164, 26996,  2626,
2240    -1556, -1556,  2626, -1556, -1556, -1556,  2626, -1556, -1556, 19726,
2241    19864, -1556, -1556, -1556, 32384, -1556, 32509,   181,   289, -1556,
2242    -1556, -1556, -1556, -1556, -1556, -1556,  2519, 26047, -1556, -1556,
2243    -1556, -1556, -1556, -1556, 20002, -1556, -1556, -1556, 20140, 23425,
2244    11625, 23425, 11625, 15167, -1556, 23607, 16000, -1556, -1556, 20828,
2245    20828, 26120, 23425, 26193, 23334,  1798, 24076, 26266,   118, 20278,
2246    -1556, 28164, -1556, 15167, -1556, 11304, 23425, 24149, 28018,    15,
2247     1781,    15,   174,  1795, -1556,    74, 28164, 28164,    74, 26777,
2248    26777, 26777, 26777, 26777, 26777, 26777, 26777, 14739, 14882, -1556,
2249    -1556, -1556,   361,  1665,  1802, -1556, -1556, -1556, -1556, -1556,
2250     1218,  1658, -1556,  1803,  1805,  1797,  1806,  1227,  1814,  1815,
2251    22746, 28164, 10395, -1556, -1556, -1556,  1818,  1819,  1821,  1823,
2252    28164,  1807,  1809,  1813,  1816, -1556, -1556, -1556, -1556, -1556,
2253    -1556, -1556, -1556,   381, -1556, -1556, -1556,   381, -1556, -1556,
2254    -1556, -1556, -1556,   381, -1556, -1556, -1556,   381, -1556, -1556,
2255    -1556,   381, -1556, -1556, -1556,   381, -1556, -1556, -1556,   381,
2256    -1556, -1556, -1556,   381, -1556, -1556, -1556, -1556,  1231, -1556,
2257    -1556,  1562, 26777, -1556, -1556, -1556, 28164, 28164, -1556, 32634,
2258    32759, 32884, 33009, 33134, 39619, -1556, 39619, -1556, 24222, 20416,
2259    -1556, -1556, -1556, 33259, 33384, 33509, 33634, -1556,  1864,  1891,
2260    -1556, -1556, -1556, -1556, 23425, 28164, 28091,  1781, 16138, 16276,
2261    24295, -1556, 15167, 23607, 26339, 16414,    74, -1556,   901,   221,
2262    -1556,   213,    15,  1834,    15,   323,   398,  1837,  1182, -1556,
2263    -1556,  1658, -1556, -1556, -1556, -1556, -1556, -1556, -1556, -1556,
2264    -1556,  1234,  1828,  1829,  1841, -1556, -1556, -1556, -1556,  1831,
2265     1835, -1556, -1556, -1556, -1556, -1556,  1851, -1556, -1556, -1556,
2266    -1556, 33759, 33884, -1556, -1556, 26412, -1556, -1556, 23425, 23425,
2267    26485, 24368, 23425, 26558, 23334,  1853, -1556, 23425, 28164, -1556,
2268    -1556, 23607, -1556, -1556,  1845,  1855,    15,    15, 28164,    15,
2269     1856,    15,   995, -1556,   244,  1281,   530, -1556,   388, -1556,
2270     1859, -1556,    74, -1556, -1556, -1556, 27580, -1556, -1556, -1556,
2271    -1556, -1556, -1556,  1853, 23425, -1556, -1556, 26631, -1556, -1556,
2272      167, -1556, -1556,  1189,  1868,  1249, -1556,  1168,  1867,    15,
2273       15,  1869,    15, -1556, -1556, -1556, -1556,   323,   545, -1556,
2274    -1556, -1556, 23425,   632,  1873, -1556,  1876,  1877,    15, -1556,
2275     1250,  1252, -1556,  1201,   705, -1556, -1556, 28164, -1556, -1556,
2276    -1556,  1258,  1883,  1884,  1885,    15, -1556,  1888,  1887, -1556,
2277    -1556, -1556,  1308, -1556, -1556,  1893, -1556
2278 };
2279
2280 /* YYPGOTO[NTERM-NUM].  */
2281 static const yytype_int16 yypgoto[] =
2282 {
2283    -1556,  3586,    56,  9331, -1556,  1989, -1556, -1556, -1556, -1556,
2284    -1556, -1556,  1536,  1547,  -987, -1556,  -961,  -263,   106,   107,
2285     -923,  -886,  -630, -1556,  -713,  -561, -1556, -1556,  1550,  1551,
2286    -1556,  4689,  5017, -1556,    42,   704,   714, -1556, -1556, -1556,
2287    -1556,  1552, -1556, -1556, -1556,  -637, -1441,  -107, -1556, -1556,
2288    -1556, -1556,  4773,  5164,   -81,   -22,   525,  -843, -1556,  -816,
2289    -1556,  -826, -1556,  1057,  -123,  1167,  -920,    21,  1747,    82,
2290     1753,    31,     0, -1556,  1126, -1556, -1556,  6551,  4573, -1556,
2291     4861,  -223,  1236, -1556,  3352, -1556,  -325,   588,   611,  1035,
2292    -1556,   531,  -647,    58,    75,    77,   142,  -221,  8369,  4297,
2293     -291,  8116,  -640,  3867, -1556,  3918,  -320,   758,   624,  1521,
2294      546,   159,   161,   177,   210,   245,   887,   526,  -508,  6862,
2295     -634,   994,  1817,  9886,   -56,  1075,  -142,  2384,  9877,  7477,
2296    -1556, -1556, -1556,   -75,    -2,   -23, -1556,  6332, -1556,   997,
2297     2173,   582,  -807,  2715,  8025, -1556, 10402, -1556, -1556, -1556,
2298      -71,  3230, -1556, -1556,  2360,  5978,    -1, -1556, -1556,  1298,
2299     1612,  1326,  1746,   -70,   -33,  7129,  8618,   263,  3328,  -368,
2300     -127,  -301,   838,  -890,    54,  2856, -1556, -1556, -1081, -1556,
2301     1138,  -531, -1171,  6686,   143,  -699,   -76,   251,   152,  1630,
2302     -264,  -804,  -457,  -966,  -530,  -915,  -919,   268,  1049,  1082,
2303      -62,  1800,  -717,  1334,  -312,  -481,  -416, -1556,  -109,   -61,
2304     6118,   598,   -13,  -836, -1556, -1556, -1556,  1966, -1556,  1697,
2305     1975,   -47,  3702,   -20,  1799,   961,   968, -1556, -1556, -1556,
2306      -90,  1502, -1555,  -256, -1556, -1556, -1556,   -69, -1556,  1984,
2307        9,    19,  1982,  1535, -1556, -1556, -1556,  1994,  -795,   356,
2308    -1556,  -791,   806, -1556, -1556, -1556, -1556
2309 };
2310
2311 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2312    positive, shift that token.  If negative, reduce the rule which
2313    number is the opposite.  If zero, do what YYDEFACT says.
2314    If YYTABLE_NINF, syntax error.  */
2315 #define YYTABLE_NINF -1288
2316 static const yytype_int16 yytable[] =
2317 {
2318       64,  1225,   271,  1142,  1017,   397,  1458,   184,   184,  1518,
2319     1457,   500,   938,   582,   670,  1409,   222,  1574,   775,   391,
2320      106,  1229,   196,   776,   691,   286,  1015,   175,  1247,   287,
2321      108,   110,  1411,   507,  1512,  1254,  1522,  1482,  1258,  1398,
2322      599,   115,  1410,  1399,  1680,  1470,   280,  1532,  1064,   109,
2323     1847,   771,   123,   223,   942,   394,   397,   299,   389,   140,
2324      177,   116,  1858,   490,   149,   798,   152,   392,  1720,   806,
2325      601,  1430,  1514,  1031,  1524,  1432,   512,     1,   517,   697,
2326      521,   176,   163,   174,   123,   148,   210,   111,   697,   796,
2327      299,   123,   278,    64,   697,   390,   536,   539,   749,   288,
2328       64,    64,   282,  1072,   296,   944,  1078,   299,  1084,  1515,
2329     1089,  1525,   901,   379,   173,   138,   382,  1859,   299,   299,
2330      903,  1859,   491,   299,   277,  1249,   297,   298,   210,   112,
2331      301,   123,   123,  1803,   583,   513,   412,   518,   584,   522,
2332      149,   466,   479,   824,   466,  1304,   113,  2006,   493,  1481,
2333      495,   197,    92,   495,   479,  1273,   508,   466,   479,   466,
2334     1499,   466,   198,   600,   524,   172,   535,   538,   932,   378,
2335      914,   915,   106,  1370,   149,   276,  1956,  2012,   621,   299,
2336     1248,   106,   285,   123,     1,  1386,   398,  1255,   616,   184,
2337     1259,  1388,   498,   145,     1,   148,   602,  -452,   549,  1530,
2338      924,   674,   184,   614,   541,   936,   754,   755,   756,     2,
2339      149,  1702,   557,   286,   797,   286,  2079,   287,   121,   287,
2340      163,   569,   175,  -862,   750,     1,   299,  1491,   916,     1,
2341      123,  1245,   175,   123,  1805,   186,  1860,   398,   902,  1703,
2342     1997,  1431,  1030,   280,  1861,    92,   750,  2120,  1861,  1266,
2343      662,  1250,   289,    92,   548,   177,  1804,  1479,   967,  -616,
2344     1518,     1,  1535,    86,     1,   607,   850,  1518,   825,   692,
2345      647,  1518,  1071,     1,   678,  1077,   176,  1083,   680,  1088,
2346        1,  1250,   299,  1112,  1669,  1480,   176,  1522,    64,   695,
2347       64,     1,  1996,   679,  1522,  1266,  2013,   867,  1522,   282,
2348     -109,  -100,   564,   134,  2014,     2,   386,   325,   710,   681,
2349        1,   617,  -104,   565,   710,    86,     2,   387,   499,   684,
2350      757,   277,   299,   549,   925,  1524,     1, -1020,   758, -1020,
2351     1064,   759,  1524,   136,   -82,  2080,  1524,   752,   796,  2076,
2352      146,   147,  2078,  2081,   740,   -89,    86,    86,  -862,   892,
2353      894,   896,   898,  1492,    86,     1,    86,  1806,  1149,   967,
2354     -611,  1156,  1525,    86,    86,  1516,  2121,  1526,   744,  1525,
2355     2076,   136,   694,  1525,  2122,  1538,     1,     1,   527,   149,
2356      830,   137,   395,   902,   385,   549,   751,   549,  1536,     1,
2357     1579,     1,   828,   123,    86,    86,  2085,  1251,   824,   123,
2358      941,     1,  1008,  1113,  1252,   380,   670,   670,   670,   670,
2359     1062,   750,   149,  1033,     2,  1065,   150,   830,  1008,   865,
2360      508,  1063,   582,   869,   569,   938,  -109,  -100,    52,   880,
2361      186,   691,   881,   830,   869,   888,   830,   223,  -104,   700,
2362      690,   838,   289,   842,   159,  1018,    86,   851,  1020,   979,
2363      979,   979,  1274,  1276,  1278,  1052,     1,  1275,  1277,  1279,
2364      -82,  2085,   155,  1190,   466,   466,   149,   184,   184,   928,
2365      210,   -89,   581,   123,  1577,   697,   955,   585,  1038,    51,
2366     1042,   959,  1338,  1340,  1342,   163,   960,  1339,  1341,  1343,
2367      466,   466,  1819,    86,   160,  1752,    86,     1,     1,   938,
2368     1745,  1539,   973,  1053,   231,  1015,  1672,  1891,   149,   977,
2369      585,     1,   466,   466,   555,  2125,  1467,   466,   466,  1064,
2370     2089,   466,   466,  1192,  1690,   123,   123,   123,    86,   123,
2371     1555,  1699,   123,     1,  1264, -1035, -1035,  1039,  1470,  1043,
2372    -1035,    86,  1580,   123,   123,   123,  1531,   584,     1,   149,
2373     1650,    86,  1654,    86,   830,   495,  1652,     1,  1656,   466,
2374      862,   466,   524,  1775,  1046,   549,   123,     1,  1801,   149,
2375      299,   146,   147,  1409,   932,  1476,   876,  1477,  1768,   123,
2376     1330,  1769,     2,  1010,  1070,   295,  1564,  1076,   299,  1082,
2377     1411,  1087,  1518,   674,   674,   674,   674,     1,  1101,  1010,
2378     1744,   141,   587,   142,  1569,  1398,  1398,     1,  1798,  1399,
2379     1399,  1429,  1797,   146,   147,   800,   801,   802,  1526,  1522,
2380      286,  1055,  1748,   751,   287,  1526,  1066,   588,  1226,  1526,
2381     1123,   586,  1130,   398,   932,   587,  1757,   299,   372,   175,
2382     1143,  1634,   143,   588,     1,  1639,   144,  2126,  1641,   300,
2383     1643,  1781,   978,  1784,  1100,   932,    86,  1524,   254,   590,
2384        1,   419,   647,   647,   647,   647,    -8,  2145,  -216,   385,
2385     1184,  1186,  -456,  -456,  -456,  1786,   418,  -456,  -456,  -456,
2386      149,  1178,  1044,   526,   582,     1,   134,  1701,  1736,   123,
2387     1737,   588,   936,   176,  1525,   569,  1175,  1176,    86,    28,
2388       29,  1195,   932,  2126,    32,   855,    26,  1051,     1,  1202,
2389      971,    38,  2021,  1391,  1392,   544,  1207,  1217,   549,  1227,
2390     1207,  1217,     1,   420,   551,   525,  1903,  1195,   421,   803,
2391        1,     1,  1513,  1519,  1523,    43,    44,   804,  1238,  1529,
2392      805,     1,  1232,  1233,  1234,     1, -1034, -1034, -1060,  1761,
2393     1052, -1034,   589,  2147,  1261,  1563,     2,  1890,  1268,   146,
2394      147,  1566,  1897,  1475, -1060,   585,     2,  1567,   589,   528,
2395      971,   554,  1746,  1568,  1518,   146,   147,  -216,  2085,     1,
2396    -1066,  1747,   858,  -216,   591,   751,  -456,     1,    86,    86,
2397       86,  1267,    86,     1,  -456,    86,   558,  -456,  1053,  -456,
2398     1328,  1522,  -456,   709,  1333,   845,    86,    86,    86,   584,
2399      592,  1766, -1060,   744,   856,   134,   589,  1060,  1450,  1451,
2400      857,  1452,  1532,   391,  1454,  1455,  1958,    86,  1493,  1393,
2401      149,  1396,  2156,  1980,   830,   830,   830,   146,   147,  1524,
2402      744,  1484,  1485,   859,   976,   146,   147,   690,   744,   709,
2403      670,  1308,   372,   670,   565,   528,   560,   412,  1412,   210,
2404     1768,  1769,  1466,   973,   104,   149,   977,   559,   744,  1312,
2405      593,   392,  1314,   163,  1422,   569,  1525,   595,  1143,  1374,
2406     1632,  1243,   569,  1555,  1437,  1439,   846,  1441,  1489,   830,
2407      587,   670,  1537,  1540,   146,   147,  1504,  1378,     1,   390,
2408     1380,  1762,   146,   147,  1462,   670,   670,   670,   670,  1501,
2409      153,   551,   154,   551,  -265,  -265,  -265,   105,  1746,  1706,
2410        1,   181,   106,   397,  1707,   597,   123,  1756,   149,  -456,
2411     -456,  -456,   210,   156,     1,   123,   598,   157,  1316,   158,
2412     1474,     1,  -738,   123,  -738,   123,  1478,  1490,   107,  -216,
2413     1526,  1305,    86,  1557,  1309,   149,   928,   412,    86,     2,
2414      676,  1977,    32,  1543,   508,   508,  1382,   495,   121,   466,
2415      495,  1313,  1884,   394,   104,   508,  1500,   149,  1502,  1371,
2416     2031,  1494,  1375,  1911,  1519,  1523,  1495,     1,  -458,  -458,
2417     -458,  1519,  1523,    43,    44,  1519,  1523,    75,   696,  1379,
2418     1868,  1558,  1051,   123,  1802,  1315,   938,   890,   494,  1417,
2419        1,   254,  1801,   146,   147,  1808,  1772,  1426,  -457,  -457,
2420     -457,   531,  1544,  2075,   709,  2011,  1015,  2076,  1440,   786,
2421      787,  2077,  -265,  1381,   495,   495,  -265,   674,   466,   466,
2422      674,  1317,   466,   466,   466,   718,   149,  2046,   719,   123,
2423      123,  -456,    52,     1,  1002,   106,   146,   147,  -216,   123,
2424      748,   123,   210,   549,  -216,   525,   751,   830,   527,  1383,
2425      149,  -869,  1496,   830,   385,   722,   149,  1497,   674,   830,
2426      179,   677,   149,     1,   897,   830,   723,   149,   254,  1980,
2427       75,   551,   674,   674,   674,   674,  1673,    75,    75,   490,
2428      724,   149,   146,   147,   398,  1965,   647,  1715,  1256,   647,
2429     -458,  1716,   725,   398,   777,  1010,   181,  2118,  1123,  1560,
2430     1130,  2076,   974,   372,    32,  2119,   687,   932,   975,  1614,
2431     2131,  2053,  1526,  2054,   778,   779,   788,   789,   134,   807,
2432     -457,   726,  1627,     1,  1674,    26,  1415,   647,  1268,  1090,
2433       86,   551,   975,     1,   793,    43,    44,  1623,   491,   808,
2434      809,   647,   647,   647,   647,   814,   815,   932,     2,  1727,
2435      932,   414,   751,  1716,  1091,  1472,  2082,   134,  2084,   466,
2436      466,   123,  1418,   123,   794,  2034,  1090,   699,   975,    86,
2437     1092,   581,  1547,   830,   792,   149,   699,   134,   146,   147,
2438      830,  1774,   699,   795,   412,   210,   197,   857,  1917,    86,
2439     -898,  1091,  1808,  1639,    28,    29,  1643,   198,   573,    32,
2440     1093,  1094,   799,  1684,  -878,  -878,    38,  1092,  2016,  -878,
2441     1684,  1776,  -868,  1777,  -868,  -868,  -878,   975,   149,   975,
2442        1,  2113,   106,  2115,  -624,  2117,  -624,  1881,   372,  1658,
2443       43,    44,   372,   857,  1090,   780,   781,  1093,  1094,  1957,
2444     -878,  -878,  1166,  1170,  1708,   857,  1864,  1002,   161,  1981,
2445     1865,   820,   816,   817,  1002,   179,  1555,  1002,   751,  1091,
2446     1015,   782,   783,  2140,  2141,   179,  2143,    75,     1,   821,
2447     2137,  1015,   822,   744,  2076,  1092,  -216,   372,  2138,  -868,
2448      395,   827,  2151,   717,  2091,  1095,   823,   687,  2092,   721,
2449     -868,  2134,    86,    86,     1,  2076,  1519,  1523,   835,  2162,
2450      736,  1296,  1300,  2154,   372,  1093,  1094,  2076,  1968,   670,
2451      670,  2155,   372,   836,   857,  -868,  1297,  1301,  2023,     2,
2452     -623,   670,  -623,  1664,   857,   136,  1668,  2028,   121,  1362,
2453     1366,  2045,   372,   857,  2093,   146,   147,   857,   385,   878,
2454      857,  -868,  -868,  -868,  1363,  1367,   394,  1009,  1280,  1282,
2455     1012,  2136,  2152,  1572,  2153,  2076,  2076,  1573,  2076,   839,
2456     2158,   843,   847,   784,  2076,    28,    29,  1635,  1636,  1637,
2457       32,  1734,  1735,  1284,  1286,  1738,   149,    38,  1344,  1346,
2458      830,   830,   848,   146,   147,  -216,  1285,  1287,   656,   254,
2459     1416,  -216,   149,   751,   573,  1739,  1412,  1502,   900,   850,
2460      412,    43,    44,  1348,  1350,   542,  1749,   543,   123,    51,
2461     2165,  1627,   564,   907,  2076,   123,  1349,  1351,   790,   791,
2462     1758,   149,   123,   565,    86,   546,    86,   543,  1802,   932,
2463      932,  1002,   501,   551,   414,  2128,   514,  -897,   810,   811,
2464      908,   909,  1032,   123,     1,  1765,   573,  1104,   123,   543,
2465     1015,   123,   957,   751,   149,  1147,  1179,  -954,   142,  1260,
2466      917,     1,   910,   412,    18,    19,   911,   964,   912,   466,
2467      466,  1267,   551,     1,   830,   830,   830,   830,  1519,  1523,
2468      965,   697,   697,   966,   697,   697,   573,   812,   813,   697,
2469      697,   697,   697,   967,    28,    29,   674,   674,   913,    32,
2470     1327,  1002,     1,  1002,   970,  1981,    38,  1182,   674,  1034,
2471     -897,  -897,  1332,   687,     1,  -897,  -878,  -878,  1281,  1283,
2472     1026,  -878,  -897,   466,   466,  1027,   123,  1015,  -878,  1028,
2473       43,    44,   198,  1509,   123,  1510,  1547,  1067,    51,  1056,
2474      533,   751,  1507,  1609,  1508,   569,  -897,  -897,  1345,  1347,
2475     1893,  1035,  -878,  -878,   980,   981,   982,   891,  1073,   670,
2476     -897,  -897,  -897,   699,  1079,   647,   647,  1102,     1,   551,
2477      751,  1085,  1022,  1024,   272,  1123,  1103,   647,  1123,  1105,
2478      851,  1123,   751,  1109,  1851,  1614,   818,   819,  1010,  1123,
2479     1446,  1448,  1123,     2,  1790,  1791,  1793,  1794,  1894,  1107,
2480     1447,  1449,   121,  1161,  1163,  1023,  1025,  1848,  1110,  1002,
2481     1162,  1164,  1111,    28,    29,   291,   294,  1143,    32,  1129,
2482      551,  1400,  1401,  1862,   508,    38,  1131,  1132,   697,   697,
2483      697,   697,   697,   697,   697,   697,  1144,   416,  1140,    28,
2484       29,  1141,  1960,  1145,    32,  1146,   372,   372,  1244,    43,
2485       44,    38,  1180,  1191,  1204,  1256,  1402,   412,  1403,   210,
2486     1008,  1571,   412, -1015,   534, -1015,  1404,  1405,   537,   540,
2487     1406,  1407,   179,   395,   387,    43,    44,  1969,  1198,  1972,
2488     1238,  1419,  1912,  1913,  1582,    86,   564,  1588,  1815,  1420,
2489     1436,  1444,  1463,   687,  1483,   736,   581,   565,  1445,  1548,
2490     -730,  -733,  1549,  1983,  1198,  1985,  1550,  1570,  1575,  1551,
2491     1576,  1552,   551,  1585,  1553,  1241,  1602,  1393,  1603,  1586,
2492     1601,   697,  1605,  1610,  1618,  1629,   412,   670,  1619,   670,
2493      123,   123,  1620,   123,   551,  1624,  1970,  1644,  1973,  1166,
2494     1170,  1166,  1170,   420,  1648,   149,   674,  1665,  1125,  1666,
2495      622,  2129,   669,  1182,  1002,  1677,  2130,   372,   466,  1679,
2496      466,  1002,  1984,   830,  1986,  1002,  1205,  1681,  1682,  1692,
2497     1693,   693,  1694,  1697,   687,  1778,  1705,  -909,  1700,  1704,
2498      656,   656,   656,   656,   466,  1710,   466,   123,  1717,    86,
2499     1723,  1726,  1731,  1733,  1755,   670,  1816,  1759,  1773,  1787,
2500     -736,  1288,  1290,  1809,  1292,     1,  1810,  1811,   573,  1123,
2501     1123,  1123,  1123,  1812,  1818,   647,  1813,  1839,  1840,  1123,
2502     1123,   687,  1123,  1814,  1123,  1845,  1849,  1870,  1863,  1352,
2503     1354,  1356,  1358,  1866,  1867,  1888,  1123,  1872,  1874,  1876,
2504     1877,  1010,  1878,   573,  1880,  1143,  1885,  1886,  1627,   785,
2505     -909,  -909,   573,  1887,     1,  -909,  1889,  1900,  2009,   573,
2506     2009,  1901,  -909,  1904,   736,  1905,   573,  1910,  1955,  -231,
2507     2051,  1959,   414,   414,  1962,  1963,    28,    29,  1966,     2,
2508      412,    32,   549,  1967,  1971,  2010,  -909,  -909,    38,  1974,
2509     1976,   744,   744,   744,   744,   744,   744,   744,   744,  1995,
2510     -909,  1460,  -909,  2015,  2022,  2024,  1975,  2025,  2058,  2041,
2511     2026,  2042,    43,    44,   674,  2043,   674,   573,  2044,  2027,
2512      416,   893,     1,    52,   899,    28,    29,  2029,  2030,  2052,
2513       32,  2035,  2036,   573,  2037,  2059,  2038,    38,  2083,  2090,
2514     1486,  2094,  2095,  2096,  2097,   619,   623,     2,  2098,   466,
2515      466,   466,   466,   466,   830,  2099,   830,  2105,  2110,  2111,
2516     2116,    43,    44,   466,   466,   466,   466,  2127,  1002,    57,
2517     2135,  2139,   414,  2142,  1123,  2123,  2124,  2148,   551,   561,
2518     2149,  2150,   674,   647,   744,   647,  2074,  2159,  2160,  2161,
2519     2163,  2164,   948,    28,    29,  1143,  1627,  2166,    32,  1645,
2520     2144,  1012,  1785,   949,  1408,    38,   950,   951,   954,   372,
2521      114,  2009,  1498,  2009,  1002,   682,  1002,  1019,  1453,  1331,
2522     1021,   683,  1488,    18,    19,  1763,   885,  1230,    57,    43,
2523       44,   466,   466,  1002,   877,   151,  1978,  1561,  1123,  1123,
2524      720,  1236,  1123,  2112,  1123,   615,   290,  1123,   279,   663,
2525       86,   647,    57,    28,    29,    57,  1473,   281,    32,    28,
2526       29,   255,    57,   293,    32,    38,  1627,   283,  1143,    57,
2527       57,    38,  1143,  1954,     0,  2009,  2009,     0,  2009,     0,
2528     2009,     0,    57,     0,  1123,   381,  1002,     0,  1599,    43,
2529       44,     0,     0,     0,     0,    43,    44,    57,     0,     0,
2530     1138,     0,     0,    51,     0,   406,   859,  1143,  1627,  2133,
2531      406,   255,  1123,   406,     0,     0,     0,   565,  2009,  2009,
2532        0,  2009,     0,   255,  1143,    57,   406,   255,   406,     0,
2533      406,     0,     0,     0,     0,     1,     0,  2009,     0,     0,
2534        0,     0,     0,     0,   669,   669,   669,   669,     0,     0,
2535        0,     0,     0,     0,  2009,   255,   255,     0,     0,     0,
2536        2,     0,     0,  1822,  1826,     0,     0,   406,     0,   121,
2537        0,     0,  1185,  1187,  1188,  1838,     0,  1662,     0,     0,
2538     1675,   556,   840,     0,   844,     0,     0,   551,     0,   551,
2539       57,     0,     0,     0,     0,     1,    28,    29,   372,     0,
2540        0,    32,  1695,   551,   551,     0,    28,    29,    38,     0,
2541      372,    32,   619,     0,     0,   619,     0,     0,    38,   414,
2542        2,     0,     0,     0,   656,     0,     0,   656,     0,   121,
2543        0,     0,    43,    44,   255,     0,  1125,   255,   255,   643,
2544        0,     0,    43,    44,   400,     0,  1182,    57,     0,     0,
2545       51,     0,     0,    52,     0,     0,     0,    57,   255,    57,
2546        1,     0,   927,     0,     0,   656,    28,    29,  1002,     0,
2547        0,    32,     0,     0,     0,     0,     0,   255,    38,   656,
2548      656,   656,   656,   255,     0,     2,  1645,  1289,  1291,  1012,
2549     1293,     0,   406,     0,   121,   483,     0,     0,     0,     0,
2550        0,     0,    43,    44,     0,     0,     0,   483,     0,     0,
2551       51,   483,     0,    52,  1459,  1353,  1355,  1357,  1359,   760,
2552      761,   762,   763,   764,   765,   766,   767,   768,   769,     0,
2553        0,    28,    29,     0,     0,     0,    32,     0,     0,   619,
2554      623,  1167,  1171,    38,     0,    28,    29,     0,     0,    57,
2555       32,     0,     0,     0,   406,     0,   406,    38,   416,   416,
2556        0,     0,  1057,     0,    66,     0,     0,    43,    44,   619,
2557        0,     0,   372,   372,     0,    51,     0,     0,    52,     0,
2558        0,    43,    44,     0,     0,     0,    57,     0,   406,    57,
2559        0,     0,   255,    57,     0,     0,  1503,     0,   879,     0,
2560        0,     0,    57,   255,     0,    57,     0,   551,     0,     0,
2561        0,     0,     0,  1993,     0,     0,   551,     0,   611,     0,
2562        0,     0,  1108,     0,     0,     0,   770,     0,     0,     1,
2563        0,   414,     0,   406,   406,   414,     0,     0,    57,    57,
2564        0,     0,   573,     0,     0,   406,  1770,    66,     0,     0,
2565      958,     0,     0,     0,     2,   255,     0,    66,   416,   406,
2566      406,   714,     0,   121,    66,    66,     0,   714,  1505,     0,
2567        0,     0,   551,   551,     0,     0,     0,     0,    57,     0,
2568        0,   406,   406,     0,    18,    19,   406,   406,     0,     0,
2569      406,   406,     0,     0,     0,     0,     0,   643,   414,     0,
2570       28,    29,     0,     0,   255,    32,   481,   255,    28,    29,
2571        0,     0,    38,    32,    28,    29,   414,     0,   481,    32,
2572       38,     0,   481,    57,     0,     0,    38,     0,   406,     0,
2573      406,     0,     0,    57,   406,     0,    43,    44,     0,     0,
2574       18,    19,   573,     0,    43,    44,     0,    52,     0,     0,
2575       43,    44,    51,    57,     0,  1205,    57,     0,    57,     0,
2576       57,  1608,     0,     0,     0,     0,     0,    57,  1645,  1012,
2577       28,    29,     0,    28,    29,    32,   872,     0,    32,     0,
2578        0,  2070,    38,  2073,   372,    38,     0,   872,   669,  1923,
2579     1927,   669,  1933,  1937,     0,     0,     0,  1941,  1945,  1949,
2580     1953,     0,   372,     0,     0,     0,    43,    44,     0,    43,
2581       44,     0,     0,  -456,    51,     0,  -456,  -456,  -456,  -456,
2582     -456,  -456,  -456,  -456,     0,     0,     0,     0,     0,   669,
2583        0,   643,   643,   643,   643,     0,     0,     0,     0,   963,
2584        0,     0,    66,   669,   669,   669,   669,     0,     0,  2109,
2585        0,     0,    66,   372,    66,  1895,     0,  1898,     0,   255,
2586      255,   255,     0,     0,    57,     0,  1646,     0,  1647,     0,
2587      406,  1906,  1908,     0,     0,     0,     0,   736,   255,     0,
2588        0,     0,     0,     0,     0,   255,   255,   406,     0,   255,
2589      255,     0,   414,     0,     0,    76,   406,   414,     0,     0,
2590        0,     0,     0,   656,   656,   416,     0,    57,     0,     0,
2591      643,     0,     0,  1125,     0,  1125,   656,   643,     0,   656,
2592      643,     0,     0,     0,  1461,  -456,  -456,   656,     0,     0,
2593     1125,     0,     0,     0,     0,  -456,   699,   699,   699,   699,
2594      699,   699,   699,   699,  -456,  -456,  -456,  -456,  -456,     0,
2595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2596      573,   414,     0,  1487,  -456,  -456,  -456,  -456,  -456,  -456,
2597     -456,  -456,  -456,  -456,  -456,     0,     0,     0,    76,     0,
2598        0,     0,     0,  1583,     0,     0,  1589,   481,    76,     0,
2599        0,     0,     0,     0,     0,    76,    76,     0,   481,     0,
2600       57,     0,   414,    57,    57,    57,     0,     0,     0,    28,
2601       29,    28,    29,     0,    32,     0,    32,     0,     0,     0,
2602        0,    38,     0,    38,  1630,     0,   406,   406,    57,   699,
2603        0,     0,     0,     0,     0,    57,    88,   484,  1167,  1171,
2604     1167,  1171,     0,   255,    57,    43,    44,    43,    44,   484,
2605      481,    57,     0,   484,   255,     0,   406,   402,    57,   852,
2606     1562,   619,     0,   619,     0,     0,    28,    29,  1003,  1211,
2607     1221,    32,     0,  1211,  1221,  2032,  -456,  -456,    38,   736,
2608        0,     0,     0,     0,  2039,     0,  -456,     0,   131,     0,
2609        0,  -456,  -456,  -456,     0,  -456,  -456,  -456,  -456,  -456,
2610        0,    57,    43,    44,     0,     0,     0,     0,     0,    57,
2611        0,  1600,     0,     0,   853,   414,     0,   416,   164,   182,
2612      195,   416,     0,     0,     0,    57,   406,   233,     0,    88,
2613        0,     0,     0,    57,    57,     0,    88,    88,   406,     0,
2614     2047,  2049,     0,     0,    57,     0,     0,  1125,  1125,  1125,
2615     1125,     0,     0,  1125,     0,     0,     0,   656,   656,     0,
2616     1125,     0,  1125,     0,   643,   255,   643,   195,   399,   401,
2617      403,   404,   255,    76,  1125,     0,     0,   472,     0,     0,
2618      472,     0,     0,    76,   416,    76,     0,     0,     0,     0,
2619        0,     0,     0,   472,     0,   472,     0,   472,     0,     0,
2620     1795,     0,   416,  1676,     0,     0,     0,   406,   406,     0,
2621        0,   406,   406,   406,     0,     0,     0,     0,     0,   532,
2622      401,   403,     0,     0,     0,  1696,     0,  1425,     1,     0,
2623        0,    57,   406,     0,     0,     0,    57,     0,  1425,     0,
2624        0,     0,    57,     0,     0,     0,     0,     0,    57,  1203,
2625        0,     0,     0,     2,    57,     0,   562,   577,     0,    66,
2626        0,     0,   192,   193,     0,     0,     0,   669,   669,     0,
2627        0,     0,   643,     0,     0,   643,     0,     0,   643,   669,
2628        0,  1003,     0,     0,     0,     0,     0,     0,  1003,     0,
2629        0,  1003,     0,     0,     0,     0,     0,     0,     0,    28,
2630       29,   613,     0,     0,    32,     0,     0,     0,     0,     0,
2631        0,    38,  1125,     0,   182,     0,   643,     0,   484,     0,
2632        0,  1125,     0,  1125,   688,     0,    88,     0,     0,   484,
2633      643,   643,   643,   643,     0,    43,    44,     0,     0,     0,
2634        0,     0,     0,    51,     0,     0,    52,     0,   406,   406,
2635        0,     0,     0,   255,     0,   255,   611,     0,     0,     0,
2636        0,     0,    57,     0,     0,     0,     0,     0,     0,    57,
2637        0,     0,   255,   406,    57,     0,  1125,  1125,   416,     0,
2638     1125,   484,  1125,   416,     0,  1125,     0,     0,     0,  1125,
2639        0,     0,   255,     0,     0,     0,     0,     0,     0,   255,
2640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2641       82,     0,     0,     0,     0,     0,   255,   643,     0,     0,
2642        0,     0,  1125,   255,   643,     0,     0,   255,   643,   399,
2643      401,   403,     0,     0,     0,     0,     0,     0,   481,     0,
2644        0,     0,     0,     0,     0,     0,     0,   416,     0,   481,
2645     1125,     0,     0,   860,     0,     0,     0,     0,     0,     0,
2646      472,     0,  1823,  1827,     0,     0,     0,     0,     0,  1771,
2647        0,   131,     0,     0,     0,  1583,     0,     0,  1589,     0,
2648        0,     0,     0,     0,     0,     0,  1630,     0,   416,     0,
2649        0,     0,     0,    82,     0,     0,     0,     0,     0,     0,
2650      472,   472,     0,    82,     0,   934,     0,     0,     0,   945,
2651       82,    82,   472,     0,     0,     0,     0,   669,     0,     0,
2652        0,   164,     0,     0,     0,     0,   472,   472,     0,     0,
2653        0,     0,     0,     0,     0,  1003,  1003,  1003,     0,     0,
2654        0,     0,     0,     0,     0,   860,     0,     0,   472,   472,
2655        0,     0,   485,   472,   472,     0,   611,   472,   472,     0,
2656      126,   195,   195,   195,   485,     0,     0,     0,   485,    57,
2657       57,     0,     0,     0,     0,     0,  1688,     0,     0,   195,
2658      195,     0,     0,  1688,     0,   406,     0,     0,     0,   406,
2659       76,   180,   126,     0,     0,   472,     0,   472,     0,   232,
2660     1049,   416,  1058,     0,     0,     0,     0,     0,     0,     0,
2661        0,     0,     0,     0,     0,     0,     0,   403,     0,   968,
2662        0,  -639,     0,     0,     0,     0,     0,     0,     0,     0,
2663        0,   643,     0,     0,    57,     0,     0,     0,     0,   126,
2664      126,     0,     0,  1003,   342,     0,  -639,     0,     0,     0,
2665        0,     0,   406,     0,     0,  -639,  -639,     0,   406,   406,
2666        0,     0,     0,    57,    57,    57,    57,     0,   413,     0,
2667        0,     0,     0,     0,     0,     0,     0,     0,  1896,     0,
2668     1899,     0,     0,     0,     0,   669,     0,   669,    82,     0,
2669        0,   530,  -639,  -639,  1907,  1909,     0,  -639,    82,     0,
2670       82,     0,     0,     0,  -639,     0,     0,     0,     0,     0,
2671        0,     0,   406,   406,     0,     0,  1823,  1827,     0,     0,
2672        0,     0,     0,     0,     0,  1183,     0,     0,  -639,  -639,
2673      413,   688,     0,     0,    57,     0,  -639,     0,   594,  -639,
2674        0,   596,   969,     0,   967,  -639,     0,     0,   255,   643,
2675        0,     0,  1213,   669,   643,   643,  1213,     0,     0,     0,
2676        0,     0,     0,     0,     0,     0,    54,   643,     0,   484,
2677      643,     0,     0,   126,   860,     0,     0,     0,   643,     0,
2678      484,     0,     0,     0,     0,     0,   180,  1003,  1003,     0,
2679        0,     0,     0,     0,  1003,  1003,     0,     0,  1003,  1003,
2680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2681        0,     0,     0,    57,     0,     0,     0,     0,     0,     0,
2682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2683        0,     0,   413,   873,     0,     0,   702,   705,   707,     0,
2684        0,   413,     0,     0,   873,     0,   406,   413,    57,   170,
2685        0,   406,     0,   728,     0,     0,     0,     0,   342,    54,
2686        0,     0,     0,     0,     0,     0,    54,    54,     0,    57,
2687        0,     0,     0,     0,     0,   413,     0,     0,     0,     0,
2688      413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2689        0,     0,     0,     0,     0,  1413,   873,     0,  2033,     0,
2690        0,   126,   860,     0,     0,     0,     0,  2040,     0,   164,
2691      860,  1427,     0,     0,     0,   406,     0,   413,  1434,   413,
2692        0,   860,     0,  1442,     0,     0,     0,     0,     0,     0,
2693      255,   643,     0,     0,     0,     0,     0,     0,     0,     0,
2694        0,     0,     0,   126,     0,     0,     0,   406,     0,   406,
2695        0,   413,    57,     0,     0,     0,     0,     0,     0,     0,
2696        0,     0,   131,  2048,  2050,     0,     0,     0,     0,     0,
2697        0,  1471,     0,   406,     0,   406,   577,     0,     0,     0,
2698        0,   232,   131,     0,     0,     0,     0,   567,     0,     0,
2699        0,     0,   934,     0,     0,     0,     0,   302,     0,     1,
2700      303,   106,  1003,     0,     0,   472,     0,     0,   643,   643,
2701        0,     0,     0,     0,     0,   401,     0,     0,     0,     0,
2702        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
2703        0,     0,     0,   126,   126,   126,     0,  1007,     0,   934,
2704      596,     0,     0,     0,   170,     0,     0,     0,     0,     0,
2705        0,   126,   126,   126,   170,     0,    54,     0,     0,     0,
2706      413,   307,     0,     0,     0,     0,     0,   308,   309,   406,
2707        0,   406,   126,     0,   472,   472,     0,     0,   472,   472,
2708      472,   312,     0,     0,     0,  1545,   399,     0,     0,     0,
2709        0,     0,     0,     0,   313,     0,   403,   413,   314,   315,
2710      316,   317,   318,   319,   320,    82,     0,     0,     0,     0,
2711        0,     0,     0,     0,     0,     0,     0,   704,     0,  1003,
2712     1003,     0,     0,     0,     0,     0,     0,   325,   326,   342,
2713        0,     0,     0,     0,     0,     0,     0,     0,   406,   406,
2714      406,   406,   406,    57,     0,    57,     0,     0,     0,     0,
2715      620,   624,   406,   406,   406,   406,     0,   413,     0,     0,
2716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2718        0,     0,     0,   567,     0,     0,     0,     0,   468,     0,
2719        0,   468,     0,     0,     0,     0,     0,   232,     0,     0,
2720        0,     0,     0,     0,   468,     0,   468,     0,   468,     0,
2721      360,     0,     0,     0,     0,   472,   472,     0,     0,     0,
2722      406,   406,     0,     0,     0,     0,     0,     0,   413,     0,
2723        0,     0,     0,     0,   415,   567,   860,     0,     0,   860,
2724        0,  1671,     0,     0,     0,     0,     0,     0,     0,     0,
2725        0,     0,     0,     0,   342,     0,     0,     0,   342,  1213,
2726        0,     0,     0,     0,     0,     0,  1213,     0,     0,     0,
2727        0,     0,     0,   413,     0,   567,     0,     0,     0,     0,
2728      413,     0,     0,   413,   873,     0,     0,     0,     0,     0,
2729        0,     0,     0,     0,     0,   873,   415,     0,     0,     0,
2730        0,  1003,  1003,   342,     0,     0,     0,     0,     0,   413,
2731      413,   413,   413,   413,   413,   413,     0,     0,   413,   413,
2732        0,   413,   413,   413,   413,   413,   413,   413,   413,     0,
2733      342,     0,     0,     0,     0,     0,     0,     0,   342,   413,
2734      413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2735      413,   413,   413,   413,   413,   413,   413,     0,   342,     0,
2736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2738        0,     0,     0,     0,     0,     0,     0,     0,     0,   413,
2739      413,     0,     0,     0,     0,   126,     0,     0,   415,     0,
2740        0,     0,   703,   706,   708,     0,     0,   415,     0,     0,
2741        0,     0,     0,   415,     0,     0,     0,   620,     0,   729,
2742      620,     0,     0,     0,   360,     0,     0,     0,     0,     0,
2743        0,     0,     0,     0,   126,     0,     0,     0,     0,     0,
2744        0,   415,     0,     0,     0,     0,   415,     0,     0,  1742,
2745        0,   594,     0,   596,   126,     0,     0,   413,     0,   413,
2746        0,   170,     0,     0,  1751,     0,     0,  1194,     0,     0,
2747        0,   399,     0,     0,     0,     0,     0,     0,   195,     0,
2748        0,     0,     0,   415,     0,   415,     0,     0,     0,   413,
2749        0,     0,     0,  1194,     0,     0,     0,     0,   413,  1764,
2750        0,   577,     0,     0,     0,     0,     0,     0,     0,     0,
2751        0,   468,   468,  1779,     0,  -628,     0,   415,     0,     0,
2752        0,     0,     0,     0,     0,   472,   472,   413,     0,   413,
2753        0,     0,     0,     0,     0,     0,     0,   468,   468,     0,
2754     -628,     0,     0,     0,   620,   624,  1168,  1172,     0,  -628,
2755     -628,     0,     0,     0,     0,     0,     0,   126,   126,   468,
2756      468,     0,     0,     0,   468,   468,     0,     0,   468,   468,
2757        0,     0,     0,     0,   620,     0,     0,     0,     0,   472,
2758      472,     0,   399,     0,     0,     0,  -628,  -628,     0,   357,
2759        0,  -628,     0,     0,     0,   413,     0,   567,  -628,     0,
2760        0,   577,     0,     0,     0,     0,   468,     0,   468,     0,
2761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2762        0,     0,  -628,  -628,     0,     0,   415,     0,     0,     0,
2763     -628,     0,   567,  -628,     0,   413,  1780,     0,   967,  -628,
2764        0,   567,     0,     0,     0,     0,   413,     0,   567,     0,
2765        0,     0,     0,     0,     0,   567,     0,     0,     0,     0,
2766        0,     0,     0,   415,     0,     0,     0,     0,     0,     0,
2767        0,     0,   342,   342,     0,     0,     0,     0,     0,     0,
2768        0,     0,     0,     0,     0,     0,     0,     0,     0,   594,
2769        0,   596,     0,     0,     0,   360,     0,     0,     0,     0,
2770        0,     0,     0,     0,     0,     0,   567,  1882,     0,     0,
2771        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2772        0,     0,   567,   415,     0,     0,     0,     0,     0,     0,
2773        0,     0,     0,     0,     0,     0,   413,     0,   413,     0,
2774        0,     0,     0,     0,     0,     0,     0,   650,     0,     0,
2775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2776      413,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2777        0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
2778      413,     0,     0,   342,     0,     0,     0,   413,     0,     0,
2779        0,   413,     0,     0,   415,     0,     0,     0,     0,     0,
2780        0,     0,     0,   747,     0,     0,     0,     0,     0,     0,
2781        0,     0,     0,     0,   472,     0,   472,     0,     0,   860,
2782      360,     0,     0,     0,   360,     0,     0,     0,     0,     0,
2783        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
2784      472,     0,   472,     0,     0,     0,   415,     0,     0,   415,
2785        0,     0,   403,     0,     0,     0,     0,     0,     0,     0,
2786        0,     0,     0,     0,     0,     0,     0,     0,     0,   360,
2787        0,     0,     0,     0,     0,   415,   415,   415,   415,   415,
2788      415,   415,     0,     0,   415,   415,     0,   415,   415,   415,
2789      415,   415,   415,   415,   415,     0,   360,     0,     0,     0,
2790        0,     0,     0,     0,   360,   415,   415,   415,   415,   415,
2791      415,   415,   415,   415,   415,   415,   415,   415,   415,   415,
2792      415,   415,   415,     0,   360,     0,     0,     0,     0,     0,
2793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2794        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
2795      126,     0,   413,   468,   468,   415,   415,     0,     0,  1657,
2796        0,     0,     0,     0,     0,     0,  1659,     0,     0,     0,
2797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2798        0,     0,     0,     0,     0,     0,     0,     0,  1584,     0,
2799        0,  1590,     0,     0,   413,     0,     0,     0,     0,     0,
2800        0,     0,     0,     0,   413,   472,   472,   472,   472,   472,
2801      449,  1014,     0,   449,     0,   413,   468,     0,     0,   472,
2802      472,   472,   472,   415,     0,   415,   449,     0,   449,  1631,
2803      449,     0,     0,   413,     0,   342,     0,     0,     0,     0,
2804      413,     0,   413,  1168,  1172,  1168,  1172,     0,     0,     0,
2805        0,     0,     0,     0,   126,   415,     0,     0,     0,   413,
2806        0,     0,     0,     0,   415,     0,   620,     0,   620,     0,
2807        0,     0,     0,     0,  1099,     0,     0,     0,     0,     0,
2808        0,     0,     0,     1,     0,   468,   468,   472,   472,   468,
2809      468,   468,     0,   415,     0,   415,   774,     0,     0,     0,
2810        0,     0,     0,     0,     0,     0,     0,   650,     2,     0,
2811        0,     0,   413,     0,     8,     9,    10,    11,    12,    13,
2812       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2813       24,     0,     0,     0,     0,     0,     0,     0,     0,   650,
2814      650,   650,   650,     0,     0,     0,    27,     0,     0,     0,
2815        0,     0,     0,     0,    28,    29,     0,     0,     0,    32,
2816        0,   415,    35,    36,     0,    37,    38,    39,     0,     0,
2817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2818       40,     0,   467,     0,     0,   467,     0,     0,     0,     0,
2819       43,    44,    45,    46,    47,    48,     0,     0,   467,  1231,
2820      467,   415,   467,  1235,     0,     0,     0,     0,     0,   413,
2821        0,     0,   415,   413,   413,   413,     0,     0,     0,     0,
2822        0,     0,     0,     0,   342,     0,   468,   468,     0,   413,
2823      413,   567,     0,     0,   747,     0,   342,     0,   360,   360,
2824        0,     0,     0,     0,     0,     0,     0,     0,  1272,     0,
2825        0,     0,     0,     0,   413,   413,     0,   413,   413,     0,
2826        0,     0,   413,   413,   413,   413,     0,     0,     0,     0,
2827        0,     0,     0,     0,     0,  1326,     0,     0,   413,     0,
2828      747,     0,     0,  1337,     0,     0,     0,     0,     0,     0,
2829        0,     0,     0,     0,   413,     0,     0,     0,     0,     0,
2830        0,     0,   415,  1390,   415,     0,     0,     0,     0,     0,
2831        0,   648,     0,     0,     0,   126,     0,     0,     0,   413,
2832        0,     0,     0,     0,     0,     0,   415,     0,     0,     0,
2833        0,   567,     0,   449,   449,     0,     0,     0,   450,     0,
2834        0,   450,   415,     0,     0,   952,   415,     0,     0,   360,
2835        0,     0,     0,   415,   450,     0,   450,   415,   450,   449,
2836      449,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2838        0,   449,   449,     0,     0,     0,   449,   449,  1135,     0,
2839      449,   449,     0,     0,     0,     0,     0,     0,   342,   342,
2840        0,   413,   413,   413,   413,   413,   413,   413,   413,     0,
2841        0,     0,     0,     0,     0,     0,     0,   919,   922,     0,
2842        0,     0,     0,     0,     0,     0,     0,     0,   449,     0,
2843      449,     0,   413,   413,     0,     0,     0,     0,     0,     0,
2844        0,     0,   413,   919,   922,     0,     0,     0,     0,     0,
2845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2846        0,     0,     0,     0,     0,   919,   922,  1824,  1828,     0,
2847      919,   922,     0,     0,   919,   922,     0,     0,     0,     0,
2848      624,     0,     0,   624,     0,     0,     0,     0,     0,     0,
2849     1014,   624,     0,     0,   413,     0,     0,     0,   413,   413,
2850        0,     0,     0,     0,     0,   467,   467,     0,     0,     0,
2851     1263,     0,     0,     0,   415,     0,     0,     0,   415,     0,
2852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2853        0,   467,   467,     0,     0,     0,   468,   468,     0,     0,
2854        0,     0,     0,  1295,  1299,  1303,  1307,  1311,     0,   567,
2855     1320,     0,     0,   467,   467,     0,  1263,     0,   467,   467,
2856      415,     0,   467,   467,     0,     0,     0,     0,     0,  1000,
2857      415,  1361,  1365,  1369,  1373,  1377,     0,     0,  1320,     0,
2858        0,   415,     0,   650,     0,     0,   650,     0,     0,     0,
2859      468,   468,     0,     0,     0,   650,     0,     0,     0,   415,
2860      467,   360,   467,     0,     0,     0,   415,     0,   415,     0,
2861      342,     0,     0,     0,     0,     0,     0,  1625,  1626,     0,
2862        0,     0,     0,     0,   650,   415,  1272,     0,   342,     0,
2863     1638,     0,     0,  1337,     0,  1642,     0,     0,   650,   650,
2864      650,   650,     0,     0,     0,     0,     0,     0,     0,     0,
2865        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2866        0,   450,   450,     0,     0,     0,     0,     0,     0,     0,
2867        0,   648,     0,   953,     0,     0,     0,     0,   415,   342,
2868        0,     0,     0,     0,     0,     0,     0,   450,   450,     0,
2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2870        0,     0,     0,   648,   648,   648,   648,     0,     0,   450,
2871      450,     0,     0,     0,   450,   450,     0,     0,   450,   450,
2872        0,   624,   624,     0,     0,     0,     0,     0,  1712,     0,
2873        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2874        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2875        0,     0,     0,     0,     0,     0,   450,     0,   450,     0,
2876        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2877        0,     0,     0,     0,     0,   415,     0,     0,     0,   415,
2878      415,   415,  1000,     0,     0,     0,     0,     0,     0,  1000,
2879      360,     0,  1000,     0,     0,   415,   415,     0,     0,     0,
2880        0,     0,   360,     0,     0,     0,     0,     0,   920,   923,
2881        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2882      415,   415,     0,   415,   415,   468,     0,   468,   415,   415,
2883      415,   415,     0,     0,   920,   923,     0,     0,   449,     0,
2884        0,     0,     0,     0,   415,     0,     0,     0,     0,     0,
2885        0,   468,     0,   468,     0,     0,   920,   923,     0,     0,
2886      415,   920,   923,     0,     0,   920,   923,     0,     0,     0,
2887        0,     0,     0,     0,  1606,     0,     0,     0,     0,     0,
2888        0,     0,     0,     0,     0,   415,     0,     0,     0,     0,
2889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2890        0,     0,  1633,     0,     0,     0,     0,   449,   449,  1640,
2891        0,   449,   449,   449,     0,     0,     0,     0,     0,     0,
2892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2894        0,     0,     0,  1320,     0,  1320,     0,   467,   467,     0,
2895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2896        0,     0,     0,     0,   360,   360,     0,   415,   415,   415,
2897      415,   415,   415,   415,   415,     0,     0,     0,     0,     0,
2898     1014,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2899        0,   919,   922,     0,     0,   919,   922,     0,   415,   415,
2900        0,     0,     0,     0,     0,     0,     0,     0,   415,     0,
2901      467,  1014,     0,     0,     0,     0,   468,   468,   468,   468,
2902      468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2903      468,   468,   468,   468,     0,     0,  1000,     0,  1000,     0,
2904        0,     0,     0,     0,     0,     0,     0,     0,   449,   449,
2905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2906      415,     0,   650,   650,   415,   415,     0,     0,     0,     0,
2907        0,     0,   650,     0,   650,   650,     0,     0,   650,   467,
2908      467,     0,     0,   467,   467,   467,   650,     0,     0,   650,
2909        0,     0,     0,     0,     0,     0,     0,     0,   468,   468,
2910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2912        0,     0,     0,     0,     0,  -869,     0,     0,  -869,  -869,
2913     -869,     0,  -869,  -869,     0,     0,     0,     0,     0,     0,
2914        0,     0,     0,     0,  1000,     0,     0,   648,     0,     0,
2915      648,     0,     0,     0,     0,     0,     0,     0,     0,   648,
2916        0,     0,     0,     0,     0,     0,   450,     0,     0,  1014,
2917        0,     0,     0,     0,     0,     0,   360,     0,     0,     0,
2918        0,  1914,     0,     0,     0,     0,     0,     0,   648,  -869,
2919        0,     0,     0,  1712,   360,  -869,  -869,  -869,  1638,     0,
2920        0,  1642,   648,   648,   648,   648,     0,     0,  -869,     0,
2921        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2922      467,   467,  -869,     0,     0,     0,  -869,  -869,  -869,  -869,
2923     -869,  -869,  -869,  -869,     0,   450,   450,     0,     0,   450,
2924      450,   450,     0,     0,   221,   360,     0,  -869,  -869,     0,
2925     -869,  -869,  -869,     0,     0,  -869,  -869,     0,  -869,  -869,
2926     -869,  -869,     0,     0,     0,  1014,     0,     0,     0,     0,
2927        0,     0,     0,     0,     0,     0,  1014,     0,     0,     0,
2928        0,     0,     0,     0,     0,     0,   221,     0,     0,  1000,
2929        0,     0,     0,     0,   417,     0,  1000,     0,     0,     0,
2930     1000,     0,     0,     0,     0,     0,   650,   650,   650,   650,
2931        0,     0,   650,     0,   509,     0,   650,   650,     0,   650,
2932        0,   650,     0,     0,     0,     0,     0,   302,     0,     1,
2933      303,   106,   304,   650,   305,   306,     0,     0,     0,     0,
2934        0,     0,     0,  2017,  2018,     0,     0,     0,     0,     0,
2935        0,     0,     0,     0,     2,     0,     0,     0,   449,   449,
2936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2937        0,     0,     0,     0,     0,     0,   450,   450,     0,     0,
2938        0,     0,   920,   923,     0,     0,   920,   923,     0,     0,
2939        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
2940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2941      311,   312,   449,   449,     0,     0,     0,     0,     0,     0,
2942        0,     0,     0,     0,   313,     0,     0,     0,   314,   315,
2943      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
2944        0,     0,   919,   922,   322,     0,     0,   323,  1157,   324,
2945        0,     0,  1158,     0,     0,  1014,     0,   325,   326,  1719,
2946      327,   328,   329,   330,     0,     0,     0,     0,     0,  1916,
2947        0,   650,     0,     0,  1919,  1921,  1925,  1929,  1931,  1935,
2948      650,     0,   650,  1939,  1943,  1947,  1951,     0,     0,     0,
2949        0,     0,     0,     0,     0,     0,   919,   922,     0,     0,
2950        0,     0,     0,  1000,     0,     0,     0,     0,     0,     0,
2951        0,     0,    74,     0,     0,     0,     0,     0,     0,     0,
2952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2953      467,   467,  1014,     0,     0,   650,   650,     0,   831,   650,
2954        0,   650,     0,     0,   650,     0,     0,     0,   650,  1000,
2955        0,  1000,     0,     0,     0,  2114,     0,     0,     0,     0,
2956        0,     0,     0,   117,     0,     0,     0,     0,     0,     0,
2957        0,     0,     0,  1014,     0,     0,     0,   866,   509,     0,
2958        0,   650,   875,     0,   467,   467,     0,     0,     0,     0,
2959        0,   882,     0,     0,   889,   178,     0,     0,     0,     0,
2960        0,     0,     0,     0,   261,    74,     0,     0,     0,   650,
2961        0,     0,    74,    74,     0,     0,     0,     0,     0,     0,
2962        0,  1000,     0,     0,  2157,     0,   648,   648,   940,     0,
2963      383,     0,     0,     0,   956,     0,   648,     0,   648,   648,
2964        0,     0,   648,     0,     0,     0,     0,   449,     0,   449,
2965      648,     0,     0,   648,   482,     0,     0,     0,     0,     0,
2966        0,     0,     0,     0,     0,     0,   482,     0,     0,     0,
2967      482,     0,     0,   449,     0,   449,     0,     0,     0,     0,
2968        0,     0,     0,     0,     0,     0,   450,   450,     0,     0,
2969        0,     0,     0,     0,     0,     0,     0,     0,   261,   261,
2970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2971        0,     0,   221,     0,     0,     0,     0,     0,     0,     0,
2972        0,     0,   221,     0,     0,     0,     0,     0,     0,     0,
2973        0,     0,     0,   572,     0,     0,     0,     0,     0,     0,
2974      450,   450,   221,     0,     0,   221,     0,   221,     0,   221,
2975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2976        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2977        0,     0,     0,     0,     0,     0,     0,   610,     0,     0,
2978      261,   261,   261,     0,     0,     0,     0,     0,     0,     0,
2979      178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2980      178,   261,    74,  1000,     0,     0,     0,     0,     0,     0,
2981        0,     0,     0,     0,     0,     0,     0,     0,     0,   467,
2982      713,   467,     0,     0,     0,     0,   713,     0,     0,     0,
2983        0,     0,     0,   920,   923,   735,     0,     0,   449,   449,
2984      449,   449,   449,     0,     0,   467,     0,   467,     0,     0,
2985        0,     0,   449,   449,   449,   449,     0,     0,     0,     0,
2986        0,     0,     0,     0,     0,     0,    91,     0,     0,     0,
2987      648,   648,   648,   648,     0,     0,   648,     0,     0,     0,
2988      648,   648,     0,   648,     0,   648,     0,   920,   923,     0,
2989        0,     0,     0,     0,     0,     0,     0,   648,     0,     0,
2990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2991        0,     0,     0,     0,     0,     0,     0,   120,   132,     0,
2992      449,   449,   919,   922,     0,   919,   922,     0,  1126,   572,
2993        0,     0,     0,     0,     0,   871,   919,   922,   919,   922,
2994        0,     0,     0,     0,     0,     0,   871,     0,     0,   183,
2995      132,     0,     0,     0,   230,     0,     0,     0,     0,    91,
2996        0,     0,  1165,  1169,     0,     0,    91,    91,     0,     0,
2997        0,     0,     0,     0,     0,   450,     0,   450,     0,     0,
2998        0,   572,     0,     0,   384,     0,     0,     0,     0,     0,
2999        0,     0,   831,   831,   831,     0,     0,   393,   962,     0,
3000        0,   450,     0,   450,   919,   922,     0,     0,     0,     0,
3001      467,   467,   467,   467,   467,   417,   417,   221,     0,     0,
3002        0,   572,     0,     0,   467,   467,   467,   467,     0,     0,
3003        0,     0,     0,     0,     0,   648,     0,     0,     0,     0,
3004      261,     0,     0,     0,   648,     0,   648,   261,   529,     0,
3005      261,     0,     0,     0,     0,     0,     0,   745,     0,     0,
3006        0,   545,     0,     0,     0,     0,     0,     0,     0,     0,
3007        0,     0,     0,     0,   773,     0,     0,     0,     0,     0,
3008        0,     0,     0,     0,     0,     0,     0,   579,     0,     0,
3009     1465,     0,   467,   467,     0,     0,     0,     0,     0,   648,
3010      648,     0,     0,   648,     0,   648,     0,     0,   648,     0,
3011        0,     0,   648,     0,     0,   417,     0,     0,     0,     0,
3012        0,     0,   509,   509,     0,     0,     0,     0,     0,     0,
3013        0,   132,     0,   509,     0,     0,     0,     0,     0,     0,
3014        0,     0,     0,     0,   183,   648,     0,     0,     0,  1139,
3015        0,     0,     0,     0,   689,     0,    91,     0,     0,     0,
3016        0,     0,     0,     0,     0,     0,   450,   450,   450,   450,
3017      450,     0,     0,   648,   261,   261,   261,   261,     0,     0,
3018      450,   450,   450,   450,     0,     0,     0,     0,     0,     0,
3019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3020        0,     0,   261,   261,   261,     0,     0,   178,     0,     0,
3021        0,     0,     0,  1197,     0,     0,     0,     0,     0,     0,
3022      221,   261,     0,     0,     0,   221,     0,     0,  1210,  1220,
3023      735,  1565,  1210,  1220,     0,     0,     0,  1565,     0,  1197,
3024        0,     0,     0,   221,     0,     0,     0,     0,   450,   450,
3025     1240,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3026      261,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3028        0,     0,     0,   861,     0,     0,     0,     0,     0,     0,
3029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3030        0,   132,     0,     0,     0,     0,     0,     0,     0,     0,
3031        0,     0,   655,   920,   923,     0,   920,   923,     0,     0,
3032        0,     0,     0,     0,     0,     0,     0,   920,   923,   920,
3033      923,     0,     0,     0,     0,   935,     0,     0,   943,     0,
3034        0,     0,     0,   572,     0,     0,     0,     0,     0,     0,
3035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3036        0,     0,   417,   221,     0,   733,  1134,     0,     0,     0,
3037        0,     0,     0,     0,     0,   861,     0,     0,   572,     0,
3038        0,     0,     0,     0,     0,     0,  1424,   572,     0,     0,
3039        0,   132,   132,   132,   572,   920,   923,  1424,   117,   735,
3040        0,   572,     0,     0,  1581,     0,     0,  1587,     0,   132,
3041      132,     0,     0,     0,     0,     0,  1604,     0,     0,     0,
3042        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3043     1050,     0,  1059,     0,     0,     0,     0,     0,     0,     0,
3044        0,   396,     0,  1061,     0,  1628,     0,     0,     0,     0,
3045        0,     0,   572,     0,     0,     0,     0,     0,     0,  1165,
3046     1169,  1165,  1169,     0,     0,     0,     0,     0,   572,     0,
3047        0,     0,     0,     0,     0,     0,     0,   733,     0,   545,
3048        0,     0,     0,     0,     0,     0,     0,     0,   745,     0,
3049        0,     0,   396,     0,     0,     0,     0,     0,     0,     0,
3050        0,     0,  1271,     0,     0,     0,     0,   261,   261,   261,
3051        0,     0,     0,     0,     0,   610,     0,     0,     0,     0,
3052        0,  1294,  1298,  1302,  1306,  1310,     0,     0,  1319,  1325,
3053      575,     0,     0,     0,   745,     0,     0,  1336,     0,     0,
3054        0,     0,     0,     0,     0,     0,     0,     0,     0,  1360,
3055     1364,  1368,  1372,  1376,  1181,     0,  1319,  1389,   831,   831,
3056        0,   689,     0,     0,     0,     0,     0,     0,     0,     0,
3057        0,     0,     0,     0,   417,     0,     0,     0,   417,     0,
3058        0,     0,  1215,     0,     0,     0,  1215,     0,     0,     0,
3059        0,     0,     0,     0,     0,     0,     0,   685,     0,     0,
3060        0,     0,     0,     0,   861,     0,     0,     0,     0,     0,
3061        0,     0,     0,     0,     0,   261,     0,     0,   261,     0,
3062        0,   261,     0,     0,     0,     0,     0,     0,     0,     0,
3063        0,     0,     0,     0,  1139,     0,     0,     0,     0,     0,
3064        0,   417,     0,     0,     0,     0,     0,     0,     0,     0,
3065        0,     0,   417,  1783,   417,  1783,     0,     0,     0,   261,
3066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3067        0,     0,     0,   261,   261,   261,   261,  1137,     0,     0,
3068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3069        0,     0,     0,  1155,     0,     0,   261,     0,   261,     0,
3070        0,     0,   849,     0,   655,   655,   655,   655,   854,     0,
3071        0,     0,  1661,     0,     0,   610,     0,     0,     0,     0,
3072        0,     0,     0,     0,     0,   861,  1414,     0,     0,     0,
3073        0,     0,   861,     0,     0,  1687,     0,     0,     0,     0,
3074      861,  1428,  1687,   733,     0,     0,   733,     0,  1435,   260,
3075        0,   861,   120,   132,     0,     0,     0,     0,     0,   261,
3076      261,     0,     0,     0,     0,     0,   261,   261,     0,   733,
3077      261,   261,     0,     0,  1155,     0,     0,     0,   931,     0,
3078        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3079        0,     0,   132,     0,     0,     0,     0,     0,     0,     0,
3080     1468,  1270,   509,     0,     0,     0,   579,     0,     0,     0,
3081        0,     0,   132,     0,     0,     0,     0,     0,     0,     0,
3082        0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
3083        0,     0,     0,     0,     0,   417,     0,   221,  1006,  1323,
3084      417,  1011,     0,   260,   260,     0,     0,  1335,     0,     0,
3085        0,     0,  1134,     0,  1006,     0,     0,     0,     0,     0,
3086        0,     0,     0,     0,     0,     0,     0,  1387,     0,   935,
3087        0,     0,     0,     0,     0,   575,     0,     0,   571,     0,
3088     1271,     0,     0,  1821,  1825,     0,     0,  1336,   575,     0,
3089        0,     0,     0,  1834,     0,  1837,  1581,     0,     0,  1587,
3090        0,     0,     0,     0,   417,     0,     0,  1628,     0,     0,
3091     1850,     0,     0,     0,     0,  1546,     0,     0,     0,     0,
3092        0,  1319,   609,  1319,  1554,   260,   260,   260,     0,   733,
3093        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3094        0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
3095        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3096        0,     0,     0,     0,     0,   712,     0,     0,     0,     0,
3097        0,   712,     0,     0,   261,     0,     0,   572,     0,     0,
3098      734,     0,  1711,     0,     0,     0,     0,     0,     0,     0,
3099        0,     0,     0,     0,     0,     0,     0,     0,   685,     0,
3100        0,     0,     0,     0,   685,     0,     0,     0,     0,     0,
3101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3103        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3105        0,     0,     0,     0,     0,     0,     0,     0,   417,     0,
3106        0,     0,     0,     0,     0,     0,   861,     0,     0,   861,
3107        0,  1215,     0,     0,   571,     0,     0,   572,     0,  1678,
3108        0,     0,     0,     0,     0,     0,     0,     0,     0,  1215,
3109        0,   261,   261,     0,     0,     0,  1215,   261,   261,     0,
3110        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3111      261,     0,     0,   261,     0,     0,     0,     0,     0,     0,
3112        0,   261,     0,     0,     0,     0,   571,  1988,  1989,  1990,
3113     1991,     0,   417,  1992,   417,     0,     0,  1821,  1825,     0,
3114     1834,     0,  1837,     0,     0,     0,     0,     0,   655,     0,
3115        0,   655,  1592,  1594,  2001,  1597,     0,     0,     0,     0,
3116        0,     0,     0,  1607,     0,     0,   571,     0,     0,     0,
3117        0,  1616,     0,     0,     0,     0,     0,     0,  1155,     0,
3118        0,     0,     0,     0,   685,   260,     0,     0,     0,   655,
3119        0,  1433,   260,     0,     0,   260,  1155,     0,     0,     0,
3120        0,  1155,     0,   655,   655,   655,   655,     0,     0,     0,
3121        0,     0,   735,     0,     0,     0,     0,     0,     0,     0,
3122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3123        0,     0,  1651,     0,  1655,     0,     0,     0,     0,     0,
3124        0,     0,     0,     0,  1469,     0,     0,     0,     0,   575,
3125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3126        0,     0,     0,     0,     0,   931,  1155,     0,     0,     0,
3127        0,     0,     0,   261,   261,     0,     0,     0,     0,  1743,
3128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3129        0,     0,  1992,  1750,     0,   572,     0,   263,     0,     0,
3130     1753,  2069,     0,  2072,     0,     0,     0,     0,   393,     0,
3131        0,  1155,   931,     0,     0,     0,     0,     0,     0,   260,
3132      260,   260,   260,     0,     0,     0,     0,     0,     0,  1435,
3133        0,   579,     0,     0,     0,     0,     0,     0,     0,     0,
3134        0,     0,     0,     0,     0,     0,     0,   260,   260,   260,
3135        0,   261,   261,     0,     0,     0,  2101,  2102,  1196,   396,
3136     2069,     0,  2072,  1155,     0,  2106,   260,     0,   575,  2108,
3137      575,     0,     0,  1209,  1219,   734,  1155,  1209,  1219,     0,
3138        0,     0,     0,     0,  1196,     0,     0,     0,     0,     0,
3139        0,   263,   263,     0,     0,  1239,     0,     0,   260,     0,
3140        0,     0,  2108,     0,     0,   260,     0,     0,   260,     0,
3141        0,  1807,     0,     0,   735,     0,     0,     0,     0,     0,
3142        0,     0,     0,     0,     0,     0,   574,  1155,     0,     0,
3143     2146,   579,     0,     0,     0,     0,     0,     0,     0,     0,
3144        0,     0,     0,     0,     0,     0,     0,  1711,     0,     0,
3145        0,     0,  1918,  1920,  1924,  1928,  1930,  1934,     0,     0,
3146        0,  1938,  1942,  1946,  1950,     0,     0,     0,     0,     0,
3147      612,     0,     0,   263,   263,   263,     0,     0,     0,     0,
3148        0,     0,     0,     0,     0,     0,     0,     0,   571,     0,
3149      685,     0,   685,     0,   263,     0,     0,     0,     0,     0,
3150        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3151        0,     0,     0,   715,     0,     0,     0,     0,     0,   715,
3152        0,     0,     0,   571,     0,     0,     0,     0,   737,     0,
3153        0,     0,   571,     0,     0,     0,     0,  1883,     0,   571,
3154        0,     0,     0,     0,   734,     0,   571,     0,     0,     0,
3155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3159        0,     0,     0,     0,     0,     0,     0,   571,     0,     0,
3160     1920,  1924,  1930,  1934,  1938,  1942,  1946,  1950,  1414,     0,
3161        0,     0,     0,   571,     0,     0,     0,     0,     0,   732,
3162        0,     0,   574,     0,     0,     0,     0,   655,   655,     0,
3163     1753,     0,     0,  1155,     0,  1155,     0,     0,  1155,   655,
3164        0,     0,     0,     0,  1841,  1844,     0,  1846,     0,   861,
3165        0,     0,   260,   260,   260,     0,     0,  1155,     0,  1857,
3166      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3167        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3168        0,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3169        0,  1155,     0,     0,     0,  1155,     0,     0,     0,     0,
3170        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3171        0,     0,     0,     0,   574,     0,     0,     0,     0,     0,
3172        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3173        0,   732,     0,   263,     0,     0,     0,   685,     0,     0,
3174      263,     0,     0,   263,  1754,   307,     0,   550,  1678,     0,
3175        0,   308,   309,   310,     0,     0,     0,     0,     0,     0,
3176      260,     0,     0,   260,   311,   312,   260,     0,     0,     0,
3177        0,     0,  1433,     0,   575,     0,     0,  1767,   313,     0,
3178     1011,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3179        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
3180        0,   323,  1157,   324,   260,     0,  1724,     0,     0,     0,
3181     1725,   325,   326,     0,   327,   328,   329,   330,   260,   260,
3182      260,   260,     0,     0,     0,     0,     0,     0,     0,     0,
3183        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3184        0,   260,     0,   260,     0,     0,     0,     0,     0,   698,
3185      125,     0,     0,     0,     0,   849,     0,  1660,   550,  1155,
3186      609,     0,     0,   575,   550,     0,     0,   263,   263,   263,
3187      263,     0,     0,     0,   575,     0,     0,   655,  1155,     0,
3188     1686,   125,   125,     0,     0,  1155,     0,  1686,     0,  1846,
3189        0,  1999,     0,     0,     0,   263,   263,   263,     0,     0,
3190     2005,     0,     0,     0,   260,   260,  1199,     0,     0,     0,
3191        0,   260,   260,     0,   263,   260,   260,     0,     0,     0,
3192        0,  1212,  1222,   737,     0,  1212,  1222,     0,     0,   125,
3193      125,  1136,  1199,     0,   550,     0,   550,     0,     0,     0,
3194        0,     0,     0,  1242,   733,     0,   263,  1154,     0,     0,
3195        0,  1159,     0,   263,     0,     0,   263,     0,     0,     0,
3196        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3197        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3198        0,   125,     0,     0,     0,     0,     0,     0,     0,     0,
3199        0,     0,     0,     0,     0,     0,     0,   732,     0,     0,
3200      732,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3201        0,     0,     0,     0,  1224,     0,     0,     0,     0,   576,
3202        0,     0,     0,   732,     0,     0,     0,     0,  1154,  1159,
3203        0,     0,     0,     0,     0,     0,   574,  2061,  2064,     0,
3204     1155,     0,  1155,     0,     0,   655,  1155,   655,     0,     0,
3205        0,     0,     0,     0,     0,  1269,     0,     0,     0,   685,
3206      685,     0,  1961,   125,     0,     0,     0,     0,     0,     0,
3207        0,   574,     0,     0,     0,     0,   125,  1001,     0,     0,
3208      574,     0,     0,     0,     0,     0,   686,   574,     0,     0,
3209        0,     0,   737,  1321,   574,     0,     0,     0,     0,     0,
3210        0,  1334,  1155,     0,     0,  1155,     0,     0,     0,     0,
3211        0,     0,     0,   655,   550,     0,  1006,     0,     0,   260,
3212        0,  1385,   571,     0,     0,     0,     0,     0,     0,     0,
3213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3214        0,     0,     0,     0,     0,   574,     0,     0,     0,  1155,
3215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3216        0,   574,     0,     0,     0,     0,     0,     0,     0,     0,
3217        0,     0,     0,     0,   550,     0,     0,     0,     0,     0,
3218        0,     0,     0,   732,     0,     0,     0,     0,     0,     0,
3219        0,   125,     0,     0,     0,     0,     0,   576,     0,     0,
3220      263,   263,   263,     0,     0,     0,     0,     0,   612,     0,
3221        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3222        0,     0,   571,     0,     0,     0,     0,     0,     0,     0,
3223        0,     0,     0,   125,     0,     0,   260,   260,     0,     0,
3224        0,     0,   260,   260,     0,  1189,     0,     0,     0,     0,
3225        0,     0,     0,     0,     0,   260,     0,     0,   260,     0,
3226        0,     0,     0,     0,     0,     0,   260,   576,     0,     0,
3227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3229     1001,     0,     0,     0,     0,     0,     0,  1001,     0,     0,
3230     1001,     0,     0,     0,     0,     0,     0,     0,   263,     0,
3231        0,   263,     0,     0,   263,     0,     0,     0,     0,     0,
3232        0,     0,     0,   125,   125,   125,     0,   125,     0,     0,
3233      686,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3234        0,   125,   125,   125,     0,     0,     0,     0,     0,     0,
3235        0,     0,   263,     0,     0,     0,     0,   734,     0,     0,
3236        0,     0,   125,     0,   576,     0,   263,   263,   263,   263,
3237        0,     0,     0,     0,     0,     0,     0,   576,     0,     0,
3238        0,     0,     0,     0,     0,     0,     0,     0,     0,   263,
3239        0,   263,     0,     0,     0,     0,     0,     0,     0,     0,
3240        0,     0,     0,     0,     0,  1663,  1591,  1593,   612,  1596,
3241        0,     0,     0,     0,     0,     0,     0,  1136,   260,   260,
3242     1159,     0,     0,     0,     0,  1615,     0,     0,  1689,     0,
3243        0,     0,  1154,  1159,     0,  1689,     0,     0,     0,     0,
3244      571,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3245     1154,  1159,   263,   263,     0,  1154,     0,     0,     0,   263,
3246      263,     0,     0,   263,   263,     0,     0,     0,     0,     0,
3247        0,     0,     0,     0,  1001,     0,   550,     0,     0,     0,
3248        0,     0,     0,     0,     0,     0,  1649,   686,  1653,     0,
3249        0,     0,     0,   686,     0,     0,   260,   260,     0,     0,
3250        0,     0,     0,   302,     0,     1,   303,   106,   304,     0,
3251      305,   306,     0,     0,     0,   550,     0,     0,     0,     0,
3252     1154,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3253        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3254        0,     0,     0,     0,  1001,     0,  1001,     0,     0,     0,
3255        0,     0,     0,     0,     0,     0,     0,     0,     0,   734,
3256        0,     0,     0,   122,     0,  1154,  1159,   307,     0,     0,
3257      139,     0,     0,   308,   309,   310,     0,     0,     0,     0,
3258        0,     0,     0,     0,     0,     0,   311,   312,     0,     0,
3259        0,     0,     0,   162,   171,   194,     0,     0,     0,     0,
3260      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
3261      320,   321,   550,     0,     0,     0,     0,  1154,     0,  1159,
3262      322,     0,     0,   323,  1157,   324,     0,     0,  1158,     0,
3263     1154,  1159,     0,   325,   326,  1729,   327,   328,   329,   330,
3264        0,     0,   122,   122,     0,     0,     0,     0,     0,     0,
3265        0,     0,  1001,     0,     0,     0,     0,     0,     0,   492,
3266        0,     0,     0,   550,     0,     0,     0,   263,     0,     0,
3267      574,     0,     0,   576,     0,   523,     0,     0,     0,     0,
3268      576,  1154,     0,  1159,     0,   125,     0,     0,     0,     0,
3269        0,     0,     0,     0,   122,     0,     0,     0,     0,     0,
3270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3272        0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
3273        0,   162,   568,   576,     0,     0,     0,     0,   576,     0,
3274        0,     0,     0,     0,   125,     0,     0,     0,     0,     0,
3275        0,     0,     0,     0,   576,   550,     0,     0,     0,     0,
3276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3277      574,     0,     0,     0,     0,     0,   171,   550,     0,     0,
3278        0,     0,     0,     0,   263,   263,     0,     0,     0,   171,
3279      263,   263,     0,     0,     0,     0,     0,  1001,     0,   568,
3280        0,   576,     0,   263,  1001,     0,   263,     0,  1001,     0,
3281        0,     0,     0,     0,   263,     0,     0,     0,     0,     0,
3282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3284        0,     0,     0,     0,     0,     0,     0,   125,   125,     0,
3285        0,     0,     0,     0,     0,     0,     0,   576,     0,   576,
3286        0,     0,     0,     0,     0,     0,     0,  1817,     0,     0,
3287        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3288        0,     0,     0,     0,     0,     0,     0,  1154,  1159,  1154,
3289     1159,   618,  1154,  1836,     0,     0,     0,     0,  1591,  1843,
3290        0,  1615,     0,  1159,   122,   737,     0,     0,     0,     0,
3291      122,  1154,  1159,  1615,     0,     0,     0,     0,     2,   200,
3292      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
3293      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
3294       24,     0,     0,     0,     0,  1154,   568,  1159,     0,  1154,
3295        0,  1159,     0,     0,     0,     0,   246,     0,     0,     0,
3296        0,     0,     0,     0,    28,    29,   263,   263,     0,    32,
3297        0,     0,     0,     0,     0,   247,    38,   248,     0,   686,
3298      568,   686,     0,     0,     0,     0,     0,     0,   574,     0,
3299      249,     0,     0,     0,     0,     0,   162,     0,     0,     0,
3300       43,    44,   250,   251,   252,   253,   206,   207,     0,     0,
3301        0,  1001,     0,     0,     0,     0,     0,     0,   254,     0,
3302        0,   550,     0,     0,     0,     0,     0,     0,     0,     0,
3303        0,     0,     0,     0,     0,     0,   122,   122,   122,     0,
3304      122,     0,     0,   122,   263,   263,     0,     0,     0,     0,
3305        0,     0,     0,     0,   122,   122,   122,  1001,     0,  1001,
3306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3307        0,     0,     0,   523,     0,   568,  1001,   122,     0,     0,
3308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3309      122,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3310        0,     0,     0,     0,     0,     0,     0,   737,     0,     0,
3311        0,     0,     0,  1154,     0,     0,     0,     0,     0,     0,
3312        0,     0,     0,     0,     0,     0,     0,     0,     0,  1001,
3313        0,     0,  1154,     0,     0,     0,     0,  1159,     0,  1154,
3314     1836,     0,  1159,  1615,     0,  1998,     0,  2000,     0,   259,
3315        0,     0,     0,  1159,  2004,     0,     0,     0,   258,     0,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3319        0,     0,  1177,     0,     0,     0,     0,     0,   732,   259,
3320      122,     0,     0,     0,     0,     0,   568,     0,   480,     0,
3321        0,   259,     0,     0,     0,   259,     0,     0,     0,     0,
3322      480,     0,     0,     0,   480,     0,   576,     0,     0,     0,
3323      550,     0,   550,   576,     0,     0,     0,     0,     0,     0,
3324      125,     0,     0,   259,   259,     0,   550,   550,     0,     0,
3325        0,     0,   258,   258,     0,     0,     0,     0,     0,     0,
3326        0,   576,     0,   576,     0,     0,   576,     0,     0,   576,
3327        0,  1922,  1926,     0,  1932,  1936,     0,     0,     0,  1940,
3328     1944,  1948,  1952,     0,     0,     0,     0,   570,     0,     0,
3329        0,  2060,  2063,     0,  1154,  1159,  1154,     0,     0,     0,
3330     1154,  1836,     0,     0,     0,     0,     0,     0,     0,     0,
3331        0,  1001,     0,     0,     0,     0,     0,     0,     0,     0,
3332        0,     0,   259,     0,     0,   259,   259,   259,     0,     0,
3333        0,   608,     0,     0,   258,   258,   258,     0,     0,     0,
3334        0,     0,     0,     0,   125,     0,   259,     0,     0,     0,
3335        0,     0,   576,     0,     0,   258,  1154,  1159,     0,  1154,
3336     1836,     0,     0,   576,  2107,   259,     0,     0,     0,     0,
3337        0,   259,     0,     0,   711,     0,     0,     0,     0,     0,
3338      711,     0,     0,     0,   162,     0,   568,     0,     0,     0,
3339        0,     0,     0,   568,     0,     0,     0,     0,   568,     0,
3340        0,     0,     0,  1154,     0,     0,     0,     0,     0,     0,
3341        0,     0,     0,     0,     0,     0,     0,     0,  1922,  1926,
3342     1932,  1936,  1940,  1944,  1948,  1952,     0,     0,     0,     0,
3343        0,     0,     0,     0,     0,     0,     0,   122,     0,     0,
3344        0,     0,     0,     0,     0,     0,   122,     0,     0,     0,
3345      550,   568,     0,     0,     0,     0,     0,   122,     0,   550,
3346        0,     0,     0,     0,     0,     0,     0,   568,     0,     0,
3347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3348      259,     0,     0,   570,     0,     0,     0,     0,     0,   870,
3349        0,   259,     0,     0,     0,     0,     0,     0,     0,     0,
3350      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3351        0,  1001,     0,     0,   568,   550,   550,     0,     0,     0,
3352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3353        0,     0,     0,     0,     0,   570,     0,     0,     0,     0,
3354        0,     0,     0,   259,     0,     0,     0,     0,   576,   576,
3355        0,   576,   961,     0,     0,     0,     0,     0,     0,     0,
3356      122,   122,     0,     0,     0,     0,     0,     0,     0,     0,
3357      122,     0,   122,     0,     0,   570,   302,     0,     1,   303,
3358      106,   304,     0,   305,   306,   259,     0,     0,     0,     0,
3359        0,     0,   259,     0,   258,   259,     0,     0,     0,     0,
3360        0,   258,     0,     2,   258,   125,     0,     0,     0,     8,
3361        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
3362       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
3363        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3364      307,    27,     0,     0,     0,     0,   308,   309,   310,    28,
3365       29,     0,     0,     0,    32,     0,     0,    35,    36,   311,
3366      405,    38,    39,     0,     0,     0,     0,     0,     0,     0,
3367        0,     0,     0,   313,   264,    40,     0,   314,   315,   316,
3368      317,   318,   319,   320,   321,    43,    44,    45,    46,    47,
3369       48,     0,   122,   322,   122,     0,   323,   730,   324,     0,
3370        0,     0,     0,     0,     0,     0,   325,   326,     0,   327,
3371      328,   329,   330,     0,     0,     0,     0,     0,     0,   259,
3372      259,   259,   259,     0,   264,     0,     0,     0,   258,   258,
3373      258,   258,     0,     0,     0,     0,   264,     0,     0,     0,
3374      264,     0,     0,     0,     0,     0,     0,   259,   259,   259,
3375        0,     0,     0,     0,     0,     0,   258,   258,   258,     0,
3376        0,     0,     0,     0,     0,     0,   259,     0,   264,   264,
3377        0,     0,     0,   259,   259,   258,     0,   259,   259,     0,
3378        0,     0,  1208,  1218,     0,     0,  1208,  1218,     0,     0,
3379        0,     0,   199,     0,     1,     0,     0,     0,   259,     0,
3380        0,     0,     0,     0,     0,   259,     0,   258,   259,     0,
3381        0,     0,     0,     0,   258,     0,     0,   258,     0,     2,
3382      200,   201,   202,   203,   204,     8,     9,    10,   563,    12,
3383       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
3384       23,    24,     0,     0,     0,     0,     0,   264,     0,     0,
3385      264,   264,   264,     0,     0,     0,   205,    27,     0,     0,
3386        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
3387       32,   264,     0,    35,    36,     0,    37,    38,    39,     0,
3388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3389      264,    40,     0,     0,     0,     0,   264,   570,     0,     0,
3390        0,    43,    44,    45,    46,    47,    48,   206,   207,    51,
3391        0,     0,   564,  1045,     0,     0,     0,     0,     0,     0,
3392        0,     0,     0,   565,     0,     0,     0,     0,     0,     0,
3393        0,   259,   570,     0,     0,     0,     0,     0,     0,   122,
3394     1423,   570,   259,     0,     0,     0,   122,     0,   570,     0,
3395        0,  1423,     0,   122,     0,   570,     0,     0,     0,     0,
3396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3397        0,     0,     0,     0,   122,     0,   568,     0,     0,   122,
3398        0,     0,   122,     0,     0,     0,     0,     0,     0,     0,
3399        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3400        0,     0,     0,     0,     0,   264,   570,     0,     0,     0,
3401        0,     0,     0,     0,     0,     0,   264,     0,     0,     0,
3402        0,   302,   570,     1,   303,   106,   304,     0,   305,   306,
3403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3404        0,     0,     0,     0,     0,     0,     0,     0,     2,     0,
3405        0,     0,   259,   259,   259,     0,     0,   122,     0,     0,
3406      259,   258,   258,   258,     0,   122,     0,     0,   264,   608,
3407        0,     0,     0,     0,     0,     0,   568,     0,     0,     0,
3408        0,     0,     0,     0,     0,   307,     0,     0,     0,     0,
3409        0,   308,   309,   310,     0,     0,     0,     0,     0,     0,
3410        0,     0,     0,     0,   311,   312,     0,     0,     0,     0,
3411      264,     0,     0,     0,     0,     0,     0,   264,   313,     0,
3412      264,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3413        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
3414        0,   323,  1157,   324,     0,     0,  1724,     0,     0,     0,
3415     1732,   325,   326,     0,   327,   328,   329,   330,     0,     0,
3416      259,     0,     0,   259,     0,     0,   259,     0,     0,   258,
3417        0,     0,   258,     0,     0,   258,     0,     0,     0,     0,
3418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3420        0,     0,     0,     0,   259,     0,     0,     0,     0,     0,
3421        0,     0,     0,   258,     0,     0,     0,     0,   259,   259,
3422      259,   259,     0,     0,     0,     0,     0,   258,   258,   258,
3423      258,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3424        0,   259,     0,   259,   264,   264,   264,   264,     0,     0,
3425      258,     0,   258,     0,     0,     0,     0,     0,     0,     0,
3426      259,   122,   122,     0,   122,     0,     0,     0,     0,   608,
3427        0,     0,   264,   264,   264,     0,     0,     0,     0,     0,
3428      259,     0,     0,     0,     0,     0,     0,   259,     0,  1685,
3429        0,   264,     0,     0,     0,     0,  1685,     0,   264,   264,
3430        0,     0,   264,   264,   259,   259,     0,     0,     0,     0,
3431        0,   259,   259,   258,   258,   259,   259,     0,   122,     0,
3432      258,   258,     0,   264,   258,   258,     0,     0,     0,     0,
3433      264,     0,     0,   264,     0,   753,     0,     0,     0,     0,
3434        0,   754,   755,   756,  -343,  -343,  -343,  -343,  -343,  -343,
3435     -343,  -343,     0,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3437     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3438     -343,  -343,  -343,  -343,  -343,     0,     0,     0,     0,     0,
3439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3440     -343,     0,     0,     0,     0,     0,     0,     0,  -343,  -343,
3441        0,     0,     0,  -343,     0,     0,     0,     0,     0,  -343,
3442     -343,  -343,     0,     0,     0,     0,     0,     0,     0,     0,
3443        0,     0,     0,     0,  -343,     0,     0,     0,     0,     0,
3444        0,     0,     0,     0,  -343,  -343,  -343,  -343,  -343,  -343,
3445     -343,  -343,  -343,  -343,  -343,   757,   264,     0,  -343,  1527,
3446     -343,  -343,     0,   758,     0,     0,   759,   264,  -343,  -343,
3447     -343,     0,  -343,  -343,  -343,  -343,  -343,     0,     0,     0,
3448        0,     0,     0,     0,     0,  -456,     0,  -456,  -456,  -456,
3449     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3450     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3451     -456,  -456,  -456,     0,     0,     0,     0,     0,     0,   259,
3452        0,     0,     0,     0,     0,     0,     0,     0,   258,     0,
3453        0,   570,     0,     0,     0,     0,     0,     0,     0,     0,
3454        0,     0,     0,     0,     0,     0,     0,     0,     0,  -456,
3455        0,     0,     0,     0,     0,  -456,  -456,  -456,     0,     0,
3456        0,     0,     0,     0,     0,     0,     0,     0,  -456,  -456,
3457        0,     0,     0,     0,     0,     0,     0,   264,   264,   264,
3458        0,     0,  -456,     0,     0,   264,  -456,  -456,  -456,  -456,
3459     -456,  -456,  -456,  -456,     0,     0,     0,     0,     0,     0,
3460        0,     0,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3461     -456,     0,     0,  -456,     0,  -456,  -456,     0,  -456,  -456,
3462     -456,  -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,
3463        0,   570,     0,     0,     0,     0,   259,   259,     0,     0,
3464        0,     0,   259,   259,     0,   258,   258,     0,     0,     0,
3465        0,   258,   258,     0,     0,   259,     0,     0,   259,     0,
3466        0,     0,     0,     0,   258,     0,   259,   258,     0,     0,
3467        0,     0,     0,     0,     0,   258,     0,  1506,     0,     0,
3468        0,     0,     0,     0,     0,   264,     0,     0,   264,     0,
3469        0,   264,     0,     0,     0,     0,     0,     0,     0,     0,
3470        0,     0,     0,     0,   -66,   -66,   -66,   -66,   -66,   -66,
3471      -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,   -66,
3472      -66,   -66,   -66,   -66,   -66,   -66,   -66,     0,     0,   264,
3473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3474        0,     0,   -66,   264,   264,   264,   264,     0,     0,     0,
3475      -66,   -66,     0,     0,     0,   -66,     0,     0,     0,     0,
3476        0,   -66,   -66,   -66,     0,     0,   264,     0,   264,     0,
3477        0,     0,     0,     0,     0,     0,   -66,     0,     0,     0,
3478        0,     0,     0,     0,     0,   264,   -66,   -66,   -66,   -66,
3479      -66,   -66,   -66,   -66,     0,     0,     0,     0,     0,     0,
3480     1507,     0,  1508,   -66,     0,   264,   302,     0,     1,   303,
3481      106,   304,   264,   305,   306,     0,     0,     0,   259,   259,
3482        0,     0,     0,     0,     0,     0,     0,   258,   258,   264,
3483      264,     0,     0,     2,     0,     0,   264,   264,     0,     0,
3484      264,   264,     0,     0,     0,     0,     0,     0,     0,   570,
3485        0,     0,     0,     0,     0,     0,     0,  1114,  1115,  1116,
3486      628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,
3487      307,     0,     0,     0,     0,     0,   308,   309,   310,     0,
3488        0,     0,     0,     0,    32,     0,     0,     0,     0,   311,
3489      312,  1122,     0,   638,   639,   640,   259,   259,     0,     0,
3490        0,     0,     0,   313,     0,   258,   258,   314,   315,   316,
3491      317,   318,   319,   320,   321,    43,    44,     0,     0,     0,
3492        0,     0,     0,   322,     0,     0,   323,  -451,   324,   641,
3493        0,  -451,     0,   254,     0,   642,   325,   326,     0,   327,
3494      328,   329,   330,  -343,   753,     0,  -343,  -343,  -343,  -343,
3495      754,   755,   756,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3496     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3497     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3498     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3499     -343,  -343,  -343,  -343,     0,  -343,  -343,  -343,  -343,  -343,
3500     -343,  -343,  -343,  -343,  -343,  -343,     0,     0,  -343,  -343,
3501        0,  -343,     0,     0,  -343,  -343,  -343,  -343,  -343,     0,
3502        0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3503     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,     0,  -343,
3504        0,  -343,  -343,  -343,   264,  -343,  -343,  -343,  -343,  -343,
3505     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3506     -343,  -343,  -343,  -343,   757,  -343,  -343,  -343,  -343,  -343,
3507     -343,  -343,   758,  -343,  -343,   759,  -343,  -343,  -343,  -343,
3508     -343,  -343,  -343,  -343,  -343,  -343,     0,     2,   200,   201,
3509      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
3510      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
3511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3512        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
3513        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
3514        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
3515        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
3516        0,   264,   264,     0,     0,     0,     0,   264,   264,    43,
3517       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
3518      264,     0,     0,   264,     0,     0,     0,   254,     0,  -448,
3519     1150,   264,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3520     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3521     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3522     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3523     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3524        0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3525     -448,  -448,     0,     0,  -448,  -448,     0,  -448,     0,     0,
3526     -448,  -448,  -448,  -448,  -448,     0,     0,  -448,  -448,  -448,
3527     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3528     -448,  -448,  -448,  -448,     0,  -448,     0,  -448,  -448,  -448,
3529        0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3530     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3531     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3532     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3533     -448,  -448,     0,     0,     0,     0,     0,     0,     0,     0,
3534        0,     0,     0,   264,   264,  -303,   302,     0,     1,   303,
3535      106,   304,  -303,   305,   306,  -303,  -303,  -303,  -303,  -303,
3536     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3537     -303,  -303,  -303,     2,  -303,  -303,  -303,  -303,  -303,  -303,
3538     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3539     -303,  -303,  -303,  -303,  -303,  -303,     0,  -303,  -303,  -303,
3540     -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,     0,     0,
3541      307,  -303,     0,  -303,     0,     0,   308,   309,   310,  -303,
3542     -303,   264,   264,  -303,  -303,  -303,  -303,  -303,  -303,   311,
3543      312,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,  -303,
3544        0,  -303,     0,   313,  -303,  -303,     0,   314,   315,   316,
3545      317,   318,   319,   320,   321,  -303,  -303,  -303,  -303,  -303,
3546     -303,  -303,  -303,   322,  -303,  -303,   323,  1237,   324,  -303,
3547     -303,  1153,  -303,  -303,  -303,  -303,   325,   326,  -303,   327,
3548      328,   329,   330,  -303,  -303,  -303,  -303,  -303,  -304,   302,
3549        0,     1,   303,   106,   304,  -304,   305,   306,  -304,  -304,
3550     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3551     -304,  -304,  -304,  -304,  -304,  -304,     2,  -304,  -304,  -304,
3552     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3553     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,     0,
3554     -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
3555     -304,     0,     0,   307,  -304,     0,  -304,     0,     0,   308,
3556      309,   310,  -304,  -304,     0,     0,  -304,  -304,  -304,  -304,
3557     -304,  -304,   311,   312,  -304,  -304,  -304,  -304,  -304,  -304,
3558     -304,  -304,  -304,     0,  -304,     0,   313,  -304,  -304,     0,
3559      314,   315,   316,   317,   318,   319,   320,   321,  -304,  -304,
3560     -304,  -304,  -304,  -304,  -304,  -304,   322,  -304,  -304,   323,
3561     1157,   324,  -304,  -304,  1158,  -304,  -304,  -304,  -304,   325,
3562      326,  -304,   327,   328,   329,   330,  -304,  -304,  -304,  -304,
3563     -304,  -563,   302,     0,     1,   303,   106,   304,  -563,   305,
3564      306,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3565     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,     2,
3566     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3567     -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3568     -563,  -563,     0,  -563,  -563,  -563,  -563,  -563,  -563,  -563,
3569     -563,  -563,  -563,  -563,     0,     0,   307,  -563,     0,  -563,
3570        0,     0,   308,   309,   310,  -563,  -563,     0,     0,  -563,
3571     -563,  -563,  -563,  -563,  -563,   311,   312,  -563,  -563,  -563,
3572     -563,  -563,  -563,  -563,  -563,  -563,     0,  -563,     0,   313,
3573     -563,  -563,     0,   314,   315,   316,   317,   318,   319,   320,
3574      321,  -563,  -563,  -563,  -563,  -563,  -563,  -563,  -563,   322,
3575     -563,  -563,   323,  -563,   324,  -563,  -563,  -563,  -563,   741,
3576     -563,  1318,   325,   326,  -563,   327,   328,   329,   330,  -563,
3577     -563,  -563,  -563,  -563,  -564,   302,     0,     1,   303,   106,
3578      304,  -564,   305,   306,  -564,  -564,  -564,  -564,  -564,  -564,
3579     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3580     -564,  -564,     2,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3581     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,
3582     -564,  -564,  -564,  -564,  -564,     0,  -564,  -564,  -564,  -564,
3583     -564,  -564,  -564,  -564,  -564,  -564,  -564,     0,     0,   307,
3584     -564,     0,  -564,     0,     0,   308,   309,   310,  -564,  -564,
3585        0,     0,  -564,  -564,  -564,  -564,  -564,  -564,   311,   312,
3586     -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,  -564,     0,
3587     -564,     0,   313,  -564,  -564,     0,   314,   315,   316,   317,
3588      318,   319,   320,   321,  -564,  -564,  -564,  -564,  -564,  -564,
3589     -564,  -564,   322,  -564,  -564,   323,  -564,   324,  -564,  -564,
3590     -564,  -564,   741,  -564,  1384,   325,   326,  -564,   327,   328,
3591      329,   330,  -564,  -564,  -564,  -564,  -564,  -574,   302,     0,
3592        1,   303,   106,   304,  -574,   305,   306,  -574,  -574,  -574,
3593     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3594     -574,  -574,  -574,  -574,  -574,     2,  -574,  -574,  -574,  -574,
3595     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3596     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,     0,  -574,
3597     -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3598        0,     0,   307,  -574,     0,  -574,     0,     0,   308,   309,
3599      310,  -574,  -574,     0,     0,  -574,  -574,  -574,  -574,  -574,
3600     -574,   311,   312,  -574,  -574,  -574,  -574,  -574,  -574,  -574,
3601     -574,  -574,     0,  -574,     0,   313,  -574,  -574,     0,   314,
3602      315,   316,   317,   318,   319,   320,   321,  -574,  -574,  -574,
3603     -574,  -574,  -574,  -574,  -574,   322,  -574,  -574,   323,  -574,
3604      324,  -574,  -574,  1153,  -574,  -574,  -574,  -574,   325,   326,
3605     -574,   327,   328,   329,   330,  -574,  -574,  -574,  -574,  -574,
3606     -576,   302,     0,     1,   303,   106,   304,  -576,   305,   306,
3607     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3608     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,     2,  -576,
3609     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3610     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3611     -576,     0,  -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,
3612     -576,  -576,  -576,     0,     0,   307,  -576,     0,  -576,     0,
3613        0,   308,   309,   310,  -576,  -576,     0,     0,  -576,  -576,
3614     -576,  -576,  -576,  -576,   311,   312,  -576,  -576,  -576,  -576,
3615     -576,  -576,  -576,  -576,  -576,     0,  -576,     0,   313,  -576,
3616     -576,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3617     -576,  -576,  -576,  -576,  -576,  -576,  -576,  -576,   322,  -576,
3618     -576,   323,  1157,   324,  -576,  -576,  1158,  -576,  -576,  -576,
3619     -576,   325,   326,  -576,   327,   328,   329,   330,  -576,  -576,
3620     -576,  -576,  -576,  -575,   302,     0,     1,   303,   106,   304,
3621     -575,   305,   306,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3622     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3623     -575,     2,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3624     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3625     -575,  -575,  -575,  -575,     0,  -575,  -575,  -575,  -575,  -575,
3626     -575,  -575,  -575,  -575,  -575,  -575,     0,     0,   307,  -575,
3627        0,  -575,     0,     0,   308,   309,   310,  -575,  -575,     0,
3628        0,  -575,  -575,  -575,  -575,  -575,  -575,   311,   312,  -575,
3629     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,     0,  -575,
3630        0,   313,  -575,  -575,     0,   314,   315,   316,   317,   318,
3631      319,   320,   321,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3632     -575,   322,  -575,  -575,   323,  -575,   324,  -575,  -575,  1153,
3633     -575,  -575,  -575,  -575,   325,   326,  -575,   327,   328,   329,
3634      330,  -575,  -575,  -575,  -575,  -575,  -337,  1879,     0,  -337,
3635     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3636     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3637     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3638     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3639     -337,  -337,  -337,  -337,  -337,  -337,  -337,     0,  -337,  -337,
3640     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,     0,
3641        0,  -337,  -337,     0,  -337,     0,     0,  -337,  -337,  -337,
3642     -337,  -337,     0,     0,  -337,  -337,  -337,  -337,  -337,  -337,
3643     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3644     -337,     0,  -337,     0,  -337,  -337,  -337,     0,  -337,  -337,
3645     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3646     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3647     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,
3648     -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -337,  -341,
3649     1915,     0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3650     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3651     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3652     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3653     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3654        0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3655     -341,  -341,     0,     0,  -341,  -341,     0,  -341,     0,     0,
3656     -341,  -341,  -341,  -341,  -341,     0,     0,  -341,  -341,  -341,
3657     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3658     -341,  -341,  -341,  -341,     0,  -341,     0,  -341,  -341,  -341,
3659        0,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3660     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3661     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3662     -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,  -341,
3663     -341,  -341,  -331,   302,     0,     1,   303,   106,   304,  -331,
3664      305,   306,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3665     -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3666        2,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3667     -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3668     -331,  -331,  -331,     0,  -331,  -331,  -331,  -331,  -331,  -331,
3669     -331,  -331,  -331,  -331,  -331,     0,     0,   307,  -331,     0,
3670     -331,     0,     0,   308,   309,   310,  -331,  -331,     0,     0,
3671     -331,  -331,  -331,  -331,  -331,  -331,   311,   312,  -331,  -331,
3672     -331,  -331,  -331,  -331,  -331,  -331,  -331,     0,  -331,     0,
3673      313,  -331,  -331,     0,   314,   315,   316,   317,   318,   319,
3674      320,   321,  -331,  -331,  -331,  -331,  -331,  -331,  -331,  -331,
3675      322,  -331,  -331,   323,  -331,   324,  -331,  -331,  -331,  -331,
3676      741,  -331,  -331,   325,   326,  -331,   327,   328,   329,   330,
3677     -331,  -331,  -331,  -331,  -331,  -541,   302,     0,     1,   303,
3678      106,   304,  -541,   305,   306,  -541,  -541,  -541,  -541,  -541,
3679     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3680     -541,  -541,  -541,     2,  -541,  -541,  -541,  -541,  -541,  -541,
3681     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3682     -541,  -541,  -541,  -541,  -541,  -541,     0,  -541,  -541,  -541,
3683     -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,     0,     0,
3684      307,  -541,     0,  -541,     0,     0,   308,   309,   310,  -541,
3685     -541,     0,     0,  -541,  -541,  -541,  -541,  -541,  -541,   311,
3686      312,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,  -541,
3687        0,  -541,     0,   313,  -541,  -541,     0,   314,   315,   316,
3688      317,   318,   319,   320,   321,  -541,  -541,  -541,  -541,  -541,
3689     -541,  -541,  -541,   322,  -541,  -541,   323,  -541,   324,  -541,
3690     -541,  -541,  -541,   741,  -541,  -541,   325,   326,  -541,   327,
3691      328,   329,   330,  -541,  -541,  -541,  -541,  -541,  -549,   302,
3692        0,     1,   303,   106,   304,  -549,   305,   306,  -549,  -549,
3693     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3694     -549,  -549,  -549,  -549,  -549,  -549,     2,  -549,  -549,  -549,
3695     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3696     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,     0,
3697     -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,  -549,
3698     -549,     0,     0,   307,  -549,     0,  -549,     0,     0,   308,
3699      309,   310,  -549,  -549,     0,     0,  -549,  -549,  -549,  -549,
3700     -549,  -549,   311,   312,  -549,  -549,  -549,  -549,  -549,  -549,
3701     -549,  -549,  -549,     0,  -549,     0,   313,  -549,  -549,     0,
3702      314,   315,   316,   317,   318,   319,   320,   321,  -549,  -549,
3703     -549,  -549,  -549,  -549,  -549,  -549,   322,  -549,  -549,   323,
3704     -549,   324,  -549,  -549,  -549,  -549,   741,  -549,  -549,   325,
3705      326,  -549,   327,   328,   329,   330,  -549,  -549,  -549,  -549,
3706     -549,  -542,   302,     0,     1,   303,   106,   304,  -542,   305,
3707      306,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3708     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,     2,
3709     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3710     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3711     -542,  -542,     0,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
3712     -542,  -542,  -542,  -542,     0,     0,   307,  -542,     0,  -542,
3713        0,     0,   308,   309,   310,  -542,  -542,     0,     0,  -542,
3714     -542,  -542,  -542,  -542,  -542,   311,   312,  -542,  -542,  -542,
3715     -542,  -542,  -542,  -542,  -542,  -542,     0,  -542,     0,   313,
3716     -542,  -542,     0,   314,   315,   316,   317,   318,   319,   320,
3717      321,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   322,
3718     -542,  -542,   323,  -542,   324,  -542,  -542,  -542,  -542,   741,
3719     -542,  -542,   325,   326,  -542,   327,   328,   329,   330,  -542,
3720     -542,  -542,  -542,  -542,  -550,   302,     0,     1,   303,   106,
3721      304,  -550,   305,   306,  -550,  -550,  -550,  -550,  -550,  -550,
3722     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3723     -550,  -550,     2,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3724     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,
3725     -550,  -550,  -550,  -550,  -550,     0,  -550,  -550,  -550,  -550,
3726     -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,     0,   307,
3727     -550,     0,  -550,     0,     0,   308,   309,   310,  -550,  -550,
3728        0,     0,  -550,  -550,  -550,  -550,  -550,  -550,   311,   312,
3729     -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,  -550,     0,
3730     -550,     0,   313,  -550,  -550,     0,   314,   315,   316,   317,
3731      318,   319,   320,   321,  -550,  -550,  -550,  -550,  -550,  -550,
3732     -550,  -550,   322,  -550,  -550,   323,  -550,   324,  -550,  -550,
3733     -550,  -550,   741,  -550,  -550,   325,   326,  -550,   327,   328,
3734      329,   330,  -550,  -550,  -550,  -550,  -550,  -543,   302,     0,
3735        1,   303,   106,   304,  -543,   305,   306,  -543,  -543,  -543,
3736     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3737     -543,  -543,  -543,  -543,  -543,     2,  -543,  -543,  -543,  -543,
3738     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3739     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,     0,  -543,
3740     -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3741        0,     0,   307,  -543,     0,  -543,     0,     0,   308,   309,
3742      310,  -543,  -543,     0,     0,  -543,  -543,  -543,  -543,  -543,
3743     -543,   311,   312,  -543,  -543,  -543,  -543,  -543,  -543,  -543,
3744     -543,  -543,     0,  -543,     0,   313,  -543,  -543,     0,   314,
3745      315,   316,   317,   318,   319,   320,   321,  -543,  -543,  -543,
3746     -543,  -543,  -543,  -543,  -543,   322,  -543,  -543,   323,  -543,
3747      324,  -543,  -543,  -543,  -543,   741,  -543,  -543,   325,   326,
3748     -543,   327,   328,   329,   330,  -543,  -543,  -543,  -543,  -543,
3749     -551,   302,     0,     1,   303,   106,   304,  -551,   305,   306,
3750     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3751     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,     2,  -551,
3752     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3753     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3754     -551,     0,  -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,
3755     -551,  -551,  -551,     0,     0,   307,  -551,     0,  -551,     0,
3756        0,   308,   309,   310,  -551,  -551,     0,     0,  -551,  -551,
3757     -551,  -551,  -551,  -551,   311,   312,  -551,  -551,  -551,  -551,
3758     -551,  -551,  -551,  -551,  -551,     0,  -551,     0,   313,  -551,
3759     -551,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3760     -551,  -551,  -551,  -551,  -551,  -551,  -551,  -551,   322,  -551,
3761     -551,   323,  -551,   324,  -551,  -551,  -551,  -551,   741,  -551,
3762     -551,   325,   326,  -551,   327,   328,   329,   330,  -551,  -551,
3763     -551,  -551,  -551,  -544,   302,     0,     1,   303,   106,   304,
3764     -544,   305,   306,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3765     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3766     -544,     2,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3767     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3768     -544,  -544,  -544,  -544,     0,  -544,  -544,  -544,  -544,  -544,
3769     -544,  -544,  -544,  -544,  -544,  -544,     0,     0,   307,  -544,
3770        0,  -544,     0,     0,   308,   309,   310,  -544,  -544,     0,
3771        0,  -544,  -544,  -544,  -544,  -544,  -544,   311,   312,  -544,
3772     -544,  -544,  -544,  -544,  -544,  -544,  -544,  -544,     0,  -544,
3773        0,   313,  -544,  -544,     0,   314,   315,   316,   317,   318,
3774      319,   320,   321,  -544,  -544,  -544,  -544,  -544,  -544,  -544,
3775     -544,   322,  -544,  -544,   323,  -544,   324,  -544,  -544,  -544,
3776     -544,   741,  -544,  -544,   325,   326,  -544,   327,   328,   329,
3777      330,  -544,  -544,  -544,  -544,  -544,  -552,   302,     0,     1,
3778      303,   106,   304,  -552,   305,   306,  -552,  -552,  -552,  -552,
3779     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3780     -552,  -552,  -552,  -552,     2,  -552,  -552,  -552,  -552,  -552,
3781     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3782     -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,  -552,  -552,
3783     -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,     0,
3784        0,   307,  -552,     0,  -552,     0,     0,   308,   309,   310,
3785     -552,  -552,     0,     0,  -552,  -552,  -552,  -552,  -552,  -552,
3786      311,   312,  -552,  -552,  -552,  -552,  -552,  -552,  -552,  -552,
3787     -552,     0,  -552,     0,   313,  -552,  -552,     0,   314,   315,
3788      316,   317,   318,   319,   320,   321,  -552,  -552,  -552,  -552,
3789     -552,  -552,  -552,  -552,   322,  -552,  -552,   323,  -552,   324,
3790     -552,  -552,  -552,  -552,   741,  -552,  -552,   325,   326,  -552,
3791      327,   328,   329,   330,  -552,  -552,  -552,  -552,  -552,  -339,
3792     2019,     0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3793     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3794     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3795     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3796     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3797        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3798     -339,  -339,     0,     0,  -339,  -339,     0,  -339,     0,     0,
3799     -339,  -339,  -339,  -339,  -339,     0,     0,  -339,  -339,  -339,
3800     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3801     -339,  -339,  -339,  -339,     0,  -339,     0,  -339,  -339,  -339,
3802        0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3803     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3804     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3805     -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
3806     -339,  -339,  -338,  2020,     0,  -338,  -338,  -338,  -338,  -338,
3807     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3808     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3809     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3810     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3811     -338,  -338,  -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,
3812     -338,  -338,  -338,  -338,  -338,     0,     0,  -338,  -338,     0,
3813     -338,     0,     0,  -338,  -338,  -338,  -338,  -338,     0,     0,
3814     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3815     -338,  -338,  -338,  -338,  -338,  -338,  -338,     0,  -338,     0,
3816     -338,  -338,  -338,     0,  -338,  -338,  -338,  -338,  -338,  -338,
3817     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3818     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3819     -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,  -338,
3820     -338,  -338,  -338,  -338,  -338,  -343,   753,     0,  -343,  -343,
3821     -343,  -343,   754,   755,   756,  -343,  -343,  -343,  -343,  -343,
3822     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3823     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3824     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3825     -343,  -343,  -343,  -343,  -343,  -343,     0,  -343,  -343,  -343,
3826     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,     0,     0,
3827     -343,  -343,     0,  -343,     0,     0,  -343,  -343,  -343,  -343,
3828     -343,     0,     0,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3829     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3830        0,  -343,     0,  -343,  -343,  -343,     0,  -343,  -343,  -343,
3831     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,
3832     -343,  -343,  -343,  -343,  -343,  -343,   757,  -343,  -343,  -343,
3833     -343,  -343,  -343,  -343,  1148,  -343,  -343,   759,     0,  -343,
3834     -343,  -343,  -343,  -343,  -343,  -343,  -343,  -343,  -456,     0,
3835     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3836     -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3837     -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,     0,
3838        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3841        0,     0,  -456,     0,     0,     0,     0,     0,  -456,  -456,
3842     -456,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3843        0,  -456,  -456,     0,     0,     0,     0,     0,     0,     0,
3844        0,     0,     0,     0,     0,  -456,     0,     0,     0,  -456,
3845     -456,  -456,  -456,  -456,  -456,  -456,  -456,     0,     0,     0,
3846        0,     0,     0,     0,     0,  -456,  -456,  -456,  -456,  -456,
3847     -456,     0,  -456,  -456,     0,     0,  -456,     0,  -456,  -456,
3848        0,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,  -456,
3849     -448,  1150,     0,  -448,  -448,  -448,  -448,     0,  -448,  -448,
3850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3851        0,     0,     0,     0,     0,     0,     0,     0,  -448,  -448,
3852     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3853     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3854     -448,     0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3855     -448,  -448,  -448,     0,     0,  -448,  -448,     0,  -448,     0,
3856        0,  -448,  -448,  -448,  -448,  -448,     0,     0,  -448,  -448,
3857     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3858     -448,  -448,  -448,  -448,  -448,     0,  -448,     0,  -448,  -448,
3859     -448,     0,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,
3860     -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,  -448,     0,
3861        0,  -448,  -448,  -448,  -448,     0,  -448,  -448,  -448,  1151,
3862     -448,  -448,  -448,     0,  -448,  -448,  -448,  -448, -1088,   302,
3863        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
3864        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3865        0,     0,     0,     0,     0,     0,     2, -1088, -1088, -1088,
3866    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,
3867    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,     0,
3868    -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088, -1088,
3869    -1088,     0,     0,   307, -1088,     0, -1088,     0,     0,   308,
3870      309,   310, -1088, -1088,     0,     0, -1088, -1088, -1088, -1088,
3871    -1088, -1088,   311,   312, -1088, -1088, -1088, -1088, -1088, -1088,
3872    -1088, -1088, -1088,     0, -1088,     0,   313, -1088, -1088,     0,
3873      314,   315,   316,   317,   318,   319,   320,   321, -1088, -1088,
3874    -1088, -1088, -1088, -1088, -1088, -1088,   322,     0,     0,   323,
3875     1157,   324, -1088,     0,  1158, -1088, -1088,     0, -1088,   325,
3876      326,     0,   327,   328,   329,   330, -1232,   302,     0,     1,
3877      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3879        0,     0,     0,     0,     2, -1232, -1232, -1232, -1232, -1232,
3880    -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,
3881    -1232, -1232, -1232, -1232, -1232, -1232, -1232,     0, -1232, -1232,
3882    -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,     0,
3883        0,   307, -1232,     0, -1232,     0,     0,   308,   309,   310,
3884    -1232, -1232,     0,     0, -1232, -1232, -1232, -1232, -1232, -1232,
3885      311,   312, -1232, -1232, -1232, -1232, -1232, -1232, -1232, -1232,
3886    -1232,     0, -1232,     0,   313, -1232, -1232,     0,   314,   315,
3887      316,   317,   318,   319,   320,   321, -1232, -1232, -1232, -1232,
3888    -1232, -1232, -1232, -1232,   322,     0,     0,   323,  1157,   324,
3889     1622,     0,  1158, -1232, -1232,     0, -1232,   325,   326,     0,
3890      327,   328,   329,   330, -1190,   302,     0,     1,   303,   106,
3891      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3893        0,     0,     2, -1190, -1190, -1190, -1190, -1190, -1190, -1190,
3894    -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190,
3895    -1190, -1190, -1190, -1190, -1190,     0, -1190, -1190, -1190, -1190,
3896    -1190, -1190, -1190, -1190, -1190, -1190, -1190,     0,     0,   307,
3897    -1190,     0, -1190,     0,     0,   308,   309,   310, -1190, -1190,
3898        0,     0, -1190, -1190, -1190, -1190, -1190, -1190,   311,   312,
3899    -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190, -1190,     0,
3900    -1190,     0,   313, -1190, -1190,     0,   314,   315,   316,   317,
3901      318,   319,   320,   321, -1190, -1190, -1190, -1190, -1190, -1190,
3902    -1190, -1190,   322,     0,     0,   323,  1830,   324, -1190,     0,
3903     1158, -1190, -1190,     0, -1190,   325,   326,     0,   327,   328,
3904      329,   330, -1221,   302,     0,     1,   303,   106,   304,     0,
3905      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
3906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3907        2, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
3908    -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221, -1221,
3909    -1221, -1221, -1221,     0,   625,   626,   627,   628,   629,   630,
3910      631,   632,   633,   634,   635,     0,     0,   307, -1221,     0,
3911    -1221,     0,     0,   308,   309,   310, -1221, -1221,     0,     0,
3912    -1221,    32, -1221, -1221, -1221, -1221,   311,   312,  1122, -1221,
3913      638,   639,   640, -1221, -1221, -1221, -1221,     0, -1221,     0,
3914      313, -1221, -1221,     0,   314,   315,   316,   317,   318,   319,
3915      320,   321,    43,    44, -1221, -1221, -1221, -1221, -1221, -1221,
3916      322,     0,     0,   323,  1157,   324,   641,     0,  1158, -1221,
3917      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
3918     -575,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3920        0,     0,     0,     0,     0,     0,     0,     0,     2,  -575,
3921     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3922     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3923     -575,     0,  -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,
3924     -575,  -575,  -575,     0,     0,   307,  -575,     0,  -575,     0,
3925        0,   308,   309,   310,  -575,  -575,     0,     0,  -575,  -575,
3926     -575,  -575,  -575,  -575,   311,   312,  -575,  -575,  -575,  -575,
3927     -575,  -575,  -575,  -575,  -575,     0,  -575,     0,   313,  -575,
3928     -575,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3929     -575,  -575,  -575,  -575,  -575,  -575,  -575,  -575,   322,     0,
3930        0,   323,  -575,   324,  1152,     0,  1153,  -575,  -575,     0,
3931     -575,   325,   326,     0,   327,   328,   329,   330, -1213,   302,
3932        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
3933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3934        0,     0,     0,     0,     0,     0,     2, -1213, -1213, -1213,
3935    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
3936    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,     0,
3937    -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213, -1213,
3938    -1213,     0,     0,   307, -1213,     0, -1213,     0,     0,   308,
3939      309,   310, -1213, -1213,     0,     0, -1213, -1213, -1213, -1213,
3940    -1213, -1213,   311,   312, -1213, -1213, -1213, -1213, -1213, -1213,
3941    -1213, -1213, -1213,     0, -1213,     0,   313, -1213, -1213,     0,
3942      314,   315,   316,   317,   318,   319,   320,   321, -1213, -1213,
3943    -1213, -1213, -1213, -1213, -1213, -1213,   322,     0,     0,   323,
3944     2065,   324, -1213,     0,  1153, -1213, -1213,     0, -1213,   325,
3945      326,     0,   327,   328,   329,   330, -1214,   302,     0,     1,
3946      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
3947        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3948        0,     0,     0,     0,     2, -1214, -1214, -1214, -1214, -1214,
3949    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
3950    -1214, -1214, -1214, -1214, -1214, -1214, -1214,     0, -1214, -1214,
3951    -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,     0,
3952        0,   307, -1214,     0, -1214,     0,     0,   308,   309,   310,
3953    -1214, -1214,     0,     0, -1214, -1214, -1214, -1214, -1214, -1214,
3954      311,   312, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214,
3955    -1214,     0, -1214,     0,   313, -1214, -1214,     0,   314,   315,
3956      316,   317,   318,   319,   320,   321, -1214, -1214, -1214, -1214,
3957    -1214, -1214, -1214, -1214,   322,     0,     0,   323,  1157,   324,
3958     2066,     0,  1158, -1214, -1214,     0, -1214,   325,   326,     0,
3959      327,   328,   329,   330, -1208,   302,     0,     1,   303,   106,
3960      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
3961        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3962        0,     0,     2, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
3963    -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208, -1208,
3964    -1208, -1208, -1208, -1208, -1208,     0,   625,   626,   627,   628,
3965      629,   630,   631,   632,   633,   634,   635,     0,     0,   307,
3966    -1208,     0, -1208,     0,     0,   308,   309,   310, -1208, -1208,
3967        0,     0, -1208,    32, -1208, -1208, -1208, -1208,   311,   312,
3968     1122, -1208,   638,   639,   640, -1208, -1208, -1208, -1208,     0,
3969    -1208,     0,   313, -1208, -1208,     0,   314,   315,   316,   317,
3970      318,   319,   320,   321,    43,    44, -1208, -1208, -1208, -1208,
3971    -1208, -1208,   322,     0,     0,   323,  1157,   324,   641,     0,
3972     1158, -1208,   254,     0,   642,   325,   326,     0,   327,   328,
3973      329,   330, -1156,   616,     0, -1156, -1156, -1156, -1156,     0,
3974    -1156, -1156,     0,     0,     0,     0,     0,     0,     0,     0,
3975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3976    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3977    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3978    -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156,
3979    -1156, -1156, -1156, -1156, -1156,     0,     0, -1156, -1156,     0,
3980    -1156,     0,     0, -1156, -1156, -1156, -1156, -1156,     0,     0,
3981    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3982    -1156, -1156, -1156, -1156, -1156, -1156, -1156,     0, -1156,     0,
3983    -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156, -1156, -1156,
3984    -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156, -1156,
3985    -1156,     0,     0, -1156,     0, -1156,   617,     0, -1156, -1156,
3986    -1156,     0, -1156, -1156, -1156,     0, -1156, -1156, -1156, -1156,
3987    -1179,   302,     0,     1,   303,   106,   304,     0,   305,   306,
3988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3989        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
3990      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
3991      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
3992       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
3993      633,   634,   635,     0,     0,   307,   246,     0, -1179,     0,
3994        0,   308,   309,   310,    28,    29,     0,     0, -1179,    32,
3995    -1179, -1179, -1179, -1179,   311,   636,   637,   248,   638,   639,
3996      640, -1179, -1179, -1179, -1179,     0, -1179,     0,   313, -1179,
3997      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
3998       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
3999        0,   323,     0,   324,   641,     0, -1179, -1179,   254,     0,
4000      642,   325,   326,     0,   327,   328,   329,   330, -1157,   616,
4001        0, -1157, -1157, -1157, -1157,     0, -1157, -1157,     0,     0,
4002        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4003        0,     0,     0,     0,     0,     0, -1157, -1157, -1157, -1157,
4004    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4005    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,
4006    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4007    -1157,     0,     0, -1157, -1157,     0, -1157,     0,     0, -1157,
4008    -1157, -1157, -1157, -1157,     0,     0, -1157, -1157, -1157, -1157,
4009    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4010    -1157, -1157, -1157,     0, -1157,     0, -1157, -1157, -1157,     0,
4011    -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157, -1157,
4012    -1157, -1157, -1157, -1157, -1157, -1157, -1157,     0,     0, -1157,
4013        0, -1157,   617,     0, -1157, -1157, -1157,     0, -1157, -1157,
4014    -1157,     0, -1157, -1157, -1157, -1157, -1218,   302,     0,     1,
4015      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4016        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4017        0,     0,     0,     0,     2, -1218, -1218, -1218, -1218, -1218,
4018    -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218, -1218,
4019    -1218, -1218, -1218, -1218, -1218, -1218, -1218,     0,  1114,  1115,
4020     1116,   628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,
4021        0,   307, -1218,     0, -1218,     0,     0,   308,   309,   310,
4022    -1218, -1218,     0,     0, -1218,    32, -1218, -1218, -1218, -1218,
4023      311,   312,  1122, -1218,   638,   639,   640, -1218, -1218, -1218,
4024    -1218,     0, -1218,     0,   313, -1218, -1218,     0,   314,   315,
4025      316,   317,   318,   319,   320,   321,    43,    44, -1218, -1218,
4026    -1218, -1218, -1218, -1218,   322,     0,     0,   323,     0,   324,
4027      641,     0, -1218, -1218,   254,     0,   642,   325,   326,     0,
4028      327,   328,   329,   330, -1234,   302,     0,     1,   303,   106,
4029      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4030        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4031        0,     0,     2, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
4032    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,
4033    -1234, -1234, -1234, -1234, -1234,     0, -1234, -1234, -1234, -1234,
4034    -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0,     0,   307,
4035    -1234,     0, -1234,     0,     0,   308,   309,   310, -1234, -1234,
4036        0,     0, -1234, -1234, -1234, -1234, -1234, -1234,   311,   312,
4037    -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234, -1234,     0,
4038    -1234,     0,   313, -1234, -1234,     0,   314,   315,   316,   317,
4039      318,   319,   320,   321, -1234, -1234, -1234, -1234, -1234, -1234,
4040    -1234, -1234,   322,     0,     0,   323,     0,   324,  1133,     0,
4041    -1234, -1234,   741,     0, -1234,   325,   326,     0,   327,   328,
4042      329,   330, -1169,  1160,     0,     1,   303,   106,   304,     0,
4043      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4044        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4045        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4046      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4047       22,    23,    24,     0,   625,   626,   627,   628,   629,   630,
4048      631,   632,   633,   634,   635,     0,     0,   307,   246,     0,
4049    -1169,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4050    -1169,    32, -1169, -1169, -1169, -1169,   311,   636,   637,   248,
4051      638,   639,   640, -1169, -1169, -1169, -1169,     0, -1169,     0,
4052      313, -1169,   249,     0,   314,   315,   316,   317,   318,   319,
4053      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4054      322,     0,     0,   323,     0,   324,   641,     0, -1169, -1169,
4055      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
4056    -1173,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4058        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4059      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4060      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4061       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4062      633,   634,   635,     0,     0,   307,   246,     0, -1173,     0,
4063        0,   308,   309,   310,    28,    29,     0,     0, -1173,    32,
4064    -1173, -1173, -1173, -1173,   311,   636,   637,   248,   638,   639,
4065      640, -1173, -1173, -1173, -1173,     0, -1173,     0,   313, -1173,
4066      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4067       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4068        0,   323,     0,   324,   641,     0, -1173, -1173,   254,     0,
4069      642,   325,   326,     0,   327,   328,   329,   330, -1168,   302,
4070        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4071        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4072        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4073      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4074      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4075      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4076      635,     0,     0,   307,   246,     0, -1168,     0,     0,   308,
4077      309,   310,    28,    29,     0,     0, -1168,    32, -1168, -1168,
4078    -1168, -1168,   311,   636,   637,   248,   638,   639,   640, -1168,
4079    -1168, -1168, -1168,     0, -1168,     0,   313, -1168,   249,     0,
4080      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4081      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4082        0,   324,   641,     0, -1168, -1168,   254,     0,   642,   325,
4083      326,     0,   327,   328,   329,   330, -1172,   302,     0,     1,
4084      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4086        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4087      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4088       18,    19,   244,   245,    22,    23,    24,     0,   625,   626,
4089      627,   628,   629,   630,   631,   632,   633,   634,   635,     0,
4090        0,   307,   246,     0, -1172,     0,     0,   308,   309,   310,
4091       28,    29,     0,     0, -1172,    32, -1172, -1172, -1172, -1172,
4092      311,   636,   637,   248,   638,   639,   640, -1172, -1172, -1172,
4093    -1172,     0, -1172,     0,   313, -1172,   249,     0,   314,   315,
4094      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4095      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4096      641,     0, -1172, -1172,   254,     0,   642,   325,   326,     0,
4097      327,   328,   329,   330, -1075,  1173,     0, -1075, -1075, -1075,
4098    -1075,     0, -1075, -1075,     0,     0,     0,     0,     0,     0,
4099        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4100        0,     0, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4101    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4102    -1075, -1075, -1075, -1075, -1075,     0, -1075, -1075, -1075, -1075,
4103    -1075, -1075, -1075, -1075, -1075, -1075, -1075,     0,     0, -1075,
4104    -1075,     0, -1075,     0,     0, -1075, -1075, -1075, -1075, -1075,
4105        0,     0, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4106    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,     0,
4107    -1075,     0, -1075, -1075, -1075,     0, -1075, -1075, -1075, -1075,
4108    -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075, -1075,
4109    -1075, -1075, -1075,     0,     0, -1075,     0, -1075, -1075,     0,
4110    -1075, -1075, -1075,     0, -1075, -1075, -1075,     0, -1075, -1075,
4111    -1075, -1075, -1077,  1174,     0, -1077, -1077, -1077, -1077,     0,
4112    -1077, -1077,     0,     0,     0,     0,     0,     0,     0,     0,
4113        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4114    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4115    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4116    -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4117    -1077, -1077, -1077, -1077, -1077,     0,     0, -1077, -1077,     0,
4118    -1077,     0,     0, -1077, -1077, -1077, -1077, -1077,     0,     0,
4119    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4120    -1077, -1077, -1077, -1077, -1077, -1077, -1077,     0, -1077,     0,
4121    -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077, -1077, -1077,
4122    -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077, -1077,
4123    -1077,     0,     0, -1077,     0, -1077, -1077,     0, -1077, -1077,
4124    -1077,     0, -1077, -1077, -1077,     0, -1077, -1077, -1077, -1077,
4125    -1123,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4126        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4127        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4128      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4129      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4130       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4131      633,   634,   635,     0,     0,   307,   246,     0, -1123,     0,
4132        0,   308,   309,   310,    28,    29,     0,     0, -1123,    32,
4133    -1123, -1123, -1123, -1123,   311,   636,   637,   248,   638,   639,
4134      640, -1123, -1123, -1123, -1123,     0, -1123,     0,   313, -1123,
4135      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4136       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4137        0,   323,     0,   324,   641,     0, -1123, -1123,   254,     0,
4138      642,   325,   326,     0,   327,   328,   329,   330, -1125,   302,
4139        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4140        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4141        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4142      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4143      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4144      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
4145      635,     0,     0,   307,   246,     0, -1125,     0,     0,   308,
4146      309,   310,    28,    29,     0,     0, -1125,    32, -1125, -1125,
4147    -1125, -1125,   311,   636,   637,   248,   638,   639,   640, -1125,
4148    -1125, -1125, -1125,     0, -1125,     0,   313, -1125,   249,     0,
4149      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4150      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4151        0,   324,   641,     0, -1125, -1125,   254,     0,   642,   325,
4152      326,     0,   327,   328,   329,   330, -1170,   302,     0,     1,
4153      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4155        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4156      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4157       18,    19,   244,   245,    22,    23,    24,     0,   625,   626,
4158      627,   628,   629,   630,   631,   632,   633,   634,   635,     0,
4159        0,   307,   246,     0, -1170,     0,     0,   308,   309,   310,
4160       28,    29,     0,     0, -1170,    32, -1170, -1170, -1170, -1170,
4161      311,   636,   637,   248,   638,   639,   640, -1170, -1170, -1170,
4162    -1170,     0, -1170,     0,   313, -1170,   249,     0,   314,   315,
4163      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4164      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4165      641,     0, -1170, -1170,   254,     0,   642,   325,   326,     0,
4166      327,   328,   329,   330, -1174,   302,     0,     1,   303,   106,
4167      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4168        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4169        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4170      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4171      244,   245,    22,    23,    24,     0,   625,   626,   627,   628,
4172      629,   630,   631,   632,   633,   634,   635,     0,     0,   307,
4173      246,     0, -1174,     0,     0,   308,   309,   310,    28,    29,
4174        0,     0, -1174,    32, -1174, -1174, -1174, -1174,   311,   636,
4175      637,   248,   638,   639,   640, -1174, -1174, -1174, -1174,     0,
4176    -1174,     0,   313, -1174,   249,     0,   314,   315,   316,   317,
4177      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4178      206,   207,   322,     0,     0,   323,     0,   324,   641,     0,
4179    -1174, -1174,   254,     0,   642,   325,   326,     0,   327,   328,
4180      329,   330, -1171,   302,     0,     1,   303,   106,   304,     0,
4181      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4183        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4184      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4185       22,    23,    24,     0,   625,   626,   627,   628,   629,   630,
4186      631,   632,   633,   634,   635,     0,     0,   307,   246,     0,
4187    -1171,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4188    -1171,    32, -1171, -1171, -1171, -1171,   311,   636,   637,   248,
4189      638,   639,   640, -1171, -1171, -1171, -1171,     0, -1171,     0,
4190      313, -1171,   249,     0,   314,   315,   316,   317,   318,   319,
4191      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4192      322,     0,     0,   323,     0,   324,   641,     0, -1171, -1171,
4193      254,     0,   642,   325,   326,     0,   327,   328,   329,   330,
4194    -1175,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4195        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4196        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4197      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4198      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4199       24,     0,   625,   626,   627,   628,   629,   630,   631,   632,
4200      633,   634,   635,     0,     0,   307,   246,     0, -1175,     0,
4201        0,   308,   309,   310,    28,    29,     0,     0, -1175,    32,
4202    -1175, -1175, -1175, -1175,   311,   636,   637,   248,   638,   639,
4203      640, -1175, -1175, -1175, -1175,     0, -1175,     0,   313, -1175,
4204      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4205       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4206        0,   323,     0,   324,   641,     0, -1175, -1175,   254,     0,
4207      642,   325,   326,     0,   327,   328,   329,   330, -1166,   616,
4208        0, -1166, -1166, -1166, -1166,     0, -1166, -1166,     0,     0,
4209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4210        0,     0,     0,     0,     0,     0, -1166, -1166, -1166, -1166,
4211    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4212    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,     0,
4213    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4214    -1166,     0,     0, -1166, -1166,     0, -1166,     0,     0, -1166,
4215    -1166, -1166, -1166, -1166,     0,     0, -1166, -1166, -1166, -1166,
4216    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4217    -1166, -1166, -1166,     0, -1166,     0, -1166, -1166, -1166,     0,
4218    -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166, -1166,
4219    -1166, -1166, -1166, -1166, -1166, -1166, -1166,     0,     0, -1166,
4220        0, -1166,   617,     0, -1166, -1166, -1166,     0, -1166, -1166,
4221    -1166,     0, -1166, -1166, -1166, -1166, -1167,   616,     0, -1167,
4222    -1167, -1167, -1167,     0, -1167, -1167,     0,     0,     0,     0,
4223        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4224        0,     0,     0,     0, -1167, -1167, -1167, -1167, -1167, -1167,
4225    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4226    -1167, -1167, -1167, -1167, -1167, -1167, -1167,     0, -1167, -1167,
4227    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,     0,
4228        0, -1167, -1167,     0, -1167,     0,     0, -1167, -1167, -1167,
4229    -1167, -1167,     0,     0, -1167, -1167, -1167, -1167, -1167, -1167,
4230    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4231    -1167,     0, -1167,     0, -1167, -1167, -1167,     0, -1167, -1167,
4232    -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167, -1167,
4233    -1167, -1167, -1167, -1167, -1167,     0,     0, -1167,     0, -1167,
4234      617,     0, -1167, -1167, -1167,     0, -1167, -1167, -1167,     0,
4235    -1167, -1167, -1167, -1167, -1002,   302,     0,     1,   303,   106,
4236      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4238        0,     0,     2, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
4239    -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
4240    -1002, -1002, -1002, -1002, -1002,     0, -1002, -1002, -1002, -1002,
4241    -1002, -1002, -1002, -1002, -1002, -1002, -1002,     0,     0,   307,
4242    -1002,     0, -1002,     0,     0,   308,   309,   310, -1002, -1002,
4243        0,     0, -1002, -1002, -1002, -1002, -1002, -1002,   311,   312,
4244    -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,     0,
4245    -1002,     0,   313, -1002, -1002,     0,   314,   315,   316,   317,
4246      318,   319,   320,   321, -1002, -1002, -1002, -1002, -1002, -1002,
4247    -1002, -1002,   322,     0,     0,   323,     0,   324, -1002,     0,
4248     1799,  1800,  1013,     0, -1002,   325,   326,     0,   327,   328,
4249      329,   330, -1129,   616,     0, -1129, -1129, -1129, -1129,     0,
4250    -1129, -1129,     0,     0,     0,     0,     0,     0,     0,     0,
4251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4252    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4253    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4254    -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4255    -1129, -1129, -1129, -1129, -1129,     0,     0, -1129, -1129,     0,
4256    -1129,     0,     0, -1129, -1129, -1129, -1129, -1129,     0,     0,
4257    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4258    -1129, -1129, -1129, -1129, -1129, -1129, -1129,     0, -1129,     0,
4259    -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129, -1129, -1129,
4260    -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129, -1129,
4261    -1129,     0,     0, -1129,     0, -1129,   617,     0, -1129, -1129,
4262    -1129,     0, -1129, -1129, -1129,     0, -1129, -1129, -1129, -1129,
4263    -1130,   616,     0, -1130, -1130, -1130, -1130,     0, -1130, -1130,
4264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4265        0,     0,     0,     0,     0,     0,     0,     0, -1130, -1130,
4266    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4267    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4268    -1130,     0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4269    -1130, -1130, -1130,     0,     0, -1130, -1130,     0, -1130,     0,
4270        0, -1130, -1130, -1130, -1130, -1130,     0,     0, -1130, -1130,
4271    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4272    -1130, -1130, -1130, -1130, -1130,     0, -1130,     0, -1130, -1130,
4273    -1130,     0, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,
4274    -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130, -1130,     0,
4275        0, -1130,     0, -1130,   617,     0, -1130, -1130, -1130,     0,
4276    -1130, -1130, -1130,     0, -1130, -1130, -1130, -1130, -1126,   616,
4277        0, -1126, -1126, -1126, -1126,     0, -1126, -1126,     0,     0,
4278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4279        0,     0,     0,     0,     0,     0, -1126, -1126, -1126, -1126,
4280    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4281    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,     0,
4282    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4283    -1126,     0,     0, -1126, -1126,     0, -1126,     0,     0, -1126,
4284    -1126, -1126, -1126, -1126,     0,     0, -1126, -1126, -1126, -1126,
4285    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4286    -1126, -1126, -1126,     0, -1126,     0, -1126, -1126, -1126,     0,
4287    -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126, -1126,
4288    -1126, -1126, -1126, -1126, -1126, -1126, -1126,     0,     0, -1126,
4289        0, -1126,   617,     0, -1126, -1126, -1126,     0, -1126, -1126,
4290    -1126,     0, -1126, -1126, -1126, -1126, -1004,   302,     0,     1,
4291      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4293        0,     0,     0,     0,     2, -1004, -1004, -1004, -1004, -1004,
4294    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4295    -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0, -1004, -1004,
4296    -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,     0,
4297        0,   307, -1004,     0, -1004,     0,     0,   308,   309,   310,
4298    -1004, -1004,     0,     0, -1004, -1004, -1004, -1004, -1004, -1004,
4299      311,   312, -1004, -1004, -1004, -1004, -1004, -1004, -1004, -1004,
4300    -1004,     0, -1004,     0,   313, -1004, -1004,     0,   314,   315,
4301      316,   317,   318,   319,   320,   321, -1004, -1004, -1004, -1004,
4302    -1004, -1004, -1004, -1004,   322,     0,     0,   323,     0,   324,
4303    -1004,     0, -1004,  1979,  1013,     0, -1004,   325,   326,     0,
4304      327,   328,   329,   330,  -998,  1982,     0,  -998,  -998,  -998,
4305     -998,     0,  -998,  -998,     0,     0,     0,     0,     0,     0,
4306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4307        0,     0,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4308     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4309     -998,  -998,  -998,  -998,  -998,     0,  -998,  -998,  -998,  -998,
4310     -998,  -998,  -998,  -998,  -998,  -998,  -998,     0,     0,  -998,
4311     -998,     0,  -998,     0,     0,  -998,  -998,  -998,  -998,  -998,
4312        0,     0,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4313     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,     0,
4314     -998,     0,  -998,  -998,  -998,     0,  -998,  -998,  -998,  -998,
4315     -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,  -998,
4316     -998,  -998,  -998,     0,     0,  -998,     0,  -998,  -998,     0,
4317     -998,  -998,  -998,     0,  -998,  -998,  -998,     0,  -998,  -998,
4318     -998,  -998, -1127,   616,     0, -1127, -1127, -1127, -1127,     0,
4319    -1127, -1127,     0,     0,     0,     0,     0,     0,     0,     0,
4320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4321    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4322    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4323    -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127, -1127, -1127,
4324    -1127, -1127, -1127, -1127, -1127,     0,     0, -1127, -1127,     0,
4325    -1127,     0,     0, -1127, -1127, -1127, -1127, -1127,     0,     0,
4326    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4327    -1127, -1127, -1127, -1127, -1127, -1127, -1127,     0, -1127,     0,
4328    -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127, -1127, -1127,
4329    -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127, -1127,
4330    -1127,     0,     0, -1127,     0, -1127,   617,     0, -1127, -1127,
4331    -1127,     0, -1127, -1127, -1127,     0, -1127, -1127, -1127, -1127,
4332    -1128,   616,     0, -1128, -1128, -1128, -1128,     0, -1128, -1128,
4333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4334        0,     0,     0,     0,     0,     0,     0,     0, -1128, -1128,
4335    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4336    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4337    -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4338    -1128, -1128, -1128,     0,     0, -1128, -1128,     0, -1128,     0,
4339        0, -1128, -1128, -1128, -1128, -1128,     0,     0, -1128, -1128,
4340    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4341    -1128, -1128, -1128, -1128, -1128,     0, -1128,     0, -1128, -1128,
4342    -1128,     0, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,
4343    -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128, -1128,     0,
4344        0, -1128,     0, -1128,   617,     0, -1128, -1128, -1128,     0,
4345    -1128, -1128, -1128,     0, -1128, -1128, -1128, -1128, -1215,   302,
4346        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4348        0,     0,     0,     0,     0,     0,     2, -1215, -1215, -1215,
4349    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4350    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,     0,
4351    -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215, -1215,
4352    -1215,     0,     0,   307, -1215,     0, -1215,     0,     0,   308,
4353      309,   310, -1215, -1215,     0,     0, -1215, -1215, -1215, -1215,
4354    -1215, -1215,   311,   312, -1215, -1215, -1215, -1215, -1215, -1215,
4355    -1215, -1215, -1215,     0, -1215,     0,   313, -1215, -1215,     0,
4356      314,   315,   316,   317,   318,   319,   320,   321, -1215, -1215,
4357    -1215, -1215, -1215, -1215, -1215, -1215,   322,     0,     0,   323,
4358        0,   324, -1215,     0, -1215, -1215, -1215,     0, -1215,   325,
4359      326,     0,   327,   328,   329,   330,  -999,  2057,     0,  -999,
4360     -999,  -999,  -999,     0,  -999,  -999,     0,     0,     0,     0,
4361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4362        0,     0,     0,     0,  -999,  -999,  -999,  -999,  -999,  -999,
4363     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4364     -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,  -999,  -999,
4365     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,     0,
4366        0,  -999,  -999,     0,  -999,     0,     0,  -999,  -999,  -999,
4367     -999,  -999,     0,     0,  -999,  -999,  -999,  -999,  -999,  -999,
4368     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4369     -999,     0,  -999,     0,  -999,  -999,  -999,     0,  -999,  -999,
4370     -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,  -999,
4371     -999,  -999,  -999,  -999,  -999,     0,     0,  -999,     0,  -999,
4372     -999,     0,  -999,  -999,  -999,     0,  -999,  -999,  -999,     0,
4373     -999,  -999,  -999,  -999,  -905,   582,     0,  -905,  -905,  -905,
4374     -905,     0,  -905,  -905,     0,     0,     0,     0,     0,     0,
4375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4376        0,     0,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4377     -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4378     -905,  -905,  -905,  -905,  -905,     0,     0,  -905,     0,     0,
4379        0,     0,     0,     0,     0,     0,     0,     0,     0,  -905,
4380     -905,     0,  -905,     0,     0,  -905,  -905,  -905,  -905,  -905,
4381        0,     0,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4382     -905,  -905,  -905,     0,     0,  -905,  -905,  -905,  -905,     0,
4383     -905,     0,  -905,  -905,  -905,     0,  -905,  -905,  -905,  -905,
4384     -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,  -905,
4385     -905,  -905,  -905,     0,     0,  -905,   845,  -905,  -905,     0,
4386      584,  -905,  -905,     0,     0,  -905,  -905,     0,  -905,  -905,
4387     -905,  -905,   302,     0,     1,   303,   106,   304,     0,   305,
4388      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4389        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4390      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4391      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4392       23,    24,     0,   625,   626,   627,   628,   629,   630,   631,
4393      632,   633,   634,   635,     0,     0,   307,   246,     0,     0,
4394        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4395       32,     0,     0,     0,     0,   311,   636,   637,   248,   638,
4396      639,   640,     0,     0,     0,     0,     0,     0,     0,   313,
4397        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4398      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4399        0,     0,   323,     0,   324,   641,     0,     0,     0,   254,
4400        0,   642,   325,   326,     0,   327,   328,   329,   330,   302,
4401        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4402        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4403        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4404      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4405      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4406     1114,  1115,  1116,   628,  1117,  1118,  1119,  1120,   633,   634,
4407     1121,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4408      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4409        0,     0,   311,   636,   637,   248,   638,   639,   640,     0,
4410        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4411      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4412      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4413        0,   324,   641,     0,     0,     0,   254,     0,   642,   325,
4414      326,     0,   327,   328,   329,   330,   302,     0,     1,   303,
4415      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4416        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4417        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4418      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4419       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
4420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4421      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4422       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4423      636,    38,   248,     0,     0,     0,     0,     0,     0,     0,
4424        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4425      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4426      253,   206,   207,   322,     0,     0,   323,     0,   324,   983,
4427        0,   984,   985,   741,     0,     0,   325,   326,     0,   327,
4428      328,   329,   330,  1246,     0,     1,   303,   106,   304,     0,
4429      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4431        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4432      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4433       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4434        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4435        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4436        0,    32,     0,     0,     0,     0,   311,   636,    38,   248,
4437        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4438      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4439      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4440      322,     0,     0,   323,     0,   324,   983,     0,   984,  -110,
4441      741,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4442     1253,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4443        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4444        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4445      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4446      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4448        0,     0,     0,     0,   307,   246,     0,     0,     0,     0,
4449      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4450        0,     0,     0,   311,   636,    38,   248,     0,     0,     0,
4451        0,     0,     0,     0,     0,     0,     0,   313,     0,   249,
4452        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4453       44,   250,   251,   252,   253,   206,   207,   322,     0,     0,
4454      323,     0,   324,   983,     0,   984,   -98,   741,     0,     0,
4455      325,   326,     0,   327,   328,   329,   330,  1257,     0,     1,
4456      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4458        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4459      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
4460       18,    19,   244,   245,    22,    23,    24,     0,     0,     0,
4461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4462        0,   307,   246,     0,     0,     0,     0,   308,   309,   310,
4463       28,    29,     0,     0,     0,    32,     0,     0,     0,     0,
4464      311,   636,    38,   248,     0,     0,     0,     0,     0,     0,
4465        0,     0,     0,     0,   313,     0,   249,     0,   314,   315,
4466      316,   317,   318,   319,   320,   321,    43,    44,   250,   251,
4467      252,   253,   206,   207,   322,     0,     0,   323,     0,   324,
4468      983,     0,   984,  -102,   741,     0,     0,   325,   326,     0,
4469      327,   328,   329,   330,   302,     0,     1,   303,   106,   304,
4470        0,   305,   306,     0,     0,     0,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4472        0,     2,   200,   201,   202,   203,   204,   234,   235,   236,
4473      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
4474      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
4475        0,     0,     0,     0,     0,     0,     0,     0,   307,   246,
4476        0,     0,     0,     0,   308,   309,   310,    28,    29,     0,
4477        0,     0,    32,     0,     0,     0,     0,   311,   636,    38,
4478      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4479        0,   313,     0,   249,     0,   314,   315,   316,   317,   318,
4480      319,   320,   321,    43,    44,   250,   251,   252,   253,   206,
4481      207,   322,     0,     0,   323,     0,   324,  1511,     0,   984,
4482      -65,   741,     0,     0,   325,   326,     0,   327,   328,   329,
4483      330,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4484        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4485        0,     0,     0,     0,     0,     0,     0,     0,     2,   200,
4486      201,   202,   203,   204,   234,   235,   236,   237,   238,   239,
4487      240,   241,   242,   243,    18,    19,   244,   245,    22,    23,
4488       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4489        0,     0,     0,     0,     0,   307,   246,     0,     0,     0,
4490        0,   308,   309,   310,    28,    29,     0,     0,     0,    32,
4491        0,     0,     0,     0,   311,   636,    38,   248,     0,     0,
4492        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4493      249,     0,   314,   315,   316,   317,   318,   319,   320,   321,
4494       43,    44,   250,   251,   252,   253,   206,   207,   322,     0,
4495        0,   323,     0,   324,  1520,     0,   984,  1521,   741,     0,
4496        0,   325,   326,     0,   327,   328,   329,   330,  1578,     0,
4497        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4499        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
4500      204,   234,   235,   236,   237,   238,   239,   240,   241,   242,
4501      243,    18,    19,   244,   245,    22,    23,    24,     0,     0,
4502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4503        0,     0,   307,   246,     0,     0,     0,     0,   308,   309,
4504      310,    28,    29,     0,     0,     0,    32,     0,     0,     0,
4505        0,   311,   636,    38,   248,     0,     0,     0,     0,     0,
4506        0,     0,     0,     0,     0,   313,     0,   249,     0,   314,
4507      315,   316,   317,   318,   319,   320,   321,    43,    44,   250,
4508      251,   252,   253,   206,   207,   322,     0,     0,   323,     0,
4509      324,   983,     0,   984,   -81,   741,     0,     0,   325,   326,
4510        0,   327,   328,   329,   330,   302,     0,     1,   303,   106,
4511      304,     0,   305,   306,     0,     0,     0,     0,     0,     0,
4512        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4513        0,     0,     2,   200,   201,   202,   203,   204,   234,   235,
4514      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
4515      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
4516        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
4517      246,     0,     0,     0,     0,   308,   309,   310,    28,    29,
4518        0,     0,     0,    32,     0,     0,     0,     0,   311,   636,
4519       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
4520        0,     0,   313,     0,   249,     0,   314,   315,   316,   317,
4521      318,   319,   320,   321,    43,    44,   250,   251,   252,   253,
4522      206,   207,   322,     0,     0,   323,     0,   324,  1520,     0,
4523      984,  -107,   741,     0,     0,   325,   326,     0,   327,   328,
4524      329,   330,   302,     0,     1,   303,   106,   304,     0,   305,
4525      306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4526        0,     0,     0,     0,     0,     0,     0,     0,     0,     2,
4527      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
4528      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
4529       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4530        0,     0,     0,     0,     0,     0,   307,   246,     0,     0,
4531        0,     0,   308,   309,   310,    28,    29,     0,     0,     0,
4532       32,     0,     0,     0,     0,   311,   636,    38,   248,     0,
4533        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4534        0,   249,     0,   314,   315,   316,   317,   318,   319,   320,
4535      321,    43,    44,   250,   251,   252,   253,   206,   207,   322,
4536        0,     0,   323,     0,   324,  1520,     0,   984,   -97,   741,
4537        0,     0,   325,   326,     0,   327,   328,   329,   330,   302,
4538        0,     1,   303,   106,   304,     0,   305,   306,     0,     0,
4539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4540        0,     0,     0,     0,     0,     0,     2,   200,   201,   202,
4541      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
4542      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
4543        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4544        0,     0,     0,   307,   246,     0,     0,     0,     0,   308,
4545      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4546        0,     0,   311,   636,    38,   248,     0,     0,     0,     0,
4547        0,     0,     0,     0,     0,     0,   313,     0,   249,     0,
4548      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4549      250,   251,   252,   253,   206,   207,   322,     0,     0,   323,
4550        0,   324,  1520,     0,   984,  -101,   741,     0,     0,   325,
4551      326,     0,   327,   328,   329,   330,  1760,     0,     1,   303,
4552      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4554        0,     0,     0,     2,   200,   201,   202,   203,   204,   234,
4555      235,   236,   237,   238,   239,   240,   241,   242,   243,    18,
4556       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
4557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4558      307,   246,     0,     0,     0,     0,   308,   309,   310,    28,
4559       29,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4560      636,    38,   248,     0,     0,     0,     0,     0,     0,     0,
4561        0,     0,     0,   313,     0,   249,     0,   314,   315,   316,
4562      317,   318,   319,   320,   321,    43,    44,   250,   251,   252,
4563      253,   206,   207,   322,     0,     0,   323,     0,   324,   983,
4564        0,   984,   -88,   741,     0,     0,   325,   326,     0,   327,
4565      328,   329,   330,   302,     0,     1,   303,   106,   304,     0,
4566      305,   306,     0,     0,     0,     0,     0,     0,     0,     0,
4567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4568        2,   200,   201,   202,   203,   204,   234,   235,   236,   237,
4569      238,   239,   240,   241,   242,   243,    18,    19,   244,   245,
4570       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
4571        0,     0,     0,     0,     0,     0,     0,   307,   246,     0,
4572        0,     0,     0,   308,   309,   310,    28,    29,     0,     0,
4573        0,    32,     0,     0,     0,     0,   311,   636,    38,   248,
4574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4575      313,     0,   249,     0,   314,   315,   316,   317,   318,   319,
4576      320,   321,    43,    44,   250,   251,   252,   253,   206,   207,
4577      322,     0,     0,   323,     0,   324,  1520,     0,   984,   -78,
4578      741,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4579      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4581        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
4582      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
4583      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
4584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4585        0,     0,     0,     0,   307,   246,     0,     0,     0,     0,
4586      308,   309,   310,    28,    29,     0,     0,     0,    32,     0,
4587        0,     0,     0,   311,   636,    38,   248,     0,     0,     0,
4588        0,     0,     0,     0,     0,     0,     0,   313,     0,   249,
4589        0,   314,   315,   316,   317,   318,   319,   320,   321,    43,
4590       44,   250,   251,   252,   253,   206,   207,   322,     0,     0,
4591      323,     0,   324,  1520,     0,   984,   -85,   741,     0,     0,
4592      325,   326,     0,   327,   328,   329,   330,   302,     0,     1,
4593      303,   106,   304,     0,   305,   306,     0,     0,     0,     0,
4594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4595        0,     0,     0,     0,     2,   200,   201,   202,   203,   204,
4596        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
4597       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4599        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4600       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4601      311,   405,    38,    39,     0,     0,     0,     0,     0,     0,
4602        0,     0,     0,     0,   313,     0,    40,     0,   314,   315,
4603      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4604       47,    48,   206,   207,   322,     0,     0,   323,   302,   324,
4605        1,   303,   106,   304,     0,   305,   306,   325,   326,     0,
4606      327,   328,   329,   330,     0,     0,     0,     0,     0,     0,
4607        0,     0,     0,     0,     0,     2,   200,   201,   202,   203,
4608      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
4609       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
4610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4611        0,     0,   863,    27,     0,     0,     0,     0,   308,   309,
4612      310,    28,    29,     0,     0,     0,    32,     0,     0,    35,
4613       36,   311,   405,    38,    39,     0,     0,     0,     0,     0,
4614        0,     0,     0,     0,     0,   313,     0,    40,     0,   314,
4615      315,   316,   317,   318,   319,   320,   321,    43,    44,    45,
4616       46,    47,    48,   206,   207,   322,     0,     0,   323,   302,
4617      324,     1,   303,   106,   304,     0,   305,   306,   325,   326,
4618        0,   327,   328,   329,   330,     0,     0,     0,     0,     0,
4619        0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
4620        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
4621       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
4622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4623        0,     0,     0,  1193,    27,     0,     0,     0,     0,   308,
4624      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4625       35,    36,   311,   405,    38,    39,     0,     0,     0,     0,
4626        0,     0,     0,     0,     0,     0,   313,     0,    40,     0,
4627      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4628       45,    46,    47,    48,     0,     0,   322,     0,     0,   323,
4629      730,   324,     0,     0,     0,     0,     0,     0,     0,   325,
4630      326,     0,   327,   328,   329,   330,   302,     0,     1,   303,
4631      106,   304,     0,   305,   306,     0,     0,     0,     0,     0,
4632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4633        0,     0,     0,     2,     0,     0,     0,     0,     0,     8,
4634        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
4635       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
4636        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4637      307,    27,     0,     0,     0,     0,   308,   309,   310,    28,
4638       29,     0,     0,     0,    32,     0,     0,    35,    36,   311,
4639      405,    38,    39,     0,     0,     0,     0,     0,     0,     0,
4640        0,     0,     0,   313,     0,    40,     0,   314,   315,   316,
4641      317,   318,   319,   320,   321,    43,    44,    45,    46,    47,
4642       48,     0,     0,   322,     0,     0,   323,   302,   324,     1,
4643      303,   106,   304,   254,   305,   306,   325,   326,     0,   327,
4644      328,   329,   330,     0,     0,     0,     0,     0,     0,     0,
4645        0,     0,     0,     0,     2,     0,     0,     0,     0,     0,
4646        8,     9,    10,   563,    12,    13,    14,    15,    16,    17,
4647       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
4648        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4649        0,   307,    27,     0,     0,     0,     0,   308,   309,   310,
4650       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
4651      311,   405,    38,    39,     0,   302,     0,     1,   303,   106,
4652      304,     0,   305,   306,   313,     0,    40,     0,   314,   315,
4653      316,   317,   318,   319,   320,   321,    43,    44,    45,    46,
4654       47,    48,     2,     0,   886,     0,     0,   887,   730,   324,
4655        0,     0,     0,     0,     0,     0,     0,   325,   326,     0,
4656      327,   328,   329,   330,     0,     0,  1114,  1115,  1116,   628,
4657     1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,   307,
4658        0,     0,     0,     0,     0,   308,   309,   310,     0,     0,
4659        0,     0,     0,    32,     0,     0,     0,     0,   311,   312,
4660     1122,     0,   638,   639,   640,     0,   302,     0,     1,   303,
4661      106,   304,   313,   305,   306,     0,   314,   315,   316,   317,
4662      318,   319,   320,   321,    43,    44,     0,     0,     0,     0,
4663        0,     0,   322,     2,     0,   323,  1157,   324,   641,     0,
4664     1158,     0,   254,     0,   642,   325,   326,     0,   327,   328,
4665      329,   330,     0,     0,     0,     0,     0,  1114,  1115,  1116,
4666      628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,     0,
4667      307,     0,     0,     0,     0,     0,   308,   309,   310,     0,
4668        0,     0,     0,     0,    32,     0,     0,     0,     0,   311,
4669      312,  1122,     0,   638,   639,   640,     0,  1833,     0,     1,
4670      303,   106,   304,   313,   305,   306,     0,   314,   315,   316,
4671      317,   318,   319,   320,   321,    43,    44,     0,     0,     0,
4672        0,     0,     0,   322,     2,     0,   323,     0,   324,   641,
4673        0,     0,     0,   254,     0,   642,   325,   326,     0,   327,
4674      328,   329,   330,     0,     0,     0,     0,     0,  1114,  1115,
4675     1116,   628,  1117,  1118,  1119,  1120,   633,   634,  1121,     0,
4676        0,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4677        0,     0,     0,     0,     0,    32,     0,     0,     0,     0,
4678      311,   312,  1122,     0,   638,   639,   640,     0,   302,     0,
4679        1,   303,   106,   304,   313,   305,   306,     0,   314,   315,
4680      316,   317,   318,   319,   320,   321,    43,    44,     0,     0,
4681        0,     0,     0,     0,   322,     2,     0,   323,     0,   324,
4682      641,     0,     0,     0,   254,     0,   642,   325,   326,     0,
4683      327,   328,   329,   330,     0,     0,     0,     0,     0,   625,
4684      626,   627,   628,   629,   630,   631,   632,   633,   634,   635,
4685        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4686      310,     0,     0,     0,     0,     0,    32,     0,     0,     0,
4687        0,   311,   312,  1122,     0,   638,   639,   640,     0,     0,
4688        0,     0,     0,     0,     0,   313,     0,     0,     0,   314,
4689      315,   316,   317,   318,   319,   320,   321,    43,    44,   302,
4690        0,     1,   303,   106,   304,   322,   305,   306,   323,     0,
4691      324,   641,     0,     0,     0,   254,     0,   642,   325,   326,
4692        0,   327,   328,   329,   330,     0,     2,     0,     0,     0,
4693        0,     0,     0,     0,     0,   121,     0,     0,     0,     0,
4694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4695        0,     0,     0,   302,     0,     1,   303,   106,   304,     0,
4696      305,   306,     0,   307,     0,     0,     0,     0,     0,   308,
4697      309,   310,    28,    29,     0,     0,     0,    32,     0,     0,
4698        2,     0,   311,   312,    38,     0,     0,     0,     0,     0,
4699        0,     0,     0,     0,     0,     0,   313,     0,     0,     0,
4700      314,   315,   316,   317,   318,   319,   320,   321,    43,    44,
4701        0,     0,     0,     0,     0,     0,   886,   307,     0,   887,
4702      730,   324,     0,   308,   309,   310,     0,     0,     0,   325,
4703      326,     0,   327,   328,   329,   330,   311,   312,  1853,     0,
4704        1,   303,   106,   304,     0,   305,   306,     0,     0,     0,
4705      313,     0,     0,     0,   314,   315,   316,   317,   318,   319,
4706      320,   321,     0,     0,     0,     2,     0,     0,     0,     0,
4707      322,     0,     0,   323,  1157,   324,  1622,     0,  1158,     0,
4708        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     0,   307,     0,     0,     0,     0,     0,   308,   309,
4711      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4712        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4713        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4714      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4715        0,     0,     0,     0,     0,   322,     0,     0,   323,  1157,
4716      324,  1854,     0,  1158,     0,     0,     0,     0,   325,   326,
4717        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4718        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4719        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4720        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4721        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4722        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4723        0,   323,  1157,   324,     0,     0,  1724,     0,     0,     0,
4724     1871,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4725        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4726      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4728        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4729      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4730        0,   322,     0,     0,   323,  1157,   324,     0,     0,  1724,
4731        0,     0,     0,  1875,   325,   326,     0,   327,   328,   329,
4732      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4733     2002,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4734      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4735        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4736      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4737        0,     0,     0,     0,   322,     0,     0,   323,  1157,   324,
4738     1854,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4739      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4740      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4741      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4742        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4743        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4744        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4745      323,  1157,   324,  1854,     0,  1158,     0,     0,     0,     0,
4746      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4747        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4748      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4749        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4750      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4751      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4752      322,     0,     0,   323,     0,   324,     0,     0,  2055,  2056,
4753     1013,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4754      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4755        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4756      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4757        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4758      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4759        0,     0,     0,   322,     0,     0,   323,  2067,   324,  2068,
4760        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4761      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4762      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4763      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4764        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4765      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4766        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4767     1157,   324,  2066,     0,  1158,     0,     0,     0,     0,   325,
4768      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4769        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4770      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4771        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4772        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4773      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4774        0,     0,   323,     0,   324,     0,     0,     0,     0,   741,
4775        0,     0,   325,   326,   742,   327,   328,   329,   330,   307,
4776        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4777        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4778        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4779        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4780      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4781        0,     0,   322,     0,     0,   323,     0,   324,  1152,     0,
4782     1153,     0,     0,     0,     0,   325,   326,     0,   327,   328,
4783      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4784      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4785        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4786        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4787      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4788        0,     0,     0,     0,     0,   322,     0,     0,   323,  1262,
4789      324,     0,     0,     0,     0,   741,     0,     0,   325,   326,
4790        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4791        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4792        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4793        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4794        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4795        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4796        0,   323,  1329,   324,     0,     0,     0,     0,   741,     0,
4797        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4798        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4799      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4801        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4802      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4803        0,   322,     0,     0,   323,     0,   324,  1133,     0,     0,
4804        0,   741,     0,     0,   325,   326,     0,   327,   328,   329,
4805      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4806     1611,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4807      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4808        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4809      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4810        0,     0,     0,     0,   322,     0,     0,   323,  1157,   324,
4811        0,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4812      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4813      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4814      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4815        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4816        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4817        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4818      323,  1612,   324,  1613,     0,     0,     0,     0,     0,     0,
4819      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4820        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4821      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4823      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4824      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4825      322,     0,     0,   323,     0,   324,  1621,     0,  1153,     0,
4826        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4827      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4828        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4829      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4830        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4831      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4832        0,     0,     0,   322,     0,     0,   323,  1691,   324,     0,
4833        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4834      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4835      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4836      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4837        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4838      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4839        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4840        0,   324,     0,     0,  1153,     0,     0,     0,     0,   325,
4841      326,  1718,   327,   328,   329,   330,   307,     0,     0,     0,
4842        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4843      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4844        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4845        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4846      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4847        0,     0,   323,     0,   324,     0,     0,  1721,     0,     0,
4848        0,  1722,   325,   326,     0,   327,   328,   329,   330,   307,
4849        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4850        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4852        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4853      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4854        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
4855     1153,     0,     0,     0,     0,   325,   326,  1728,   327,   328,
4856      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4857      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4858        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4859        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4860      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4861        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
4862      324,     0,     0,  1721,     0,     0,     0,  1730,   325,   326,
4863        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4864        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4865        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4866        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4867        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4868        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4869        0,   323,  1829,   324,     0,     0,  1153,     0,     0,     0,
4870        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4871        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4872      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4873        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4874        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4875      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4876        0,   322,     0,     0,   323,  1831,   324,     0,     0,  1153,
4877        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
4878      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4879      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4880      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4881        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4882      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4883        0,     0,     0,     0,   322,     0,     0,   323,  1832,   324,
4884        0,     0,  1158,     0,     0,     0,     0,   325,   326,     0,
4885      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4886      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4887      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4888        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4889        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4890        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4891      323,  1835,   324,     0,     0,  1153,     0,     0,     0,     0,
4892      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4893        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4894      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4896      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4897      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4898      322,     0,     0,   323,  1612,   324,  1613,     0,     0,     0,
4899        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4900      307,     0,     0,     0,     0,     0,   308,   309,   310,  1855,
4901        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4902      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4903        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4904      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4905        0,     0,     0,   322,     0,     0,   323,     0,   324,  1852,
4906        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4907      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4908      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4909      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4910        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4911      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4912        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4913     1856,   324,  1613,     0,     0,     0,     0,     0,     0,   325,
4914      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4915        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4916      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4917        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4918        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4919      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4920        0,     0,   323,     0,   324,     0,     0,  1721,     0,     0,
4921        0,  1869,   325,   326,     0,   327,   328,   329,   330,   307,
4922        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4923        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4925        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4926      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
4927        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
4928     1721,     0,     0,     0,  1873,   325,   326,     0,   327,   328,
4929      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
4930      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
4931        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
4932        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
4933      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
4934        0,     0,     0,     0,     0,   322,     0,     0,   323,  1987,
4935      324,     0,     0,  1153,     0,     0,     0,     0,   325,   326,
4936        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
4937        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
4938        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
4939        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
4940        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
4941        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
4942        0,   323,  1830,   324,     0,     0,  1158,     0,     0,     0,
4943        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
4944        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
4945      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
4946        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4947        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
4948      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
4949        0,   322,     0,     0,   323,  1994,   324,     0,     0,  1153,
4950        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
4951      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
4952      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
4953      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
4954        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
4955      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
4956        0,     0,     0,     0,   322,     0,     0,   323,  1856,   324,
4957     1613,     0,     0,     0,     0,     0,     0,   325,   326,     0,
4958      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
4959      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
4960      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
4961        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
4962        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
4963        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
4964      323,  2071,   324,     0,     0,  1153,     0,     0,     0,     0,
4965      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
4966        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
4967      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
4968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4969      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
4970      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
4971      322,     0,     0,   323,     0,   324,     0,     0,     0,  2100,
4972     1013,     0,     0,   325,   326,     0,   327,   328,   329,   330,
4973      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
4974        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
4975      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4976        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
4977      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
4978        0,     0,     0,   322,     0,     0,   323,  2103,   324,     0,
4979        0,  1153,     0,     0,     0,     0,   325,   326,     0,   327,
4980      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
4981      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
4982      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
4983        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
4984      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
4985        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
4986     2104,   324,     0,     0,  1153,     0,     0,     0,     0,   325,
4987      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
4988        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
4989      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
4990        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
4991        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
4992      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
4993        0,     0,   323,  2132,   324,     0,     0,  1153,     0,     0,
4994        0,     0,   325,   326,     0,   327,   328,   329,   330,   307,
4995        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
4996        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
4997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4998        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
4999      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
5000        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
5001        0,     0,     0,     0,     0,   325,   326,   547,   327,   328,
5002      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5003      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5004        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5005        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5006      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5007        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
5008      324,     0,     0,     0,     0,   741,     0,     0,   325,   326,
5009        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5010        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
5011        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5012        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5013        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5014        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5015        0,   323,     0,   324,     0,     0,     0,     0,     0,     0,
5016        0,   325,   326,   837,   327,   328,   329,   330,   307,     0,
5017        0,     0,     0,     0,   308,   309,   310,   302,     0,     1,
5018      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
5019        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5020        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
5021      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
5022        0,   322,     0,     0,   323,     0,   324,     0,     0,     0,
5023        0,     0,     0,     0,   325,   326,   841,   327,   328,   329,
5024      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
5025      302,     0,     1,   303,   106,   304,     0,   305,   306,     0,
5026      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
5027        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
5028      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
5029        0,     0,     0,     0,   322,     0,     0,   323,     0,   324,
5030        0,     0,     0,     0,  1013,     0,     0,   325,   326,     0,
5031      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
5032      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
5033      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
5034        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
5035        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
5036        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
5037      323,     0,   324,     0,     0,     0,     0,     0,     0,     0,
5038      325,   326,  1054,   327,   328,   329,   330,   307,     0,     0,
5039        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
5040      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
5041        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5042      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
5043      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
5044      322,     0,     0,   323,     0,   324,     0,     0,     0,     0,
5045        0,     0,  1106,   325,   326,     0,   327,   328,   329,   330,
5046      307,     0,     0,     0,     0,     0,   308,   309,   310,  1456,
5047        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
5048      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5049        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
5050      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
5051        0,     0,     0,   322,     0,     0,   323,   730,   324,     0,
5052        0,     0,     0,     0,     0,     0,   325,   326,     0,   327,
5053      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
5054      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
5055      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
5056        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
5057      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5058        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
5059        0,   324,     0,     0,     0,     0,   741,     0,     0,   325,
5060      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
5061        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
5062      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
5063        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
5064        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
5065      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
5066        0,     0,   323,     0,   324,     0,     0,     0,     0,     0,
5067        0,     0,   325,   326,  1559,   327,   328,   329,   330,   307,
5068        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
5069        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
5070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5071        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
5072      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
5073        0,     0,   322,     0,     0,   323,  1595,   324,     0,     0,
5074        0,     0,     0,     0,     0,   325,   326,     0,   327,   328,
5075      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5076      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5077        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5078        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5079      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5080        0,     0,     0,     0,     0,   322,     0,     0,   323,     0,
5081      324,     0,     0,     0,     0,     0,     0,  1598,   325,   326,
5082        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5083        0,   308,   309,   310,  1789,     0,     1,   303,   106,   304,
5084        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5085        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5086        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5087        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5088        0,   323,     0,   324,     0,     0,     0,     0,  1788,     0,
5089        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
5090        0,     0,     0,     0,   308,   309,   310,  1792,     0,     1,
5091      303,   106,   304,     0,   305,   306,     0,   311,   312,     0,
5092        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5093        0,   313,     0,     0,     2,   314,   315,   316,   317,   318,
5094      319,   320,   321,     0,     0,     0,     0,     0,     0,     0,
5095        0,   322,     0,     0,   323,     0,   324,     0,     0,     0,
5096        0,   741,     0,     0,   325,   326,     0,   327,   328,   329,
5097      330,   307,     0,     0,     0,     0,     0,   308,   309,   310,
5098     1796,     0,     1,   303,   106,   304,     0,   305,   306,     0,
5099      311,   312,     0,     0,     0,     0,     0,     0,     0,     0,
5100        0,     0,     0,     0,   313,     0,     0,     2,   314,   315,
5101      316,   317,   318,   319,   320,   321,     0,     0,     0,     0,
5102        0,     0,     0,     0,   322,     0,     0,   323,     0,   324,
5103        0,     0,     0,     0,   741,     0,     0,   325,   326,     0,
5104      327,   328,   329,   330,   307,     0,     0,     0,     0,     0,
5105      308,   309,   310,   302,     0,     1,   303,   106,   304,     0,
5106      305,   306,     0,   311,   312,     0,     0,     0,     0,     0,
5107        0,     0,     0,     0,     0,     0,     0,   313,     0,     0,
5108        2,   314,   315,   316,   317,   318,   319,   320,   321,     0,
5109        0,     0,     0,     0,     0,     0,     0,   322,     0,     0,
5110      323,     0,   324,     0,     0,     0,     0,   741,     0,     0,
5111      325,   326,     0,   327,   328,   329,   330,   307,     0,     0,
5112        0,     0,     0,   308,   309,   310,   302,     0,     1,   303,
5113      106,   304,     0,   305,   306,     0,   311,   312,     0,     0,
5114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5115      313,     0,     0,     2,   314,   315,   316,   317,   318,   319,
5116      320,   321,     0,     0,     0,     0,     0,     0,     0,     0,
5117      322,     0,     0,   323,  1842,   324,     0,     0,     0,     0,
5118        0,     0,     0,   325,   326,     0,   327,   328,   329,   330,
5119      307,     0,     0,     0,     0,     0,   308,   309,   310,   302,
5120        0,     1,   303,   106,   304,     0,   305,   306,     0,   311,
5121      312,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5122        0,     0,     0,   313,     0,     0,     2,   314,   315,   316,
5123      317,   318,   319,   320,   321,     0,     0,     0,     0,     0,
5124        0,     0,     0,   322,     0,     0,  1902,     0,   324,     0,
5125        0,     0,     0,  1788,     0,     0,   325,   326,     0,   327,
5126      328,   329,   330,   307,     0,     0,     0,     0,     0,   308,
5127      309,   310,   302,     0,     1,   303,   106,   304,     0,   305,
5128      306,     0,   311,   312,     0,     0,     0,     0,     0,     0,
5129        0,     0,     0,     0,     0,     0,   313,     0,     0,     2,
5130      314,   315,   316,   317,   318,   319,   320,   321,     0,     0,
5131        0,     0,     0,     0,     0,     0,   322,     0,     0,   323,
5132     2003,   324,     0,     0,     0,     0,     0,     0,     0,   325,
5133      326,     0,   327,   328,   329,   330,   307,     0,     0,     0,
5134        0,     0,   308,   309,   310,   302,     0,     1,   303,   106,
5135      304,     0,   305,   306,     0,   311,   312,     0,     0,     0,
5136        0,     0,     0,     0,     0,     0,     0,     0,     0,   313,
5137        0,     0,     2,   314,   315,   316,   317,   318,   319,   320,
5138      321,     0,     0,     0,     0,     0,     0,     0,     0,   322,
5139        0,     0,   323,  2062,   324,     0,     0,     0,     0,     0,
5140        0,     0,   325,   326,     0,   327,   328,   329,   330,   307,
5141        0,     0,     0,     0,     0,   308,   309,   310,   302,     0,
5142        1,   303,   106,   304,     0,   305,   306,     0,   311,   312,
5143        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5144        0,     0,   313,     0,     0,     2,   314,   315,   316,   317,
5145      318,   319,   320,   321,     0,     0,     0,     0,     0,     0,
5146        0,     0,   322,     0,     0,   323,     0,   324,     0,     0,
5147        0,     0,     0,     0,     0,   325,   326,     0,   327,   328,
5148      329,   330,   307,     0,     0,     0,     0,     0,   308,   309,
5149      310,   302,     0,     1,   303,   106,   304,     0,   305,   306,
5150        0,   311,   312,     0,     0,     0,     0,     0,     0,     0,
5151        0,     0,     0,     0,     0,   313,     0,     0,     2,   314,
5152      315,   316,   317,   318,   319,   320,   321,     0,     0,     0,
5153        0,     0,     0,     0,     0,   322,     0,     0,   701,     0,
5154      324,     0,     0,     0,     0,     0,     0,     0,   325,   326,
5155        0,   327,   328,   329,   330,   307,     0,     0,     0,     0,
5156        0,   308,   309,   310,   302,     0,     1,   303,   106,   304,
5157        0,   305,   306,     0,   311,   312,     0,     0,     0,     0,
5158        0,     0,     0,     0,     0,     0,     0,     0,   313,     0,
5159        0,     2,   314,   315,   316,   317,   318,   319,   320,   321,
5160        0,     0,     0,     0,     0,     0,     0,     0,   322,     0,
5161        0,   704,     0,   324,     0,     0,     0,     0,     0,     0,
5162        0,   325,   326,     0,   327,   328,   329,   330,   307,     0,
5163        0,     0,     0,     0,   308,   309,   310,     0,     0,     0,
5164        0,     0,     0,     0,     0,     0,     0,   311,   312,     0,
5165        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5166        0,   313,     0,     0,     0,   314,   315,   316,   317,   318,
5167      319,   320,   321,  -893,   582,     0,  -893,  -893,  -893,     0,
5168        0,   322,     0,     0,   727,     0,   324,     0,     0,     0,
5169        0,     0,     0,     0,   325,   326,     0,   327,   328,   329,
5170      330,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5171     -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5172     -893,  -893,  -893,  -893,     0,     0,  -893,     0,     0,     0,
5173        0,     0,     0,     0,     0,     0,     0,     0,  -893,  -893,
5174        0,  -893,     0,     0,  -893,  -893,     0,  -893,  -893,     0,
5175        0,  -893,  -893,  -893,  -893,  -893,  -893,     0,  -893,  -893,
5176     -893,  -893,     0,     0,  -893,  -893,  -893,  -893,     0,  -893,
5177        0,  -893,  -893,  -893,     0,  -893,  -893,  -893,  -893,  -893,
5178     -893,  -893,     0,  -893,  -893,  -893,  -893,  -893,  -893,  -893,
5179     -893,  -893,     0,     0,  -893,   583,  -893,  -893,     0,   584,
5180     -893,     0,     0,     0,  -893,  -893,  -189,   904,     0,  -189,
5181     -189,  -189,     0,     0,     0,     0,     0,     0,     0,     0,
5182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5183        0,     0,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,
5184     -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,  -189,
5185     -189,  -189,  -189,  -189,  -189,  -189,  -189,     0,     0,  -189,
5186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5187        0,  -189,  -189,     0,  -189,     0,     0,  -189,  -189,     0,
5188     -189,  -189,     0,     0,  -189,  -189,  -189,  -189,  -189,  -189,
5189        0,  -189,  -189,  -189,  -189,     0,     0,  -189,  -189,  -189,
5190     -189,     0,  -189,     0,  -189,  -189,  -189,     0,  -189,  -189,
5191     -189,  -189,  -189,  -189,  -189,     0,  -189,  -189,  -189,  -189,
5192     -189,  -189,  -189,  -189,  -189,     0,     0,  -189,     0,  -189,
5193      905,     0,   906,  -189,     0,     0,     0,  -189,  -189,  -253,
5194      918,     0,     1,   303,   106,     0,     0,     0,     0,     0,
5195        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5196        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5197      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5198       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5199        0,     0,  -253,     0,     0,     0,     0,     0,     0,     0,
5200        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5201      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5202      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5203      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5204        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5205       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5206      435,     0,   436,   437,  -251,   921,  -253,     1,   303,   106,
5207      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5209        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5210       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5211       20,    21,    22,    23,    24,     0,     0,  -251,     0,     0,
5212        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5213       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5214        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5215       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5216      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5217      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5218      206,   207,    51,     0,     0,   435,     0,   436,   437,  -254,
5219      918,  -251,     1,   303,   106,   325,   326,     0,     0,     0,
5220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5221        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5222      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5223       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5224        0,     0,  -254,     0,     0,     0,     0,     0,     0,     0,
5225        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5226      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5227      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5228      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5229        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5230       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5231      435,     0,   436,   437,  -252,   921,  -254,     1,   303,   106,
5232      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5234        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5235       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5236       20,    21,    22,    23,    24,     0,     0,  -252,     0,     0,
5237        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5238       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5239        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5240       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5241      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5242      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5243      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5244      422,  -252,     1,   303,   106,   325,   326,     0,     0,     0,
5245        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5246        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5247      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5248       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5249        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5250        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5251      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5252      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5253      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5254        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5255       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5256      435,     0,   436,   437,     0,   488,   438,     1,   303,   106,
5257      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5259        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5260       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5261       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5263       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5264        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5265       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5266      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5267      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5268      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5269      510,   489,     1,   303,   106,   325,   326,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5271        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5272      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5273       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5275        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5276      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5277      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5278      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5279        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5280       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5281      435,     0,   436,   437,     0,   515,   511,     1,   303,   106,
5282      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5285       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5286       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5287        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5288       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5289        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5290       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5291      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5292      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5293      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5294      519,   516,     1,   303,   106,   325,   326,     0,     0,     0,
5295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5296        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5297      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5298       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5300        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5301      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5302      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5303      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5304        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5305       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5306      435,     0,   436,   437,     0,   918,   520,     1,   303,   106,
5307      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5309        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5310       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5311       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5312        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5313       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5314        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5315       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5316      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5317      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5318      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5319      921,  -748,     1,   303,   106,   325,   326,     0,     0,     0,
5320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5321        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5322      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5323       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5326      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5327      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5328      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5329        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5330       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5331      435,     0,   436,   437,     0,   918,  -749,     1,   303,   106,
5332      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5335       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5336       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5337        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5338       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5339        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5340       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5341      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5342      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5343      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5344      921,  -745,     1,   303,   106,   325,   326,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5346        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5347      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5348       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5350        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5351      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5352      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5353      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5354        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5355       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5356      435,     0,   436,   437,     0,   918,  -746,     1,   303,   106,
5357      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5360       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5361       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5362        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5363       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5364        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5365       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5366      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5367      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5368      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5369      921,  -751,     1,   303,   106,   325,   326,     0,     0,     0,
5370        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5371        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5372      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5373       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5375        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5376      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5377      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5378      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5379        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5380       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5381      435,     0,   436,   437,     0,  1036,  -752,     1,   303,   106,
5382      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5384        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5385       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5386       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5387        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5388       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5389        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5390       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5391      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5392      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5393      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5394     1040,  1037,     1,   303,   106,   325,   326,     0,     0,     0,
5395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5396        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5397      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5398       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5399        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5400        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5401      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5402      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5403      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5404        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5405       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5406      435,     0,   436,   437,     0,   302,  1041,     1,   303,   106,
5407      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5409        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5410       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5411       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5412        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5413       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5414        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5415       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5416      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5417      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5418      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5419      918,  -647,     1,   303,   106,   325,   326,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5421        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5422      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5423       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5425        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5426      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5427      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5428      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5429        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5430       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5431      435,     0,   436,   437,     0,   921,  -728,     1,   303,   106,
5432      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5434        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5435       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5436       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5437        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5438       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5439        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5440       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5441      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5442      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5443      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5444      918,  -729,     1,   303,   106,   325,   326,     0,     0,     0,
5445        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5446        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5447      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5448       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5450        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5451      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5452      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5453      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5454        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5455       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5456      435,     0,   436,   437,     0,   921,  -731,     1,   303,   106,
5457      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5458        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5459        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5460       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5461       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5462        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5463       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5464        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5465       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5466      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5467      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5468      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5469     1541,  -732,     1,   303,   106,   325,   326,     0,     0,     0,
5470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5471        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5472      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5473       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5475        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5476      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5477      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5478      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5479        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5480       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5481      435,     0,   436,   437,     0,   918,  1542,     1,   303,   106,
5482      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5484        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5485       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5486       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5487        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5488       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5489        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5490       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5491      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5492      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5493      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5494      921,  -642,     1,   303,   106,   325,   326,     0,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5496        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5497      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5498       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5499        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5500        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5501      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5502      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5503      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5504        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5505       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5506      435,     0,   436,   437,     0,   918,  -643,     1,   303,   106,
5507      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5509        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5510       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5511       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5512        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5513       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5514        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5515       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5516      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5517      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5518      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5519      921,  -734,     1,   303,   106,   325,   326,     0,     0,     0,
5520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5521        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5522      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5523       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5524        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5525        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5526      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5527      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5528      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5529        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5530       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5531      435,     0,   436,   437,     0,   302,  -735,     1,   303,   106,
5532      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5534        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5535       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5536       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5537        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5538       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5539        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5540       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5541      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5542      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5543      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5544      302,  -646,     1,   303,   106,   325,   326,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5546        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5547      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5548       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5550        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5551      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5552      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5553      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5554        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5555       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5556      435,     0,   436,   437,     0,   302,  -644,     1,   303,   106,
5557      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5559        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5560       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5561       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5562        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5563       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5564        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5565       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5566      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5567      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5568      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5569      302,  -622,     1,   303,   106,   325,   326,     0,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5572      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5573       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5576      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5577      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5578      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5579        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5580       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5581      435,     0,   436,   437,     0,   918,  -621,     1,   303,   106,
5582      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5584        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5585       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5586       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5587        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5588       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5589        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5590       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5591      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5592      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5593      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5594      921,  -635,     1,   303,   106,   325,   326,     0,     0,     0,
5595        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5596        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5597      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5598       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5599        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5600        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5601      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5602      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5603      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5604        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5605       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5606      435,     0,   436,   437,     0,   302,  -636,     1,   303,   106,
5607      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5609        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5610       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5611       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5612        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5613       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5614        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5615       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5616      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5617      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5618      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5619      918,  -645,     1,   303,   106,   325,   326,     0,     0,     0,
5620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5621        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5622      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5623       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5625        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5626      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5627      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5628      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5629        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5630       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5631      435,     0,   436,   437,     0,   921,  -631,     1,   303,   106,
5632      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5634        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5635       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5636       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5637        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5638       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5639        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5640       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5641      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5642      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5643      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5644      918,  -632,     1,   303,   106,   325,   326,     0,     0,     0,
5645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5646        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5647      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5648       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5650        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5651      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5652      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5653      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5654        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5655       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5656      435,     0,   436,   437,     0,   921,  -619,     1,   303,   106,
5657      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5659        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5660       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5661       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5662        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5663       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5664        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5665       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5666      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5667      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5668      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5669      918,  -620,     1,   303,   106,   325,   326,     0,     0,     0,
5670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5671        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5672      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5673       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5675        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5676      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5677      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5678      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5679        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5680       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5681      435,     0,   436,   437,     0,   921,  -614,     1,   303,   106,
5682      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5684        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5685       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5686       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5687        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5688       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5689        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5690       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5691      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5692      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5693      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5694      918,  -615,     1,   303,   106,   325,   326,     0,     0,     0,
5695        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5696        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5697      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5698       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5700        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5701      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5702      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5703      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5704        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5705       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5706      435,     0,   436,   437,     0,   921,  -633,     1,   303,   106,
5707      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5708        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5709        0,     0,     2,   200,   201,   202,   203,   204,     8,     9,
5710       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
5711       20,    21,    22,    23,    24,     0,     0,     0,     0,     0,
5712        0,     0,     0,     0,     0,     0,     0,     0,     0,   307,
5713       27,     0,   423,     0,     0,   308,   309,     0,    28,    29,
5714        0,     0,   424,    32,   425,   426,    35,    36,     0,   405,
5715       38,    39,   427,     0,     0,   428,   429,   430,   431,     0,
5716      432,     0,   433,   434,    40,     0,   314,   315,   316,   317,
5717      318,   319,   320,     0,    43,    44,    45,    46,    47,    48,
5718      206,   207,    51,     0,     0,   435,     0,   436,   437,     0,
5719      422,  -634,     1,   303,   106,   325,   326,     0,     0,     0,
5720        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5721        0,     0,     0,     0,     0,     0,     0,     2,   200,   201,
5722      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5723       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5724        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5725        0,     0,     0,     0,   307,    27,     0,   423,     0,     0,
5726      308,   309,     0,    28,    29,     0,     0,   424,    32,   425,
5727      426,    35,    36,     0,   405,    38,    39,   427,     0,     0,
5728      428,   429,   430,   431,     0,   432,     0,   433,   434,    40,
5729        0,   314,   315,   316,   317,   318,   319,   320,     0,    43,
5730       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
5731      435,     0,   436,   437,   488,     0,     1,   303,   106,     0,
5732      325,   326,     0,     0,     0,     0,     0,     0,     0,     0,
5733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5734        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5735       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5736       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5737        0,     0,     0,     0,     0,     0,     0,     0,   307,    27,
5738        0,   423,     0,     0,   308,   309,     0,    28,    29,     0,
5739        0,   424,    32,   425,   426,    35,    36,     0,   405,    38,
5740       39,   427,     0,     0,   428,   429,   430,   431,     0,   432,
5741        0,   433,   434,    40,     0,   314,   315,   316,   317,   318,
5742      319,   320,     0,    43,    44,    45,    46,    47,    48,   206,
5743      207,    51,     0,   199,   435,     1,   436,   437,     0,     0,
5744        0,     0,     0,     0,   325,   326,     0,     0,     0,     0,
5745        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5746        2,   200,   201,   202,   203,   204,     8,     9,    10,    11,
5747       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5748       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5749        0,     0,     0,     0,     0,     0,     0,   205,    27,     0,
5750        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5751        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5752        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5753        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5754        1,     0,    43,    44,    45,    46,    47,    48,   206,   207,
5755       51,     0,     0,   859,  1045,     0,     0,     0,     0,     0,
5756        0,     0,     0,     0,   565,     2,   200,   201,   202,   203,
5757      204,     8,     9,    10,   563,    12,    13,    14,    15,    16,
5758       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5759        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5760        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5761        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5762       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5763        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5764        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
5765       46,    47,    48,   206,   207,    51,     1,     0,   564,     0,
5766        0,     0,     0,     0,     0,     0,     0,     0,     0,   565,
5767        0,   566,     0,     0,     0,     0,     0,     0,     0,     0,
5768        0,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5769       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5770       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5771        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5772        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5773        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5774       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5775        0,     0,     0,    40,     0,     0,     0,     0,     0,     0,
5776        0,     1,     0,    43,    44,    45,    46,    47,    48,   206,
5777      207,    51,     0,     0,   859,     0,     0,     0,     0,     0,
5778        0,     0,     0,     0,     0,   565,     2,   200,   201,   202,
5779      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5780      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5781        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5782        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5783        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5784        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5785        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5786        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5787      250,   251,   252,   253,   206,   207,    51,     0,     0,   859,
5788        0,     0,     0,     0,     0,     0,  1421,     0,     0,     0,
5789      565,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5790      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5791      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5792        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5793        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5794        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5795      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5796        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5797        0,     1,     0,    43,    44,   250,   251,   252,   253,   206,
5798      207,    51,     0,     0,   859,     0,     0,     0,     0,     0,
5799        0,  1438,     0,     0,     0,   565,     2,   200,   201,   202,
5800      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5801      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5803        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5804        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5805        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5806        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5807        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5808      250,   251,   252,   253,   206,   207,    51,     0,     0,  1205,
5809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5810     1206,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5811      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5812      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5813        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5814        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5815        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5816      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5817        0,     0,     0,   249,     0,     0,     0,     0,     0,     0,
5818        0,     1,     0,    43,    44,   250,   251,   252,   253,   206,
5819      207,    51,     0,     0,  1205,     0,     0,     0,     0,     0,
5820        0,     0,     0,     0,     0,  1228,     2,   200,   201,   202,
5821      203,   204,   234,   235,   236,   237,   238,   239,   240,   241,
5822      242,   243,    18,    19,   244,   245,    22,    23,    24,     0,
5823        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5824        0,     0,     0,     0,   246,     0,     0,     0,     0,     0,
5825        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
5826        0,     0,     0,   247,    38,   248,     0,     0,     0,     0,
5827        0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
5828        0,     0,     0,     0,     0,     0,     1,     0,    43,    44,
5829      250,   251,   252,   253,   206,   207,    51,     0,     0,  1205,
5830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5831     1683,     2,   200,   201,   202,   203,   204,   234,   235,   236,
5832      237,   238,   239,   240,   241,   242,   243,    18,    19,   244,
5833      245,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5834        0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
5835        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5836        0,     0,    32,     0,     0,     0,     0,     0,   247,    38,
5837      248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5838        0,     0,     0,   249,     0,     1,     0,     0,     0,     0,
5839        0,     0,     0,    43,    44,   250,   251,   252,   253,   206,
5840      207,    51,     0,     0,  1205,     0,     0,     0,     0,     0,
5841        2,     0,     0,     0,     0,  1698,     8,     9,    10,    11,
5842       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
5843       22,    23,    24,     0,     0,     0,     0,     0,     0,     0,
5844        0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
5845        0,     0,     0,     0,     0,     0,    28,    29,     0,     0,
5846        0,    32,     0,     0,    35,    36,     0,    37,    38,    39,
5847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5848        0,     0,    40,     0,     0,     0,     0,     0,     0,     0,
5849        1,     0,    43,    44,    45,    46,    47,    48,     0,     0,
5850       51,     0,     0,   859,     0,     0,     0,     0,     0,     0,
5851        0,     0,     0,     0,   565,     2,     3,     4,   273,     6,
5852        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
5853       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5855        0,     0,    26,    27,     0,     0,     0,     0,     0,     0,
5856        0,    28,    29,   274,    31,     0,    32,     0,     0,    35,
5857       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5858        0,     0,     0,     0,     0,     0,     0,    40,     0,     0,
5859        0,     0,    42,     1,     0,     0,     0,    43,    44,    45,
5860       46,    47,    48,    49,    50,    51,     0,     0,    52,     0,
5861        0,     0,     0,     0,     0,     0,     0,   275,     2,   200,
5862      201,   202,   203,   204,     8,     9,    10,    11,    12,    13,
5863       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5864       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5865        0,     0,     0,     0,     0,     0,    27,     0,   423,     0,
5866        0,     0,     0,     0,    28,    29,     0,     0,   424,    32,
5867        0,     0,    35,    36,     0,    37,    38,    39,     0,     0,
5868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5869       40,     0,     0,     0,     0,     0,     1,     0,     0,     0,
5870       43,    44,    45,    46,    47,    48,   206,   207,    51,     0,
5871        0,   946,     0,   436,     0,     0,     0,     0,     0,     0,
5872      947,     2,   200,   201,   202,   203,   204,     8,     9,    10,
5873      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
5874       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
5875        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
5876        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
5877        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
5878       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5879        0,     0,     0,    40,     0,     0,     0,     0,     0,     1,
5880        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
5881      207,    51,     0,     0,   926,     0,     0,     0,     0,     0,
5882        0,     0,     0,   927,     2,   200,   201,   202,   203,   204,
5883        8,     9,    10,   563,    12,    13,    14,    15,    16,    17,
5884       18,    19,    20,    21,    22,    23,    24,     0,     0,     0,
5885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5886        0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
5887       28,    29,     0,     0,     0,    32,     0,     0,    35,    36,
5888        0,    37,    38,    39,     0,     0,     0,     0,     0,     0,
5889        0,     0,     0,     0,     0,     0,    40,     0,     0,     0,
5890     1709,     0,     0,     0,     0,     0,    43,    44,    45,    46,
5891       47,    48,   206,   207,    51,     0,     0,    52,     0,     0,
5892        0,     0,     0,     0,     0,     0,   927,     2,   200,   201,
5893      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5894      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5896        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5897        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5898        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5899        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5900     1713,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5901       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5902        0,     0,     0,     0,     0,     0,  -111,     2,   200,   201,
5903      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5904      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5906        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5907        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5908        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5909        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5910     1714,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5911       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5912        0,     0,     0,     0,     0,     0,   -95,     2,   200,   201,
5913      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5914      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5915        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5916        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5917        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5918        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5919        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5920     1820,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5921       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5922        0,     0,     0,     0,     0,     0,   -96,     2,   200,   201,
5923      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5924      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5926        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5927        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5928        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5929        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5930     1964,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5931       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5932        0,     0,     0,     0,     0,     0,   -80,     2,   200,   201,
5933      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
5934      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
5935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5936        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
5937        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5938        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
5939        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
5940    -1286,   292,     0,     1,     0,     0,     0,     0,     0,    43,
5941       44,   250,   251,   252,   253,   206,   207,     0,     0,     0,
5942        0,     0,     0,     0,     0,     0,   -87,     0,     2,     3,
5943        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
5944       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
5945       24,     0,     0,    25,     0,     0,     0,     0,     0,     0,
5946        0,     0,     0,     0,     0,    26,    27,     0,     0,     0,
5947        0,     0,     0,     0,    28,    29,    30,    31,     0,    32,
5948       33,    34,    35,    36,     0,    37,    38,    39,     0,     0,
5949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5950       40,    41,     1,     0,     0,    42,     0,     0,     0,     0,
5951       43,    44,    45,    46,    47,    48,    49,    50,    51,     0,
5952        0,    52,     0,     0,    53,     0,     0,     2,   200,   201,
5953      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5954       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5956        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5957        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5958        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5959        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5960        0,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5961       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5962        0,     0,     0,     0,     0,     0,  1397,     2,   200,   201,
5963      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5964       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5966        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5967        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5968        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5969        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5970        0,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5971       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5972        0,     0,     0,     0,     0,     0,  1740,     2,   200,   201,
5973      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
5974       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5976        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
5977        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5978        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5979        0,     0,     0,     0,     0,     0,     0,     0,     0,    40,
5980      165,     0,     1,     0,     0,     0,   829,     0,     0,    43,
5981       44,    45,    46,    47,    48,   206,   207,     0,     0,     0,
5982        0,     0,     0,     0,     0,     0,  1741,     2,     3,     4,
5983      166,     6,     7,     8,     9,    10,   167,   168,    13,    14,
5984       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
5985        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5986        0,     0,     0,     0,    26,    27,     0,     0,     0,     0,
5987        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
5988        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
5989        0,     0,     0,     0,     0,     0,     0,     0,   165,    40,
5990        1,     0,     0,     0,     0,     0,     0,     0,     0,    43,
5991       44,    45,    46,    47,    48,    49,    50,    51,     0,     0,
5992       52,     0,     0,   169,     0,     2,     3,     4,   166,     6,
5993        7,     8,     9,    10,   167,   168,    13,    14,    15,    16,
5994       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
5995        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5996        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
5997        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
5998       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
5999        0,     0,     0,     0,     0,     0,   603,    40,     1,     0,
6000        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6001       46,    47,    48,    49,    50,    51,     0,     0,    52,     0,
6002        0,   169,     0,     2,   200,   201,   202,   203,   204,   234,
6003      235,   236,   604,   605,   239,   240,   241,   242,   243,    18,
6004       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6006        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6007       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6008      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6009        0,     0,     0,     0,  -913,   249,  -913,     0,     0,     0,
6010        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6011      253,   206,   207,    51,     0,     0,    52,     0,     0,   606,
6012        0,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6013     -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6014     -913,  -913,  -913,  -913,     0,     0,     0,     0,     0,     0,
6015        0,     0,     0,     0,     0,     0,     0,     0,     0,  -913,
6016        0,     0,     0,     0,     0,     0,     0,  -913,  -913,     0,
6017        0,     0,  -913,     0,     0,     0,     0,     0,  -913,  -913,
6018     -913,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6019        0,     0,     0,  -913,     1,     0,     0,     0,     0,     0,
6020        0,     0,     0,  -913,  -913,  -913,  -913,  -913,  -913,  -913,
6021     -913,  -913,     0,     0,  -913,     0,     0,  -913,     0,     2,
6022        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
6023       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6024       23,    24,     0,     0,    25,     0,     0,     0,     0,     0,
6025        0,     0,     0,     0,     0,     0,    26,    27,     0,     0,
6026        0,     0,     0,     0,     0,    28,    29,    30,    31,     0,
6027       32,    33,    34,    35,    36,     0,    37,    38,    39,     0,
6028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6029        0,    40,    41,     0, -1287,   284,    42,     1,     0,     0,
6030        0,    43,    44,    45,    46,    47,    48,    49,    50,    51,
6031        0,     0,    52,     0,     0,    53,     0,     0,     0,     0,
6032        0,     0,     2,     3,     4,   166,     6,     7,     8,     9,
6033       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
6034       20,    21,    22,    23,    24,     0,     0,    25,     0,     0,
6035        0,     0,     0,     0,     0,     0,     0,     0,     0,    26,
6036       27,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6037        0,     0,     0,    32,    33,    34,    35,    36,     0,    37,
6038       38,    39,     0,     0,     0,     0,     0,     0,     0,   199,
6039        0,     1,     0,     0,    40,     0,     0,     0,     0,     0,
6040        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
6041       49,    50,    51,     0,     0,    52,     2,   200,   201,   202,
6042      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6043       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6044        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6045        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6046        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6047       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6048        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6049        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6050       45,    46,    47,    48,   206,   207,    51,     0,     0,  1205,
6051     1670,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6052       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6053       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6054        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6055        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6056        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6057       39,     0,     0,     0,     0,     0,     0,     0,     0,   199,
6058        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6059        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6060      207,     0,     0,     0,     0,   208,     2,   200,   201,   202,
6061      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6062       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6063        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6064        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6065        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6066       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6067        0,     0,     0,     0,   939,     0,     1,     0,    40,     0,
6068        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6069       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6070      388,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6071       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6072       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6073        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6074        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6075        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6076       39,     0,     0,     0,     0,     0,     0,     0,     0,  1464,
6077        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6078        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6079      207,     0,     0,     0,     0,   208,     2,   200,   201,   202,
6080      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6081       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6083        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6084        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6085       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6086        0,     0,     0,     0,   199,     0,     1,     0,    40,     0,
6087        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6088       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6089      388,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6090       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6091       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6092        0,     0,     0,     0,     0,     0,     0,     0,   205,    27,
6093        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6094        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6095       39,     0,     0,     0,     0,     0,     0,     0,     0,   199,
6096        0,     1,     0,    40,     0,     0,     0,     0,     0,     0,
6097        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6098      207,     0,     0,     0,     0,  1556,     2,   200,   201,   202,
6099      203,   204,     8,     9,    10,    11,    12,    13,    14,    15,
6100       16,    17,    18,    19,    20,    21,    22,    23,    24,     0,
6101        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6102        0,     0,     0,   205,    27,     0,     0,     0,     0,     0,
6103        0,     0,    28,    29,     0,     0,     0,    32,     0,     0,
6104       35,    36,     0,    37,    38,    39,     0,     0,     0,     0,
6105        0,     0,     0,     0,   165,     0,     1,     0,    40,     0,
6106        0,     0,     0,     0,     0,     0,     0,     0,    43,    44,
6107       45,    46,    47,    48,   206,   207,     0,     0,     0,     0,
6108     1892,     2,     3,     4,   166,     6,     7,     8,     9,    10,
6109      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6110       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6111        0,     0,     0,     0,     0,     0,     0,     0,    26,    27,
6112        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6113        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6114       39,     0,     0,     0,     0,     0,     0,     0,   165,     0,
6115        1,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6116        0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
6117       50,    51,     0,     0,    52,     2,     3,     4,   166,     6,
6118        7,     8,     9,    10,   563,    12,    13,    14,    15,    16,
6119       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6120        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6121        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6122        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6123       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6124        0,     0,   883,     0,     1,     0,     0,    40,     0,     0,
6125        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6126       46,    47,    48,    49,    50,    51,     0,     0,    52,     2,
6127      200,   201,   202,   203,   204,   234,   235,   236,   237,   238,
6128      239,   240,   241,   242,   243,    18,    19,   244,   245,    22,
6129       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6130        0,     0,     0,     0,     0,     0,     0,   246,     0,     0,
6131        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6132       32,     0,     0,     0,     0,     0,   247,    38,   248,     0,
6133        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6134        0,   249,     0,     0,     0,     0,     0,     0,     0,     0,
6135        0,    43,    44,   250,   251,   252,   253,   206,   207,     0,
6136        0,     0,   884,     2,     3,     4,   166,     6,     7,     8,
6137        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
6138       19,    20,    21,    22,    23,    24,     0,     0,     0,     0,
6139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6140       26,    27,     0,     0,     0,     0,     0,     0,     0,    28,
6141       29,     0,     0,     0,    32,     0,     0,    35,    36,     0,
6142       37,    38,    39,     0,     0,     0,     0,     0,     0,     0,
6143        0,     0,     1,     0,     0,    40,     0,     0,     0,     0,
6144        0,     0,     0,     0,     0,    43,    44,    45,    46,    47,
6145       48,    49,    50,    51,     0,     0,    52,     2,   200,   201,
6146      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6147       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6149        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6150        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6151        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6152        0,     0,     0,     0,     0,     0,     1,     0,     0,    40,
6153        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6154       44,    45,    46,    47,    48,   206,   207,    51,     0,     0,
6155       52,     2,   200,   201,   202,   203,   204,     8,     9,    10,
6156      563,    12,    13,    14,    15,    16,    17,    18,    19,    20,
6157       21,    22,    23,    24,     0,     0,     0,     0,     0,     0,
6158        0,     0,     0,     0,     0,     0,     0,     0,     0,    27,
6159        0,     0,     0,     0,     0,     0,     0,    28,    29,     0,
6160        0,     0,    32,     0,     0,    35,    36,     0,    37,    38,
6161       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6162        1,     0,     0,    40,     0,     0,     0,     0,     0,     0,
6163        0,     0,     0,    43,    44,    45,    46,    47,    48,   206,
6164      207,    51,     0,     0,    52,     2,   200,   201,   202,   203,
6165      204,     8,     9,    10,    11,    12,    13,    14,    15,    16,
6166       17,    18,    19,    20,    21,    22,    23,    24,     0,     0,
6167        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6168        0,     0,     0,    27,     0,     0,     0,     0,     0,     0,
6169        0,    28,    29,     0,     0,     0,    32,     0,     0,    35,
6170       36,     0,    37,    38,    39,     0,     0,     0,     0,     0,
6171        0,     0,     0,     0,     1,     0,     0,    40,     0,     0,
6172        0,     0,     0,     0,     0,     0,     0,    43,    44,    45,
6173       46,    47,    48,   206,   207,     0,     0,     0,   719,     2,
6174      200,   201,   202,   203,   204,     8,     9,    10,    11,    12,
6175       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
6176       23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
6177        0,     0,     0,     0,     0,     0,     0,    27,     0,     0,
6178        0,     0,     0,     0,     0,    28,    29,     0,     0,     0,
6179       32,     0,     0,    35,    36,     0,    37,    38,    39,     0,
6180        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
6181        0,    40,     0,     0,     0,     0,     0,     0,     0,     0,
6182        0,    43,    44,    45,    46,    47,    48,   206,   207,     0,
6183        0,     0,  1443,     2,   200,   201,   202,   203,   204,   234,
6184      235,   236,  1528,   238,   239,   240,   241,   242,   243,    18,
6185       19,   244,   245,    22,    23,    24,     0,     0,     0,     0,
6186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6187        0,   246,     0,     0,     0,     0,     0,     0,     0,    28,
6188       29,     0,     0,     0,    32,     0,     0,     0,     0,     0,
6189      247,    38,   248,     0,     0,     0,     0,     0,     0,     0,
6190     1068,     0,     1,     0,     0,   249,     0,     0,     0,     0,
6191        0,     0,     0,     0,     0,    43,    44,   250,   251,   252,
6192      253,   206,   207,    51,     0,     0,    52,     2,   200,   201,
6193      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6194       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6195     1069,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6196        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6197        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6198        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6199     1074,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6200        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6201       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6202      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6203       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6204     1075,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6205        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6206        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6207        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6208     1080,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6209        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6210       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6211      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6212       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6213     1081,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6214        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6215        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6216        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6217      868,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6218        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6219       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6220      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6221      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6223        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6224        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6225        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6226        0,     0,     1,     0,     0,     0,     0,     0,     0,   249,
6227        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6228       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6229      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6230       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6231     1029,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6232        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6233        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6234        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6235        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6236        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6237       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6238      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6239       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6240     1086,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6241        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6242        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6243        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6244        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6245        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6246       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6247      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6248       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6249        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6250        0,     0,     0,     0,   502,    27,     0,     0,     0,     0,
6251        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6252        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6253        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6254        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6255       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6256      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6257       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6259        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6260        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6261        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6262        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6263        0,     0,     0,     0,     0,     0,   829,     0,     0,    43,
6264       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6265      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6266       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6268        0,     0,     0,     0,   205,    27,     0,     0,     0,     0,
6269        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6270        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6271        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6272        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6273       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6274      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6275      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6277        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6278        0,     0,     0,    28,    29,     0,     0,     0,    32,   477,
6279      478,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6280        0,     0,     1,     0,     0,     0,     0,     0,     0,   249,
6281        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6282       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6283      202,   203,   204,     8,     9,    10,    11,    12,    13,    14,
6284       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
6285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6286        0,     0,     0,     0,     0,    27,     0,     0,     0,     0,
6287        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6288        0,    35,    36,     0,    37,    38,    39,     0,     0,     0,
6289        0,     0,     1,     0,     0,     0,     0,     0,     0,    40,
6290        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6291       44,    45,    46,    47,    48,   206,   207,     2,   200,   201,
6292      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6293      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6295        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6296        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6297        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6298        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6299        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6300       44,   250,   251,   252,   253,   206,   207,     2,   200,   201,
6301      202,   203,   204,   234,   235,   236,   237,   238,   239,   240,
6302      241,   242,   243,    18,    19,   244,   245,    22,    23,    24,
6303        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6304        0,     0,     0,     0,     0,   246,     0,     0,     0,     0,
6305        0,     0,     0,    28,    29,     0,     0,     0,    32,     0,
6306        0,     0,     0,     0,   247,    38,   248,     0,     0,     0,
6307        0,     0,     0,     0,     0,     0,     0,     0,     0,   249,
6308        0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
6309       44,   250,   251,   252,   253,   206,   207,    51,     0,     0,
6310      859,  1667,     0,     0,     0,     0,     0,     0,     0,     0,
6311        0,   565,     2,   200,   201,   202,   203,   204,   234,   235,
6312      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
6313      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
6314        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6315      246,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6316        0,     0,     0,    32,     0,     0,     0,     0,     0,   247,
6317       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
6318        0,     0,     0,     0,   249,     0,     0,     0,     0,     0,
6319        0,     0,     0,     0,    43,    44,   250,   251,   252,   253,
6320      206,   207,     0,     0,     0,     0,     0,     0,     0,     0,
6321        0,  1517,     2,   200,   201,   202,   203,   204,   234,   235,
6322      236,   237,   238,   239,   240,   241,   242,   243,    18,    19,
6323      244,   245,    22,    23,    24,     0,     0,     0,     0,     0,
6324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6325      246,     0,     0,     0,     0,     0,     0,     0,    28,    29,
6326        0,     0,     0,    32,     0,     0,     0,     0,     0,   247,
6327       38,   248,     0,     0,     0,     0,     0,     0,     0,     0,
6328        0,     0,     0,     0,   249,     0,     0,     0,     0,     0,
6329        0,     0,     0,     0,    43,    44,   250,   251,   252,   253,
6330      206,   207
6331 };
6332
6333 static const yytype_int16 yycheck[] =
6334 {
6335        0,   718,    92,   640,   534,   132,   925,    83,    84,   996,
6336      925,   153,   469,     1,   270,   858,    86,  1098,   343,   128,
6337        5,   720,    84,   343,   288,   100,   534,    83,   741,   100,
6338       30,    31,   858,   156,   995,   748,   997,   957,   751,   834,
6339        1,    41,   858,   834,  1215,   935,    93,  1013,   579,    30,
6340     1605,   342,    52,    86,   470,   131,   183,     5,   128,    59,
6341       83,    42,  1617,   144,    64,   356,    66,   128,     1,   360,
6342        1,   875,   995,   554,   997,   882,   157,     3,   159,   300,
6343      161,    83,    82,    83,    84,    64,    86,   121,   309,    17,
6344        5,    91,    93,    93,   315,   128,   186,   187,     1,   100,
6345      100,   101,    93,   584,   104,   473,   587,     5,   589,   995,
6346      591,   997,     1,   113,    83,    59,   116,     3,     5,     5,
6347        1,     3,   144,     5,    93,     1,   107,   108,   128,   121,
6348      111,   131,   132,     1,   122,   157,   136,   159,   126,   161,
6349      140,   141,   142,    17,   144,   792,   121,   132,   148,   956,
6350      150,   121,     0,   153,   154,     1,   156,   157,   158,   159,
6351      976,   161,   132,   124,   164,    83,   186,   187,   469,   113,
6352       69,    70,     5,   820,   174,    93,   124,     3,   268,     5,
6353      741,     5,   100,   183,     3,   825,   132,   748,     1,   265,
6354      751,   825,     1,   127,     3,   174,   127,   130,   198,  1003,
6355        1,   270,   278,   265,     1,   469,     7,     8,     9,    28,
6356      210,   126,   212,   288,   142,   290,     3,   288,    37,   290,
6357      220,   221,   278,     1,   127,     3,     5,     1,   127,     3,
6358      230,   129,   288,   233,     1,    83,   122,   183,   127,   126,
6359      122,   878,   554,   290,   130,    93,   127,     3,   130,   757,
6360      270,   127,   100,   101,   198,   278,   124,     1,   126,   127,
6361     1247,     3,     1,     0,     3,   265,   393,  1254,   142,   289,
6362      270,  1258,   584,     3,   274,   587,   278,   589,   278,   591,
6363        3,   127,     5,     1,  1204,     1,   288,  1248,   288,   290,
6364      290,     3,  1847,   274,  1255,   803,   122,   420,  1259,   290,
6365        1,     1,   121,    52,   130,    28,   121,   131,   308,   288,
6366        3,   124,     1,   132,   314,    52,    28,   132,   127,   288,
6367      121,   290,     5,   323,   125,  1248,     3,   124,   129,   126,
6368      861,   132,  1255,   119,     1,   122,  1259,   337,    17,   126,
6369      118,   119,   121,   130,   325,     1,    83,    84,   126,   439,
6370      440,   441,   442,   127,    91,     3,    93,   124,   649,   126,
6371      127,   652,  1248,   100,   101,   995,   122,   997,   326,  1255,
6372      126,   119,   290,  1259,   130,     1,     3,     3,   126,   379,
6373      380,   124,   131,   127,   132,   385,   128,   387,   127,     3,
6374     1103,     3,   122,   393,   131,   132,    73,   126,    17,   399,
6375      470,     3,   529,   121,   133,   128,   662,   663,   664,   665,
6376      121,   127,   412,   555,    28,     1,   128,   417,   545,   419,
6377      420,   132,     1,   423,   424,   882,   127,   127,   121,   429,
6378      278,   695,   432,   433,   434,   435,   436,   470,   127,   122,
6379      288,   385,   290,   387,   128,   535,   183,   393,   538,   525,
6380      526,   527,   777,   778,   779,   564,     3,   777,   778,   779,
6381      127,    73,   127,   142,   464,   465,   466,   543,   544,   469,
6382      470,   127,   221,   473,   122,   696,   476,     1,   559,   118,
6383      561,   481,   807,   808,   809,   485,   486,   807,   808,   809,
6384      490,   491,  1573,   230,   127,   122,   233,     3,     3,   956,
6385     1420,   127,   502,   564,   121,  1013,  1205,  1678,   508,   509,
6386        1,     3,   512,   513,   128,   127,   932,   517,   518,  1050,
6387      122,   521,   522,   142,  1223,   525,   526,   527,   265,   529,
6388     1061,  1230,   532,     3,   757,   121,   122,   559,  1428,   561,
6389      126,   278,  1103,   543,   544,   545,  1003,   126,     3,   549,
6390     1190,   288,  1192,   290,   554,   555,  1190,     3,  1192,   559,
6391      417,   561,   562,  1483,   564,   565,   566,     3,  1534,   569,
6392        5,   118,   119,  1416,   875,   943,   424,   945,  1468,   579,
6393      803,  1471,    28,   529,   584,     0,  1067,   587,     5,   589,
6394     1416,   591,  1579,   662,   663,   664,   665,     3,   598,   545,
6395     1416,   128,   126,   130,  1085,  1400,  1401,     3,  1527,  1400,
6396     1401,   875,  1527,   118,   119,     7,     8,     9,  1248,  1580,
6397      695,   565,   128,   128,   695,  1255,     1,     1,   718,  1259,
6398      630,   122,   632,   579,   935,   126,   128,     5,   112,   695,
6399      640,  1149,   124,     1,     3,  1153,   128,  2088,  1156,   125,
6400     1158,  1494,   509,  1496,   598,   956,   393,  1580,   128,     1,
6401        3,   119,   662,   663,   664,   665,   124,   122,    11,   132,
6402      690,   691,     7,     8,     9,  1501,   124,     7,     8,     9,
6403      680,   681,   128,   126,     1,     3,   435,   122,   124,   689,
6404      126,     1,   956,   695,  1580,   695,   677,   678,   435,    74,
6405       75,   701,  1003,  2144,    79,    11,    65,   564,     3,   709,
6406       28,    86,  1883,   119,   120,   126,   716,   717,   718,   719,
6407      720,   721,     3,   119,   198,   126,  1692,   727,   124,   121,
6408        3,     3,   995,   996,   997,   110,   111,   129,   738,  1003,
6409      132,     3,   723,   724,   725,     3,   121,   122,   122,  1462,
6410      859,   126,   126,   121,   754,  1067,    28,  1677,   758,   118,
6411      119,  1073,  1682,   121,   122,     1,    28,  1079,   126,   128,
6412       28,   126,   119,  1085,  1761,   118,   119,   120,    73,     3,
6413      122,   128,   125,   126,   126,   128,   121,     3,   525,   526,
6414      527,     1,   529,     3,   129,   532,   127,   132,   859,   129,
6415      800,  1762,   132,   121,   804,   122,   543,   544,   545,   126,
6416      122,   121,   122,   771,   120,   564,   126,   566,   908,   909,
6417      126,   911,  1788,   932,   914,   915,  1746,   564,   970,   829,
6418      830,   831,   127,  1799,   834,   835,   836,   118,   119,  1762,
6419      798,   964,   965,   121,   125,   118,   119,   695,   806,   121,
6420     1106,   793,   326,  1109,   132,   128,   127,   857,   858,   859,
6421     1750,  1751,   932,   863,    77,   865,   866,   128,   826,   794,
6422      122,   932,   795,   873,   874,   875,  1762,   121,   878,   821,
6423       90,   738,   882,  1414,   884,   885,   122,   887,   969,   889,
6424      126,  1147,  1034,  1035,   118,   119,   986,   822,     3,   932,
6425      823,  1462,   118,   119,   128,  1161,  1162,  1163,  1164,   125,
6426      128,   385,   130,   387,     7,     8,     9,   130,   119,  1244,
6427        3,    83,     5,  1050,  1244,   121,   926,   128,   928,     7,
6428        8,     9,   932,   119,     3,   935,   121,   128,   796,   130,
6429      940,     3,   128,   943,   130,   945,   946,   969,    31,    11,
6430     1580,   792,   689,  1062,   793,   955,   956,   957,   695,    28,
6431      127,  1787,    79,  1044,   964,   965,   824,   967,    37,   969,
6432      970,   794,  1671,  1049,    77,   975,   976,   977,   978,   820,
6433     1900,   125,   821,  1700,  1247,  1248,   130,     3,     7,     8,
6434        9,  1254,  1255,   110,   111,  1258,  1259,     0,   125,   822,
6435     1637,  1062,   859,  1003,  1534,   795,  1463,   124,     1,   866,
6436        3,   128,  1978,   118,   119,  1546,   121,   874,     7,     8,
6437        9,   183,  1044,   122,   121,  1861,  1534,   126,   885,    12,
6438       13,   130,   125,   823,  1034,  1035,   129,  1106,  1038,  1039,
6439     1109,   796,  1042,  1043,  1044,   121,  1046,  1962,   121,  1049,
6440     1050,   129,   121,     3,   528,     5,   118,   119,   120,  1059,
6441      128,  1061,  1062,  1063,   126,   126,   128,  1067,   126,   824,
6442     1070,   132,   125,  1073,   132,   121,  1076,   130,  1147,  1079,
6443       83,    31,  1082,     3,   124,  1085,   121,  1087,   128,  2055,
6444       93,   565,  1161,  1162,  1163,  1164,  1205,   100,   101,  1180,
6445      121,  1101,   118,   119,  1050,   121,  1106,   122,   127,  1109,
6446      129,   126,   121,  1059,   118,  1061,   278,   122,  1118,  1063,
6447     1120,   126,   120,   597,    79,   130,   288,  1428,   126,  1129,
6448     2096,  1974,  1762,  1976,   138,   139,   119,   120,   887,   118,
6449      129,   121,  1142,     3,  1205,    65,   120,  1147,  1148,     3,
6450      887,   625,   126,     3,   140,   110,   111,  1138,  1180,   138,
6451      139,  1161,  1162,  1163,  1164,    12,    13,  1468,    28,   122,
6452     1471,   136,   128,   126,    28,   130,  2012,   926,  2014,  1179,
6453     1180,  1181,   120,  1183,   141,  1902,     3,   300,   126,   926,
6454       44,   940,  1049,  1193,   134,  1195,   309,   946,   118,   119,
6455     1200,   120,   315,    16,  1204,  1205,   121,   126,  1716,   946,
6456      125,    28,  1743,  1721,    74,    75,  1724,   132,   221,    79,
6457       74,    75,   122,  1223,    74,    75,    86,    44,  1865,    79,
6458     1230,   120,     6,   120,     8,     9,    86,   126,  1238,   126,
6459        3,  2077,     5,  2079,   128,  2081,   130,   120,   722,  1193,
6460      110,   111,   726,   126,     3,   135,   136,    74,    75,   120,
6461      110,   111,   664,   665,  1245,   126,   122,   741,   128,  1799,
6462      126,   134,   119,   120,   748,   278,  1807,   751,   128,    28,
6463     1788,    10,    11,  2119,  2120,   288,  2122,   290,     3,   140,
6464      122,  1799,   141,  1251,   126,    44,    11,   771,   130,    73,
6465     1049,   122,  2138,   309,   122,   122,    16,   469,   126,   315,
6466       84,   122,  1049,  1050,     3,   126,  1579,  1580,   128,  2155,
6467      323,   790,   791,   122,   798,    74,    75,   126,   120,  1585,
6468     1586,   130,   806,   128,   126,   109,   790,   791,   120,    28,
6469      128,  1597,   130,  1200,   126,   119,  1203,   120,    37,   818,
6470      819,   120,   826,   126,   120,   118,   119,   126,   132,   121,
6471      126,   135,   136,   137,   818,   819,  1442,   529,   780,   781,
6472      532,   122,   122,   122,   122,   126,   126,   126,   126,   385,
6473      122,   387,   122,   348,   126,    74,    75,    88,    89,    90,
6474       79,  1391,  1392,   782,   783,  1395,  1396,    86,   810,   811,
6475     1400,  1401,   122,   118,   119,   120,   782,   783,   270,   128,
6476      125,   126,  1412,   128,   417,  1396,  1416,  1417,   124,  1546,
6477     1420,   110,   111,   812,   813,   124,  1426,   126,  1428,   118,
6478      122,  1431,   121,   126,   126,  1435,   812,   813,    14,    15,
6479     1440,  1441,  1442,   132,  1181,   124,  1183,   126,  1978,  1750,
6480     1751,   925,   154,   927,   419,  2092,   158,     1,   135,   136,
6481       69,    70,     1,  1463,     3,  1465,   469,   124,  1468,   126,
6482     1978,  1471,   119,   128,  1474,   130,   128,    37,   130,     1,
6483      124,     3,    91,  1483,    44,    45,    95,   119,    97,  1489,
6484     1490,     1,   966,     3,  1494,  1495,  1496,  1497,  1761,  1762,
6485      119,  1722,  1723,   125,  1725,  1726,   509,    10,    11,  1730,
6486     1731,  1732,  1733,   126,    74,    75,  1585,  1586,   127,    79,
6487        1,   995,     3,   997,   128,  2055,    86,   689,  1597,   128,
6488       74,    75,     1,   695,     3,    79,    74,    75,   780,   781,
6489      133,    79,    86,  1543,  1544,   133,  1546,  2055,    86,   133,
6490      110,   111,   132,   124,  1554,   126,  1413,   126,   118,   565,
6491        1,   128,   124,   130,   126,  1565,   110,   111,   810,   811,
6492     1679,   128,   110,   111,   525,   526,   527,   439,   126,  1835,
6493      124,   125,   126,   696,   126,  1585,  1586,   127,     3,  1063,
6494      128,   126,   543,   544,    92,  1595,   128,  1597,  1598,   124,
6495     1546,  1601,   128,   130,   130,  1605,    14,    15,  1554,  1609,
6496      906,   907,  1612,    28,  1508,  1508,  1510,  1510,  1679,   625,
6497      906,   907,    37,   662,   663,   543,   544,  1608,   121,  1103,
6498      662,   663,   121,    74,    75,   100,   101,  1637,    79,   121,
6499     1114,   835,   836,  1624,  1644,    86,   124,   124,  1869,  1870,
6500     1871,  1872,  1873,  1874,  1875,  1876,   124,   136,   121,    74,
6501       75,   121,  1752,   124,    79,   124,  1140,  1141,   122,   110,
6502      111,    86,   128,   124,   119,   127,   133,  1677,   133,  1679,
6503     1807,   121,  1682,   124,   125,   126,   133,   133,   186,   187,
6504      133,   133,   695,  1442,   132,   110,   111,  1778,   701,  1780,
6505     1700,   128,  1702,  1703,  1106,  1442,   121,  1109,  1565,   119,
6506      128,   124,   126,   875,   119,   718,  1465,   132,   127,   122,
6507      127,   127,   122,  1804,   727,  1806,   122,   122,   122,   133,
6508      122,   133,  1206,   130,   133,   738,   121,  1737,   121,   130,
6509      130,  1962,   121,    56,   124,  1147,  1746,  2003,   124,  2005,
6510     1750,  1751,   124,  1753,  1228,   121,  1778,   119,  1780,  1161,
6511     1162,  1163,  1164,   119,   124,  1765,  1835,   122,   630,   122,
6512      268,  2096,   270,   935,  1248,   119,  2096,  1251,  1778,   121,
6513     1780,  1255,  1804,  1783,  1806,  1259,   121,   132,   119,   122,
6514      122,   289,   122,   132,   956,   124,   122,     1,   126,   126,
6515      662,   663,   664,   665,  1804,   127,  1806,  1807,   122,  1546,
6516      130,   130,   130,   130,   122,  2071,  1565,   122,   122,   125,
6517      127,   786,   787,   122,   789,     3,   122,   122,   831,  1829,
6518     1830,  1831,  1832,   133,   122,  1835,   133,   130,   130,  1839,
6519     1840,  1003,  1842,   133,  1844,    56,   121,   130,   122,   814,
6520      815,   816,   817,   121,   121,   133,  1856,   130,   130,   130,
6521      122,  1807,   122,   866,   122,  1865,   122,   122,  1868,   348,
6522       74,    75,   875,   122,     3,    79,   133,   119,  1859,   882,
6523     1861,   132,    86,   133,   887,   133,   889,   132,   124,    11,
6524     1971,   128,   857,   858,   125,   128,    74,    75,   130,    28,
6525     1900,    79,  1902,   130,   124,   124,   110,   111,    86,   125,
6526      125,  1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,   121,
6527      124,   927,   126,   128,   122,   122,  1783,   122,    64,   122,
6528      133,   122,   110,   111,  2003,   122,  2005,   940,   122,   133,
6529      419,   439,     3,   121,   442,    74,    75,   133,   133,  1971,
6530       79,   133,   133,   956,   133,    64,   133,    86,   124,   122,
6531      966,   133,   133,   122,   133,   268,   269,    28,   133,  1969,
6532     1970,  1971,  1972,  1973,  1974,   124,  1976,   124,   133,   124,
6533      124,   110,   111,  1983,  1984,  1985,  1986,   128,  1462,     0,
6534      122,   124,   957,   124,  1994,  2085,  2086,   124,  1472,   128,
6535      124,   124,  2071,  2003,  1962,  2005,  2006,   124,   124,   124,
6536      122,   124,   476,    74,    75,  2015,  2016,   124,    79,  1181,
6537     2127,  1183,  1497,   476,   857,    86,   476,   476,   476,  1503,
6538       41,  2012,   975,  2014,  1508,   288,  1510,   535,   912,   803,
6539      538,   288,   967,    44,    45,  1463,   434,   721,    59,   110,
6540      111,  2051,  2052,  1527,   424,    66,  1788,  1063,  2058,  2059,
6541      314,   727,  2062,  2076,  2064,   265,   100,  2067,    93,   270,
6542     1807,  2071,    83,    74,    75,    86,   938,    93,    79,    74,
6543       75,    92,    93,   101,    79,    86,  2086,    93,  2088,   100,
6544      101,    86,  2092,  1737,    -1,  2076,  2077,    -1,  2079,    -1,
6545     2081,    -1,   113,    -1,  2104,   116,  1580,    -1,  1114,   110,
6546      111,    -1,    -1,    -1,    -1,   110,   111,   128,    -1,    -1,
6547      121,    -1,    -1,   118,    -1,   136,   121,  2127,  2128,  2110,
6548      141,   142,  2132,   144,    -1,    -1,    -1,   132,  2119,  2120,
6549       -1,  2122,    -1,   154,  2144,   156,   157,   158,   159,    -1,
6550      161,    -1,    -1,    -1,    -1,     3,    -1,  2138,    -1,    -1,
6551       -1,    -1,    -1,    -1,   662,   663,   664,   665,    -1,    -1,
6552       -1,    -1,    -1,    -1,  2155,   186,   187,    -1,    -1,    -1,
6553       28,    -1,    -1,  1585,  1586,    -1,    -1,   198,    -1,    37,
6554       -1,    -1,   690,   691,   692,  1597,    -1,  1200,    -1,    -1,
6555     1206,   212,   385,    -1,   387,    -1,    -1,  1681,    -1,  1683,
6556      221,    -1,    -1,    -1,    -1,     3,    74,    75,  1692,    -1,
6557       -1,    79,  1228,  1697,  1698,    -1,    74,    75,    86,    -1,
6558     1704,    79,   535,    -1,    -1,   538,    -1,    -1,    86,  1204,
6559       28,    -1,    -1,    -1,  1106,    -1,    -1,  1109,    -1,    37,
6560       -1,    -1,   110,   111,   265,    -1,  1118,   268,   269,   270,
6561       -1,    -1,   110,   111,   122,    -1,  1428,   278,    -1,    -1,
6562      118,    -1,    -1,   121,    -1,    -1,    -1,   288,   289,   290,
6563        3,    -1,   130,    -1,    -1,  1147,    74,    75,  1762,    -1,
6564       -1,    79,    -1,    -1,    -1,    -1,    -1,   308,    86,  1161,
6565     1162,  1163,  1164,   314,    -1,    28,  1468,   786,   787,  1471,
6566      789,    -1,   323,    -1,    37,   142,    -1,    -1,    -1,    -1,
6567       -1,    -1,   110,   111,    -1,    -1,    -1,   154,    -1,    -1,
6568      118,   158,    -1,   121,   122,   814,   815,   816,   817,    18,
6569       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
6570       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,   662,
6571      663,   664,   665,    86,    -1,    74,    75,    -1,    -1,   380,
6572       79,    -1,    -1,    -1,   385,    -1,   387,    86,   857,   858,
6573       -1,    -1,   565,    -1,     0,    -1,    -1,   110,   111,   692,
6574       -1,    -1,  1866,  1867,    -1,   118,    -1,    -1,   121,    -1,
6575       -1,   110,   111,    -1,    -1,    -1,   417,    -1,   419,   420,
6576       -1,    -1,   423,   424,    -1,    -1,   125,    -1,   429,    -1,
6577       -1,    -1,   433,   434,    -1,   436,    -1,  1901,    -1,    -1,
6578       -1,    -1,    -1,  1835,    -1,    -1,  1910,    -1,   265,    -1,
6579       -1,    -1,   625,    -1,    -1,    -1,   125,    -1,    -1,     3,
6580       -1,  1416,    -1,   464,   465,  1420,    -1,    -1,   469,   470,
6581       -1,    -1,  1465,    -1,    -1,   476,  1472,    83,    -1,    -1,
6582      481,    -1,    -1,    -1,    28,   486,    -1,    93,   957,   490,
6583      491,   308,    -1,    37,   100,   101,    -1,   314,   986,    -1,
6584       -1,    -1,  1966,  1967,    -1,    -1,    -1,    -1,   509,    -1,
6585       -1,   512,   513,    -1,    44,    45,   517,   518,    -1,    -1,
6586      521,   522,    -1,    -1,    -1,    -1,    -1,   528,  1483,    -1,
6587       74,    75,    -1,    -1,   535,    79,   142,   538,    74,    75,
6588       -1,    -1,    86,    79,    74,    75,  1501,    -1,   154,    79,
6589       86,    -1,   158,   554,    -1,    -1,    86,    -1,   559,    -1,
6590      561,    -1,    -1,   564,   565,    -1,   110,   111,    -1,    -1,
6591       44,    45,  1565,    -1,   110,   111,    -1,   121,    -1,    -1,
6592      110,   111,   118,   584,    -1,   121,   587,    -1,   589,    -1,
6593      591,   121,    -1,    -1,    -1,    -1,    -1,   598,  1750,  1751,
6594       74,    75,    -1,    74,    75,    79,   423,    -1,    79,    -1,
6595       -1,  2003,    86,  2005,  2078,    86,    -1,   434,  1106,  1722,
6596     1723,  1109,  1725,  1726,    -1,    -1,    -1,  1730,  1731,  1732,
6597     1733,    -1,  2096,    -1,    -1,    -1,   110,   111,    -1,   110,
6598      111,    -1,    -1,     7,   118,    -1,    10,    11,    12,    13,
6599       14,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,  1147,
6600       -1,   662,   663,   664,   665,    -1,    -1,    -1,    -1,   486,
6601       -1,    -1,   278,  1161,  1162,  1163,  1164,    -1,    -1,  2071,
6602       -1,    -1,   288,  2147,   290,  1681,    -1,  1683,    -1,   690,
6603      691,   692,    -1,    -1,   695,    -1,  1184,    -1,  1186,    -1,
6604      701,  1697,  1698,    -1,    -1,    -1,    -1,  1700,   709,    -1,
6605       -1,    -1,    -1,    -1,    -1,   716,   717,   718,    -1,   720,
6606      721,    -1,  1677,    -1,    -1,     0,   727,  1682,    -1,    -1,
6607       -1,    -1,    -1,  1585,  1586,  1204,    -1,   738,    -1,    -1,
6608      741,    -1,    -1,  1595,    -1,  1597,  1598,   748,    -1,  1601,
6609      751,    -1,    -1,    -1,   927,   119,   120,  1609,    -1,    -1,
6610     1612,    -1,    -1,    -1,    -1,   129,  1869,  1870,  1871,  1872,
6611     1873,  1874,  1875,  1876,   138,   139,   140,   141,   142,    -1,
6612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6613     1783,  1746,    -1,   966,     7,     8,     9,    10,    11,    12,
6614       13,    14,    15,    16,    17,    -1,    -1,    -1,    83,    -1,
6615       -1,    -1,    -1,  1106,    -1,    -1,  1109,   423,    93,    -1,
6616       -1,    -1,    -1,    -1,    -1,   100,   101,    -1,   434,    -1,
6617      831,    -1,  1787,   834,   835,   836,    -1,    -1,    -1,    74,
6618       75,    74,    75,    -1,    79,    -1,    79,    -1,    -1,    -1,
6619       -1,    86,    -1,    86,  1147,    -1,   857,   858,   859,  1962,
6620       -1,    -1,    -1,    -1,    -1,   866,     0,   142,  1161,  1162,
6621     1163,  1164,    -1,   874,   875,   110,   111,   110,   111,   154,
6622      486,   882,    -1,   158,   885,    -1,   887,   122,   889,   122,
6623     1063,  1184,    -1,  1186,    -1,    -1,    74,    75,   528,   716,
6624      717,    79,    -1,   720,   721,  1901,   119,   120,    86,  1902,
6625       -1,    -1,    -1,    -1,  1910,    -1,   129,    -1,    52,    -1,
6626       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
6627       -1,   932,   110,   111,    -1,    -1,    -1,    -1,    -1,   940,
6628       -1,  1114,    -1,    -1,   122,  1900,    -1,  1416,    82,    83,
6629       84,  1420,    -1,    -1,    -1,   956,   957,    91,    -1,    93,
6630       -1,    -1,    -1,   964,   965,    -1,   100,   101,   969,    -1,
6631     1966,  1967,    -1,    -1,   975,    -1,    -1,  1829,  1830,  1831,
6632     1832,    -1,    -1,  1835,    -1,    -1,    -1,  1839,  1840,    -1,
6633     1842,    -1,  1844,    -1,   995,   996,   997,   131,   132,   133,
6634      134,   135,  1003,   278,  1856,    -1,    -1,   141,    -1,    -1,
6635      144,    -1,    -1,   288,  1483,   290,    -1,    -1,    -1,    -1,
6636       -1,    -1,    -1,   157,    -1,   159,    -1,   161,    -1,    -1,
6637     1518,    -1,  1501,  1206,    -1,    -1,    -1,  1038,  1039,    -1,
6638       -1,  1042,  1043,  1044,    -1,    -1,    -1,    -1,    -1,   183,
6639      184,   185,    -1,    -1,    -1,  1228,    -1,   874,     3,    -1,
6640       -1,  1062,  1063,    -1,    -1,    -1,  1067,    -1,   885,    -1,
6641       -1,    -1,  1073,    -1,    -1,    -1,    -1,    -1,  1079,   709,
6642       -1,    -1,    -1,    28,  1085,    -1,   220,   221,    -1,   695,
6643       -1,    -1,    37,    38,    -1,    -1,    -1,  1585,  1586,    -1,
6644       -1,    -1,  1103,    -1,    -1,  1106,    -1,    -1,  1109,  1597,
6645       -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,
6646       -1,   751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
6647       75,   265,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
6648       -1,    86,  1994,    -1,   278,    -1,  1147,    -1,   423,    -1,
6649       -1,  2003,    -1,  2005,   288,    -1,   290,    -1,    -1,   434,
6650     1161,  1162,  1163,  1164,    -1,   110,   111,    -1,    -1,    -1,
6651       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,  1179,  1180,
6652       -1,    -1,    -1,  1184,    -1,  1186,  1003,    -1,    -1,    -1,
6653       -1,    -1,  1193,    -1,    -1,    -1,    -1,    -1,    -1,  1200,
6654       -1,    -1,  1203,  1204,  1205,    -1,  2058,  2059,  1677,    -1,
6655     2062,   486,  2064,  1682,    -1,  2067,    -1,    -1,    -1,  2071,
6656       -1,    -1,  1223,    -1,    -1,    -1,    -1,    -1,    -1,  1230,
6657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6658        0,    -1,    -1,    -1,    -1,    -1,  1247,  1248,    -1,    -1,
6659       -1,    -1,  2104,  1254,  1255,    -1,    -1,  1258,  1259,   393,
6660      394,   395,    -1,    -1,    -1,    -1,    -1,    -1,   874,    -1,
6661       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1746,    -1,   885,
6662     2132,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,
6663      424,    -1,  1585,  1586,    -1,    -1,    -1,    -1,    -1,  1472,
6664       -1,   435,    -1,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
6665       -1,    -1,    -1,    -1,    -1,    -1,  1609,    -1,  1787,    -1,
6666       -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
6667      464,   465,    -1,    93,    -1,   469,    -1,    -1,    -1,   473,
6668      100,   101,   476,    -1,    -1,    -1,    -1,  1835,    -1,    -1,
6669       -1,   485,    -1,    -1,    -1,    -1,   490,   491,    -1,    -1,
6670       -1,    -1,    -1,    -1,    -1,   995,   996,   997,    -1,    -1,
6671       -1,    -1,    -1,    -1,    -1,   509,    -1,    -1,   512,   513,
6672       -1,    -1,   142,   517,   518,    -1,  1203,   521,   522,    -1,
6673       52,   525,   526,   527,   154,    -1,    -1,    -1,   158,  1400,
6674     1401,    -1,    -1,    -1,    -1,    -1,  1223,    -1,    -1,   543,
6675      544,    -1,    -1,  1230,    -1,  1416,    -1,    -1,    -1,  1420,
6676      695,    83,    84,    -1,    -1,   559,    -1,   561,    -1,    91,
6677      564,  1900,   566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6678       -1,    -1,    -1,    -1,    -1,    -1,    -1,   581,    -1,     1,
6679       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6680       -1,  1462,    -1,    -1,  1465,    -1,    -1,    -1,    -1,   131,
6681      132,    -1,    -1,  1103,   112,    -1,    28,    -1,    -1,    -1,
6682       -1,    -1,  1483,    -1,    -1,    37,    38,    -1,  1489,  1490,
6683       -1,    -1,    -1,  1494,  1495,  1496,  1497,    -1,   136,    -1,
6684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1681,    -1,
6685     1683,    -1,    -1,    -1,    -1,  2003,    -1,  2005,   278,    -1,
6686       -1,   183,    74,    75,  1697,  1698,    -1,    79,   288,    -1,
6687      290,    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    -1,
6688       -1,    -1,  1543,  1544,    -1,    -1,  1839,  1840,    -1,    -1,
6689       -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,   110,   111,
6690      198,   695,    -1,    -1,  1565,    -1,   118,    -1,   230,   121,
6691       -1,   233,   124,    -1,   126,   127,    -1,    -1,  1579,  1580,
6692       -1,    -1,   716,  2071,  1585,  1586,   720,    -1,    -1,    -1,
6693       -1,    -1,    -1,    -1,    -1,    -1,     0,  1598,    -1,   874,
6694     1601,    -1,    -1,   265,   738,    -1,    -1,    -1,  1609,    -1,
6695      885,    -1,    -1,    -1,    -1,    -1,   278,  1247,  1248,    -1,
6696       -1,    -1,    -1,    -1,  1254,  1255,    -1,    -1,  1258,  1259,
6697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6698       -1,    -1,    -1,  1644,    -1,    -1,    -1,    -1,    -1,    -1,
6699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6700       -1,    -1,   300,   423,    -1,    -1,   304,   305,   306,    -1,
6701       -1,   309,    -1,    -1,   434,    -1,  1677,   315,  1679,    83,
6702       -1,  1682,    -1,   321,    -1,    -1,    -1,    -1,   326,    93,
6703       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,    -1,  1700,
6704       -1,    -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,    -1,
6705      348,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6706       -1,    -1,    -1,    -1,    -1,   859,   486,    -1,  1901,    -1,
6707       -1,   393,   866,    -1,    -1,    -1,    -1,  1910,    -1,   873,
6708      874,   875,    -1,    -1,    -1,  1746,    -1,   385,   882,   387,
6709       -1,   885,    -1,   887,    -1,    -1,    -1,    -1,    -1,    -1,
6710     1761,  1762,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6711       -1,    -1,    -1,   435,    -1,    -1,    -1,  1778,    -1,  1780,
6712       -1,   419,  1783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6713       -1,    -1,   926,  1966,  1967,    -1,    -1,    -1,    -1,    -1,
6714       -1,   935,    -1,  1804,    -1,  1806,   940,    -1,    -1,    -1,
6715       -1,   473,   946,    -1,    -1,    -1,    -1,   221,    -1,    -1,
6716       -1,    -1,   956,    -1,    -1,    -1,    -1,     1,    -1,     3,
6717        4,     5,  1462,    -1,    -1,   969,    -1,    -1,  1839,  1840,
6718       -1,    -1,    -1,    -1,    -1,   979,    -1,    -1,    -1,    -1,
6719       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
6720       -1,    -1,    -1,   525,   526,   527,    -1,   529,    -1,  1003,
6721      532,    -1,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
6722       -1,   543,   544,   545,   288,    -1,   290,    -1,    -1,    -1,
6723      528,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,  1900,
6724       -1,  1902,   564,    -1,  1038,  1039,    -1,    -1,  1042,  1043,
6725     1044,    85,    -1,    -1,    -1,  1049,  1050,    -1,    -1,    -1,
6726       -1,    -1,    -1,    -1,    98,    -1,  1060,   565,   102,   103,
6727      104,   105,   106,   107,   108,   695,    -1,    -1,    -1,    -1,
6728       -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    -1,  1579,
6729     1580,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,   597,
6730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1969,  1970,
6731     1971,  1972,  1973,  1974,    -1,  1976,    -1,    -1,    -1,    -1,
6732      268,   269,  1983,  1984,  1985,  1986,    -1,   625,    -1,    -1,
6733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6735       -1,    -1,    -1,   417,    -1,    -1,    -1,    -1,   141,    -1,
6736       -1,   144,    -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,
6737       -1,    -1,    -1,    -1,   157,    -1,   159,    -1,   161,    -1,
6738      112,    -1,    -1,    -1,    -1,  1179,  1180,    -1,    -1,    -1,
6739     2051,  2052,    -1,    -1,    -1,    -1,    -1,    -1,   696,    -1,
6740       -1,    -1,    -1,    -1,   136,   469,  1200,    -1,    -1,  1203,
6741       -1,  1205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6742       -1,    -1,    -1,    -1,   722,    -1,    -1,    -1,   726,  1223,
6743       -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,    -1,    -1,
6744       -1,    -1,    -1,   741,    -1,   509,    -1,    -1,    -1,    -1,
6745      748,    -1,    -1,   751,   874,    -1,    -1,    -1,    -1,    -1,
6746       -1,    -1,    -1,    -1,    -1,   885,   198,    -1,    -1,    -1,
6747       -1,  1761,  1762,   771,    -1,    -1,    -1,    -1,    -1,   777,
6748      778,   779,   780,   781,   782,   783,    -1,    -1,   786,   787,
6749       -1,   789,   790,   791,   792,   793,   794,   795,   796,    -1,
6750      798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   806,   807,
6751      808,   809,   810,   811,   812,   813,   814,   815,   816,   817,
6752      818,   819,   820,   821,   822,   823,   824,    -1,   826,    -1,
6753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   857,
6756      858,    -1,    -1,    -1,    -1,   887,    -1,    -1,   300,    -1,
6757       -1,    -1,   304,   305,   306,    -1,    -1,   309,    -1,    -1,
6758       -1,    -1,    -1,   315,    -1,    -1,    -1,   535,    -1,   321,
6759      538,    -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,
6760       -1,    -1,    -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,
6761       -1,   343,    -1,    -1,    -1,    -1,   348,    -1,    -1,  1413,
6762       -1,   943,    -1,   945,   946,    -1,    -1,   925,    -1,   927,
6763       -1,   695,    -1,    -1,  1428,    -1,    -1,   701,    -1,    -1,
6764       -1,  1435,    -1,    -1,    -1,    -1,    -1,    -1,  1442,    -1,
6765       -1,    -1,    -1,   385,    -1,   387,    -1,    -1,    -1,   957,
6766       -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,   966,  1463,
6767       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6768       -1,   464,   465,     1,    -1,     3,    -1,   419,    -1,    -1,
6769       -1,    -1,    -1,    -1,    -1,  1489,  1490,   995,    -1,   997,
6770       -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,   491,    -1,
6771       28,    -1,    -1,    -1,   662,   663,   664,   665,    -1,    37,
6772       38,    -1,    -1,    -1,    -1,    -1,    -1,  1049,  1050,   512,
6773      513,    -1,    -1,    -1,   517,   518,    -1,    -1,   521,   522,
6774       -1,    -1,    -1,    -1,   692,    -1,    -1,    -1,    -1,  1543,
6775     1544,    -1,  1546,    -1,    -1,    -1,    74,    75,    -1,   112,
6776       -1,    79,    -1,    -1,    -1,  1063,    -1,   831,    86,    -1,
6777       -1,  1565,    -1,    -1,    -1,    -1,   559,    -1,   561,    -1,
6778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6779       -1,    -1,   110,   111,    -1,    -1,   528,    -1,    -1,    -1,
6780      118,    -1,   866,   121,    -1,  1103,   124,    -1,   126,   127,
6781       -1,   875,    -1,    -1,    -1,    -1,  1114,    -1,   882,    -1,
6782       -1,    -1,    -1,    -1,    -1,   889,    -1,    -1,    -1,    -1,
6783       -1,    -1,    -1,   565,    -1,    -1,    -1,    -1,    -1,    -1,
6784       -1,    -1,  1140,  1141,    -1,    -1,    -1,    -1,    -1,    -1,
6785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1181,
6786       -1,  1183,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,
6787       -1,    -1,    -1,    -1,    -1,    -1,   940,  1671,    -1,    -1,
6788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6789       -1,    -1,   956,   625,    -1,    -1,    -1,    -1,    -1,    -1,
6790       -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,  1206,    -1,
6791       -1,    -1,    -1,    -1,    -1,    -1,    -1,   270,    -1,    -1,
6792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6793     1228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6794       -1,    -1,    -1,    -1,    -1,    -1,  1244,    -1,    -1,    -1,
6795     1248,    -1,    -1,  1251,    -1,    -1,    -1,  1255,    -1,    -1,
6796       -1,  1259,    -1,    -1,   696,    -1,    -1,    -1,    -1,    -1,
6797       -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,
6798       -1,    -1,    -1,    -1,  1778,    -1,  1780,    -1,    -1,  1783,
6799      722,    -1,    -1,    -1,   726,    -1,    -1,    -1,    -1,    -1,
6800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   741,
6801     1804,    -1,  1806,    -1,    -1,    -1,   748,    -1,    -1,   751,
6802       -1,    -1,  1816,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   771,
6804       -1,    -1,    -1,    -1,    -1,   777,   778,   779,   780,   781,
6805      782,   783,    -1,    -1,   786,   787,    -1,   789,   790,   791,
6806      792,   793,   794,   795,   796,    -1,   798,    -1,    -1,    -1,
6807       -1,    -1,    -1,    -1,   806,   807,   808,   809,   810,   811,
6808      812,   813,   814,   815,   816,   817,   818,   819,   820,   821,
6809      822,   823,   824,    -1,   826,    -1,    -1,    -1,    -1,    -1,
6810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1416,    -1,
6812     1442,    -1,  1420,   906,   907,   857,   858,    -1,    -1,  1193,
6813       -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,    -1,    -1,
6814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1106,    -1,
6816       -1,  1109,    -1,    -1,  1462,    -1,    -1,    -1,    -1,    -1,
6817       -1,    -1,    -1,    -1,  1472,  1969,  1970,  1971,  1972,  1973,
6818      141,   534,    -1,   144,    -1,  1483,   969,    -1,    -1,  1983,
6819     1984,  1985,  1986,   925,    -1,   927,   157,    -1,   159,  1147,
6820      161,    -1,    -1,  1501,    -1,  1503,    -1,    -1,    -1,    -1,
6821     1508,    -1,  1510,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
6822       -1,    -1,    -1,    -1,  1546,   957,    -1,    -1,    -1,  1527,
6823       -1,    -1,    -1,    -1,   966,    -1,  1184,    -1,  1186,    -1,
6824       -1,    -1,    -1,    -1,   597,    -1,    -1,    -1,    -1,    -1,
6825       -1,    -1,    -1,     3,    -1,  1038,  1039,  2051,  2052,  1042,
6826     1043,  1044,    -1,   995,    -1,   997,   343,    -1,    -1,    -1,
6827       -1,    -1,    -1,    -1,    -1,    -1,    -1,   630,    28,    -1,
6828       -1,    -1,  1580,    -1,    34,    35,    36,    37,    38,    39,
6829       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
6830       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   662,
6831      663,   664,   665,    -1,    -1,    -1,    66,    -1,    -1,    -1,
6832       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,
6833       -1,  1063,    82,    83,    -1,    85,    86,    87,    -1,    -1,
6834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6835      100,    -1,   141,    -1,    -1,   144,    -1,    -1,    -1,    -1,
6836      110,   111,   112,   113,   114,   115,    -1,    -1,   157,   722,
6837      159,  1103,   161,   726,    -1,    -1,    -1,    -1,    -1,  1677,
6838       -1,    -1,  1114,  1681,  1682,  1683,    -1,    -1,    -1,    -1,
6839       -1,    -1,    -1,    -1,  1692,    -1,  1179,  1180,    -1,  1697,
6840     1698,  1465,    -1,    -1,   757,    -1,  1704,    -1,  1140,  1141,
6841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   771,    -1,
6842       -1,    -1,    -1,    -1,  1722,  1723,    -1,  1725,  1726,    -1,
6843       -1,    -1,  1730,  1731,  1732,  1733,    -1,    -1,    -1,    -1,
6844       -1,    -1,    -1,    -1,    -1,   798,    -1,    -1,  1746,    -1,
6845      803,    -1,    -1,   806,    -1,    -1,    -1,    -1,    -1,    -1,
6846       -1,    -1,    -1,    -1,  1762,    -1,    -1,    -1,    -1,    -1,
6847       -1,    -1,  1204,   826,  1206,    -1,    -1,    -1,    -1,    -1,
6848       -1,   270,    -1,    -1,    -1,  1807,    -1,    -1,    -1,  1787,
6849       -1,    -1,    -1,    -1,    -1,    -1,  1228,    -1,    -1,    -1,
6850       -1,  1565,    -1,   464,   465,    -1,    -1,    -1,   141,    -1,
6851       -1,   144,  1244,    -1,    -1,   476,  1248,    -1,    -1,  1251,
6852       -1,    -1,    -1,  1255,   157,    -1,   159,  1259,   161,   490,
6853      491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6855       -1,   512,   513,    -1,    -1,    -1,   517,   518,   635,    -1,
6856      521,   522,    -1,    -1,    -1,    -1,    -1,    -1,  1866,  1867,
6857       -1,  1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,    -1,
6858       -1,    -1,    -1,    -1,    -1,    -1,    -1,   464,   465,    -1,
6859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   559,    -1,
6860      561,    -1,  1900,  1901,    -1,    -1,    -1,    -1,    -1,    -1,
6861       -1,    -1,  1910,   490,   491,    -1,    -1,    -1,    -1,    -1,
6862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6863       -1,    -1,    -1,    -1,    -1,   512,   513,  1585,  1586,    -1,
6864      517,   518,    -1,    -1,   521,   522,    -1,    -1,    -1,    -1,
6865     1598,    -1,    -1,  1601,    -1,    -1,    -1,    -1,    -1,    -1,
6866     1013,  1609,    -1,    -1,  1962,    -1,    -1,    -1,  1966,  1967,
6867       -1,    -1,    -1,    -1,    -1,   464,   465,    -1,    -1,    -1,
6868      757,    -1,    -1,    -1,  1416,    -1,    -1,    -1,  1420,    -1,
6869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6870       -1,   490,   491,    -1,    -1,    -1,  1489,  1490,    -1,    -1,
6871       -1,    -1,    -1,   790,   791,   792,   793,   794,    -1,  1783,
6872      797,    -1,    -1,   512,   513,    -1,   803,    -1,   517,   518,
6873     1462,    -1,   521,   522,    -1,    -1,    -1,    -1,    -1,   528,
6874     1472,   818,   819,   820,   821,   822,    -1,    -1,   825,    -1,
6875       -1,  1483,    -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,
6876     1543,  1544,    -1,    -1,    -1,  1118,    -1,    -1,    -1,  1501,
6877      559,  1503,   561,    -1,    -1,    -1,  1508,    -1,  1510,    -1,
6878     2078,    -1,    -1,    -1,    -1,    -1,    -1,  1140,  1141,    -1,
6879       -1,    -1,    -1,    -1,  1147,  1527,  1149,    -1,  2096,    -1,
6880     1153,    -1,    -1,  1156,    -1,  1158,    -1,    -1,  1161,  1162,
6881     1163,  1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6883       -1,   464,   465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6884       -1,   630,    -1,   476,    -1,    -1,    -1,    -1,  1580,  2147,
6885       -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,   491,    -1,
6886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6887       -1,    -1,    -1,   662,   663,   664,   665,    -1,    -1,   512,
6888      513,    -1,    -1,    -1,   517,   518,    -1,    -1,   521,   522,
6889       -1,  1839,  1840,    -1,    -1,    -1,    -1,    -1,  1251,    -1,
6890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6892       -1,    -1,    -1,    -1,    -1,    -1,   559,    -1,   561,    -1,
6893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6894       -1,    -1,    -1,    -1,    -1,  1677,    -1,    -1,    -1,  1681,
6895     1682,  1683,   741,    -1,    -1,    -1,    -1,    -1,    -1,   748,
6896     1692,    -1,   751,    -1,    -1,  1697,  1698,    -1,    -1,    -1,
6897       -1,    -1,  1704,    -1,    -1,    -1,    -1,    -1,   464,   465,
6898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6899     1722,  1723,    -1,  1725,  1726,  1778,    -1,  1780,  1730,  1731,
6900     1732,  1733,    -1,    -1,   490,   491,    -1,    -1,   969,    -1,
6901       -1,    -1,    -1,    -1,  1746,    -1,    -1,    -1,    -1,    -1,
6902       -1,  1804,    -1,  1806,    -1,    -1,   512,   513,    -1,    -1,
6903     1762,   517,   518,    -1,    -1,   521,   522,    -1,    -1,    -1,
6904       -1,    -1,    -1,    -1,  1121,    -1,    -1,    -1,    -1,    -1,
6905       -1,    -1,    -1,    -1,    -1,  1787,    -1,    -1,    -1,    -1,
6906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6907       -1,    -1,  1149,    -1,    -1,    -1,    -1,  1038,  1039,  1156,
6908       -1,  1042,  1043,  1044,    -1,    -1,    -1,    -1,    -1,    -1,
6909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6911       -1,    -1,    -1,  1190,    -1,  1192,    -1,   906,   907,    -1,
6912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6913       -1,    -1,    -1,    -1,  1866,  1867,    -1,  1869,  1870,  1871,
6914     1872,  1873,  1874,  1875,  1876,    -1,    -1,    -1,    -1,    -1,
6915     1503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6916       -1,  1038,  1039,    -1,    -1,  1042,  1043,    -1,  1900,  1901,
6917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1910,    -1,
6918      969,  1534,    -1,    -1,    -1,    -1,  1969,  1970,  1971,  1972,
6919     1973,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6920     1983,  1984,  1985,  1986,    -1,    -1,   995,    -1,   997,    -1,
6921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1179,  1180,
6922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6923     1962,    -1,  1585,  1586,  1966,  1967,    -1,    -1,    -1,    -1,
6924       -1,    -1,  1595,    -1,  1597,  1598,    -1,    -1,  1601,  1038,
6925     1039,    -1,    -1,  1042,  1043,  1044,  1609,    -1,    -1,  1612,
6926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2051,  2052,
6927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6929       -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,     4,     5,
6930        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
6931       -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,    -1,
6932     1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1118,
6933       -1,    -1,    -1,    -1,    -1,    -1,   969,    -1,    -1,  1692,
6934       -1,    -1,    -1,    -1,    -1,    -1,  2078,    -1,    -1,    -1,
6935       -1,  1704,    -1,    -1,    -1,    -1,    -1,    -1,  1147,    65,
6936       -1,    -1,    -1,  1716,  2096,    71,    72,    73,  1721,    -1,
6937       -1,  1724,  1161,  1162,  1163,  1164,    -1,    -1,    84,    -1,
6938       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6939     1179,  1180,    98,    -1,    -1,    -1,   102,   103,   104,   105,
6940      106,   107,   108,   109,    -1,  1038,  1039,    -1,    -1,  1042,
6941     1043,  1044,    -1,    -1,    86,  2147,    -1,   123,   124,    -1,
6942      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
6943      136,   137,    -1,    -1,    -1,  1788,    -1,    -1,    -1,    -1,
6944       -1,    -1,    -1,    -1,    -1,    -1,  1799,    -1,    -1,    -1,
6945       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,  1248,
6946       -1,    -1,    -1,    -1,   136,    -1,  1255,    -1,    -1,    -1,
6947     1259,    -1,    -1,    -1,    -1,    -1,  1829,  1830,  1831,  1832,
6948       -1,    -1,  1835,    -1,   156,    -1,  1839,  1840,    -1,  1842,
6949       -1,  1844,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
6950        4,     5,     6,  1856,     8,     9,    -1,    -1,    -1,    -1,
6951       -1,    -1,    -1,  1866,  1867,    -1,    -1,    -1,    -1,    -1,
6952       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,  1489,  1490,
6953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6954       -1,    -1,    -1,    -1,    -1,    -1,  1179,  1180,    -1,    -1,
6955       -1,    -1,  1038,  1039,    -1,    -1,  1042,  1043,    -1,    -1,
6956       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
6957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6958       84,    85,  1543,  1544,    -1,    -1,    -1,    -1,    -1,    -1,
6959       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,   103,
6960      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
6961       -1,    -1,  1489,  1490,   118,    -1,    -1,   121,   122,   123,
6962       -1,    -1,   126,    -1,    -1,  1978,    -1,   131,   132,   133,
6963      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,  1716,
6964       -1,  1994,    -1,    -1,  1721,  1722,  1723,  1724,  1725,  1726,
6965     2003,    -1,  2005,  1730,  1731,  1732,  1733,    -1,    -1,    -1,
6966       -1,    -1,    -1,    -1,    -1,    -1,  1543,  1544,    -1,    -1,
6967       -1,    -1,    -1,  1462,    -1,    -1,    -1,    -1,    -1,    -1,
6968       -1,    -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6970     1489,  1490,  2055,    -1,    -1,  2058,  2059,    -1,   380,  2062,
6971       -1,  2064,    -1,    -1,  2067,    -1,    -1,    -1,  2071,  1508,
6972       -1,  1510,    -1,    -1,    -1,  2078,    -1,    -1,    -1,    -1,
6973       -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
6974       -1,    -1,    -1,  2096,    -1,    -1,    -1,   419,   420,    -1,
6975       -1,  2104,   424,    -1,  1543,  1544,    -1,    -1,    -1,    -1,
6976       -1,   433,    -1,    -1,   436,    83,    -1,    -1,    -1,    -1,
6977       -1,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,  2132,
6978       -1,    -1,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
6979       -1,  1580,    -1,    -1,  2147,    -1,  1585,  1586,   470,    -1,
6980      118,    -1,    -1,    -1,   476,    -1,  1595,    -1,  1597,  1598,
6981       -1,    -1,  1601,    -1,    -1,    -1,    -1,  1778,    -1,  1780,
6982     1609,    -1,    -1,  1612,   142,    -1,    -1,    -1,    -1,    -1,
6983       -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,
6984      158,    -1,    -1,  1804,    -1,  1806,    -1,    -1,    -1,    -1,
6985       -1,    -1,    -1,    -1,    -1,    -1,  1489,  1490,    -1,    -1,
6986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
6987       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6988       -1,    -1,   554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6989       -1,    -1,   564,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6990       -1,    -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,    -1,
6991     1543,  1544,   584,    -1,    -1,   587,    -1,   589,    -1,   591,
6992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6994       -1,    -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
6995      268,   269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6996      278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
6997      288,   289,   290,  1762,    -1,    -1,    -1,    -1,    -1,    -1,
6998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1778,
6999      308,  1780,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
7000       -1,    -1,    -1,  1489,  1490,   323,    -1,    -1,  1969,  1970,
7001     1971,  1972,  1973,    -1,    -1,  1804,    -1,  1806,    -1,    -1,
7002       -1,    -1,  1983,  1984,  1985,  1986,    -1,    -1,    -1,    -1,
7003       -1,    -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,    -1,
7004     1829,  1830,  1831,  1832,    -1,    -1,  1835,    -1,    -1,    -1,
7005     1839,  1840,    -1,  1842,    -1,  1844,    -1,  1543,  1544,    -1,
7006       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1856,    -1,    -1,
7007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    -1,
7009     2051,  2052,  1969,  1970,    -1,  1972,  1973,    -1,   630,   417,
7010       -1,    -1,    -1,    -1,    -1,   423,  1983,  1984,  1985,  1986,
7011       -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    83,
7012       84,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    93,
7013       -1,    -1,   664,   665,    -1,    -1,   100,   101,    -1,    -1,
7014       -1,    -1,    -1,    -1,    -1,  1778,    -1,  1780,    -1,    -1,
7015       -1,   469,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
7016       -1,    -1,   834,   835,   836,    -1,    -1,   131,   486,    -1,
7017       -1,  1804,    -1,  1806,  2051,  2052,    -1,    -1,    -1,    -1,
7018     1969,  1970,  1971,  1972,  1973,   857,   858,   859,    -1,    -1,
7019       -1,   509,    -1,    -1,  1983,  1984,  1985,  1986,    -1,    -1,
7020       -1,    -1,    -1,    -1,    -1,  1994,    -1,    -1,    -1,    -1,
7021      528,    -1,    -1,    -1,  2003,    -1,  2005,   535,   182,    -1,
7022      538,    -1,    -1,    -1,    -1,    -1,    -1,   326,    -1,    -1,
7023       -1,   195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7024       -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,    -1,    -1,
7025       -1,    -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,
7026      932,    -1,  2051,  2052,    -1,    -1,    -1,    -1,    -1,  2058,
7027     2059,    -1,    -1,  2062,    -1,  2064,    -1,    -1,  2067,    -1,
7028       -1,    -1,  2071,    -1,    -1,   957,    -1,    -1,    -1,    -1,
7029       -1,    -1,   964,   965,    -1,    -1,    -1,    -1,    -1,    -1,
7030       -1,   265,    -1,   975,    -1,    -1,    -1,    -1,    -1,    -1,
7031       -1,    -1,    -1,    -1,   278,  2104,    -1,    -1,    -1,   637,
7032       -1,    -1,    -1,    -1,   288,    -1,   290,    -1,    -1,    -1,
7033       -1,    -1,    -1,    -1,    -1,    -1,  1969,  1970,  1971,  1972,
7034     1973,    -1,    -1,  2132,   662,   663,   664,   665,    -1,    -1,
7035     1983,  1984,  1985,  1986,    -1,    -1,    -1,    -1,    -1,    -1,
7036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7037       -1,    -1,   690,   691,   692,    -1,    -1,   695,    -1,    -1,
7038       -1,    -1,    -1,   701,    -1,    -1,    -1,    -1,    -1,    -1,
7039     1062,   709,    -1,    -1,    -1,  1067,    -1,    -1,   716,   717,
7040      718,  1073,   720,   721,    -1,    -1,    -1,  1079,    -1,   727,
7041       -1,    -1,    -1,  1085,    -1,    -1,    -1,    -1,  2051,  2052,
7042      738,    -1,    -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,
7043      748,    -1,    -1,   751,    -1,    -1,    -1,    -1,    -1,    -1,
7044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7045       -1,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,
7046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7047       -1,   435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7048       -1,    -1,   270,  1969,  1970,    -1,  1972,  1973,    -1,    -1,
7049       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1983,  1984,  1985,
7050     1986,    -1,    -1,    -1,    -1,   469,    -1,    -1,   472,    -1,
7051       -1,    -1,    -1,   831,    -1,    -1,    -1,    -1,    -1,    -1,
7052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7053       -1,    -1,  1204,  1205,    -1,   323,   635,    -1,    -1,    -1,
7054       -1,    -1,    -1,    -1,    -1,   509,    -1,    -1,   866,    -1,
7055       -1,    -1,    -1,    -1,    -1,    -1,   874,   875,    -1,    -1,
7056       -1,   525,   526,   527,   882,  2051,  2052,   885,   886,   887,
7057       -1,   889,    -1,    -1,  1106,    -1,    -1,  1109,    -1,   543,
7058      544,    -1,    -1,    -1,    -1,    -1,  1118,    -1,    -1,    -1,
7059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7060      564,    -1,   566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7061       -1,   132,    -1,   577,    -1,  1147,    -1,    -1,    -1,    -1,
7062       -1,    -1,   940,    -1,    -1,    -1,    -1,    -1,    -1,  1161,
7063     1162,  1163,  1164,    -1,    -1,    -1,    -1,    -1,   956,    -1,
7064       -1,    -1,    -1,    -1,    -1,    -1,    -1,   435,    -1,   613,
7065       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   757,    -1,
7066       -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7067       -1,    -1,   771,    -1,    -1,    -1,    -1,   995,   996,   997,
7068       -1,    -1,    -1,    -1,    -1,  1003,    -1,    -1,    -1,    -1,
7069       -1,   790,   791,   792,   793,   794,    -1,    -1,   797,   798,
7070      221,    -1,    -1,    -1,   803,    -1,    -1,   806,    -1,    -1,
7071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   818,
7072      819,   820,   821,   822,   688,    -1,   825,   826,  1400,  1401,
7073       -1,   695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7074       -1,    -1,    -1,    -1,  1416,    -1,    -1,    -1,  1420,    -1,
7075       -1,    -1,   716,    -1,    -1,    -1,   720,    -1,    -1,    -1,
7076       -1,    -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,
7077       -1,    -1,    -1,    -1,   738,    -1,    -1,    -1,    -1,    -1,
7078       -1,    -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,
7079       -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7080       -1,    -1,    -1,    -1,  1122,    -1,    -1,    -1,    -1,    -1,
7081       -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7082       -1,    -1,  1494,  1495,  1496,  1497,    -1,    -1,    -1,  1147,
7083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7084       -1,    -1,    -1,  1161,  1162,  1163,  1164,   635,    -1,    -1,
7085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7086       -1,    -1,    -1,   651,    -1,    -1,  1184,    -1,  1186,    -1,
7087       -1,    -1,   393,    -1,   662,   663,   664,   665,   399,    -1,
7088       -1,    -1,  1200,    -1,    -1,  1203,    -1,    -1,    -1,    -1,
7089       -1,    -1,    -1,    -1,    -1,   859,   860,    -1,    -1,    -1,
7090       -1,    -1,   866,    -1,    -1,  1223,    -1,    -1,    -1,    -1,
7091      874,   875,  1230,   701,    -1,    -1,   704,    -1,   882,    92,
7092       -1,   885,   886,   887,    -1,    -1,    -1,    -1,    -1,  1247,
7093     1248,    -1,    -1,    -1,    -1,    -1,  1254,  1255,    -1,   727,
7094     1258,  1259,    -1,    -1,   732,    -1,    -1,    -1,   469,    -1,
7095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7096       -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7097      934,   759,  1644,    -1,    -1,    -1,   940,    -1,    -1,    -1,
7098       -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7099       -1,    -1,   956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7100       -1,    -1,    -1,    -1,    -1,  1677,    -1,  1679,   529,   797,
7101     1682,   532,    -1,   186,   187,    -1,    -1,   805,    -1,    -1,
7102       -1,    -1,  1121,    -1,   545,    -1,    -1,    -1,    -1,    -1,
7103       -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,  1003,
7104       -1,    -1,    -1,    -1,    -1,   566,    -1,    -1,   221,    -1,
7105     1149,    -1,    -1,  1585,  1586,    -1,    -1,  1156,   579,    -1,
7106       -1,    -1,    -1,  1595,    -1,  1597,  1598,    -1,    -1,  1601,
7107       -1,    -1,    -1,    -1,  1746,    -1,    -1,  1609,    -1,    -1,
7108     1612,    -1,    -1,    -1,    -1,  1049,    -1,    -1,    -1,    -1,
7109       -1,  1190,   265,  1192,  1058,   268,   269,   270,    -1,   887,
7110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7111       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,
7112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7113       -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
7114       -1,   314,    -1,    -1,  1462,    -1,    -1,  1465,    -1,    -1,
7115      323,    -1,  1251,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   689,    -1,
7117       -1,    -1,    -1,    -1,   695,    -1,    -1,    -1,    -1,    -1,
7118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1900,    -1,
7123       -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,    -1,  1203,
7124       -1,  1205,    -1,    -1,   417,    -1,    -1,  1565,    -1,  1213,
7125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1223,
7126       -1,  1579,  1580,    -1,    -1,    -1,  1230,  1585,  1586,    -1,
7127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7128     1598,    -1,    -1,  1601,    -1,    -1,    -1,    -1,    -1,    -1,
7129       -1,  1609,    -1,    -1,    -1,    -1,   469,  1829,  1830,  1831,
7130     1832,    -1,  1974,  1835,  1976,    -1,    -1,  1839,  1840,    -1,
7131     1842,    -1,  1844,    -1,    -1,    -1,    -1,    -1,  1106,    -1,
7132       -1,  1109,  1110,  1111,  1856,  1113,    -1,    -1,    -1,    -1,
7133       -1,    -1,    -1,  1121,    -1,    -1,   509,    -1,    -1,    -1,
7134       -1,  1129,    -1,    -1,    -1,    -1,    -1,    -1,  1136,    -1,
7135       -1,    -1,    -1,    -1,   875,   528,    -1,    -1,    -1,  1147,
7136       -1,   882,   535,    -1,    -1,   538,  1154,    -1,    -1,    -1,
7137       -1,  1159,    -1,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
7138       -1,    -1,  1700,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7140       -1,    -1,  1190,    -1,  1192,    -1,    -1,    -1,    -1,    -1,
7141       -1,    -1,    -1,    -1,   935,    -1,    -1,    -1,    -1,   940,
7142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7143       -1,    -1,    -1,    -1,    -1,   956,  1224,    -1,    -1,    -1,
7144       -1,    -1,    -1,  1761,  1762,    -1,    -1,    -1,    -1,  1413,
7145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7146       -1,    -1,  1994,  1427,    -1,  1783,    -1,    92,    -1,    -1,
7147     1434,  2003,    -1,  2005,    -1,    -1,    -1,    -1,  1442,    -1,
7148       -1,  1269,  1003,    -1,    -1,    -1,    -1,    -1,    -1,   662,
7149      663,   664,   665,    -1,    -1,    -1,    -1,    -1,    -1,  1463,
7150       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7151       -1,    -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,
7152       -1,  1839,  1840,    -1,    -1,    -1,  2058,  2059,   701,  1050,
7153     2062,    -1,  2064,  1321,    -1,  2067,   709,    -1,  1059,  2071,
7154     1061,    -1,    -1,   716,   717,   718,  1334,   720,   721,    -1,
7155       -1,    -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,    -1,
7156       -1,   186,   187,    -1,    -1,   738,    -1,    -1,   741,    -1,
7157       -1,    -1,  2104,    -1,    -1,   748,    -1,    -1,   751,    -1,
7158       -1,  1545,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,
7159       -1,    -1,    -1,    -1,    -1,    -1,   221,  1385,    -1,    -1,
7160     2132,  1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7161       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1716,    -1,    -1,
7162       -1,    -1,  1721,  1722,  1723,  1724,  1725,  1726,    -1,    -1,
7163       -1,  1730,  1731,  1732,  1733,    -1,    -1,    -1,    -1,    -1,
7164      265,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,    -1,
7165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,    -1,
7166     1181,    -1,  1183,    -1,   289,    -1,    -1,    -1,    -1,    -1,
7167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7168       -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,   314,
7169       -1,    -1,    -1,   866,    -1,    -1,    -1,    -1,   323,    -1,
7170       -1,    -1,   875,    -1,    -1,    -1,    -1,  1671,    -1,   882,
7171       -1,    -1,    -1,    -1,   887,    -1,   889,    -1,    -1,    -1,
7172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7176       -1,    -1,    -1,    -1,    -1,    -1,    -1,   940,    -1,    -1,
7177     1869,  1870,  1871,  1872,  1873,  1874,  1875,  1876,  1742,    -1,
7178       -1,    -1,    -1,   956,    -1,    -1,    -1,    -1,    -1,   323,
7179       -1,    -1,   417,    -1,    -1,    -1,    -1,  1585,  1586,    -1,
7180     1764,    -1,    -1,  1591,    -1,  1593,    -1,    -1,  1596,  1597,
7181       -1,    -1,    -1,    -1,  1602,  1603,    -1,  1605,    -1,  1783,
7182       -1,    -1,   995,   996,   997,    -1,    -1,  1615,    -1,  1617,
7183     1003,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7184       -1,    -1,    -1,    -1,   469,    -1,    -1,    -1,    -1,    -1,
7185       -1,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7186       -1,  1649,    -1,    -1,    -1,  1653,    -1,    -1,    -1,    -1,
7187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7188       -1,    -1,    -1,    -1,   509,    -1,    -1,    -1,    -1,    -1,
7189       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7190       -1,   435,    -1,   528,    -1,    -1,    -1,  1428,    -1,    -1,
7191      535,    -1,    -1,   538,  1435,    65,    -1,   198,  1882,    -1,
7192       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7193     1103,    -1,    -1,  1106,    84,    85,  1109,    -1,    -1,    -1,
7194       -1,    -1,  1463,    -1,  1465,    -1,    -1,  1468,    98,    -1,
7195     1471,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7197       -1,   121,   122,   123,  1147,    -1,   126,    -1,    -1,    -1,
7198      130,   131,   132,    -1,   134,   135,   136,   137,  1161,  1162,
7199     1163,  1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7201       -1,  1184,    -1,  1186,    -1,    -1,    -1,    -1,    -1,   300,
7202       52,    -1,    -1,    -1,    -1,  1546,    -1,  1200,   309,  1817,
7203     1203,    -1,    -1,  1554,   315,    -1,    -1,   662,   663,   664,
7204      665,    -1,    -1,    -1,  1565,    -1,    -1,  1835,  1836,    -1,
7205     1223,    83,    84,    -1,    -1,  1843,    -1,  1230,    -1,  1847,
7206       -1,  1849,    -1,    -1,    -1,   690,   691,   692,    -1,    -1,
7207     1858,    -1,    -1,    -1,  1247,  1248,   701,    -1,    -1,    -1,
7208       -1,  1254,  1255,    -1,   709,  1258,  1259,    -1,    -1,    -1,
7209       -1,   716,   717,   718,    -1,   720,   721,    -1,    -1,   131,
7210      132,   635,   727,    -1,   385,    -1,   387,    -1,    -1,    -1,
7211       -1,    -1,    -1,   738,  1902,    -1,   741,   651,    -1,    -1,
7212       -1,   655,    -1,   748,    -1,    -1,   751,    -1,    -1,    -1,
7213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7215       -1,   183,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7216       -1,    -1,    -1,    -1,    -1,    -1,    -1,   701,    -1,    -1,
7217      704,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7218       -1,    -1,    -1,    -1,   718,    -1,    -1,    -1,    -1,   221,
7219       -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,   732,   733,
7220       -1,    -1,    -1,    -1,    -1,    -1,   831,  1995,  1996,    -1,
7221     1998,    -1,  2000,    -1,    -1,  2003,  2004,  2005,    -1,    -1,
7222       -1,    -1,    -1,    -1,    -1,   759,    -1,    -1,    -1,  1750,
7223     1751,    -1,  1753,   265,    -1,    -1,    -1,    -1,    -1,    -1,
7224       -1,   866,    -1,    -1,    -1,    -1,   278,   528,    -1,    -1,
7225      875,    -1,    -1,    -1,    -1,    -1,   288,   882,    -1,    -1,
7226       -1,    -1,   887,   797,   889,    -1,    -1,    -1,    -1,    -1,
7227       -1,   805,  2060,    -1,    -1,  2063,    -1,    -1,    -1,    -1,
7228       -1,    -1,    -1,  2071,   565,    -1,  1807,    -1,    -1,  1462,
7229       -1,   825,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7231       -1,    -1,    -1,    -1,    -1,   940,    -1,    -1,    -1,  2107,
7232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7233       -1,   956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7234       -1,    -1,    -1,    -1,   625,    -1,    -1,    -1,    -1,    -1,
7235       -1,    -1,    -1,   887,    -1,    -1,    -1,    -1,    -1,    -1,
7236       -1,   393,    -1,    -1,    -1,    -1,    -1,   399,    -1,    -1,
7237      995,   996,   997,    -1,    -1,    -1,    -1,    -1,  1003,    -1,
7238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7239       -1,    -1,  1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7240       -1,    -1,    -1,   435,    -1,    -1,  1579,  1580,    -1,    -1,
7241       -1,    -1,  1585,  1586,    -1,   696,    -1,    -1,    -1,    -1,
7242       -1,    -1,    -1,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
7243       -1,    -1,    -1,    -1,    -1,    -1,  1609,   469,    -1,    -1,
7244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7246      741,    -1,    -1,    -1,    -1,    -1,    -1,   748,    -1,    -1,
7247      751,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1103,    -1,
7248       -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,    -1,    -1,
7249       -1,    -1,    -1,   525,   526,   527,    -1,   529,    -1,    -1,
7250      532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7251       -1,   543,   544,   545,    -1,    -1,    -1,    -1,    -1,    -1,
7252       -1,    -1,  1147,    -1,    -1,    -1,    -1,  1700,    -1,    -1,
7253       -1,    -1,   564,    -1,   566,    -1,  1161,  1162,  1163,  1164,
7254       -1,    -1,    -1,    -1,    -1,    -1,    -1,   579,    -1,    -1,
7255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,
7256       -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7257       -1,    -1,    -1,    -1,    -1,  1200,  1110,  1111,  1203,  1113,
7258       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1121,  1761,  1762,
7259     1124,    -1,    -1,    -1,    -1,  1129,    -1,    -1,  1223,    -1,
7260       -1,    -1,  1136,  1137,    -1,  1230,    -1,    -1,    -1,    -1,
7261     1783,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7262     1154,  1155,  1247,  1248,    -1,  1159,    -1,    -1,    -1,  1254,
7263     1255,    -1,    -1,  1258,  1259,    -1,    -1,    -1,    -1,    -1,
7264       -1,    -1,    -1,    -1,   925,    -1,   927,    -1,    -1,    -1,
7265       -1,    -1,    -1,    -1,    -1,    -1,  1190,   689,  1192,    -1,
7266       -1,    -1,    -1,   695,    -1,    -1,  1839,  1840,    -1,    -1,
7267       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
7268        8,     9,    -1,    -1,    -1,   966,    -1,    -1,    -1,    -1,
7269     1224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7270       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7271       -1,    -1,    -1,    -1,   995,    -1,   997,    -1,    -1,    -1,
7272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,
7273       -1,    -1,    -1,    52,    -1,  1269,  1270,    65,    -1,    -1,
7274       59,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,    -1,
7275       -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,
7276       -1,    -1,    -1,    82,    83,    84,    -1,    -1,    -1,    -1,
7277       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
7278      108,   109,  1063,    -1,    -1,    -1,    -1,  1321,    -1,  1323,
7279      118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,    -1,
7280     1334,  1335,    -1,   131,   132,   133,   134,   135,   136,   137,
7281       -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7282       -1,    -1,  1103,    -1,    -1,    -1,    -1,    -1,    -1,   148,
7283       -1,    -1,    -1,  1114,    -1,    -1,    -1,  1462,    -1,    -1,
7284     1465,    -1,    -1,   875,    -1,   164,    -1,    -1,    -1,    -1,
7285      882,  1385,    -1,  1387,    -1,   887,    -1,    -1,    -1,    -1,
7286       -1,    -1,    -1,    -1,   183,    -1,    -1,    -1,    -1,    -1,
7287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7289       -1,    -1,    -1,    -1,   926,    -1,    -1,    -1,    -1,    -1,
7290       -1,   220,   221,   935,    -1,    -1,    -1,    -1,   940,    -1,
7291       -1,    -1,    -1,    -1,   946,    -1,    -1,    -1,    -1,    -1,
7292       -1,    -1,    -1,    -1,   956,  1206,    -1,    -1,    -1,    -1,
7293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7294     1565,    -1,    -1,    -1,    -1,    -1,   265,  1228,    -1,    -1,
7295       -1,    -1,    -1,    -1,  1579,  1580,    -1,    -1,    -1,   278,
7296     1585,  1586,    -1,    -1,    -1,    -1,    -1,  1248,    -1,   288,
7297       -1,  1003,    -1,  1598,  1255,    -1,  1601,    -1,  1259,    -1,
7298       -1,    -1,    -1,    -1,  1609,    -1,    -1,    -1,    -1,    -1,
7299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7301       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1049,  1050,    -1,
7302       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1059,    -1,  1061,
7303       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1571,    -1,    -1,
7304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7305       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1591,  1592,  1593,
7306     1594,     1,  1596,  1597,    -1,    -1,    -1,    -1,  1602,  1603,
7307       -1,  1605,    -1,  1607,   393,  1700,    -1,    -1,    -1,    -1,
7308      399,  1615,  1616,  1617,    -1,    -1,    -1,    -1,    28,    29,
7309       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7310       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7311       50,    -1,    -1,    -1,    -1,  1649,   435,  1651,    -1,  1653,
7312       -1,  1655,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
7313       -1,    -1,    -1,    -1,    74,    75,  1761,  1762,    -1,    79,
7314       -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,  1181,
7315      469,  1183,    -1,    -1,    -1,    -1,    -1,    -1,  1783,    -1,
7316      100,    -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,
7317      110,   111,   112,   113,   114,   115,   116,   117,    -1,    -1,
7318       -1,  1462,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
7319       -1,  1472,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7320       -1,    -1,    -1,    -1,    -1,    -1,   525,   526,   527,    -1,
7321      529,    -1,    -1,   532,  1839,  1840,    -1,    -1,    -1,    -1,
7322       -1,    -1,    -1,    -1,   543,   544,   545,  1508,    -1,  1510,
7323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7324       -1,    -1,    -1,   562,    -1,   564,  1527,   566,    -1,    -1,
7325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7326      579,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7327       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1902,    -1,    -1,
7328       -1,    -1,    -1,  1817,    -1,    -1,    -1,    -1,    -1,    -1,
7329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1580,
7330       -1,    -1,  1836,    -1,    -1,    -1,    -1,  1841,    -1,  1843,
7331     1844,    -1,  1846,  1847,    -1,  1849,    -1,  1851,    -1,    92,
7332       -1,    -1,    -1,  1857,  1858,    -1,    -1,    -1,    92,    -1,
7333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7335       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7336       -1,    -1,   681,    -1,    -1,    -1,    -1,    -1,  1902,   142,
7337      689,    -1,    -1,    -1,    -1,    -1,   695,    -1,   142,    -1,
7338       -1,   154,    -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,
7339      154,    -1,    -1,    -1,   158,    -1,  1428,    -1,    -1,    -1,
7340     1681,    -1,  1683,  1435,    -1,    -1,    -1,    -1,    -1,    -1,
7341     1442,    -1,    -1,   186,   187,    -1,  1697,  1698,    -1,    -1,
7342       -1,    -1,   186,   187,    -1,    -1,    -1,    -1,    -1,    -1,
7343       -1,  1463,    -1,  1465,    -1,    -1,  1468,    -1,    -1,  1471,
7344       -1,  1722,  1723,    -1,  1725,  1726,    -1,    -1,    -1,  1730,
7345     1731,  1732,  1733,    -1,    -1,    -1,    -1,   221,    -1,    -1,
7346       -1,  1995,  1996,    -1,  1998,  1999,  2000,    -1,    -1,    -1,
7347     2004,  2005,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7348       -1,  1762,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7349       -1,    -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,
7350       -1,   265,    -1,    -1,   268,   269,   270,    -1,    -1,    -1,
7351       -1,    -1,    -1,    -1,  1546,    -1,   289,    -1,    -1,    -1,
7352       -1,    -1,  1554,    -1,    -1,   289,  2060,  2061,    -1,  2063,
7353     2064,    -1,    -1,  1565,  2068,   308,    -1,    -1,    -1,    -1,
7354       -1,   314,    -1,    -1,   308,    -1,    -1,    -1,    -1,    -1,
7355      314,    -1,    -1,    -1,   873,    -1,   875,    -1,    -1,    -1,
7356       -1,    -1,    -1,   882,    -1,    -1,    -1,    -1,   887,    -1,
7357       -1,    -1,    -1,  2107,    -1,    -1,    -1,    -1,    -1,    -1,
7358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1869,  1870,
7359     1871,  1872,  1873,  1874,  1875,  1876,    -1,    -1,    -1,    -1,
7360       -1,    -1,    -1,    -1,    -1,    -1,    -1,   926,    -1,    -1,
7361       -1,    -1,    -1,    -1,    -1,    -1,   935,    -1,    -1,    -1,
7362     1901,   940,    -1,    -1,    -1,    -1,    -1,   946,    -1,  1910,
7363       -1,    -1,    -1,    -1,    -1,    -1,    -1,   956,    -1,    -1,
7364       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7365      423,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,   423,
7366       -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7367      434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7368       -1,  1962,    -1,    -1,  1003,  1966,  1967,    -1,    -1,    -1,
7369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7370       -1,    -1,    -1,    -1,    -1,   469,    -1,    -1,    -1,    -1,
7371       -1,    -1,    -1,   486,    -1,    -1,    -1,    -1,  1750,  1751,
7372       -1,  1753,   486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7373     1049,  1050,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7374     1059,    -1,  1061,    -1,    -1,   509,     1,    -1,     3,     4,
7375        5,     6,    -1,     8,     9,   528,    -1,    -1,    -1,    -1,
7376       -1,    -1,   535,    -1,   528,   538,    -1,    -1,    -1,    -1,
7377       -1,   535,    -1,    28,   538,  1807,    -1,    -1,    -1,    34,
7378       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7379       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
7380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7381       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
7382       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
7383       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7384       -1,    -1,    -1,    98,    92,   100,    -1,   102,   103,   104,
7385      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7386      115,    -1,  1181,   118,  1183,    -1,   121,   122,   123,    -1,
7387       -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
7388      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,   662,
7389      663,   664,   665,    -1,   142,    -1,    -1,    -1,   662,   663,
7390      664,   665,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,
7391      158,    -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,
7392       -1,    -1,    -1,    -1,    -1,    -1,   690,   691,   692,    -1,
7393       -1,    -1,    -1,    -1,    -1,    -1,   709,    -1,   186,   187,
7394       -1,    -1,    -1,   716,   717,   709,    -1,   720,   721,    -1,
7395       -1,    -1,   716,   717,    -1,    -1,   720,   721,    -1,    -1,
7396       -1,    -1,     1,    -1,     3,    -1,    -1,    -1,   741,    -1,
7397       -1,    -1,    -1,    -1,    -1,   748,    -1,   741,   751,    -1,
7398       -1,    -1,    -1,    -1,   748,    -1,    -1,   751,    -1,    28,
7399       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7400       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7401       49,    50,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,
7402      268,   269,   270,    -1,    -1,    -1,    65,    66,    -1,    -1,
7403       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
7404       79,   289,    -1,    82,    83,    -1,    85,    86,    87,    -1,
7405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7406      308,   100,    -1,    -1,    -1,    -1,   314,   831,    -1,    -1,
7407       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7408       -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,    -1,
7409       -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,    -1,
7410       -1,   874,   866,    -1,    -1,    -1,    -1,    -1,    -1,  1428,
7411      874,   875,   885,    -1,    -1,    -1,  1435,    -1,   882,    -1,
7412       -1,   885,    -1,  1442,    -1,   889,    -1,    -1,    -1,    -1,
7413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7414       -1,    -1,    -1,    -1,  1463,    -1,  1465,    -1,    -1,  1468,
7415       -1,    -1,  1471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7417       -1,    -1,    -1,    -1,    -1,   423,   940,    -1,    -1,    -1,
7418       -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,    -1,
7419       -1,     1,   956,     3,     4,     5,     6,    -1,     8,     9,
7420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,
7422       -1,    -1,   995,   996,   997,    -1,    -1,  1546,    -1,    -1,
7423     1003,   995,   996,   997,    -1,  1554,    -1,    -1,   486,  1003,
7424       -1,    -1,    -1,    -1,    -1,    -1,  1565,    -1,    -1,    -1,
7425       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
7426       -1,    71,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
7427       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,
7428      528,    -1,    -1,    -1,    -1,    -1,    -1,   535,    98,    -1,
7429      538,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7430       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
7431       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
7432      130,   131,   132,    -1,   134,   135,   136,   137,    -1,    -1,
7433     1103,    -1,    -1,  1106,    -1,    -1,  1109,    -1,    -1,  1103,
7434       -1,    -1,  1106,    -1,    -1,  1109,    -1,    -1,    -1,    -1,
7435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7437       -1,    -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,    -1,
7438       -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,  1161,  1162,
7439     1163,  1164,    -1,    -1,    -1,    -1,    -1,  1161,  1162,  1163,
7440     1164,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7441       -1,  1184,    -1,  1186,   662,   663,   664,   665,    -1,    -1,
7442     1184,    -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7443     1203,  1750,  1751,    -1,  1753,    -1,    -1,    -1,    -1,  1203,
7444       -1,    -1,   690,   691,   692,    -1,    -1,    -1,    -1,    -1,
7445     1223,    -1,    -1,    -1,    -1,    -1,    -1,  1230,    -1,  1223,
7446       -1,   709,    -1,    -1,    -1,    -1,  1230,    -1,   716,   717,
7447       -1,    -1,   720,   721,  1247,  1248,    -1,    -1,    -1,    -1,
7448       -1,  1254,  1255,  1247,  1248,  1258,  1259,    -1,  1807,    -1,
7449     1254,  1255,    -1,   741,  1258,  1259,    -1,    -1,    -1,    -1,
7450      748,    -1,    -1,   751,    -1,     1,    -1,    -1,    -1,    -1,
7451       -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7452       16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7453       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7454       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7455       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
7456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7457       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
7458       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
7459       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7460       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
7461       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
7462      116,   117,   118,   119,   120,   121,   874,    -1,   124,   125,
7463      126,   127,    -1,   129,    -1,    -1,   132,   885,   134,   135,
7464      136,    -1,   138,   139,   140,   141,   142,    -1,    -1,    -1,
7465       -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,
7466        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7467       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7468       26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,  1462,
7469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1462,    -1,
7470       -1,  1465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
7472       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
7473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
7474       -1,    -1,    -1,    -1,    -1,    -1,    -1,   995,   996,   997,
7475       -1,    -1,    98,    -1,    -1,  1003,   102,   103,   104,   105,
7476      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
7477       -1,    -1,   118,   119,   120,   121,   122,   123,   124,   125,
7478      126,    -1,    -1,   129,    -1,   131,   132,    -1,   134,   135,
7479      136,   137,   138,   139,   140,   141,   142,    -1,    -1,    -1,
7480       -1,  1565,    -1,    -1,    -1,    -1,  1579,  1580,    -1,    -1,
7481       -1,    -1,  1585,  1586,    -1,  1579,  1580,    -1,    -1,    -1,
7482       -1,  1585,  1586,    -1,    -1,  1598,    -1,    -1,  1601,    -1,
7483       -1,    -1,    -1,    -1,  1598,    -1,  1609,  1601,    -1,    -1,
7484       -1,    -1,    -1,    -1,    -1,  1609,    -1,     1,    -1,    -1,
7485       -1,    -1,    -1,    -1,    -1,  1103,    -1,    -1,  1106,    -1,
7486       -1,  1109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7487       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7488       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7489       44,    45,    46,    47,    48,    49,    50,    -1,    -1,  1147,
7490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7491       -1,    -1,    66,  1161,  1162,  1163,  1164,    -1,    -1,    -1,
7492       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
7493       -1,    85,    86,    87,    -1,    -1,  1184,    -1,  1186,    -1,
7494       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
7495       -1,    -1,    -1,    -1,    -1,  1203,   110,   111,   112,   113,
7496      114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,    -1,
7497      124,    -1,   126,   127,    -1,  1223,     1,    -1,     3,     4,
7498        5,     6,  1230,     8,     9,    -1,    -1,    -1,  1761,  1762,
7499       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1761,  1762,  1247,
7500     1248,    -1,    -1,    28,    -1,    -1,  1254,  1255,    -1,    -1,
7501     1258,  1259,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1783,
7502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
7503       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7504       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
7505       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
7506       85,    86,    -1,    88,    89,    90,  1839,  1840,    -1,    -1,
7507       -1,    -1,    -1,    98,    -1,  1839,  1840,   102,   103,   104,
7508      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
7509       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
7510       -1,   126,    -1,   128,    -1,   130,   131,   132,    -1,   134,
7511      135,   136,   137,     0,     1,    -1,     3,     4,     5,     6,
7512        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7513       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7514       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7515       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7516       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7517       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7518       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7519       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7520       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7521       -1,    98,    99,   100,  1462,   102,   103,   104,   105,   106,
7522      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7523      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7524      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7525      137,   138,   139,   140,   141,   142,    -1,    28,    29,    30,
7526       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7527       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7529       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
7530       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
7531       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
7532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
7533       -1,  1579,  1580,    -1,    -1,    -1,    -1,  1585,  1586,   110,
7534      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
7535     1598,    -1,    -1,  1601,    -1,    -1,    -1,   128,    -1,     0,
7536        1,  1609,     3,     4,     5,     6,     7,     8,     9,    10,
7537       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7538       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7539       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7540       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7541       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7542       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7543       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7544       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7545       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7546       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7547      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7548      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7549      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7550      141,   142,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7551       -1,    -1,    -1,  1761,  1762,     0,     1,    -1,     3,     4,
7552        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7553       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7554       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7555       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7556       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7557       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7558       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7559       75,  1839,  1840,    78,    79,    80,    81,    82,    83,    84,
7560       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7561       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7562      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7563      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7564      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7565      135,   136,   137,   138,   139,   140,   141,   142,     0,     1,
7566       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7567       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7568       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7569       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7570       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7571       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7572       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7573       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7574       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7575       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7576      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7577      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7578      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7579      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7580      142,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7581        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7582       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7583       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7584       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7585       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7586       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7587       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7588       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7589       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7590       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7591      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7592      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7593      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7594      139,   140,   141,   142,     0,     1,    -1,     3,     4,     5,
7595        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7596       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7597       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7598       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7599       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7600       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7601       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7602       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7603       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7604       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7605      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7606      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7607      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7608      136,   137,   138,   139,   140,   141,   142,     0,     1,    -1,
7609        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7610       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7611       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7612       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7613       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7614       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7615       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7616       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7617       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7618       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7619      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7620      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7621      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7622      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7623        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7624       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7625       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7626       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7627       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7628       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7629       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7630       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7631       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7632       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7633      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7634      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7635      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7636      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7637      140,   141,   142,     0,     1,    -1,     3,     4,     5,     6,
7638        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7639       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7640       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7641       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7642       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7643       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7644       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7645       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7646       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7647       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7648      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7649      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7650      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7651      137,   138,   139,   140,   141,   142,     0,     1,    -1,     3,
7652        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7653       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7654       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7655       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7656       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7657       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7658       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7659       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7660       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7661       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7662      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7663      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7664      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7665      134,   135,   136,   137,   138,   139,   140,   141,   142,     0,
7666        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7667       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7668       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7669       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7670       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7671       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7672       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7673       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7674       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7675       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7676       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7677      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7678      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7679      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7680      141,   142,     0,     1,    -1,     3,     4,     5,     6,     7,
7681        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7682       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7683       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7684       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7685       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7686       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7687       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7688       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7689       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7690       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7691      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7692      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7693      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7694      138,   139,   140,   141,   142,     0,     1,    -1,     3,     4,
7695        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7696       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7697       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7698       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7699       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7700       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7701       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7702       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7703       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7704       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7705      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7706      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7707      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
7708      135,   136,   137,   138,   139,   140,   141,   142,     0,     1,
7709       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
7710       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
7711       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
7712       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7713       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7714       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7715       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7716       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7717       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7718       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7719      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7720      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
7721      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
7722      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
7723      142,     0,     1,    -1,     3,     4,     5,     6,     7,     8,
7724        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
7725       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
7726       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
7727       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
7728       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
7729       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    68,
7730       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    78,
7731       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
7732       89,    90,    91,    92,    93,    94,    -1,    96,    -1,    98,
7733       99,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
7734      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
7735      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
7736      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
7737      139,   140,   141,   142,     0,     1,    -1,     3,     4,     5,
7738        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
7739       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
7740       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
7741       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7742       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7743       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7744       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7745       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7746       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7747       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7748      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7749      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
7750      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
7751      136,   137,   138,   139,   140,   141,   142,     0,     1,    -1,
7752        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7753       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7754       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
7755       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
7756       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
7757       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
7758       -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,
7759       73,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
7760       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
7761       93,    94,    -1,    96,    -1,    98,    99,   100,    -1,   102,
7762      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
7763      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
7764      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
7765      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7766        0,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
7767       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
7768       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
7769       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7770       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7771       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7772       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7773       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7774       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7775       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7776      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7777      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
7778      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
7779      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
7780      140,   141,   142,     0,     1,    -1,     3,     4,     5,     6,
7781        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
7782       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
7783       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
7784       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
7785       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
7786       57,    58,    59,    60,    61,    62,    -1,    -1,    65,    66,
7787       -1,    68,    -1,    -1,    71,    72,    73,    74,    75,    -1,
7788       -1,    78,    79,    80,    81,    82,    83,    84,    85,    86,
7789       87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
7790       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
7791      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
7792      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
7793      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
7794      137,   138,   139,   140,   141,   142,     0,     1,    -1,     3,
7795        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
7796       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
7797       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
7798       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7799       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7800       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7801       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7802       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7803       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7804       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7805      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7806      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
7807      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
7808      134,   135,   136,   137,   138,   139,   140,   141,   142,     0,
7809        1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
7810       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
7811       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
7812       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
7813       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
7814       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
7815       61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
7816       71,    72,    73,    74,    75,    -1,    -1,    78,    79,    80,
7817       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
7818       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
7819       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
7820      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
7821      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
7822      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
7823      141,   142,     0,     1,    -1,     3,     4,     5,     6,     7,
7824        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
7825       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
7826       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7827       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7828       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7829       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7830       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7831       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7832       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7833       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7834      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7835      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
7836      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
7837      138,   139,   140,   141,   142,     0,     1,    -1,     3,     4,
7838        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
7839       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
7840       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
7841       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
7842       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
7843       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
7844       65,    66,    -1,    68,    -1,    -1,    71,    72,    73,    74,
7845       75,    -1,    -1,    78,    79,    80,    81,    82,    83,    84,
7846       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
7847       -1,    96,    -1,    98,    99,   100,    -1,   102,   103,   104,
7848      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
7849      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
7850      125,   126,   127,   128,   129,   130,   131,   132,    -1,   134,
7851      135,   136,   137,   138,   139,   140,   141,   142,     1,    -1,
7852        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
7853       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
7854       23,    24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,
7855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7858       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
7859       73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7860       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7861       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
7862      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
7863       -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
7864      123,    -1,   125,   126,    -1,    -1,   129,    -1,   131,   132,
7865       -1,   134,   135,   136,   137,   138,   139,   140,   141,   142,
7866        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7869       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7870       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7871       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7872       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7873       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7874       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7875       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7876      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7877      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
7878       -1,   121,   122,   123,   124,    -1,   126,   127,   128,   129,
7879      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
7880       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7882       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7883       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7884       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7885       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7886       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7887       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7888       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7889       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7890      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7891      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
7892      122,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
7893      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
7894        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7896       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7897       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7898       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7899       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7900       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7901       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7902       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7903       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7904      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7905      114,   115,   116,   117,   118,    -1,    -1,   121,   122,   123,
7906      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
7907      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
7908        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7910       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7911       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7912       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7913       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7914       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7915       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7916       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7917       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7918      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7919      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
7920      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
7921      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
7922        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7924       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7925       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7926       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7927       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7928       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7929       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7930       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
7931       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
7932      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
7933      118,    -1,    -1,   121,   122,   123,   124,    -1,   126,   127,
7934      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
7935        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
7936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7937       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
7938       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
7939       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
7940       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
7941       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
7942       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
7943       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
7944       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
7945      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
7946      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
7947       -1,   121,   122,   123,   124,    -1,   126,   127,   128,    -1,
7948      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
7949       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
7950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7951       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
7952       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
7953       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
7954       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
7955       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
7956       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
7957       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
7958       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
7959      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
7960      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
7961      122,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
7962      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
7963        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
7964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7965       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
7966       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
7967       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
7968       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
7969       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
7970       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
7971       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
7972       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
7973      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
7974      114,   115,   116,   117,   118,    -1,    -1,   121,   122,   123,
7975      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
7976      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
7977        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
7978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7979       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
7980       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
7981       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
7982       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
7983       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
7984       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
7985       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
7986       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
7987      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
7988      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
7989      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
7990      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
7991        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
7993       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
7994       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
7995       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
7996       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
7997       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
7998       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
7999       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8000       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8001      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8002      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8003      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8004        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8007       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8008       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8009       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8010       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8011       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8012       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8013       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8014      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8015      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8016       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8017      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8018       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8020       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8021       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8022       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8023       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8024       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8025       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8026       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8027       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8028      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8029      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8030       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8031      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8032        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8034       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8035       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8036       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8037       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8038       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8039       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8040       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8041       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8042      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8043      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8044      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8045      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8046        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8048       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8049       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8050       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8051       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8052       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8053       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8054       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8055       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8056      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8057      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8058      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8059      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8060        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8062       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8063       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8064       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8065       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8066       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8067       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8068       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8069       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8070      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8071      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8072      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8073        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8076       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8077       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8078       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8079       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8080       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8081       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8082       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8083      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8084      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8085       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8086      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8087       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8089       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8090       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8091       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8092       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8093       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8094       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8095       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8096       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8097      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8098      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8099       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8100      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8101        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8103       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8104       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8105       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8106       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8107       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8108       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8109       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8110       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8111      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8112      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8113      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8114      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8115        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8117       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8118       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8119       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8120       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8121       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8122       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8123       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8124       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8125      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8126      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8127      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8128      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8129        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8131       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8132       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8133       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8134       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8135       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8136       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8137       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8138       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8139      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8140      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8141      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8142        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8145       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8146       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8147       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8148       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8149       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8150       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8151       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8152      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8153      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8154       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8155      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8156       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8158       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8159       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8160       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8161       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8162       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8163       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8164       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8165       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8166      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8167      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8168       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8169      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8170        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8172       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8173       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8174       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8175       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8176       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8177       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8178       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8179       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8180      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8181      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8182      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8183      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8184        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8186       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8187       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8188       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8189       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8190       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8191       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8192       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8193       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8194      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8195      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8196      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8197      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8198        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8200       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8201       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8202       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8203       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8204       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8205       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8206       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8207       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8208      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8209      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8210      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8211        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8214       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8215       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8216       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8217       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8218       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8219       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8220       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8221      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8222      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8223       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8224      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8225       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8227       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8228       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8229       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8230       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8231       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8232       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8233       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8234       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8235      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8236      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8237       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8238      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8239        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8241       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8242       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8243       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8244       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8245       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8246       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8247       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8248       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8249      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8250      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8251      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8252      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8253        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8255       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8256       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8257       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8258       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8259       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8260       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8261       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8262       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8263      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8264      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8265      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8266      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8267        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8269       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8270       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8271       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8272       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8273       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8274       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8275       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8276       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8277      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8278      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8279      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8280        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8283       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8284       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8285       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8286       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8287       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8288       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8289       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8290      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8291      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8292       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8293      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8294       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8296       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8297       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8298       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8299       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8300       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8301       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8302       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8303       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8304      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8305      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8306       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8307      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8308        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8310       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8311       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8312       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8313       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8314       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8315       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8316       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8317       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8318      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8319      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8320      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8321      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8322        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8324       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8325       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8326       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
8327       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8328       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8329       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8330       86,    87,    88,    89,    90,    91,    92,    93,    94,    -1,
8331       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8332      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8333      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8334      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
8335      136,   137,     0,     1,    -1,     3,     4,     5,     6,    -1,
8336        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8338       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8339       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8340       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
8341       58,    59,    60,    61,    62,    -1,    -1,    65,    66,    -1,
8342       68,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8343       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
8344       88,    89,    90,    91,    92,    93,    94,    -1,    96,    -1,
8345       98,    99,   100,    -1,   102,   103,   104,   105,   106,   107,
8346      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8347      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8348      128,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
8349        0,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8352       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8353       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8354       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
8355       60,    61,    62,    -1,    -1,    65,    66,    -1,    68,    -1,
8356       -1,    71,    72,    73,    74,    75,    -1,    -1,    78,    79,
8357       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
8358       90,    91,    92,    93,    94,    -1,    96,    -1,    98,    99,
8359      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8360      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8361       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8362      130,   131,   132,    -1,   134,   135,   136,   137,     0,     1,
8363       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8364       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8365       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8366       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8367       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8368       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8369       62,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,    71,
8370       72,    73,    74,    75,    -1,    -1,    78,    79,    80,    81,
8371       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
8372       92,    93,    94,    -1,    96,    -1,    98,    99,   100,    -1,
8373      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8374      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8375       -1,   123,   124,    -1,   126,   127,   128,    -1,   130,   131,
8376      132,    -1,   134,   135,   136,   137,     0,     1,    -1,     3,
8377        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8378       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8379       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8380       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8381       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
8382       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8383       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    73,
8384       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
8385       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
8386       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
8387      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8388      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8389      124,    -1,   126,   127,   128,    -1,   130,   131,   132,    -1,
8390      134,   135,   136,   137,     0,     1,    -1,     3,     4,     5,
8391        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8393       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8394       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8395       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
8396       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8397       66,    -1,    68,    -1,    -1,    71,    72,    73,    74,    75,
8398       -1,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
8399       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
8400       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
8401      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8402      116,   117,   118,    -1,    -1,   121,   122,   123,   124,    -1,
8403      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
8404      136,   137,     1,    -1,     3,     4,     5,     6,    -1,     8,
8405        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8406       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8407       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8408       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8409       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
8410       59,    60,    61,    62,    -1,    -1,    65,    66,    -1,    -1,
8411       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8412       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    88,
8413       89,    90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8414       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8415      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8416       -1,    -1,   121,    -1,   123,   124,    -1,    -1,    -1,   128,
8417       -1,   130,   131,   132,    -1,   134,   135,   136,   137,     1,
8418       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8420       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8421       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8422       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8423       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
8424       62,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8425       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8426       -1,    -1,    84,    85,    86,    87,    88,    89,    90,    -1,
8427       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8428      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8429      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8430       -1,   123,   124,    -1,    -1,    -1,   128,    -1,   130,   131,
8431      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8432        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8434       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8435       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8436       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8438       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8439       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8440       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8441       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8442      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8443      115,   116,   117,   118,    -1,    -1,   121,    -1,   123,   124,
8444       -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,   134,
8445      135,   136,   137,     1,    -1,     3,     4,     5,     6,    -1,
8446        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8448       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8449       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8450       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8452       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8453       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8455       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8456      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8457      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8458      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8459        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8461       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8462       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8463       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8465       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8466       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8467       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8469       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8470      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
8471      121,    -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,
8472      131,   132,    -1,   134,   135,   136,   137,     1,    -1,     3,
8473        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8475       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8476       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8477       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8479       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8480       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8481       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8482       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8483      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8484      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
8485      124,    -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,
8486      134,   135,   136,   137,     1,    -1,     3,     4,     5,     6,
8487       -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8489       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
8490       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
8491       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
8492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
8493       -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
8494       -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,
8495       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8496       -1,    98,    -1,   100,    -1,   102,   103,   104,   105,   106,
8497      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
8498      117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,
8499      127,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8500      137,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
8503       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
8504       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
8505       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8506       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
8507       -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    79,
8508       -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,
8509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8510      100,    -1,   102,   103,   104,   105,   106,   107,   108,   109,
8511      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
8512       -1,   121,    -1,   123,   124,    -1,   126,   127,   128,    -1,
8513       -1,   131,   132,    -1,   134,   135,   136,   137,     1,    -1,
8514        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8516       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8517       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8518       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8520       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8521       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8522       -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8523       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8524      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8525      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
8526      123,   124,    -1,   126,   127,   128,    -1,    -1,   131,   132,
8527       -1,   134,   135,   136,   137,     1,    -1,     3,     4,     5,
8528        6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    -1,
8529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8530       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
8531       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
8532       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
8533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
8534       66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
8535       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8536       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8537       -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,   105,
8538      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
8539      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8540      126,   127,   128,    -1,    -1,   131,   132,    -1,   134,   135,
8541      136,   137,     1,    -1,     3,     4,     5,     6,    -1,     8,
8542        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,
8544       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
8545       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
8546       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8547       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
8548       -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,
8549       79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,    -1,
8550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8551       -1,   100,    -1,   102,   103,   104,   105,   106,   107,   108,
8552      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
8553       -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,   128,
8554       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,     1,
8555       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    -1,
8556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8557       -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
8558       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
8559       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8561       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8562       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8563       -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8564       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8565      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8566      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
8567       -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,   131,
8568      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8569        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8571       -1,    -1,    -1,    28,    29,    30,    31,    32,    33,    34,
8572       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8573       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8575       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8576       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8577       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8578       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8579      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8580      115,   116,   117,   118,    -1,    -1,   121,    -1,   123,   124,
8581       -1,   126,   127,   128,    -1,    -1,   131,   132,    -1,   134,
8582      135,   136,   137,     1,    -1,     3,     4,     5,     6,    -1,
8583        8,     9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8585       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
8586       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
8587       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
8589       -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
8590       -1,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    87,
8591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8592       98,    -1,   100,    -1,   102,   103,   104,   105,   106,   107,
8593      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
8594      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,   127,
8595      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8596        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8598       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
8599       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
8600       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
8601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8602       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
8603       71,    72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,
8604       -1,    -1,    -1,    84,    85,    86,    87,    -1,    -1,    -1,
8605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,
8606       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
8607      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
8608      121,    -1,   123,   124,    -1,   126,   127,   128,    -1,    -1,
8609      131,   132,    -1,   134,   135,   136,   137,     1,    -1,     3,
8610        4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,
8611       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8612       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
8613       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8614       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8616       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8617       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8618       84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
8619       -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,
8620      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8621      114,   115,   116,   117,   118,    -1,    -1,   121,     1,   123,
8622        3,     4,     5,     6,    -1,     8,     9,   131,   132,    -1,
8623      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,
8624       -1,    -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,
8625       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
8626       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
8627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8628       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
8629       73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
8630       83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
8631       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,   102,
8632      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
8633      113,   114,   115,   116,   117,   118,    -1,    -1,   121,     1,
8634      123,     3,     4,     5,     6,    -1,     8,     9,   131,   132,
8635       -1,   134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,
8636       -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
8637       -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
8638       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
8639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8640       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    71,
8641       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8642       82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,
8643       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,   100,    -1,
8644      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8645      112,   113,   114,   115,    -1,    -1,   118,    -1,    -1,   121,
8646      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
8647      132,    -1,   134,   135,   136,   137,     1,    -1,     3,     4,
8648        5,     6,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,
8649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8650       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    34,
8651       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
8652       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
8653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8654       65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
8655       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,
8656       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8657       -1,    -1,    -1,    98,    -1,   100,    -1,   102,   103,   104,
8658      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
8659      115,    -1,    -1,   118,    -1,    -1,   121,     1,   123,     3,
8660        4,     5,     6,   128,     8,     9,   131,   132,    -1,   134,
8661      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8662       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
8663       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
8664       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
8665       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8666       -1,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
8667       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
8668       84,    85,    86,    87,    -1,     1,    -1,     3,     4,     5,
8669        6,    -1,     8,     9,    98,    -1,   100,    -1,   102,   103,
8670      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
8671      114,   115,    28,    -1,   118,    -1,    -1,   121,   122,   123,
8672       -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,
8673      134,   135,   136,   137,    -1,    -1,    52,    53,    54,    55,
8674       56,    57,    58,    59,    60,    61,    62,    -1,    -1,    65,
8675       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,
8676       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,    85,
8677       86,    -1,    88,    89,    90,    -1,     1,    -1,     3,     4,
8678        5,     6,    98,     8,     9,    -1,   102,   103,   104,   105,
8679      106,   107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,
8680       -1,    -1,   118,    28,    -1,   121,   122,   123,   124,    -1,
8681      126,    -1,   128,    -1,   130,   131,   132,    -1,   134,   135,
8682      136,   137,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
8683       55,    56,    57,    58,    59,    60,    61,    62,    -1,    -1,
8684       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,    -1,
8685       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    84,
8686       85,    86,    -1,    88,    89,    90,    -1,     1,    -1,     3,
8687        4,     5,     6,    98,     8,     9,    -1,   102,   103,   104,
8688      105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
8689       -1,    -1,    -1,   118,    28,    -1,   121,    -1,   123,   124,
8690       -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,   134,
8691      135,   136,   137,    -1,    -1,    -1,    -1,    -1,    52,    53,
8692       54,    55,    56,    57,    58,    59,    60,    61,    62,    -1,
8693       -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8694       -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
8695       84,    85,    86,    -1,    88,    89,    90,    -1,     1,    -1,
8696        3,     4,     5,     6,    98,     8,     9,    -1,   102,   103,
8697      104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
8698       -1,    -1,    -1,    -1,   118,    28,    -1,   121,    -1,   123,
8699      124,    -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,
8700      134,   135,   136,   137,    -1,    -1,    -1,    -1,    -1,    52,
8701       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
8702       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8703       73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
8704       -1,    84,    85,    86,    -1,    88,    89,    90,    -1,    -1,
8705       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,   102,
8706      103,   104,   105,   106,   107,   108,   109,   110,   111,     1,
8707       -1,     3,     4,     5,     6,   118,     8,     9,   121,    -1,
8708      123,   124,    -1,    -1,    -1,   128,    -1,   130,   131,   132,
8709       -1,   134,   135,   136,   137,    -1,    28,    -1,    -1,    -1,
8710       -1,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
8711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8712       -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,    -1,
8713        8,     9,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,
8714       72,    73,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
8715       28,    -1,    84,    85,    86,    -1,    -1,    -1,    -1,    -1,
8716       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,
8717      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
8718       -1,    -1,    -1,    -1,    -1,    -1,   118,    65,    -1,   121,
8719      122,   123,    -1,    71,    72,    73,    -1,    -1,    -1,   131,
8720      132,    -1,   134,   135,   136,   137,    84,    85,     1,    -1,
8721        3,     4,     5,     6,    -1,     8,     9,    -1,    -1,    -1,
8722       98,    -1,    -1,    -1,   102,   103,   104,   105,   106,   107,
8723      108,   109,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
8724      118,    -1,    -1,   121,   122,   123,   124,    -1,   126,    -1,
8725       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8727       -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8728       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8729       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8730       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8731      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8732       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8733      123,   124,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,
8734       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8735       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8736       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8738       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8740       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8741      130,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8742       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8743        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8745       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8746      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8747       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8748       -1,    -1,    -1,   130,   131,   132,    -1,   134,   135,   136,
8749      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8750        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8751       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8752       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8753      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8754       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8755      124,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8756      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8757       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8758        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8759       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8760       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8761       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8762      121,   122,   123,   124,    -1,   126,    -1,    -1,    -1,    -1,
8763      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8764       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8765        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8767       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8768      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8769      118,    -1,    -1,   121,    -1,   123,    -1,    -1,   126,   127,
8770      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8771       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8772       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8773       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8774       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8775      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8776       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
8777       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8778      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8779       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8780        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8781       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8782      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8783       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8784      122,   123,   124,    -1,   126,    -1,    -1,    -1,    -1,   131,
8785      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8786       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8787        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8789       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8790      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8791       -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,   128,
8792       -1,    -1,   131,   132,   133,   134,   135,   136,   137,    65,
8793       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8794        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8796       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8797      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8798       -1,    -1,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
8799      126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
8800      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8801       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8802       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8803       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8804      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8805       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8806      123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
8807       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8808       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8809       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8811       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8813       -1,   121,   122,   123,    -1,    -1,    -1,    -1,   128,    -1,
8814       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8815       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8816        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8818       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8819      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8820       -1,   118,    -1,    -1,   121,    -1,   123,   124,    -1,    -1,
8821       -1,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8822      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8823        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8824       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8825       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8826      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8827       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8828       -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8829      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8830       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8831        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8833       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8834       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8835      121,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
8836      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8837       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8838        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8840       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8841      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8842      118,    -1,    -1,   121,    -1,   123,   124,    -1,   126,    -1,
8843       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8844       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8845       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8846       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8847       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8848      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8849       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
8850       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8851      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8852       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8853        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8854       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8855      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8856       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8857       -1,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,
8858      132,   133,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8859       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8860        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8862       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8863      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8864       -1,    -1,   121,    -1,   123,    -1,    -1,   126,    -1,    -1,
8865       -1,   130,   131,   132,    -1,   134,   135,   136,   137,    65,
8866       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8867        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8869       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8870      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8871       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
8872      126,    -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,
8873      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8874       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8875       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8876       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8877      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8878       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
8879      123,    -1,    -1,   126,    -1,    -1,    -1,   130,   131,   132,
8880       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8881       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8882       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8884       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8886       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8887       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8888       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8889        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8891       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8892      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8893       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8894       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8895      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8896        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8897       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8898       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8899      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8900       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8901       -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,
8902      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8903       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8904        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8906       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8907       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8908      121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
8909      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8910       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8911        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8913       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8914      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8915      118,    -1,    -1,   121,   122,   123,   124,    -1,    -1,    -1,
8916       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8917       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8918       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8919       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8920       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8921      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8922       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,   124,
8923       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8924      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8925       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8926        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
8927       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
8928      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
8929       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
8930      122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,   131,
8931      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
8932       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
8933        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
8934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
8935       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
8936      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
8937       -1,    -1,   121,    -1,   123,    -1,    -1,   126,    -1,    -1,
8938       -1,   130,   131,   132,    -1,   134,   135,   136,   137,    65,
8939       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
8940        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
8941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8942       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
8943      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
8944       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
8945      126,    -1,    -1,    -1,   130,   131,   132,    -1,   134,   135,
8946      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
8947       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
8948       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8949       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
8950      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
8951       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,
8952      123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,   132,
8953       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
8954       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
8955       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
8956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
8957       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
8958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
8959       -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,
8960       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
8961       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
8962        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
8963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8964       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
8965      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8966       -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,   126,
8967       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
8968      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
8969        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
8970       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8971       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
8972      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
8973       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,
8974      124,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,
8975      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
8976       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
8977        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
8978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
8979       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
8980       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
8981      121,   122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,
8982      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
8983       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
8984        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
8985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8986       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
8987      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8988      118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,   127,
8989      128,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
8990       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
8991       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
8992       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
8993       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
8994      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
8995       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
8996       -1,   126,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
8997      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
8998       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
8999        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9000       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9001      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9002       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9003      122,   123,    -1,    -1,   126,    -1,    -1,    -1,    -1,   131,
9004      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9005       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9006        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9008       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9009      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9010       -1,    -1,   121,   122,   123,    -1,    -1,   126,    -1,    -1,
9011       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,    65,
9012       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9013        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9015       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9016      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9017       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
9018       -1,    -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,
9019      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9020       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9021       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9022       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9023      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9024       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9025      123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
9026       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9027       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9028       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9030       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9032       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9033       -1,   131,   132,   133,   134,   135,   136,   137,    65,    -1,
9034       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9035        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9037       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9038      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9039       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9040       -1,    -1,    -1,    -1,   131,   132,   133,   134,   135,   136,
9041      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9042        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9043       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9044       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9045      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9046       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
9047       -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
9048      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
9049       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9050        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9052       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9053       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
9054      121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9055      131,   132,   133,   134,   135,   136,   137,    65,    -1,    -1,
9056       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9057        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9058       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9059       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9060      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9061      118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,
9062       -1,    -1,   130,   131,   132,    -1,   134,   135,   136,   137,
9063       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9064       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9065       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9066       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9067      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9068       -1,    -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,
9069       -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
9070      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
9071       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9072        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9073       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9074      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9075       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9076       -1,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,
9077      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9078       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9079        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9081       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9082      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9083       -1,    -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,
9084       -1,    -1,   131,   132,   133,   134,   135,   136,   137,    65,
9085       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9086        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9088       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9089      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9090       -1,    -1,   118,    -1,    -1,   121,   122,   123,    -1,    -1,
9091       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
9092      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9093       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9094       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9095       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9096      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9097       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9098      123,    -1,    -1,    -1,    -1,    -1,    -1,   130,   131,   132,
9099       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9100       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9101       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9103       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9105       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,   128,    -1,
9106       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
9107       -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,
9108        4,     5,     6,    -1,     8,     9,    -1,    84,    85,    -1,
9109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9110       -1,    98,    -1,    -1,    28,   102,   103,   104,   105,   106,
9111      107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9112       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9113       -1,   128,    -1,    -1,   131,   132,    -1,   134,   135,   136,
9114      137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,
9115        1,    -1,     3,     4,     5,     6,    -1,     8,     9,    -1,
9116       84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9117       -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,
9118      104,   105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,
9119       -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,
9120       -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
9121      134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,
9122       71,    72,    73,     1,    -1,     3,     4,     5,     6,    -1,
9123        8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
9124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,
9125       28,   102,   103,   104,   105,   106,   107,   108,   109,    -1,
9126       -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,
9127      121,    -1,   123,    -1,    -1,    -1,    -1,   128,    -1,    -1,
9128      131,   132,    -1,   134,   135,   136,   137,    65,    -1,    -1,
9129       -1,    -1,    -1,    71,    72,    73,     1,    -1,     3,     4,
9130        5,     6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,
9131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9132       98,    -1,    -1,    28,   102,   103,   104,   105,   106,   107,
9133      108,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9134      118,    -1,    -1,   121,   122,   123,    -1,    -1,    -1,    -1,
9135       -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,   137,
9136       65,    -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,
9137       -1,     3,     4,     5,     6,    -1,     8,     9,    -1,    84,
9138       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9139       -1,    -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,
9140      105,   106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,
9141       -1,    -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,
9142       -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,   134,
9143      135,   136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,
9144       72,    73,     1,    -1,     3,     4,     5,     6,    -1,     8,
9145        9,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,
9146       -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,
9147      102,   103,   104,   105,   106,   107,   108,   109,    -1,    -1,
9148       -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
9149      122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,
9150      132,    -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,
9151       -1,    -1,    71,    72,    73,     1,    -1,     3,     4,     5,
9152        6,    -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,
9153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,
9154       -1,    -1,    28,   102,   103,   104,   105,   106,   107,   108,
9155      109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,
9156       -1,    -1,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
9157       -1,    -1,   131,   132,    -1,   134,   135,   136,   137,    65,
9158       -1,    -1,    -1,    -1,    -1,    71,    72,    73,     1,    -1,
9159        3,     4,     5,     6,    -1,     8,     9,    -1,    84,    85,
9160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9161       -1,    -1,    98,    -1,    -1,    28,   102,   103,   104,   105,
9162      106,   107,   108,   109,    -1,    -1,    -1,    -1,    -1,    -1,
9163       -1,    -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,
9164       -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,
9165      136,   137,    65,    -1,    -1,    -1,    -1,    -1,    71,    72,
9166       73,     1,    -1,     3,     4,     5,     6,    -1,     8,     9,
9167       -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9168       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    28,   102,
9169      103,   104,   105,   106,   107,   108,   109,    -1,    -1,    -1,
9170       -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,
9171      123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,   132,
9172       -1,   134,   135,   136,   137,    65,    -1,    -1,    -1,    -1,
9173       -1,    71,    72,    73,     1,    -1,     3,     4,     5,     6,
9174       -1,     8,     9,    -1,    84,    85,    -1,    -1,    -1,    -1,
9175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1,
9176       -1,    28,   102,   103,   104,   105,   106,   107,   108,   109,
9177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,
9178       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9179       -1,   131,   132,    -1,   134,   135,   136,   137,    65,    -1,
9180       -1,    -1,    -1,    -1,    71,    72,    73,    -1,    -1,    -1,
9181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,
9182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9183       -1,    98,    -1,    -1,    -1,   102,   103,   104,   105,   106,
9184      107,   108,   109,     0,     1,    -1,     3,     4,     5,    -1,
9185       -1,   118,    -1,    -1,   121,    -1,   123,    -1,    -1,    -1,
9186       -1,    -1,    -1,    -1,   131,   132,    -1,   134,   135,   136,
9187      137,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9188       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9189       47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,    -1,
9190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9191       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9192       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9193       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9194       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9195      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9196      117,   118,    -1,    -1,   121,   122,   123,   124,    -1,   126,
9197      127,    -1,    -1,    -1,   131,   132,     0,     1,    -1,     3,
9198        4,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9200       -1,    -1,    -1,    -1,    28,    29,    30,    31,    32,    33,
9201       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9202       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    53,
9203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9204       -1,    65,    66,    -1,    68,    -1,    -1,    71,    72,    -1,
9205       74,    75,    -1,    -1,    78,    79,    80,    81,    82,    83,
9206       -1,    85,    86,    87,    88,    -1,    -1,    91,    92,    93,
9207       94,    -1,    96,    -1,    98,    99,   100,    -1,   102,   103,
9208      104,   105,   106,   107,   108,    -1,   110,   111,   112,   113,
9209      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,   123,
9210      124,    -1,   126,   127,    -1,    -1,    -1,   131,   132,     0,
9211        1,    -1,     3,     4,     5,    -1,    -1,    -1,    -1,    -1,
9212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9214       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9215       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9216       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9217       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9218       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9219       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9220       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9221       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9222      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9223      121,    -1,   123,   124,     0,     1,   127,     3,     4,     5,
9224      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9226       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9227       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9228       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9230       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9231       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9232       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9233       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9234      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9235      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,     0,
9236        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9239       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9240       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9241       -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9242       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9243       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9244       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9245       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9246       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9247      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9248      121,    -1,   123,   124,     0,     1,   127,     3,     4,     5,
9249      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9251       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9252       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9253       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
9254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9255       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9256       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9257       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9258       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9259      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9260      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9261        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9264       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9265       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9267       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9268       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9269       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9270       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9271       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9272      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9273      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9274      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9276       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9277       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9278       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9280       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9281       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9282       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9283       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9284      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9285      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9286        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9289       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9290       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9292       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9293       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9294       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9295       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9296       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9297      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9298      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9299      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9301       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9302       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9303       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9305       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9306       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9307       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9308       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9309      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9310      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9311        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9314       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9315       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9317       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9318       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9319       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9320       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9321       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9322      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9323      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9324      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9326       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9327       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9328       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9330       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9331       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9332       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9333       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9334      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9335      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9336        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9339       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9340       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9342       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9343       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9344       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9345       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9346       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9347      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9348      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9349      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9351       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9352       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9353       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9355       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9356       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9357       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9358       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9359      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9360      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9361        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9364       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9365       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9367       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9368       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9369       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9370       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9371       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9372      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9373      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9374      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9376       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9377       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9378       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9380       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9381       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9382       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9383       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9384      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9385      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9386        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9389       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9390       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9392       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9393       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9394       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9395       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9396       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9397      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9398      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9399      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9401       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9402       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9403       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9405       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9406       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9407       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9408       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9409      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9410      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9411        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9414       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9415       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9417       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9418       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9419       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9420       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9421       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9422      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9423      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9424      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9425       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9426       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9427       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9428       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9430       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9431       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9432       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9433       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9434      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9435      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9436        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9439       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9440       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9442       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9443       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9444       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9445       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9446       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9447      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9448      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9449      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9451       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9452       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9453       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9455       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9456       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9457       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9458       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9459      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9460      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9461        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9464       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9465       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9467       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9468       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9469       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9470       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9471       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9472      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9473      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9474      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9476       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9477       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9478       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9480       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9481       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9482       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9483       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9484      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9485      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9486        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9489       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9490       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9492       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9493       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9494       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9495       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9496       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9497      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9498      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9499      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9501       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9502       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9503       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9505       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9506       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9507       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9508       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9509      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9510      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9511        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9514       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9515       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9517       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9518       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9519       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9520       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9521       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9522      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9523      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9524      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9526       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9527       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9528       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9530       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9531       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9532       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9533       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9534      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9535      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9536        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9539       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9540       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9542       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9543       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9544       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9545       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9546       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9547      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9548      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9549      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9551       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9552       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9553       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9554       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9555       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9556       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9557       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9558       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9559      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9560      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9561        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9564       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9565       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9567       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9568       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9569       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9570       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9571       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9572      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9573      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9574      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9576       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9577       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9578       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9580       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9581       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9582       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9583       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9584      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9585      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9586        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9589       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9590       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9591       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9592       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9593       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9594       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9595       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9596       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9597      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9598      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9599      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9601       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9602       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9603       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9605       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9606       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9607       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9608       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9609      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9610      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9611        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9614       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9615       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9617       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9618       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9619       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9620       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9621       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9622      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9623      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9624      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9626       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9627       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9628       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9630       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9631       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9632       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9633       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9634      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9635      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9636        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9639       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9640       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9642       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9643       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9644       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9645       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9646       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9647      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9648      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9649      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9651       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9652       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9653       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9655       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9656       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9657       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9658       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9659      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9660      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9661        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9662       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9664       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9665       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9666       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9667       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9668       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9669       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9670       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9671       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9672      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9673      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9674      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9676       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9677       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9678       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9680       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9681       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9682       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9683       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9684      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9685      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9686        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9689       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9690       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9692       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9693       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9694       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9695       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9696       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9697      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9698      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9699      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9701       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9702       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9703       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9705       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9706       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9707       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9708       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9709      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9710      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9711        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9714       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9715       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9717       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9718       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9719       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9720       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9721       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9722      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9723      121,    -1,   123,   124,    -1,     1,   127,     3,     4,     5,
9724      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9726       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
9727       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
9728       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
9729       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
9730       66,    -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,
9731       -1,    -1,    78,    79,    80,    81,    82,    83,    -1,    85,
9732       86,    87,    88,    -1,    -1,    91,    92,    93,    94,    -1,
9733       96,    -1,    98,    99,   100,    -1,   102,   103,   104,   105,
9734      106,   107,   108,    -1,   110,   111,   112,   113,   114,   115,
9735      116,   117,   118,    -1,    -1,   121,    -1,   123,   124,    -1,
9736        1,   127,     3,     4,     5,   131,   132,    -1,    -1,    -1,
9737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,    30,
9739       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9740       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9742       -1,    -1,    -1,    -1,    65,    66,    -1,    68,    -1,    -1,
9743       71,    72,    -1,    74,    75,    -1,    -1,    78,    79,    80,
9744       81,    82,    83,    -1,    85,    86,    87,    88,    -1,    -1,
9745       91,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
9746       -1,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
9747      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
9748      121,    -1,   123,   124,     1,    -1,     3,     4,     5,    -1,
9749      131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9751       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9752       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9753       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
9755       -1,    68,    -1,    -1,    71,    72,    -1,    74,    75,    -1,
9756       -1,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
9757       87,    88,    -1,    -1,    91,    92,    93,    94,    -1,    96,
9758       -1,    98,    99,   100,    -1,   102,   103,   104,   105,   106,
9759      107,   108,    -1,   110,   111,   112,   113,   114,   115,   116,
9760      117,   118,    -1,     1,   121,     3,   123,   124,    -1,    -1,
9761       -1,    -1,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
9762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9763       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
9764       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9765       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,
9767       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9768       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9770       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9771        3,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
9772      118,    -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,
9773       -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,    32,
9774       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9775       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9777       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9778       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
9779       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9780       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9781       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
9782      113,   114,   115,   116,   117,   118,     3,    -1,   121,    -1,
9783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   132,
9784       -1,   134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9785       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9786       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9787       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9790       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9791       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9792       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9793       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9794      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9795       -1,    -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9796       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9797       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9799       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9800       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9801       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9803       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9804      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9805       -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,
9806      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9807       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9808       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9811       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9812       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9813       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9814       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9815      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9816       -1,   128,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9817       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9818       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9820       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9821       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9822       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9823       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9824       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9825      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9827      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9828       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9829       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9832       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9833       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9834       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
9835       -1,     3,    -1,   110,   111,   112,   113,   114,   115,   116,
9836      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9837       -1,    -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,
9838       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
9839       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
9840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9841       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
9842       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
9843       -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
9844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
9845       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   110,   111,
9846      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
9847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9848      132,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9849       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9850       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9853       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
9854       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9855       -1,    -1,    -1,   100,    -1,     3,    -1,    -1,    -1,    -1,
9856       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
9857      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9858       28,    -1,    -1,    -1,    -1,   132,    34,    35,    36,    37,
9859       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
9860       48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,
9862       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
9863       -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,    87,
9864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9865       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9866        3,    -1,   110,   111,   112,   113,   114,   115,    -1,    -1,
9867      118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,    -1,
9868       -1,    -1,    -1,    -1,   132,    28,    29,    30,    31,    32,
9869       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
9870       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
9871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9872       -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,    -1,
9873       -1,    74,    75,    76,    77,    -1,    79,    -1,    -1,    82,
9874       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
9875       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,
9876       -1,    -1,   105,     3,    -1,    -1,    -1,   110,   111,   112,
9877      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
9878       -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,    28,    29,
9879       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9880       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9881       50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9882       -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
9883       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,    79,
9884       -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9886      100,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
9887      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9888       -1,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,    -1,
9889      130,    28,    29,    30,    31,    32,    33,    34,    35,    36,
9890       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
9891       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
9892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
9893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
9894       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
9895       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9896       -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,     3,
9897       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
9898      117,   118,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
9899       -1,    -1,    -1,   130,    28,    29,    30,    31,    32,    33,
9900       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
9901       44,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
9902       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9903       -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9904       74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,
9905       -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
9906       -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,
9907        1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
9908      114,   115,   116,   117,   118,    -1,    -1,   121,    -1,    -1,
9909       -1,    -1,    -1,    -1,    -1,    -1,   130,    28,    29,    30,
9910       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9911       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9913       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9914       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9915       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9917        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9918      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9919       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9920       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9921       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9922       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9923       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9924       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9925       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9927        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9928      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9929       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9930       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9931       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9933       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9934       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9935       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9936       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9937        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9938      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9939       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9940       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9941       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9943       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9944       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9945       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9947        1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
9948      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9949       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9950       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9951       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9953       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9954       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9955       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
9956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9957        0,     1,    -1,     3,    -1,    -1,    -1,    -1,    -1,   110,
9958      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9959       -1,    -1,    -1,    -1,    -1,    -1,   127,    -1,    28,    29,
9960       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
9961       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
9962       50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
9963       -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,
9964       -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,    79,
9965       80,    81,    82,    83,    -1,    85,    86,    87,    -1,    -1,
9966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9967      100,   101,     3,    -1,    -1,   105,    -1,    -1,    -1,    -1,
9968      110,   111,   112,   113,   114,   115,   116,   117,   118,    -1,
9969       -1,   121,    -1,    -1,   124,    -1,    -1,    28,    29,    30,
9970       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9971       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9973       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9974       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9975       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9977       -1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9978      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9979       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9980       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9981       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9983       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9984       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9985       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9987       -1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9988      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9989       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
9990       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
9991       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
9992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
9993       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
9994       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
9995       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
9996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
9997        1,    -1,     3,    -1,    -1,    -1,   107,    -1,    -1,   110,
9998      111,   112,   113,   114,   115,   116,   117,    -1,    -1,    -1,
9999       -1,    -1,    -1,    -1,    -1,    -1,   127,    28,    29,    30,
10000       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10001       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10003       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10004       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10005       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,   100,
10007        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10008      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10009      121,    -1,    -1,   124,    -1,    28,    29,    30,    31,    32,
10010       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10011       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10013       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10014       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10015       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10016       -1,    -1,    -1,    -1,    -1,    -1,     1,   100,     3,    -1,
10017       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10018      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    -1,
10019       -1,   124,    -1,    28,    29,    30,    31,    32,    33,    34,
10020       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10021       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10023       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10024       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10025       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10026       -1,    -1,    -1,    -1,     1,   100,     3,    -1,    -1,    -1,
10027       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10028      115,   116,   117,   118,    -1,    -1,   121,    -1,    -1,   124,
10029       -1,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10030       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10031       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10032       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10034       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,    86,
10035       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10036       -1,    -1,    -1,   100,     3,    -1,    -1,    -1,    -1,    -1,
10037       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10038      117,   118,    -1,    -1,   121,    -1,    -1,   124,    -1,    28,
10039       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10040       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10041       49,    50,    -1,    -1,    53,    -1,    -1,    -1,    -1,    -1,
10042       -1,    -1,    -1,    -1,    -1,    -1,    65,    66,    -1,    -1,
10043       -1,    -1,    -1,    -1,    -1,    74,    75,    76,    77,    -1,
10044       79,    80,    81,    82,    83,    -1,    85,    86,    87,    -1,
10045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10046       -1,   100,   101,    -1,     0,     1,   105,     3,    -1,    -1,
10047       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
10048       -1,    -1,   121,    -1,    -1,   124,    -1,    -1,    -1,    -1,
10049       -1,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
10050       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10051       46,    47,    48,    49,    50,    -1,    -1,    53,    -1,    -1,
10052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
10053       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10054       -1,    -1,    -1,    79,    80,    81,    82,    83,    -1,    85,
10055       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10056       -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10057       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10058      116,   117,   118,    -1,    -1,   121,    28,    29,    30,    31,
10059       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10060       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10062       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10063       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10064       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10065       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10067      112,   113,   114,   115,   116,   117,   118,    -1,    -1,   121,
10068      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10069       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10070       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10073       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10074       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10075       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10076       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10077      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10078       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10079       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10081       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10082       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10083       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10084       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10086      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10087      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10088       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10089       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10091       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10092       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10093       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10094       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10095       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10096      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10097       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10098       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10100       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10101       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10102       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10103       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10105      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10106      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10107       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10108       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10111       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10112       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
10113       -1,     3,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10114       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10115      117,    -1,    -1,    -1,    -1,   122,    28,    29,    30,    31,
10116       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
10117       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
10118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10119       -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,    -1,
10120       -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,
10121       82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
10122       -1,    -1,    -1,    -1,     1,    -1,     3,    -1,   100,    -1,
10123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
10124      112,   113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,
10125      122,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10126       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10127       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    66,
10129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10130       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10131       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
10132        3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10133       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10134      117,   118,    -1,    -1,   121,    28,    29,    30,    31,    32,
10135       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10136       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10138       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10139       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10140       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10141       -1,    -1,     1,    -1,     3,    -1,    -1,   100,    -1,    -1,
10142       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10143      113,   114,   115,   116,   117,   118,    -1,    -1,   121,    28,
10144       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10145       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10146       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10147       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10148       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10149       79,    -1,    -1,    -1,    -1,    -1,    85,    86,    87,    -1,
10150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10151       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10152       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10153       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
10154       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10155       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10157       65,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10158       75,    -1,    -1,    -1,    79,    -1,    -1,    82,    83,    -1,
10159       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10160       -1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10161       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10162      115,   116,   117,   118,    -1,    -1,   121,    28,    29,    30,
10163       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10164       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10166       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10167       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10168       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10169       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,   100,
10170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10171      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10172      121,    28,    29,    30,    31,    32,    33,    34,    35,    36,
10173       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
10174       47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
10175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
10176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
10177       -1,    -1,    79,    -1,    -1,    82,    83,    -1,    85,    86,
10178       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10179        3,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
10180       -1,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
10181      117,   118,    -1,    -1,   121,    28,    29,    30,    31,    32,
10182       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
10183       43,    44,    45,    46,    47,    48,    49,    50,    -1,    -1,
10184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10185       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
10186       -1,    74,    75,    -1,    -1,    -1,    79,    -1,    -1,    82,
10187       83,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
10188       -1,    -1,    -1,    -1,     3,    -1,    -1,   100,    -1,    -1,
10189       -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
10190      113,   114,   115,   116,   117,    -1,    -1,    -1,   121,    28,
10191       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
10192       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
10193       49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,
10195       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
10196       79,    -1,    -1,    82,    83,    -1,    85,    86,    87,    -1,
10197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
10198       -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10199       -1,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
10200       -1,    -1,   121,    28,    29,    30,    31,    32,    33,    34,
10201       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
10202       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
10203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10204       -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
10205       75,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
10206       85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10207        1,    -1,     3,    -1,    -1,   100,    -1,    -1,    -1,    -1,
10208       -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,
10209      115,   116,   117,   118,    -1,    -1,   121,    28,    29,    30,
10210       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10211       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10212       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10213       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10214       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10215       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10216        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10218      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10219       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10220       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10221       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10222       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10223       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10224       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10225        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10227      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10228       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10229       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10230       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10231       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10232       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10233       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10234        1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10236      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10237       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10238       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10240       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10241       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10242       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10243       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10245      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10246       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10247       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10248       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10249       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10250       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10251       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10252       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10254      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10255       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10256       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10257       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10258       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10259       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10260       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10261       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10263      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10264       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10265       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10267       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10268       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10269       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10270       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10272      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10273       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10274       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10276       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10277       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10278       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10279       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10280       -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,   110,
10281      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10282       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10283       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10285       -1,    -1,    -1,    -1,    65,    66,    -1,    -1,    -1,    -1,
10286       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10287       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10288       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10290      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10291       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10292       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10293       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10294       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10295       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    80,
10296       81,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10297       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10299      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10300       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10301       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10303       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10304       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10305       -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
10306       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10308      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10309       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10310       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10312       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10313       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10314       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10315       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10317      111,   112,   113,   114,   115,   116,   117,    28,    29,    30,
10318       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
10319       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
10320       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10321       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
10322       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    79,    -1,
10323       -1,    -1,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,
10324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
10325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
10326      111,   112,   113,   114,   115,   116,   117,   118,    -1,    -1,
10327      121,   122,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10328       -1,   132,    28,    29,    30,    31,    32,    33,    34,    35,
10329       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10330       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10332       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10333       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10334       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10335       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10336       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10337      116,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10338       -1,   127,    28,    29,    30,    31,    32,    33,    34,    35,
10339       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10340       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    -1,
10341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10342       66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
10343       -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    85,
10344       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
10345       -1,    -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,
10346       -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
10347      116,   117
10348 };
10349
10350 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
10351    symbol of state STATE-NUM.  */
10352 static const yytype_uint16 yystos[] =
10353 {
10354        0,     3,    28,    29,    30,    31,    32,    33,    34,    35,
10355       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
10356       46,    47,    48,    49,    50,    53,    65,    66,    74,    75,
10357       76,    77,    79,    80,    81,    82,    83,    85,    86,    87,
10358      100,   101,   105,   110,   111,   112,   113,   114,   115,   116,
10359      117,   118,   121,   124,   144,   145,   146,   148,   173,   210,
10360      211,   212,   213,   214,   215,   267,   270,   271,   274,   275,
10361      276,   277,   278,   279,   280,   282,   286,   289,   290,   291,
10362      292,   293,   294,   299,   300,   309,   310,   311,   318,   319,
10363      323,   326,   331,   360,   363,   364,   382,   383,   385,   386,
10364      387,   388,   389,   390,    77,   130,     5,    31,   215,   384,
10365      215,   121,   121,   121,   148,   215,   384,   280,   281,   318,
10366      326,    37,   146,   215,   308,   309,   311,   313,   314,   315,
10367      317,   318,   326,   329,   330,   335,   119,   124,   145,   146,
10368      215,   128,   130,   124,   128,   127,   118,   119,   210,   215,
10369      128,   148,   215,   128,   130,   127,   119,   128,   130,   128,
10370      127,   128,   146,   215,   318,     1,    31,    37,    38,   124,
10371      144,   146,   212,   214,   215,   267,   277,   278,   280,   282,
10372      311,   315,   318,   326,   329,   330,   331,   333,   341,   342,
10373      343,   344,    37,    38,   146,   318,   343,   121,   132,     1,
10374       29,    30,    31,    32,    33,    65,   116,   117,   122,   144,
10375      215,   266,   270,   272,   273,   280,   282,   286,   287,   288,
10376      294,   298,   306,   307,   347,   348,   349,   350,   351,   352,
10377      326,   121,   311,   318,    34,    35,    36,    37,    38,    39,
10378       40,    41,    42,    43,    46,    47,    66,    85,    87,   100,
10379      112,   113,   114,   115,   128,   148,   169,   170,   266,   271,
10380      272,   280,   283,   287,   289,   297,   362,   365,   366,   367,
10381      372,   373,   374,    31,    76,   130,   212,   214,   299,   363,
10382      364,   382,   383,   390,     1,   212,   276,   293,   299,   331,
10383      360,   386,     1,   385,   386,     0,   215,   384,   384,     5,
10384      125,   384,     1,     4,     6,     8,     9,    65,    71,    72,
10385       73,    84,    85,    98,   102,   103,   104,   105,   106,   107,
10386      108,   109,   118,   121,   123,   131,   132,   134,   135,   136,
10387      137,   148,   174,   175,   215,   216,   217,   218,   219,   222,
10388      223,   226,   227,   228,   229,   230,   231,   232,   233,   234,
10389      235,   236,   237,   238,   239,   240,   241,   242,   246,   247,
10390      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
10391      258,   259,   260,   384,   396,   397,   398,   399,   145,   215,
10392      128,   148,   215,   280,   326,   132,   121,   132,   122,   306,
10393      307,   351,   352,   326,   329,   330,   308,   313,   317,   318,
10394      122,   318,   122,   318,   318,    85,   148,   200,   202,   204,
10395      208,   209,   215,   227,   232,   248,   252,   298,   124,   119,
10396      119,   124,     1,    68,    78,    80,    81,    88,    91,    92,
10397       93,    94,    96,    98,    99,   121,   123,   124,   127,   149,
10398      150,   151,   152,   153,   154,   155,   156,   171,   172,   174,
10399      175,   178,   179,   180,   181,   182,   183,   184,   185,   186,
10400      187,   191,   195,   196,   197,   198,   215,   223,   246,   298,
10401      310,   312,   318,   326,   331,   332,   361,    80,    81,   215,
10402      266,   270,   280,   283,   286,   294,   301,   302,     1,   127,
10403      197,   198,   146,   215,     1,   215,   268,   269,     1,   127,
10404      269,   302,    65,   201,   203,   205,   206,   207,   215,   298,
10405        1,   127,   197,   198,   302,     1,   127,   197,   198,     1,
10406      127,   197,   198,   146,   215,   126,   126,   126,   128,   326,
10407      311,   315,   318,     1,   125,   366,   373,   374,   366,   373,
10408      374,     1,   124,   126,   126,   326,   124,   133,   145,   215,
10409      241,   260,   264,   265,   126,   128,   148,   215,   127,   128,
10410      127,   128,   318,    37,   121,   132,   134,   144,   146,   215,
10411      266,   272,   280,   282,   287,   308,   309,   318,   324,   326,
10412      327,   330,     1,   122,   126,     1,   122,   126,     1,   126,
10413        1,   126,   122,   122,   311,   121,   311,   121,   121,     1,
10414      124,     1,   127,     1,    37,    38,   124,   215,   266,   272,
10415      280,   283,   287,   318,   343,   344,     1,   124,     1,   362,
10416      365,   373,   374,   362,   365,    52,    53,    54,    55,    56,
10417       57,    58,    59,    60,    61,    62,    85,    86,    88,    89,
10418       90,   124,   130,   148,   192,   193,   194,   215,   223,   227,
10419      242,   244,   248,   260,   261,   262,   323,   353,   354,   357,
10420      358,   359,   366,   367,   368,   369,   370,   371,   373,   374,
10421      376,   377,   378,   379,   380,   381,   127,    31,   215,   384,
10422      215,   210,   211,   213,   214,   308,   309,   315,   318,   326,
10423      331,   333,   366,   374,   212,   299,   125,   240,   241,   259,
10424      122,   121,   227,   248,   121,   227,   248,   227,   248,   121,
10425      215,   266,   272,   280,   283,   287,   305,   264,   121,   121,
10426      305,   264,   121,   121,   121,   121,   121,   121,   227,   248,
10427      122,   242,   244,   262,   272,   280,   282,   287,   295,   345,
10428      384,   128,   133,   176,   177,   220,   224,   242,   128,     1,
10429      127,   128,   215,     1,     7,     8,     9,   121,   129,   132,
10430       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
10431      125,   243,   177,   220,   221,   229,   249,   118,   138,   139,
10432      135,   136,    10,    11,   232,   252,    12,    13,   119,   120,
10433       14,    15,   134,   140,   141,    16,    17,   142,   243,   122,
10434        7,     8,     9,   121,   129,   132,   243,   118,   138,   139,
10435      135,   136,    10,    11,    12,    13,   119,   120,    14,    15,
10436      134,   140,   141,    16,    17,   142,   243,   122,   122,   107,
10437      215,   298,   391,   394,   395,   128,   128,   133,   145,   264,
10438      265,   133,   145,   264,   265,   122,   122,   122,   122,   308,
10439      313,   317,   122,   122,   308,    11,   120,   126,   125,   121,
10440      318,   326,   327,    65,   207,   215,   298,   207,     1,   215,
10441      266,   280,   283,   294,   303,   298,   331,   332,   121,   148,
10442      215,   215,   298,     1,   121,   303,   118,   121,   215,   298,
10443      124,   323,   373,   374,   373,   374,   373,   124,   373,   374,
10444      124,     1,   127,     1,     1,   124,   126,   126,    69,    70,
10445       91,    95,    97,   127,    69,    70,   127,   124,     1,   195,
10446      196,     1,   195,   196,     1,   125,   121,   130,   215,   284,
10447      285,   308,   314,   316,   318,   326,   333,   334,   335,     1,
10448      298,   306,   349,   326,   312,   318,   121,   130,   155,   156,
10449      171,   172,   174,   175,   184,   215,   298,   119,   148,   215,
10450      215,   266,   280,   283,   119,   119,   125,   126,     1,   124,
10451      128,    28,   147,   215,   120,   126,   125,   215,   327,   329,
10452      341,   341,   341,   124,   126,   127,   157,   158,   159,   160,
10453      161,   162,   163,   164,   165,   166,   167,   168,   220,   221,
10454      223,   241,   260,   297,   338,   339,   308,   311,   313,   315,
10455      317,   308,   315,   128,   242,   261,   336,   337,   373,   374,
10456      373,   374,   341,   342,   341,   342,   133,   133,   133,    51,
10457      347,   348,     1,   269,   128,   128,     1,   127,   197,   198,
10458        1,   127,   197,   198,   128,   122,   215,   306,   307,   318,
10459      326,   327,   351,   352,   133,   145,   264,   265,   318,   326,
10460      330,   326,   121,   132,   324,     1,     1,   126,     1,    51,
10461      215,   347,   348,   126,     1,    51,   215,   347,   348,   126,
10462        1,    51,   215,   347,   348,   126,    51,   215,   347,   348,
10463        3,    28,    44,    74,    75,   122,   320,   321,   322,   242,
10464      145,   215,   127,   128,   124,   124,   130,   264,   265,   130,
10465      121,   121,     1,   121,    52,    53,    54,    56,    57,    58,
10466       59,    62,    86,   215,   262,   323,   353,   376,   380,   121,
10467      215,   124,   124,   124,   220,   221,   244,   262,   121,   280,
10468      121,   121,   188,   215,   124,   124,   124,   130,   129,   243,
10469        1,   129,   124,   126,   244,   262,   243,   122,   126,   244,
10470        1,   368,   369,   368,   369,   353,   354,   362,   365,   353,
10471      354,   362,   365,     1,     1,   384,   384,   146,   215,   128,
10472      128,   326,   315,   318,   366,   374,   366,   374,   374,   241,
10473      142,   124,   142,    65,   144,   215,   272,   280,   282,   287,
10474      296,   346,   215,   297,   119,   121,   132,   215,   266,   272,
10475      280,   283,   287,   318,   325,   326,   328,   215,   266,   272,
10476      280,   283,   287,   304,   244,   345,   373,   215,   132,   328,
10477      304,   242,   384,   384,   384,   242,   346,   122,   215,   272,
10478      280,   282,   287,   327,   122,   129,     1,   167,   168,     1,
10479      127,   126,   133,     1,   167,   168,   127,     1,   167,   168,
10480        1,   215,   122,   221,   224,   225,   261,     1,   215,   244,
10481      262,   220,   242,     1,   229,   249,   229,   249,   229,   249,
10482      230,   250,   230,   250,   231,   251,   231,   251,   232,   252,
10483      232,   252,   232,   252,   220,   221,   234,   253,   220,   221,
10484      234,   253,   220,   221,   235,   254,   220,   221,   236,   255,
10485      220,   221,   237,   256,   238,   257,   239,   258,   130,   220,
10486      221,   244,   245,   262,   263,   220,   242,     1,   215,   122,
10487      224,   225,     1,   215,   244,   262,   220,   242,   229,   249,
10488      229,   249,   229,   249,   230,   250,   230,   250,   231,   251,
10489      231,   251,   232,   252,   232,   252,   232,   252,   232,   252,
10490      220,   221,   234,   253,   220,   221,   234,   253,   220,   221,
10491      235,   254,   220,   221,   236,   255,   220,   221,   237,   256,
10492      238,   257,   239,   258,   130,   244,   245,   262,   263,   220,
10493      242,   119,   120,   215,   392,   393,   215,   127,   391,   394,
10494      395,   395,   133,   133,   133,   133,   133,   133,   208,   200,
10495      202,   204,   215,   318,   326,   120,   125,   327,   120,   128,
10496      119,   128,   215,   266,   280,   283,   327,   318,   326,   333,
10497      334,   188,   285,   308,   318,   326,   128,   215,   128,   215,
10498      327,   215,   318,   121,   124,   127,   178,   179,   178,   179,
10499      373,   373,   373,   217,   373,   373,     1,   338,   339,   122,
10500      264,   265,   128,   126,     1,   298,   306,   349,   326,   308,
10501      316,   318,   130,   323,   215,   121,   312,   312,   215,     1,
10502        1,   285,   209,   119,   207,   207,   264,   265,   268,   197,
10503      198,     1,   127,   269,   125,   130,   125,   130,   206,   202,
10504      215,   125,   215,   125,   373,   374,     1,   124,   126,   124,
10505      126,   124,   159,   160,   163,   164,   165,   127,   157,   160,
10506      124,   127,   159,   160,   163,   164,   165,   125,    37,   333,
10507      334,   335,   336,   337,   340,     1,   127,   269,     1,   127,
10508      269,     1,   127,   197,   198,   318,   326,   327,   122,   122,
10509      122,   133,   133,   133,   326,   324,   122,   351,   352,   133,
10510      145,   264,   265,   347,   348,   298,   347,   347,   347,   348,
10511      122,   121,   122,   126,   321,   122,   122,   122,     1,   167,
10512      168,   353,   354,   362,   365,   130,   130,   353,   354,   362,
10513      365,   244,   262,   244,   262,   122,   244,   262,   130,   264,
10514      265,   130,   121,   121,   353,   121,   221,   262,   121,   130,
10515       56,     1,   122,   124,   215,   244,   262,   375,   124,   124,
10516      124,   124,   124,   384,   121,   242,   242,   215,   353,   354,
10517      362,   365,    90,   221,   261,    88,    89,    90,   242,   261,
10518      221,   261,   242,   261,   119,   315,   374,   374,   124,   244,
10519      245,   262,   263,   244,   245,   262,   263,   144,   145,   144,
10520      272,   280,   282,   287,   327,   122,   122,   122,   327,   209,
10521      122,   318,   328,   351,   352,   264,   265,   119,   326,   121,
10522      325,   132,   119,   132,   215,   266,   272,   280,   283,   287,
10523      328,   122,   122,   122,   122,   264,   265,   132,   132,   328,
10524      126,   122,   126,   126,   126,   122,   229,   249,   384,     1,
10525      127,   220,   242,     1,     1,   122,   126,   122,   133,   133,
10526        1,   126,   130,   130,   126,   130,   130,   122,   133,   133,
10527      130,   130,   130,   130,   215,   215,   124,   126,   215,   384,
10528      127,   127,   318,   326,   202,   209,   119,   128,   128,   215,
10529      326,   318,   122,   326,   308,   122,   128,   128,   215,   122,
10530        1,   167,   168,   284,   318,   215,   121,   308,   316,   316,
10531      264,   265,   121,   122,   120,   209,   120,   120,   124,     1,
10532      124,   200,   199,   298,   200,   199,   204,   125,   128,     1,
10533      161,   162,     1,   161,   162,   374,     1,   338,   339,   126,
10534      127,   336,   337,     1,   124,     1,   124,   326,   324,   122,
10535      122,   122,   133,   133,   133,   327,   330,   244,   122,   321,
10536        1,   353,   354,   362,   365,   353,   354,   362,   365,   122,
10537      122,   122,   122,     1,   353,   122,   244,   353,   354,   130,
10538      130,   262,   122,   244,   262,    56,   262,   375,   384,   121,
10539      353,   130,   124,     1,   124,     1,   122,   262,   375,     3,
10540      122,   130,   384,   122,   122,   126,   121,   121,   188,   130,
10541      130,   130,   130,   130,   130,   130,   130,   122,   122,     1,
10542      122,   120,   318,   326,   328,   122,   122,   122,   133,   133,
10543      209,   325,   122,   351,   352,   264,   265,   209,   264,   265,
10544      119,   132,   121,   336,   133,   133,   264,   265,   264,   265,
10545      132,   345,   215,   215,   242,     1,   221,   261,   220,   221,
10546      220,   221,   241,   259,   220,   221,   241,   259,   220,   221,
10547      220,   221,   241,   259,   220,   221,   241,   259,   220,   221,
10548      241,   259,   220,   221,   241,   259,   220,   221,   241,   259,
10549      220,   221,   241,   259,   392,   124,   124,   120,   209,   128,
10550      373,   308,   125,   128,     1,   121,   130,   130,   120,   197,
10551      198,   124,   197,   198,   125,   327,   125,   204,   340,   127,
10552      336,   337,     1,   197,   198,   197,   198,   122,   353,   353,
10553      353,   353,   353,   354,   122,   121,   375,   122,   244,   262,
10554      244,   353,     1,   122,   244,   262,   132,   355,   356,   384,
10555      124,   356,     3,   122,   130,   128,   188,   242,   242,     1,
10556        1,   325,   122,   120,   122,   122,   133,   133,   120,   133,
10557      133,   209,   264,   265,   345,   133,   133,   133,   133,   264,
10558      265,   122,   122,   122,   122,   120,   338,   264,   265,   264,
10559      265,   197,   198,   200,   200,   126,   127,     1,    64,    64,
10560      244,   262,   122,   244,   262,   122,   124,   122,   124,   353,
10561      354,   122,   353,   354,   215,   122,   126,   130,   121,     3,
10562      122,   130,   356,   124,   356,    73,   188,   189,   190,   122,
10563      122,   122,   126,   120,   133,   133,   122,   133,   133,   124,
10564      127,   353,   353,   122,   122,   124,   353,   244,   353,   354,
10565      133,   124,   355,   356,   242,   356,   124,   356,   122,   130,
10566        3,   122,   130,   373,   373,   127,   189,   128,   188,   229,
10567      249,   336,   122,   384,   122,   122,   122,   122,   130,   124,
10568      356,   356,   124,   356,   190,   122,   353,   121,   124,   124,
10569      124,   356,   122,   122,   122,   130,   127,   242,   122,   124,
10570      124,   124,   356,   122,   124,   122,   124
10571 };
10572
10573 #define yyerrok         (yyerrstatus = 0)
10574 #define yyclearin       (yychar = YYEMPTY)
10575 #define YYEMPTY         (-2)
10576 #define YYEOF           0
10577
10578 #define YYACCEPT        goto yyacceptlab
10579 #define YYABORT         goto yyabortlab
10580 #define YYERROR         goto yyerrorlab
10581
10582
10583 /* Like YYERROR except do call yyerror.  This remains here temporarily
10584    to ease the transition to the new meaning of YYERROR, for GCC.
10585    Once GCC version 2 has supplanted version 1, this can go.  However,
10586    YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
10587    in Bison 2.4.2's NEWS entry, where a plan to phase it out is
10588    discussed.  */
10589
10590 #define YYFAIL          goto yyerrlab
10591 #if defined YYFAIL
10592   /* This is here to suppress warnings from the GCC cpp's
10593      -Wunused-macros.  Normally we don't worry about that warning, but
10594      some users do, and we want to make it easy for users to remove
10595      YYFAIL uses, which will produce warnings from Bison 2.5.  */
10596 #endif
10597
10598 #define YYRECOVERING()  (!!yyerrstatus)
10599
10600 #define YYBACKUP(Token, Value)                                  \
10601 do                                                              \
10602   if (yychar == YYEMPTY && yylen == 1)                          \
10603     {                                                           \
10604       yychar = (Token);                                         \
10605       yylval = (Value);                                         \
10606       yytoken = YYTRANSLATE (yychar);                           \
10607       YYPOPSTACK (1);                                           \
10608       goto yybackup;                                            \
10609     }                                                           \
10610   else                                                          \
10611     {                                                           \
10612       yyerror (YY_("syntax error: cannot back up")); \
10613       YYERROR;                                                  \
10614     }                                                           \
10615 while (YYID (0))
10616
10617
10618 #define YYTERROR        1
10619 #define YYERRCODE       256
10620
10621
10622 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
10623    If N is 0, then set CURRENT to the empty location which ends
10624    the previous symbol: RHS[0] (always defined).  */
10625
10626 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
10627 #ifndef YYLLOC_DEFAULT
10628 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
10629     do                                                                  \
10630       if (YYID (N))                                                    \
10631         {                                                               \
10632           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
10633           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
10634           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
10635           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
10636         }                                                               \
10637       else                                                              \
10638         {                                                               \
10639           (Current).first_line   = (Current).last_line   =              \
10640             YYRHSLOC (Rhs, 0).last_line;                                \
10641           (Current).first_column = (Current).last_column =              \
10642             YYRHSLOC (Rhs, 0).last_column;                              \
10643         }                                                               \
10644     while (YYID (0))
10645 #endif
10646
10647
10648 /* YY_LOCATION_PRINT -- Print the location on the stream.
10649    This macro was not mandated originally: define only if we know
10650    we won't break user code: when these are the locations we know.  */
10651
10652 #ifndef YY_LOCATION_PRINT
10653 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
10654 #  define YY_LOCATION_PRINT(File, Loc)                  \
10655      fprintf (File, "%d.%d-%d.%d",                      \
10656               (Loc).first_line, (Loc).first_column,     \
10657               (Loc).last_line,  (Loc).last_column)
10658 # else
10659 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
10660 # endif
10661 #endif
10662
10663
10664 /* YYLEX -- calling `yylex' with the right arguments.  */
10665
10666 #ifdef YYLEX_PARAM
10667 # define YYLEX yylex (YYLEX_PARAM)
10668 #else
10669 # define YYLEX yylex ()
10670 #endif
10671
10672 /* Enable debugging if requested.  */
10673 #if YYDEBUG
10674
10675 # ifndef YYFPRINTF
10676 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
10677 #  define YYFPRINTF fprintf
10678 # endif
10679
10680 # define YYDPRINTF(Args)                        \
10681 do {                                            \
10682   if (yydebug)                                  \
10683     YYFPRINTF Args;                             \
10684 } while (YYID (0))
10685
10686 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
10687 do {                                                                      \
10688   if (yydebug)                                                            \
10689     {                                                                     \
10690       YYFPRINTF (stderr, "%s ", Title);                                   \
10691       yy_symbol_print (stderr,                                            \
10692                   Type, Value, Location); \
10693       YYFPRINTF (stderr, "\n");                                           \
10694     }                                                                     \
10695 } while (YYID (0))
10696
10697
10698 /*--------------------------------.
10699 | Print this symbol on YYOUTPUT.  |
10700 `--------------------------------*/
10701
10702 /*ARGSUSED*/
10703 #if (defined __STDC__ || defined __C99__FUNC__ \
10704      || defined __cplusplus || defined _MSC_VER)
10705 static void
10706 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10707 #else
10708 static void
10709 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
10710     FILE *yyoutput;
10711     int yytype;
10712     YYSTYPE const * const yyvaluep;
10713     YYLTYPE const * const yylocationp;
10714 #endif
10715 {
10716   if (!yyvaluep)
10717     return;
10718   YYUSE (yylocationp);
10719 # ifdef YYPRINT
10720   if (yytype < YYNTOKENS)
10721     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
10722 # else
10723   YYUSE (yyoutput);
10724 # endif
10725   switch (yytype)
10726     {
10727       default:
10728         break;
10729     }
10730 }
10731
10732
10733 /*--------------------------------.
10734 | Print this symbol on YYOUTPUT.  |
10735 `--------------------------------*/
10736
10737 #if (defined __STDC__ || defined __C99__FUNC__ \
10738      || defined __cplusplus || defined _MSC_VER)
10739 static void
10740 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
10741 #else
10742 static void
10743 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
10744     FILE *yyoutput;
10745     int yytype;
10746     YYSTYPE const * const yyvaluep;
10747     YYLTYPE const * const yylocationp;
10748 #endif
10749 {
10750   if (yytype < YYNTOKENS)
10751     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
10752   else
10753     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
10754
10755   YY_LOCATION_PRINT (yyoutput, *yylocationp);
10756   YYFPRINTF (yyoutput, ": ");
10757   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
10758   YYFPRINTF (yyoutput, ")");
10759 }
10760
10761 /*------------------------------------------------------------------.
10762 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
10763 | TOP (included).                                                   |
10764 `------------------------------------------------------------------*/
10765
10766 #if (defined __STDC__ || defined __C99__FUNC__ \
10767      || defined __cplusplus || defined _MSC_VER)
10768 static void
10769 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
10770 #else
10771 static void
10772 yy_stack_print (yybottom, yytop)
10773     yytype_int16 *yybottom;
10774     yytype_int16 *yytop;
10775 #endif
10776 {
10777   YYFPRINTF (stderr, "Stack now");
10778   for (; yybottom <= yytop; yybottom++)
10779     {
10780       int yybot = *yybottom;
10781       YYFPRINTF (stderr, " %d", yybot);
10782     }
10783   YYFPRINTF (stderr, "\n");
10784 }
10785
10786 # define YY_STACK_PRINT(Bottom, Top)                            \
10787 do {                                                            \
10788   if (yydebug)                                                  \
10789     yy_stack_print ((Bottom), (Top));                           \
10790 } while (YYID (0))
10791
10792
10793 /*------------------------------------------------.
10794 | Report that the YYRULE is going to be reduced.  |
10795 `------------------------------------------------*/
10796
10797 #if (defined __STDC__ || defined __C99__FUNC__ \
10798      || defined __cplusplus || defined _MSC_VER)
10799 static void
10800 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
10801 #else
10802 static void
10803 yy_reduce_print (yyvsp, yylsp, yyrule)
10804     YYSTYPE *yyvsp;
10805     YYLTYPE *yylsp;
10806     int yyrule;
10807 #endif
10808 {
10809   int yynrhs = yyr2[yyrule];
10810   int yyi;
10811   unsigned long int yylno = yyrline[yyrule];
10812   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
10813              yyrule - 1, yylno);
10814   /* The symbols being reduced.  */
10815   for (yyi = 0; yyi < yynrhs; yyi++)
10816     {
10817       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
10818       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
10819                        &(yyvsp[(yyi + 1) - (yynrhs)])
10820                        , &(yylsp[(yyi + 1) - (yynrhs)])                );
10821       YYFPRINTF (stderr, "\n");
10822     }
10823 }
10824
10825 # define YY_REDUCE_PRINT(Rule)          \
10826 do {                                    \
10827   if (yydebug)                          \
10828     yy_reduce_print (yyvsp, yylsp, Rule); \
10829 } while (YYID (0))
10830
10831 /* Nonzero means print parse trace.  It is left uninitialized so that
10832    multiple parsers can coexist.  */
10833 int yydebug;
10834 #else /* !YYDEBUG */
10835 # define YYDPRINTF(Args)
10836 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
10837 # define YY_STACK_PRINT(Bottom, Top)
10838 # define YY_REDUCE_PRINT(Rule)
10839 #endif /* !YYDEBUG */
10840
10841
10842 /* YYINITDEPTH -- initial size of the parser's stacks.  */
10843 #ifndef YYINITDEPTH
10844 # define YYINITDEPTH 200
10845 #endif
10846
10847 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
10848    if the built-in stack extension method is used).
10849
10850    Do not make this value too large; the results are undefined if
10851    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
10852    evaluated with infinite-precision integer arithmetic.  */
10853
10854 #ifndef YYMAXDEPTH
10855 # define YYMAXDEPTH 10000
10856 #endif
10857
10858 \f
10859
10860 #if YYERROR_VERBOSE
10861
10862 # ifndef yystrlen
10863 #  if defined __GLIBC__ && defined _STRING_H
10864 #   define yystrlen strlen
10865 #  else
10866 /* Return the length of YYSTR.  */
10867 #if (defined __STDC__ || defined __C99__FUNC__ \
10868      || defined __cplusplus || defined _MSC_VER)
10869 static YYSIZE_T
10870 yystrlen (const char *yystr)
10871 #else
10872 static YYSIZE_T
10873 yystrlen (yystr)
10874     const char *yystr;
10875 #endif
10876 {
10877   YYSIZE_T yylen;
10878   for (yylen = 0; yystr[yylen]; yylen++)
10879     continue;
10880   return yylen;
10881 }
10882 #  endif
10883 # endif
10884
10885 # ifndef yystpcpy
10886 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
10887 #   define yystpcpy stpcpy
10888 #  else
10889 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
10890    YYDEST.  */
10891 #if (defined __STDC__ || defined __C99__FUNC__ \
10892      || defined __cplusplus || defined _MSC_VER)
10893 static char *
10894 yystpcpy (char *yydest, const char *yysrc)
10895 #else
10896 static char *
10897 yystpcpy (yydest, yysrc)
10898     char *yydest;
10899     const char *yysrc;
10900 #endif
10901 {
10902   char *yyd = yydest;
10903   const char *yys = yysrc;
10904
10905   while ((*yyd++ = *yys++) != '\0')
10906     continue;
10907
10908   return yyd - 1;
10909 }
10910 #  endif
10911 # endif
10912
10913 # ifndef yytnamerr
10914 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
10915    quotes and backslashes, so that it's suitable for yyerror.  The
10916    heuristic is that double-quoting is unnecessary unless the string
10917    contains an apostrophe, a comma, or backslash (other than
10918    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
10919    null, do not copy; instead, return the length of what the result
10920    would have been.  */
10921 static YYSIZE_T
10922 yytnamerr (char *yyres, const char *yystr)
10923 {
10924   if (*yystr == '"')
10925     {
10926       YYSIZE_T yyn = 0;
10927       char const *yyp = yystr;
10928
10929       for (;;)
10930         switch (*++yyp)
10931           {
10932           case '\'':
10933           case ',':
10934             goto do_not_strip_quotes;
10935
10936           case '\\':
10937             if (*++yyp != '\\')
10938               goto do_not_strip_quotes;
10939             /* Fall through.  */
10940           default:
10941             if (yyres)
10942               yyres[yyn] = *yyp;
10943             yyn++;
10944             break;
10945
10946           case '"':
10947             if (yyres)
10948               yyres[yyn] = '\0';
10949             return yyn;
10950           }
10951     do_not_strip_quotes: ;
10952     }
10953
10954   if (! yyres)
10955     return yystrlen (yystr);
10956
10957   return yystpcpy (yyres, yystr) - yyres;
10958 }
10959 # endif
10960
10961 /* Copy into YYRESULT an error message about the unexpected token
10962    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
10963    including the terminating null byte.  If YYRESULT is null, do not
10964    copy anything; just return the number of bytes that would be
10965    copied.  As a special case, return 0 if an ordinary "syntax error"
10966    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
10967    size calculation.  */
10968 static YYSIZE_T
10969 yysyntax_error (char *yyresult, int yystate, int yychar)
10970 {
10971   int yyn = yypact[yystate];
10972
10973   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
10974     return 0;
10975   else
10976     {
10977       int yytype = YYTRANSLATE (yychar);
10978       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
10979       YYSIZE_T yysize = yysize0;
10980       YYSIZE_T yysize1;
10981       int yysize_overflow = 0;
10982       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
10983       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
10984       int yyx;
10985
10986 # if 0
10987       /* This is so xgettext sees the translatable formats that are
10988          constructed on the fly.  */
10989       YY_("syntax error, unexpected %s");
10990       YY_("syntax error, unexpected %s, expecting %s");
10991       YY_("syntax error, unexpected %s, expecting %s or %s");
10992       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
10993       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
10994 # endif
10995       char *yyfmt;
10996       char const *yyf;
10997       static char const yyunexpected[] = "syntax error, unexpected %s";
10998       static char const yyexpecting[] = ", expecting %s";
10999       static char const yyor[] = " or %s";
11000       char yyformat[sizeof yyunexpected
11001                     + sizeof yyexpecting - 1
11002                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
11003                        * (sizeof yyor - 1))];
11004       char const *yyprefix = yyexpecting;
11005
11006       /* Start YYX at -YYN if negative to avoid negative indexes in
11007          YYCHECK.  */
11008       int yyxbegin = yyn < 0 ? -yyn : 0;
11009
11010       /* Stay within bounds of both yycheck and yytname.  */
11011       int yychecklim = YYLAST - yyn + 1;
11012       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
11013       int yycount = 1;
11014
11015       yyarg[0] = yytname[yytype];
11016       yyfmt = yystpcpy (yyformat, yyunexpected);
11017
11018       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
11019         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
11020           {
11021             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
11022               {
11023                 yycount = 1;
11024                 yysize = yysize0;
11025                 yyformat[sizeof yyunexpected - 1] = '\0';
11026                 break;
11027               }
11028             yyarg[yycount++] = yytname[yyx];
11029             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
11030             yysize_overflow |= (yysize1 < yysize);
11031             yysize = yysize1;
11032             yyfmt = yystpcpy (yyfmt, yyprefix);
11033             yyprefix = yyor;
11034           }
11035
11036       yyf = YY_(yyformat);
11037       yysize1 = yysize + yystrlen (yyf);
11038       yysize_overflow |= (yysize1 < yysize);
11039       yysize = yysize1;
11040
11041       if (yysize_overflow)
11042         return YYSIZE_MAXIMUM;
11043
11044       if (yyresult)
11045         {
11046           /* Avoid sprintf, as that infringes on the user's name space.
11047              Don't have undefined behavior even if the translation
11048              produced a string with the wrong number of "%s"s.  */
11049           char *yyp = yyresult;
11050           int yyi = 0;
11051           while ((*yyp = *yyf) != '\0')
11052             {
11053               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
11054                 {
11055                   yyp += yytnamerr (yyp, yyarg[yyi++]);
11056                   yyf += 2;
11057                 }
11058               else
11059                 {
11060                   yyp++;
11061                   yyf++;
11062                 }
11063             }
11064         }
11065       return yysize;
11066     }
11067 }
11068 #endif /* YYERROR_VERBOSE */
11069 \f
11070
11071 /*-----------------------------------------------.
11072 | Release the memory associated to this symbol.  |
11073 `-----------------------------------------------*/
11074
11075 /*ARGSUSED*/
11076 #if (defined __STDC__ || defined __C99__FUNC__ \
11077      || defined __cplusplus || defined _MSC_VER)
11078 static void
11079 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
11080 #else
11081 static void
11082 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
11083     const char *yymsg;
11084     int yytype;
11085     YYSTYPE *yyvaluep;
11086     YYLTYPE *yylocationp;
11087 #endif
11088 {
11089   YYUSE (yyvaluep);
11090   YYUSE (yylocationp);
11091
11092   if (!yymsg)
11093     yymsg = "Deleting";
11094   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
11095
11096   switch (yytype)
11097     {
11098       case 144: /* "guess_type" */
11099
11100 /* Line 1009 of yacc.c  */
11101 #line 212 "grammar.y"
11102         { FreeSpecifier((yyvaluep->specifier)); };
11103
11104 /* Line 1009 of yacc.c  */
11105 #line 11106 "grammar.ec"
11106         break;
11107       case 145: /* "type" */
11108
11109 /* Line 1009 of yacc.c  */
11110 #line 212 "grammar.y"
11111         { FreeSpecifier((yyvaluep->specifier)); };
11112
11113 /* Line 1009 of yacc.c  */
11114 #line 11115 "grammar.ec"
11115         break;
11116       case 146: /* "base_strict_type" */
11117
11118 /* Line 1009 of yacc.c  */
11119 #line 212 "grammar.y"
11120         { FreeSpecifier((yyvaluep->specifier)); };
11121
11122 /* Line 1009 of yacc.c  */
11123 #line 11124 "grammar.ec"
11124         break;
11125       case 147: /* "base_strict_type_name" */
11126
11127 /* Line 1009 of yacc.c  */
11128 #line 247 "grammar.y"
11129         { delete (yyvaluep->string); };
11130
11131 /* Line 1009 of yacc.c  */
11132 #line 11133 "grammar.ec"
11133         break;
11134       case 148: /* "strict_type" */
11135
11136 /* Line 1009 of yacc.c  */
11137 #line 212 "grammar.y"
11138         { FreeSpecifier((yyvaluep->specifier)); };
11139
11140 /* Line 1009 of yacc.c  */
11141 #line 11142 "grammar.ec"
11142         break;
11143       case 149: /* "class_function_definition_start" */
11144
11145 /* Line 1009 of yacc.c  */
11146 #line 239 "grammar.y"
11147         { FreeClassFunction((yyvaluep->classFunction)); };
11148
11149 /* Line 1009 of yacc.c  */
11150 #line 11151 "grammar.ec"
11151         break;
11152       case 150: /* "constructor_function_definition_start" */
11153
11154 /* Line 1009 of yacc.c  */
11155 #line 239 "grammar.y"
11156         { FreeClassFunction((yyvaluep->classFunction)); };
11157
11158 /* Line 1009 of yacc.c  */
11159 #line 11160 "grammar.ec"
11160         break;
11161       case 151: /* "destructor_function_definition_start" */
11162
11163 /* Line 1009 of yacc.c  */
11164 #line 239 "grammar.y"
11165         { FreeClassFunction((yyvaluep->classFunction)); };
11166
11167 /* Line 1009 of yacc.c  */
11168 #line 11169 "grammar.ec"
11169         break;
11170       case 152: /* "virtual_class_function_definition_start" */
11171
11172 /* Line 1009 of yacc.c  */
11173 #line 239 "grammar.y"
11174         { FreeClassFunction((yyvaluep->classFunction)); };
11175
11176 /* Line 1009 of yacc.c  */
11177 #line 11178 "grammar.ec"
11178         break;
11179       case 153: /* "class_function_definition_start_error" */
11180
11181 /* Line 1009 of yacc.c  */
11182 #line 239 "grammar.y"
11183         { FreeClassFunction((yyvaluep->classFunction)); };
11184
11185 /* Line 1009 of yacc.c  */
11186 #line 11187 "grammar.ec"
11187         break;
11188       case 154: /* "virtual_class_function_definition_start_error" */
11189
11190 /* Line 1009 of yacc.c  */
11191 #line 239 "grammar.y"
11192         { FreeClassFunction((yyvaluep->classFunction)); };
11193
11194 /* Line 1009 of yacc.c  */
11195 #line 11196 "grammar.ec"
11196         break;
11197       case 155: /* "class_function_definition" */
11198
11199 /* Line 1009 of yacc.c  */
11200 #line 239 "grammar.y"
11201         { FreeClassFunction((yyvaluep->classFunction)); };
11202
11203 /* Line 1009 of yacc.c  */
11204 #line 11205 "grammar.ec"
11205         break;
11206       case 156: /* "class_function_definition_error" */
11207
11208 /* Line 1009 of yacc.c  */
11209 #line 239 "grammar.y"
11210         { FreeClassFunction((yyvaluep->classFunction)); };
11211
11212 /* Line 1009 of yacc.c  */
11213 #line 11214 "grammar.ec"
11214         break;
11215       case 157: /* "instance_class_function_definition_start" */
11216
11217 /* Line 1009 of yacc.c  */
11218 #line 239 "grammar.y"
11219         { FreeClassFunction((yyvaluep->classFunction)); };
11220
11221 /* Line 1009 of yacc.c  */
11222 #line 11223 "grammar.ec"
11223         break;
11224       case 158: /* "instance_class_function_definition_start_error" */
11225
11226 /* Line 1009 of yacc.c  */
11227 #line 239 "grammar.y"
11228         { FreeClassFunction((yyvaluep->classFunction)); };
11229
11230 /* Line 1009 of yacc.c  */
11231 #line 11232 "grammar.ec"
11232         break;
11233       case 159: /* "instance_class_function_definition" */
11234
11235 /* Line 1009 of yacc.c  */
11236 #line 239 "grammar.y"
11237         { FreeClassFunction((yyvaluep->classFunction)); };
11238
11239 /* Line 1009 of yacc.c  */
11240 #line 11241 "grammar.ec"
11241         break;
11242       case 160: /* "instance_class_function_definition_error" */
11243
11244 /* Line 1009 of yacc.c  */
11245 #line 239 "grammar.y"
11246         { FreeClassFunction((yyvaluep->classFunction)); };
11247
11248 /* Line 1009 of yacc.c  */
11249 #line 11250 "grammar.ec"
11250         break;
11251       case 161: /* "data_member_initialization" */
11252
11253 /* Line 1009 of yacc.c  */
11254 #line 237 "grammar.y"
11255         { FreeMemberInit((yyvaluep->memberInit)); };
11256
11257 /* Line 1009 of yacc.c  */
11258 #line 11259 "grammar.ec"
11259         break;
11260       case 162: /* "data_member_initialization_error" */
11261
11262 /* Line 1009 of yacc.c  */
11263 #line 237 "grammar.y"
11264         { FreeMemberInit((yyvaluep->memberInit)); };
11265
11266 /* Line 1009 of yacc.c  */
11267 #line 11268 "grammar.ec"
11268         break;
11269       case 163: /* "data_member_initialization_list" */
11270
11271 /* Line 1009 of yacc.c  */
11272 #line 262 "grammar.y"
11273         { FreeList((yyvaluep->list), FreeMemberInit); };
11274
11275 /* Line 1009 of yacc.c  */
11276 #line 11277 "grammar.ec"
11277         break;
11278       case 164: /* "data_member_initialization_list_error" */
11279
11280 /* Line 1009 of yacc.c  */
11281 #line 262 "grammar.y"
11282         { FreeList((yyvaluep->list), FreeMemberInit); };
11283
11284 /* Line 1009 of yacc.c  */
11285 #line 11286 "grammar.ec"
11286         break;
11287       case 165: /* "data_member_initialization_list_coloned" */
11288
11289 /* Line 1009 of yacc.c  */
11290 #line 262 "grammar.y"
11291         { FreeList((yyvaluep->list), FreeMemberInit); };
11292
11293 /* Line 1009 of yacc.c  */
11294 #line 11295 "grammar.ec"
11295         break;
11296       case 166: /* "members_initialization_list_coloned" */
11297
11298 /* Line 1009 of yacc.c  */
11299 #line 263 "grammar.y"
11300         { FreeList((yyvaluep->list), FreeMembersInit); };
11301
11302 /* Line 1009 of yacc.c  */
11303 #line 11304 "grammar.ec"
11304         break;
11305       case 167: /* "members_initialization_list" */
11306
11307 /* Line 1009 of yacc.c  */
11308 #line 263 "grammar.y"
11309         { FreeList((yyvaluep->list), FreeMembersInit); };
11310
11311 /* Line 1009 of yacc.c  */
11312 #line 11313 "grammar.ec"
11313         break;
11314       case 168: /* "members_initialization_list_error" */
11315
11316 /* Line 1009 of yacc.c  */
11317 #line 263 "grammar.y"
11318         { FreeList((yyvaluep->list), FreeMembersInit); };
11319
11320 /* Line 1009 of yacc.c  */
11321 #line 11322 "grammar.ec"
11322         break;
11323       case 169: /* "instantiation_named" */
11324
11325 /* Line 1009 of yacc.c  */
11326 #line 235 "grammar.y"
11327         { FreeInstance((yyvaluep->instance)); };
11328
11329 /* Line 1009 of yacc.c  */
11330 #line 11331 "grammar.ec"
11331         break;
11332       case 170: /* "instantiation_named_error" */
11333
11334 /* Line 1009 of yacc.c  */
11335 #line 235 "grammar.y"
11336         { FreeInstance((yyvaluep->instance)); };
11337
11338 /* Line 1009 of yacc.c  */
11339 #line 11340 "grammar.ec"
11340         break;
11341       case 174: /* "instantiation_unnamed" */
11342
11343 /* Line 1009 of yacc.c  */
11344 #line 235 "grammar.y"
11345         { FreeInstance((yyvaluep->instance)); };
11346
11347 /* Line 1009 of yacc.c  */
11348 #line 11349 "grammar.ec"
11349         break;
11350       case 175: /* "instantiation_unnamed_error" */
11351
11352 /* Line 1009 of yacc.c  */
11353 #line 235 "grammar.y"
11354         { FreeInstance((yyvaluep->instance)); };
11355
11356 /* Line 1009 of yacc.c  */
11357 #line 11358 "grammar.ec"
11358         break;
11359       case 178: /* "default_property" */
11360
11361 /* Line 1009 of yacc.c  */
11362 #line 237 "grammar.y"
11363         { FreeMemberInit((yyvaluep->memberInit)); };
11364
11365 /* Line 1009 of yacc.c  */
11366 #line 11367 "grammar.ec"
11367         break;
11368       case 179: /* "default_property_error" */
11369
11370 /* Line 1009 of yacc.c  */
11371 #line 237 "grammar.y"
11372         { FreeMemberInit((yyvaluep->memberInit)); };
11373
11374 /* Line 1009 of yacc.c  */
11375 #line 11376 "grammar.ec"
11376         break;
11377       case 180: /* "default_property_list" */
11378
11379 /* Line 1009 of yacc.c  */
11380 #line 262 "grammar.y"
11381         { FreeList((yyvaluep->list), FreeMemberInit); };
11382
11383 /* Line 1009 of yacc.c  */
11384 #line 11385 "grammar.ec"
11385         break;
11386       case 181: /* "default_property_list_error" */
11387
11388 /* Line 1009 of yacc.c  */
11389 #line 262 "grammar.y"
11390         { FreeList((yyvaluep->list), FreeMemberInit); };
11391
11392 /* Line 1009 of yacc.c  */
11393 #line 11394 "grammar.ec"
11394         break;
11395       case 184: /* "property" */
11396
11397 /* Line 1009 of yacc.c  */
11398 #line 248 "grammar.y"
11399         { FreeProperty((yyvaluep->prop)); };
11400
11401 /* Line 1009 of yacc.c  */
11402 #line 11403 "grammar.ec"
11403         break;
11404       case 195: /* "struct_declaration" */
11405
11406 /* Line 1009 of yacc.c  */
11407 #line 246 "grammar.y"
11408         { FreeClassDef((yyvaluep->classDef)); };
11409
11410 /* Line 1009 of yacc.c  */
11411 #line 11412 "grammar.ec"
11412         break;
11413       case 196: /* "struct_declaration_error" */
11414
11415 /* Line 1009 of yacc.c  */
11416 #line 246 "grammar.y"
11417         { FreeClassDef((yyvaluep->classDef)); };
11418
11419 /* Line 1009 of yacc.c  */
11420 #line 11421 "grammar.ec"
11421         break;
11422       case 197: /* "struct_declaration_list" */
11423
11424 /* Line 1009 of yacc.c  */
11425 #line 261 "grammar.y"
11426         { FreeList((yyvaluep->list), FreeClassDef); };
11427
11428 /* Line 1009 of yacc.c  */
11429 #line 11430 "grammar.ec"
11430         break;
11431       case 198: /* "struct_declaration_list_error" */
11432
11433 /* Line 1009 of yacc.c  */
11434 #line 261 "grammar.y"
11435         { FreeList((yyvaluep->list), FreeClassDef); };
11436
11437 /* Line 1009 of yacc.c  */
11438 #line 11439 "grammar.ec"
11439         break;
11440       case 199: /* "template_datatype" */
11441
11442 /* Line 1009 of yacc.c  */
11443 #line 267 "grammar.y"
11444         { FreeTemplateDataType((yyvaluep->templateDatatype)); };
11445
11446 /* Line 1009 of yacc.c  */
11447 #line 11448 "grammar.ec"
11448         break;
11449       case 200: /* "template_type_argument" */
11450
11451 /* Line 1009 of yacc.c  */
11452 #line 266 "grammar.y"
11453         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11454
11455 /* Line 1009 of yacc.c  */
11456 #line 11457 "grammar.ec"
11457         break;
11458       case 201: /* "template_type_parameter" */
11459
11460 /* Line 1009 of yacc.c  */
11461 #line 265 "grammar.y"
11462         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11463
11464 /* Line 1009 of yacc.c  */
11465 #line 11466 "grammar.ec"
11466         break;
11467       case 202: /* "template_identifier_argument" */
11468
11469 /* Line 1009 of yacc.c  */
11470 #line 266 "grammar.y"
11471         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11472
11473 /* Line 1009 of yacc.c  */
11474 #line 11475 "grammar.ec"
11475         break;
11476       case 203: /* "template_identifier_parameter" */
11477
11478 /* Line 1009 of yacc.c  */
11479 #line 265 "grammar.y"
11480         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11481
11482 /* Line 1009 of yacc.c  */
11483 #line 11484 "grammar.ec"
11484         break;
11485       case 204: /* "template_expression_argument" */
11486
11487 /* Line 1009 of yacc.c  */
11488 #line 266 "grammar.y"
11489         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11490
11491 /* Line 1009 of yacc.c  */
11492 #line 11493 "grammar.ec"
11493         break;
11494       case 205: /* "template_expression_parameter" */
11495
11496 /* Line 1009 of yacc.c  */
11497 #line 265 "grammar.y"
11498         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11499
11500 /* Line 1009 of yacc.c  */
11501 #line 11502 "grammar.ec"
11502         break;
11503       case 206: /* "template_parameter" */
11504
11505 /* Line 1009 of yacc.c  */
11506 #line 265 "grammar.y"
11507         { FreeTemplateParameter((yyvaluep->templateParameter)); };
11508
11509 /* Line 1009 of yacc.c  */
11510 #line 11511 "grammar.ec"
11511         break;
11512       case 207: /* "template_parameters_list" */
11513
11514 /* Line 1009 of yacc.c  */
11515 #line 268 "grammar.y"
11516         { FreeList((yyvaluep->list), FreeTemplateParameter); };
11517
11518 /* Line 1009 of yacc.c  */
11519 #line 11520 "grammar.ec"
11520         break;
11521       case 208: /* "template_argument" */
11522
11523 /* Line 1009 of yacc.c  */
11524 #line 266 "grammar.y"
11525         { FreeTemplateArgument((yyvaluep->templateArgument)); };
11526
11527 /* Line 1009 of yacc.c  */
11528 #line 11529 "grammar.ec"
11529         break;
11530       case 209: /* "template_arguments_list" */
11531
11532 /* Line 1009 of yacc.c  */
11533 #line 269 "grammar.y"
11534         { FreeList((yyvaluep->list), FreeTemplateArgument); };
11535
11536 /* Line 1009 of yacc.c  */
11537 #line 11538 "grammar.ec"
11538         break;
11539       case 210: /* "class_entry" */
11540
11541 /* Line 1009 of yacc.c  */
11542 #line 243 "grammar.y"
11543         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11544
11545 /* Line 1009 of yacc.c  */
11546 #line 11547 "grammar.ec"
11547         break;
11548       case 211: /* "class_decl" */
11549
11550 /* Line 1009 of yacc.c  */
11551 #line 244 "grammar.y"
11552         { Context ctx = curContext; PopContext(ctx); FreeContext(ctx); delete ctx; };
11553
11554 /* Line 1009 of yacc.c  */
11555 #line 11556 "grammar.ec"
11556         break;
11557       case 212: /* "class" */
11558
11559 /* Line 1009 of yacc.c  */
11560 #line 245 "grammar.y"
11561         { FreeClass((yyvaluep->_class)); };
11562
11563 /* Line 1009 of yacc.c  */
11564 #line 11565 "grammar.ec"
11565         break;
11566       case 213: /* "class_head" */
11567
11568 /* Line 1009 of yacc.c  */
11569 #line 245 "grammar.y"
11570         { FreeClass((yyvaluep->_class)); };
11571
11572 /* Line 1009 of yacc.c  */
11573 #line 11574 "grammar.ec"
11574         break;
11575       case 214: /* "class_error" */
11576
11577 /* Line 1009 of yacc.c  */
11578 #line 245 "grammar.y"
11579         { FreeClass((yyvaluep->_class)); };
11580
11581 /* Line 1009 of yacc.c  */
11582 #line 11583 "grammar.ec"
11583         break;
11584       case 215: /* "identifier" */
11585
11586 /* Line 1009 of yacc.c  */
11587 #line 199 "grammar.y"
11588         { FreeIdentifier((yyvaluep->id)); };
11589
11590 /* Line 1009 of yacc.c  */
11591 #line 11592 "grammar.ec"
11592         break;
11593       case 216: /* "primary_expression" */
11594
11595 /* Line 1009 of yacc.c  */
11596 #line 201 "grammar.y"
11597         { FreeExpression((yyvaluep->exp)); };
11598
11599 /* Line 1009 of yacc.c  */
11600 #line 11601 "grammar.ec"
11601         break;
11602       case 217: /* "i18n_string" */
11603
11604 /* Line 1009 of yacc.c  */
11605 #line 201 "grammar.y"
11606         { FreeExpression((yyvaluep->exp)); };
11607
11608 /* Line 1009 of yacc.c  */
11609 #line 11610 "grammar.ec"
11610         break;
11611       case 222: /* "primary_expression_error" */
11612
11613 /* Line 1009 of yacc.c  */
11614 #line 201 "grammar.y"
11615         { FreeExpression((yyvaluep->exp)); };
11616
11617 /* Line 1009 of yacc.c  */
11618 #line 11619 "grammar.ec"
11619         break;
11620       case 223: /* "postfix_expression" */
11621
11622 /* Line 1009 of yacc.c  */
11623 #line 201 "grammar.y"
11624         { FreeExpression((yyvaluep->exp)); };
11625
11626 /* Line 1009 of yacc.c  */
11627 #line 11628 "grammar.ec"
11628         break;
11629       case 224: /* "argument_expression_list" */
11630
11631 /* Line 1009 of yacc.c  */
11632 #line 250 "grammar.y"
11633         { FreeList((yyvaluep->list), FreeExpression); };
11634
11635 /* Line 1009 of yacc.c  */
11636 #line 11637 "grammar.ec"
11637         break;
11638       case 225: /* "argument_expression_list_error" */
11639
11640 /* Line 1009 of yacc.c  */
11641 #line 250 "grammar.y"
11642         { FreeList((yyvaluep->list), FreeExpression); };
11643
11644 /* Line 1009 of yacc.c  */
11645 #line 11646 "grammar.ec"
11646         break;
11647       case 227: /* "unary_expression" */
11648
11649 /* Line 1009 of yacc.c  */
11650 #line 201 "grammar.y"
11651         { FreeExpression((yyvaluep->exp)); };
11652
11653 /* Line 1009 of yacc.c  */
11654 #line 11655 "grammar.ec"
11655         break;
11656       case 229: /* "cast_expression" */
11657
11658 /* Line 1009 of yacc.c  */
11659 #line 201 "grammar.y"
11660         { FreeExpression((yyvaluep->exp)); };
11661
11662 /* Line 1009 of yacc.c  */
11663 #line 11664 "grammar.ec"
11664         break;
11665       case 230: /* "multiplicative_expression" */
11666
11667 /* Line 1009 of yacc.c  */
11668 #line 201 "grammar.y"
11669         { FreeExpression((yyvaluep->exp)); };
11670
11671 /* Line 1009 of yacc.c  */
11672 #line 11673 "grammar.ec"
11673         break;
11674       case 231: /* "additive_expression" */
11675
11676 /* Line 1009 of yacc.c  */
11677 #line 201 "grammar.y"
11678         { FreeExpression((yyvaluep->exp)); };
11679
11680 /* Line 1009 of yacc.c  */
11681 #line 11682 "grammar.ec"
11682         break;
11683       case 232: /* "shift_expression" */
11684
11685 /* Line 1009 of yacc.c  */
11686 #line 201 "grammar.y"
11687         { FreeExpression((yyvaluep->exp)); };
11688
11689 /* Line 1009 of yacc.c  */
11690 #line 11691 "grammar.ec"
11691         break;
11692       case 234: /* "relational_expression" */
11693
11694 /* Line 1009 of yacc.c  */
11695 #line 201 "grammar.y"
11696         { FreeExpression((yyvaluep->exp)); };
11697
11698 /* Line 1009 of yacc.c  */
11699 #line 11700 "grammar.ec"
11700         break;
11701       case 235: /* "equality_expression" */
11702
11703 /* Line 1009 of yacc.c  */
11704 #line 201 "grammar.y"
11705         { FreeExpression((yyvaluep->exp)); };
11706
11707 /* Line 1009 of yacc.c  */
11708 #line 11709 "grammar.ec"
11709         break;
11710       case 236: /* "and_expression" */
11711
11712 /* Line 1009 of yacc.c  */
11713 #line 201 "grammar.y"
11714         { FreeExpression((yyvaluep->exp)); };
11715
11716 /* Line 1009 of yacc.c  */
11717 #line 11718 "grammar.ec"
11718         break;
11719       case 237: /* "exclusive_or_expression" */
11720
11721 /* Line 1009 of yacc.c  */
11722 #line 201 "grammar.y"
11723         { FreeExpression((yyvaluep->exp)); };
11724
11725 /* Line 1009 of yacc.c  */
11726 #line 11727 "grammar.ec"
11727         break;
11728       case 238: /* "inclusive_or_expression" */
11729
11730 /* Line 1009 of yacc.c  */
11731 #line 201 "grammar.y"
11732         { FreeExpression((yyvaluep->exp)); };
11733
11734 /* Line 1009 of yacc.c  */
11735 #line 11736 "grammar.ec"
11736         break;
11737       case 239: /* "logical_and_expression" */
11738
11739 /* Line 1009 of yacc.c  */
11740 #line 201 "grammar.y"
11741         { FreeExpression((yyvaluep->exp)); };
11742
11743 /* Line 1009 of yacc.c  */
11744 #line 11745 "grammar.ec"
11745         break;
11746       case 240: /* "logical_or_expression" */
11747
11748 /* Line 1009 of yacc.c  */
11749 #line 201 "grammar.y"
11750         { FreeExpression((yyvaluep->exp)); };
11751
11752 /* Line 1009 of yacc.c  */
11753 #line 11754 "grammar.ec"
11754         break;
11755       case 241: /* "conditional_expression" */
11756
11757 /* Line 1009 of yacc.c  */
11758 #line 201 "grammar.y"
11759         { FreeExpression((yyvaluep->exp)); };
11760
11761 /* Line 1009 of yacc.c  */
11762 #line 11763 "grammar.ec"
11763         break;
11764       case 242: /* "assignment_expression" */
11765
11766 /* Line 1009 of yacc.c  */
11767 #line 201 "grammar.y"
11768         { FreeExpression((yyvaluep->exp)); };
11769
11770 /* Line 1009 of yacc.c  */
11771 #line 11772 "grammar.ec"
11772         break;
11773       case 244: /* "expression" */
11774
11775 /* Line 1009 of yacc.c  */
11776 #line 250 "grammar.y"
11777         { FreeList((yyvaluep->list), FreeExpression); };
11778
11779 /* Line 1009 of yacc.c  */
11780 #line 11781 "grammar.ec"
11781         break;
11782       case 246: /* "postfix_expression_error" */
11783
11784 /* Line 1009 of yacc.c  */
11785 #line 201 "grammar.y"
11786         { FreeExpression((yyvaluep->exp)); };
11787
11788 /* Line 1009 of yacc.c  */
11789 #line 11790 "grammar.ec"
11790         break;
11791       case 248: /* "unary_expression_error" */
11792
11793 /* Line 1009 of yacc.c  */
11794 #line 201 "grammar.y"
11795         { FreeExpression((yyvaluep->exp)); };
11796
11797 /* Line 1009 of yacc.c  */
11798 #line 11799 "grammar.ec"
11799         break;
11800       case 249: /* "cast_expression_error" */
11801
11802 /* Line 1009 of yacc.c  */
11803 #line 201 "grammar.y"
11804         { FreeExpression((yyvaluep->exp)); };
11805
11806 /* Line 1009 of yacc.c  */
11807 #line 11808 "grammar.ec"
11808         break;
11809       case 250: /* "multiplicative_expression_error" */
11810
11811 /* Line 1009 of yacc.c  */
11812 #line 201 "grammar.y"
11813         { FreeExpression((yyvaluep->exp)); };
11814
11815 /* Line 1009 of yacc.c  */
11816 #line 11817 "grammar.ec"
11817         break;
11818       case 251: /* "additive_expression_error" */
11819
11820 /* Line 1009 of yacc.c  */
11821 #line 201 "grammar.y"
11822         { FreeExpression((yyvaluep->exp)); };
11823
11824 /* Line 1009 of yacc.c  */
11825 #line 11826 "grammar.ec"
11826         break;
11827       case 252: /* "shift_expression_error" */
11828
11829 /* Line 1009 of yacc.c  */
11830 #line 201 "grammar.y"
11831         { FreeExpression((yyvaluep->exp)); };
11832
11833 /* Line 1009 of yacc.c  */
11834 #line 11835 "grammar.ec"
11835         break;
11836       case 253: /* "relational_expression_error" */
11837
11838 /* Line 1009 of yacc.c  */
11839 #line 201 "grammar.y"
11840         { FreeExpression((yyvaluep->exp)); };
11841
11842 /* Line 1009 of yacc.c  */
11843 #line 11844 "grammar.ec"
11844         break;
11845       case 254: /* "equality_expression_error" */
11846
11847 /* Line 1009 of yacc.c  */
11848 #line 201 "grammar.y"
11849         { FreeExpression((yyvaluep->exp)); };
11850
11851 /* Line 1009 of yacc.c  */
11852 #line 11853 "grammar.ec"
11853         break;
11854       case 255: /* "and_expression_error" */
11855
11856 /* Line 1009 of yacc.c  */
11857 #line 201 "grammar.y"
11858         { FreeExpression((yyvaluep->exp)); };
11859
11860 /* Line 1009 of yacc.c  */
11861 #line 11862 "grammar.ec"
11862         break;
11863       case 256: /* "exclusive_or_expression_error" */
11864
11865 /* Line 1009 of yacc.c  */
11866 #line 201 "grammar.y"
11867         { FreeExpression((yyvaluep->exp)); };
11868
11869 /* Line 1009 of yacc.c  */
11870 #line 11871 "grammar.ec"
11871         break;
11872       case 257: /* "inclusive_or_expression_error" */
11873
11874 /* Line 1009 of yacc.c  */
11875 #line 201 "grammar.y"
11876         { FreeExpression((yyvaluep->exp)); };
11877
11878 /* Line 1009 of yacc.c  */
11879 #line 11880 "grammar.ec"
11880         break;
11881       case 258: /* "logical_and_expression_error" */
11882
11883 /* Line 1009 of yacc.c  */
11884 #line 201 "grammar.y"
11885         { FreeExpression((yyvaluep->exp)); };
11886
11887 /* Line 1009 of yacc.c  */
11888 #line 11889 "grammar.ec"
11889         break;
11890       case 259: /* "logical_or_expression_error" */
11891
11892 /* Line 1009 of yacc.c  */
11893 #line 201 "grammar.y"
11894         { FreeExpression((yyvaluep->exp)); };
11895
11896 /* Line 1009 of yacc.c  */
11897 #line 11898 "grammar.ec"
11898         break;
11899       case 260: /* "conditional_expression_error" */
11900
11901 /* Line 1009 of yacc.c  */
11902 #line 201 "grammar.y"
11903         { FreeExpression((yyvaluep->exp)); };
11904
11905 /* Line 1009 of yacc.c  */
11906 #line 11907 "grammar.ec"
11907         break;
11908       case 261: /* "assignment_expression_error" */
11909
11910 /* Line 1009 of yacc.c  */
11911 #line 201 "grammar.y"
11912         { FreeExpression((yyvaluep->exp)); };
11913
11914 /* Line 1009 of yacc.c  */
11915 #line 11916 "grammar.ec"
11916         break;
11917       case 262: /* "expression_error" */
11918
11919 /* Line 1009 of yacc.c  */
11920 #line 250 "grammar.y"
11921         { FreeList((yyvaluep->list), FreeExpression); };
11922
11923 /* Line 1009 of yacc.c  */
11924 #line 11925 "grammar.ec"
11925         break;
11926       case 264: /* "constant_expression" */
11927
11928 /* Line 1009 of yacc.c  */
11929 #line 201 "grammar.y"
11930         { FreeExpression((yyvaluep->exp)); };
11931
11932 /* Line 1009 of yacc.c  */
11933 #line 11934 "grammar.ec"
11934         break;
11935       case 265: /* "constant_expression_error" */
11936
11937 /* Line 1009 of yacc.c  */
11938 #line 201 "grammar.y"
11939         { FreeExpression((yyvaluep->exp)); };
11940
11941 /* Line 1009 of yacc.c  */
11942 #line 11943 "grammar.ec"
11943         break;
11944       case 266: /* "storage_class_specifier" */
11945
11946 /* Line 1009 of yacc.c  */
11947 #line 212 "grammar.y"
11948         { FreeSpecifier((yyvaluep->specifier)); };
11949
11950 /* Line 1009 of yacc.c  */
11951 #line 11952 "grammar.ec"
11952         break;
11953       case 267: /* "external_storage_class_specifier" */
11954
11955 /* Line 1009 of yacc.c  */
11956 #line 212 "grammar.y"
11957         { FreeSpecifier((yyvaluep->specifier)); };
11958
11959 /* Line 1009 of yacc.c  */
11960 #line 11961 "grammar.ec"
11961         break;
11962       case 268: /* "enumerator" */
11963
11964 /* Line 1009 of yacc.c  */
11965 #line 217 "grammar.y"
11966         { FreeEnumerator((yyvaluep->enumerator)); };
11967
11968 /* Line 1009 of yacc.c  */
11969 #line 11970 "grammar.ec"
11970         break;
11971       case 269: /* "enumerator_list" */
11972
11973 /* Line 1009 of yacc.c  */
11974 #line 251 "grammar.y"
11975         { FreeList((yyvaluep->list), FreeEnumerator); };
11976
11977 /* Line 1009 of yacc.c  */
11978 #line 11979 "grammar.ec"
11979         break;
11980       case 271: /* "enum_specifier_nocompound" */
11981
11982 /* Line 1009 of yacc.c  */
11983 #line 212 "grammar.y"
11984         { FreeSpecifier((yyvaluep->specifier)); };
11985
11986 /* Line 1009 of yacc.c  */
11987 #line 11988 "grammar.ec"
11988         break;
11989       case 272: /* "enum_specifier_compound" */
11990
11991 /* Line 1009 of yacc.c  */
11992 #line 212 "grammar.y"
11993         { FreeSpecifier((yyvaluep->specifier)); };
11994
11995 /* Line 1009 of yacc.c  */
11996 #line 11997 "grammar.ec"
11997         break;
11998       case 273: /* "enum_specifier_compound_error" */
11999
12000 /* Line 1009 of yacc.c  */
12001 #line 212 "grammar.y"
12002         { FreeSpecifier((yyvaluep->specifier)); };
12003
12004 /* Line 1009 of yacc.c  */
12005 #line 12006 "grammar.ec"
12006         break;
12007       case 275: /* "enum_class" */
12008
12009 /* Line 1009 of yacc.c  */
12010 #line 212 "grammar.y"
12011         { FreeSpecifier((yyvaluep->specifier)); };
12012
12013 /* Line 1009 of yacc.c  */
12014 #line 12015 "grammar.ec"
12015         break;
12016       case 276: /* "enum_class_error" */
12017
12018 /* Line 1009 of yacc.c  */
12019 #line 212 "grammar.y"
12020         { FreeSpecifier((yyvaluep->specifier)); };
12021
12022 /* Line 1009 of yacc.c  */
12023 #line 12024 "grammar.ec"
12024         break;
12025       case 277: /* "class_specifier" */
12026
12027 /* Line 1009 of yacc.c  */
12028 #line 212 "grammar.y"
12029         { FreeSpecifier((yyvaluep->specifier)); };
12030
12031 /* Line 1009 of yacc.c  */
12032 #line 12033 "grammar.ec"
12033         break;
12034       case 278: /* "class_specifier_error" */
12035
12036 /* Line 1009 of yacc.c  */
12037 #line 212 "grammar.y"
12038         { FreeSpecifier((yyvaluep->specifier)); };
12039
12040 /* Line 1009 of yacc.c  */
12041 #line 12042 "grammar.ec"
12042         break;
12043       case 279: /* "ext_storage" */
12044
12045 /* Line 1009 of yacc.c  */
12046 #line 212 "grammar.y"
12047         { FreeSpecifier((yyvaluep->specifier)); };
12048
12049 /* Line 1009 of yacc.c  */
12050 #line 12051 "grammar.ec"
12051         break;
12052       case 280: /* "type_qualifier" */
12053
12054 /* Line 1009 of yacc.c  */
12055 #line 212 "grammar.y"
12056         { FreeSpecifier((yyvaluep->specifier)); };
12057
12058 /* Line 1009 of yacc.c  */
12059 #line 12060 "grammar.ec"
12060         break;
12061       case 281: /* "type_qualifier_list" */
12062
12063 /* Line 1009 of yacc.c  */
12064 #line 252 "grammar.y"
12065         { FreeList((yyvaluep->list), FreeSpecifier); };
12066
12067 /* Line 1009 of yacc.c  */
12068 #line 12069 "grammar.ec"
12069         break;
12070       case 282: /* "type_specifier" */
12071
12072 /* Line 1009 of yacc.c  */
12073 #line 212 "grammar.y"
12074         { FreeSpecifier((yyvaluep->specifier)); };
12075
12076 /* Line 1009 of yacc.c  */
12077 #line 12078 "grammar.ec"
12078         break;
12079       case 283: /* "strict_type_specifier" */
12080
12081 /* Line 1009 of yacc.c  */
12082 #line 212 "grammar.y"
12083         { FreeSpecifier((yyvaluep->specifier)); };
12084
12085 /* Line 1009 of yacc.c  */
12086 #line 12087 "grammar.ec"
12087         break;
12088       case 284: /* "struct_declarator" */
12089
12090 /* Line 1009 of yacc.c  */
12091 #line 218 "grammar.y"
12092         { FreeDeclarator((yyvaluep->declarator)); };
12093
12094 /* Line 1009 of yacc.c  */
12095 #line 12096 "grammar.ec"
12096         break;
12097       case 285: /* "struct_declarator_list" */
12098
12099 /* Line 1009 of yacc.c  */
12100 #line 254 "grammar.y"
12101         { FreeList((yyvaluep->list), FreeDeclarator); };
12102
12103 /* Line 1009 of yacc.c  */
12104 #line 12105 "grammar.ec"
12105         break;
12106       case 286: /* "struct_entry" */
12107
12108 /* Line 1009 of yacc.c  */
12109 #line 212 "grammar.y"
12110         { FreeSpecifier((yyvaluep->specifier)); };
12111
12112 /* Line 1009 of yacc.c  */
12113 #line 12114 "grammar.ec"
12114         break;
12115       case 287: /* "struct_or_union_specifier_compound" */
12116
12117 /* Line 1009 of yacc.c  */
12118 #line 212 "grammar.y"
12119         { FreeSpecifier((yyvaluep->specifier)); };
12120
12121 /* Line 1009 of yacc.c  */
12122 #line 12123 "grammar.ec"
12123         break;
12124       case 288: /* "struct_or_union_specifier_compound_error" */
12125
12126 /* Line 1009 of yacc.c  */
12127 #line 212 "grammar.y"
12128         { FreeSpecifier((yyvaluep->specifier)); };
12129
12130 /* Line 1009 of yacc.c  */
12131 #line 12132 "grammar.ec"
12132         break;
12133       case 289: /* "struct_or_union_specifier_nocompound" */
12134
12135 /* Line 1009 of yacc.c  */
12136 #line 212 "grammar.y"
12137         { FreeSpecifier((yyvaluep->specifier)); };
12138
12139 /* Line 1009 of yacc.c  */
12140 #line 12141 "grammar.ec"
12141         break;
12142       case 290: /* "struct_decl" */
12143
12144 /* Line 1009 of yacc.c  */
12145 #line 212 "grammar.y"
12146         { FreeSpecifier((yyvaluep->specifier)); };
12147
12148 /* Line 1009 of yacc.c  */
12149 #line 12150 "grammar.ec"
12150         break;
12151       case 291: /* "struct_head" */
12152
12153 /* Line 1009 of yacc.c  */
12154 #line 212 "grammar.y"
12155         { FreeSpecifier((yyvaluep->specifier)); };
12156
12157 /* Line 1009 of yacc.c  */
12158 #line 12159 "grammar.ec"
12159         break;
12160       case 292: /* "struct_class" */
12161
12162 /* Line 1009 of yacc.c  */
12163 #line 212 "grammar.y"
12164         { FreeSpecifier((yyvaluep->specifier)); };
12165
12166 /* Line 1009 of yacc.c  */
12167 #line 12168 "grammar.ec"
12168         break;
12169       case 293: /* "struct_class_error" */
12170
12171 /* Line 1009 of yacc.c  */
12172 #line 212 "grammar.y"
12173         { FreeSpecifier((yyvaluep->specifier)); };
12174
12175 /* Line 1009 of yacc.c  */
12176 #line 12177 "grammar.ec"
12177         break;
12178       case 295: /* "specifier_qualifier_list" */
12179
12180 /* Line 1009 of yacc.c  */
12181 #line 252 "grammar.y"
12182         { FreeList((yyvaluep->list), FreeSpecifier); };
12183
12184 /* Line 1009 of yacc.c  */
12185 #line 12186 "grammar.ec"
12186         break;
12187       case 296: /* "guess_specifier_qualifier_list" */
12188
12189 /* Line 1009 of yacc.c  */
12190 #line 252 "grammar.y"
12191         { FreeList((yyvaluep->list), FreeSpecifier); };
12192
12193 /* Line 1009 of yacc.c  */
12194 #line 12195 "grammar.ec"
12195         break;
12196       case 297: /* "declaration_specifiers" */
12197
12198 /* Line 1009 of yacc.c  */
12199 #line 252 "grammar.y"
12200         { FreeList((yyvaluep->list), FreeSpecifier); };
12201
12202 /* Line 1009 of yacc.c  */
12203 #line 12204 "grammar.ec"
12204         break;
12205       case 298: /* "guess_declaration_specifiers" */
12206
12207 /* Line 1009 of yacc.c  */
12208 #line 252 "grammar.y"
12209         { FreeList((yyvaluep->list), FreeSpecifier); };
12210
12211 /* Line 1009 of yacc.c  */
12212 #line 12213 "grammar.ec"
12213         break;
12214       case 299: /* "external_guess_declaration_specifiers" */
12215
12216 /* Line 1009 of yacc.c  */
12217 #line 252 "grammar.y"
12218         { FreeList((yyvaluep->list), FreeSpecifier); };
12219
12220 /* Line 1009 of yacc.c  */
12221 #line 12222 "grammar.ec"
12222         break;
12223       case 300: /* "external_guess_declaration_specifiers_error" */
12224
12225 /* Line 1009 of yacc.c  */
12226 #line 252 "grammar.y"
12227         { FreeList((yyvaluep->list), FreeSpecifier); };
12228
12229 /* Line 1009 of yacc.c  */
12230 #line 12231 "grammar.ec"
12231         break;
12232       case 301: /* "_inheritance_specifiers" */
12233
12234 /* Line 1009 of yacc.c  */
12235 #line 252 "grammar.y"
12236         { FreeList((yyvaluep->list), FreeSpecifier); };
12237
12238 /* Line 1009 of yacc.c  */
12239 #line 12240 "grammar.ec"
12240         break;
12241       case 302: /* "inheritance_specifiers" */
12242
12243 /* Line 1009 of yacc.c  */
12244 #line 252 "grammar.y"
12245         { FreeList((yyvaluep->list), FreeSpecifier); };
12246
12247 /* Line 1009 of yacc.c  */
12248 #line 12249 "grammar.ec"
12249         break;
12250       case 306: /* "identifier_list_error" */
12251
12252 /* Line 1009 of yacc.c  */
12253 #line 258 "grammar.y"
12254         { FreeList((yyvaluep->list), FreeTypeName); };
12255
12256 /* Line 1009 of yacc.c  */
12257 #line 12258 "grammar.ec"
12258         break;
12259       case 307: /* "identifier_list" */
12260
12261 /* Line 1009 of yacc.c  */
12262 #line 258 "grammar.y"
12263         { FreeList((yyvaluep->list), FreeTypeName); };
12264
12265 /* Line 1009 of yacc.c  */
12266 #line 12267 "grammar.ec"
12267         break;
12268       case 308: /* "direct_declarator_nofunction_type_ok" */
12269
12270 /* Line 1009 of yacc.c  */
12271 #line 218 "grammar.y"
12272         { FreeDeclarator((yyvaluep->declarator)); };
12273
12274 /* Line 1009 of yacc.c  */
12275 #line 12276 "grammar.ec"
12276         break;
12277       case 309: /* "direct_declarator_nofunction" */
12278
12279 /* Line 1009 of yacc.c  */
12280 #line 218 "grammar.y"
12281         { FreeDeclarator((yyvaluep->declarator)); };
12282
12283 /* Line 1009 of yacc.c  */
12284 #line 12285 "grammar.ec"
12285         break;
12286       case 310: /* "direct_declarator_function_start" */
12287
12288 /* Line 1009 of yacc.c  */
12289 #line 218 "grammar.y"
12290         { FreeDeclarator((yyvaluep->declarator)); };
12291
12292 /* Line 1009 of yacc.c  */
12293 #line 12294 "grammar.ec"
12294         break;
12295       case 311: /* "direct_declarator_function" */
12296
12297 /* Line 1009 of yacc.c  */
12298 #line 218 "grammar.y"
12299         { FreeDeclarator((yyvaluep->declarator)); };
12300
12301 /* Line 1009 of yacc.c  */
12302 #line 12303 "grammar.ec"
12303         break;
12304       case 312: /* "direct_declarator_function_error" */
12305
12306 /* Line 1009 of yacc.c  */
12307 #line 218 "grammar.y"
12308         { FreeDeclarator((yyvaluep->declarator)); };
12309
12310 /* Line 1009 of yacc.c  */
12311 #line 12312 "grammar.ec"
12312         break;
12313       case 313: /* "direct_declarator" */
12314
12315 /* Line 1009 of yacc.c  */
12316 #line 218 "grammar.y"
12317         { FreeDeclarator((yyvaluep->declarator)); };
12318
12319 /* Line 1009 of yacc.c  */
12320 #line 12321 "grammar.ec"
12321         break;
12322       case 314: /* "direct_declarator_function_start_type_ok" */
12323
12324 /* Line 1009 of yacc.c  */
12325 #line 218 "grammar.y"
12326         { FreeDeclarator((yyvaluep->declarator)); };
12327
12328 /* Line 1009 of yacc.c  */
12329 #line 12330 "grammar.ec"
12330         break;
12331       case 315: /* "direct_declarator_function_type_ok" */
12332
12333 /* Line 1009 of yacc.c  */
12334 #line 218 "grammar.y"
12335         { FreeDeclarator((yyvaluep->declarator)); };
12336
12337 /* Line 1009 of yacc.c  */
12338 #line 12339 "grammar.ec"
12339         break;
12340       case 316: /* "direct_declarator_function_error_type_ok" */
12341
12342 /* Line 1009 of yacc.c  */
12343 #line 218 "grammar.y"
12344         { FreeDeclarator((yyvaluep->declarator)); };
12345
12346 /* Line 1009 of yacc.c  */
12347 #line 12348 "grammar.ec"
12348         break;
12349       case 317: /* "direct_declarator_type_ok" */
12350
12351 /* Line 1009 of yacc.c  */
12352 #line 218 "grammar.y"
12353         { FreeDeclarator((yyvaluep->declarator)); };
12354
12355 /* Line 1009 of yacc.c  */
12356 #line 12357 "grammar.ec"
12357         break;
12358       case 318: /* "ext_decl" */
12359
12360 /* Line 1009 of yacc.c  */
12361 #line 272 "grammar.y"
12362         { FreeExtDecl((yyvaluep->extDecl)); };
12363
12364 /* Line 1009 of yacc.c  */
12365 #line 12366 "grammar.ec"
12366         break;
12367       case 320: /* "attribute_word" */
12368
12369 /* Line 1009 of yacc.c  */
12370 #line 247 "grammar.y"
12371         { delete (yyvaluep->string); };
12372
12373 /* Line 1009 of yacc.c  */
12374 #line 12375 "grammar.ec"
12375         break;
12376       case 321: /* "attribute" */
12377
12378 /* Line 1009 of yacc.c  */
12379 #line 273 "grammar.y"
12380         { FreeAttribute((yyvaluep->attribute)); };
12381
12382 /* Line 1009 of yacc.c  */
12383 #line 12384 "grammar.ec"
12384         break;
12385       case 322: /* "attribs_list" */
12386
12387 /* Line 1009 of yacc.c  */
12388 #line 274 "grammar.y"
12389         { FreeList((yyvaluep->list), FreeAttribute); };
12390
12391 /* Line 1009 of yacc.c  */
12392 #line 12393 "grammar.ec"
12393         break;
12394       case 323: /* "attrib" */
12395
12396 /* Line 1009 of yacc.c  */
12397 #line 271 "grammar.y"
12398         { FreeAttrib((yyvaluep->attrib)); };
12399
12400 /* Line 1009 of yacc.c  */
12401 #line 12402 "grammar.ec"
12402         break;
12403       case 324: /* "direct_abstract_declarator" */
12404
12405 /* Line 1009 of yacc.c  */
12406 #line 218 "grammar.y"
12407         { FreeDeclarator((yyvaluep->declarator)); };
12408
12409 /* Line 1009 of yacc.c  */
12410 #line 12411 "grammar.ec"
12411         break;
12412       case 325: /* "direct_abstract_declarator_noarray" */
12413
12414 /* Line 1009 of yacc.c  */
12415 #line 218 "grammar.y"
12416         { FreeDeclarator((yyvaluep->declarator)); };
12417
12418 /* Line 1009 of yacc.c  */
12419 #line 12420 "grammar.ec"
12420         break;
12421       case 326: /* "pointer" */
12422
12423 /* Line 1009 of yacc.c  */
12424 #line 200 "grammar.y"
12425         { FreePointer((yyvaluep->pointer)); };
12426
12427 /* Line 1009 of yacc.c  */
12428 #line 12429 "grammar.ec"
12429         break;
12430       case 327: /* "abstract_declarator" */
12431
12432 /* Line 1009 of yacc.c  */
12433 #line 218 "grammar.y"
12434         { FreeDeclarator((yyvaluep->declarator)); };
12435
12436 /* Line 1009 of yacc.c  */
12437 #line 12438 "grammar.ec"
12438         break;
12439       case 328: /* "abstract_declarator_noarray" */
12440
12441 /* Line 1009 of yacc.c  */
12442 #line 218 "grammar.y"
12443         { FreeDeclarator((yyvaluep->declarator)); };
12444
12445 /* Line 1009 of yacc.c  */
12446 #line 12447 "grammar.ec"
12447         break;
12448       case 329: /* "declarator" */
12449
12450 /* Line 1009 of yacc.c  */
12451 #line 218 "grammar.y"
12452         { FreeDeclarator((yyvaluep->declarator)); };
12453
12454 /* Line 1009 of yacc.c  */
12455 #line 12456 "grammar.ec"
12456         break;
12457       case 330: /* "declarator_type_ok" */
12458
12459 /* Line 1009 of yacc.c  */
12460 #line 218 "grammar.y"
12461         { FreeDeclarator((yyvaluep->declarator)); };
12462
12463 /* Line 1009 of yacc.c  */
12464 #line 12465 "grammar.ec"
12465         break;
12466       case 331: /* "declarator_function" */
12467
12468 /* Line 1009 of yacc.c  */
12469 #line 218 "grammar.y"
12470         { FreeDeclarator((yyvaluep->declarator)); };
12471
12472 /* Line 1009 of yacc.c  */
12473 #line 12474 "grammar.ec"
12474         break;
12475       case 332: /* "declarator_function_error" */
12476
12477 /* Line 1009 of yacc.c  */
12478 #line 218 "grammar.y"
12479         { FreeDeclarator((yyvaluep->declarator)); };
12480
12481 /* Line 1009 of yacc.c  */
12482 #line 12483 "grammar.ec"
12483         break;
12484       case 333: /* "declarator_function_type_ok" */
12485
12486 /* Line 1009 of yacc.c  */
12487 #line 218 "grammar.y"
12488         { FreeDeclarator((yyvaluep->declarator)); };
12489
12490 /* Line 1009 of yacc.c  */
12491 #line 12492 "grammar.ec"
12492         break;
12493       case 334: /* "declarator_function_error_type_ok" */
12494
12495 /* Line 1009 of yacc.c  */
12496 #line 218 "grammar.y"
12497         { FreeDeclarator((yyvaluep->declarator)); };
12498
12499 /* Line 1009 of yacc.c  */
12500 #line 12501 "grammar.ec"
12501         break;
12502       case 335: /* "declarator_nofunction_type_ok" */
12503
12504 /* Line 1009 of yacc.c  */
12505 #line 218 "grammar.y"
12506         { FreeDeclarator((yyvaluep->declarator)); };
12507
12508 /* Line 1009 of yacc.c  */
12509 #line 12510 "grammar.ec"
12510         break;
12511       case 336: /* "initializer" */
12512
12513 /* Line 1009 of yacc.c  */
12514 #line 224 "grammar.y"
12515         { FreeInitializer((yyvaluep->initializer)); };
12516
12517 /* Line 1009 of yacc.c  */
12518 #line 12519 "grammar.ec"
12519         break;
12520       case 337: /* "initializer_error" */
12521
12522 /* Line 1009 of yacc.c  */
12523 #line 224 "grammar.y"
12524         { FreeInitializer((yyvaluep->initializer)); };
12525
12526 /* Line 1009 of yacc.c  */
12527 #line 12528 "grammar.ec"
12528         break;
12529       case 338: /* "initializer_condition" */
12530
12531 /* Line 1009 of yacc.c  */
12532 #line 224 "grammar.y"
12533         { FreeInitializer((yyvaluep->initializer)); };
12534
12535 /* Line 1009 of yacc.c  */
12536 #line 12537 "grammar.ec"
12537         break;
12538       case 339: /* "initializer_condition_error" */
12539
12540 /* Line 1009 of yacc.c  */
12541 #line 224 "grammar.y"
12542         { FreeInitializer((yyvaluep->initializer)); };
12543
12544 /* Line 1009 of yacc.c  */
12545 #line 12546 "grammar.ec"
12546         break;
12547       case 340: /* "initializer_list" */
12548
12549 /* Line 1009 of yacc.c  */
12550 #line 256 "grammar.y"
12551         { FreeList((yyvaluep->list), FreeInitializer); };
12552
12553 /* Line 1009 of yacc.c  */
12554 #line 12555 "grammar.ec"
12555         break;
12556       case 341: /* "init_declarator" */
12557
12558 /* Line 1009 of yacc.c  */
12559 #line 225 "grammar.y"
12560         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12561
12562 /* Line 1009 of yacc.c  */
12563 #line 12564 "grammar.ec"
12564         break;
12565       case 342: /* "init_declarator_error" */
12566
12567 /* Line 1009 of yacc.c  */
12568 #line 225 "grammar.y"
12569         { FreeInitDeclarator((yyvaluep->initDeclarator)); };
12570
12571 /* Line 1009 of yacc.c  */
12572 #line 12573 "grammar.ec"
12573         break;
12574       case 343: /* "init_declarator_list" */
12575
12576 /* Line 1009 of yacc.c  */
12577 #line 257 "grammar.y"
12578         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12579
12580 /* Line 1009 of yacc.c  */
12581 #line 12582 "grammar.ec"
12582         break;
12583       case 344: /* "init_declarator_list_error" */
12584
12585 /* Line 1009 of yacc.c  */
12586 #line 257 "grammar.y"
12587         { FreeList((yyvaluep->list), FreeInitDeclarator); };
12588
12589 /* Line 1009 of yacc.c  */
12590 #line 12591 "grammar.ec"
12591         break;
12592       case 345: /* "type_name" */
12593
12594 /* Line 1009 of yacc.c  */
12595 #line 226 "grammar.y"
12596         { FreeTypeName((yyvaluep->typeName)); };
12597
12598 /* Line 1009 of yacc.c  */
12599 #line 12600 "grammar.ec"
12600         break;
12601       case 346: /* "guess_type_name" */
12602
12603 /* Line 1009 of yacc.c  */
12604 #line 226 "grammar.y"
12605         { FreeTypeName((yyvaluep->typeName)); };
12606
12607 /* Line 1009 of yacc.c  */
12608 #line 12609 "grammar.ec"
12609         break;
12610       case 347: /* "parameter_declaration" */
12611
12612 /* Line 1009 of yacc.c  */
12613 #line 226 "grammar.y"
12614         { FreeTypeName((yyvaluep->typeName)); };
12615
12616 /* Line 1009 of yacc.c  */
12617 #line 12618 "grammar.ec"
12618         break;
12619       case 348: /* "parameter_declaration_error" */
12620
12621 /* Line 1009 of yacc.c  */
12622 #line 226 "grammar.y"
12623         { FreeTypeName((yyvaluep->typeName)); };
12624
12625 /* Line 1009 of yacc.c  */
12626 #line 12627 "grammar.ec"
12627         break;
12628       case 349: /* "parameter_list" */
12629
12630 /* Line 1009 of yacc.c  */
12631 #line 258 "grammar.y"
12632         { FreeList((yyvaluep->list), FreeTypeName); };
12633
12634 /* Line 1009 of yacc.c  */
12635 #line 12636 "grammar.ec"
12636         break;
12637       case 350: /* "parameter_list_error" */
12638
12639 /* Line 1009 of yacc.c  */
12640 #line 258 "grammar.y"
12641         { FreeList((yyvaluep->list), FreeTypeName); };
12642
12643 /* Line 1009 of yacc.c  */
12644 #line 12645 "grammar.ec"
12645         break;
12646       case 351: /* "parameter_type_list" */
12647
12648 /* Line 1009 of yacc.c  */
12649 #line 258 "grammar.y"
12650         { FreeList((yyvaluep->list), FreeTypeName); };
12651
12652 /* Line 1009 of yacc.c  */
12653 #line 12654 "grammar.ec"
12654         break;
12655       case 352: /* "parameter_type_list_error" */
12656
12657 /* Line 1009 of yacc.c  */
12658 #line 258 "grammar.y"
12659         { FreeList((yyvaluep->list), FreeTypeName); };
12660
12661 /* Line 1009 of yacc.c  */
12662 #line 12663 "grammar.ec"
12663         break;
12664       case 353: /* "statement" */
12665
12666 /* Line 1009 of yacc.c  */
12667 #line 227 "grammar.y"
12668         { FreeStatement((yyvaluep->stmt)); };
12669
12670 /* Line 1009 of yacc.c  */
12671 #line 12672 "grammar.ec"
12672         break;
12673       case 354: /* "statement_error" */
12674
12675 /* Line 1009 of yacc.c  */
12676 #line 227 "grammar.y"
12677         { FreeStatement((yyvaluep->stmt)); };
12678
12679 /* Line 1009 of yacc.c  */
12680 #line 12681 "grammar.ec"
12681         break;
12682       case 358: /* "labeled_statement" */
12683
12684 /* Line 1009 of yacc.c  */
12685 #line 227 "grammar.y"
12686         { FreeStatement((yyvaluep->stmt)); };
12687
12688 /* Line 1009 of yacc.c  */
12689 #line 12690 "grammar.ec"
12690         break;
12691       case 359: /* "labeled_statement_error" */
12692
12693 /* Line 1009 of yacc.c  */
12694 #line 227 "grammar.y"
12695         { FreeStatement((yyvaluep->stmt)); };
12696
12697 /* Line 1009 of yacc.c  */
12698 #line 12699 "grammar.ec"
12699         break;
12700       case 360: /* "declaration_mode" */
12701
12702 /* Line 1009 of yacc.c  */
12703 #line 270 "grammar.y"
12704         { };
12705
12706 /* Line 1009 of yacc.c  */
12707 #line 12708 "grammar.ec"
12708         break;
12709       case 362: /* "declaration" */
12710
12711 /* Line 1009 of yacc.c  */
12712 #line 231 "grammar.y"
12713         { FreeDeclaration((yyvaluep->declaration)); };
12714
12715 /* Line 1009 of yacc.c  */
12716 #line 12717 "grammar.ec"
12717         break;
12718       case 366: /* "declaration_list" */
12719
12720 /* Line 1009 of yacc.c  */
12721 #line 255 "grammar.y"
12722         { FreeList((yyvaluep->list), FreeDeclaration); };
12723
12724 /* Line 1009 of yacc.c  */
12725 #line 12726 "grammar.ec"
12726         break;
12727       case 367: /* "declaration_list_error" */
12728
12729 /* Line 1009 of yacc.c  */
12730 #line 255 "grammar.y"
12731         { FreeList((yyvaluep->list), FreeDeclaration); };
12732
12733 /* Line 1009 of yacc.c  */
12734 #line 12735 "grammar.ec"
12735         break;
12736       case 368: /* "statement_list" */
12737
12738 /* Line 1009 of yacc.c  */
12739 #line 259 "grammar.y"
12740         { FreeList((yyvaluep->list), FreeStatement); };
12741
12742 /* Line 1009 of yacc.c  */
12743 #line 12744 "grammar.ec"
12744         break;
12745       case 369: /* "statement_list_error" */
12746
12747 /* Line 1009 of yacc.c  */
12748 #line 259 "grammar.y"
12749         { FreeList((yyvaluep->list), FreeStatement); };
12750
12751 /* Line 1009 of yacc.c  */
12752 #line 12753 "grammar.ec"
12753         break;
12754       case 370: /* "compound_inside" */
12755
12756 /* Line 1009 of yacc.c  */
12757 #line 227 "grammar.y"
12758         { FreeStatement((yyvaluep->stmt)); };
12759
12760 /* Line 1009 of yacc.c  */
12761 #line 12762 "grammar.ec"
12762         break;
12763       case 371: /* "compound_inside_error" */
12764
12765 /* Line 1009 of yacc.c  */
12766 #line 227 "grammar.y"
12767         { FreeStatement((yyvaluep->stmt)); };
12768
12769 /* Line 1009 of yacc.c  */
12770 #line 12771 "grammar.ec"
12771         break;
12772       case 372: /* "compound_start" */
12773
12774 /* Line 1009 of yacc.c  */
12775 #line 264 "grammar.y"
12776         { PopContext((yyvaluep->context)); FreeContext((yyvaluep->context)); delete (yyvaluep->context); };
12777
12778 /* Line 1009 of yacc.c  */
12779 #line 12780 "grammar.ec"
12780         break;
12781       case 373: /* "compound_statement" */
12782
12783 /* Line 1009 of yacc.c  */
12784 #line 227 "grammar.y"
12785         { FreeStatement((yyvaluep->stmt)); };
12786
12787 /* Line 1009 of yacc.c  */
12788 #line 12789 "grammar.ec"
12789         break;
12790       case 374: /* "compound_statement_error" */
12791
12792 /* Line 1009 of yacc.c  */
12793 #line 227 "grammar.y"
12794         { FreeStatement((yyvaluep->stmt)); };
12795
12796 /* Line 1009 of yacc.c  */
12797 #line 12798 "grammar.ec"
12798         break;
12799       case 375: /* "expression_statement" */
12800
12801 /* Line 1009 of yacc.c  */
12802 #line 227 "grammar.y"
12803         { FreeStatement((yyvaluep->stmt)); };
12804
12805 /* Line 1009 of yacc.c  */
12806 #line 12807 "grammar.ec"
12807         break;
12808       case 376: /* "selection_statement" */
12809
12810 /* Line 1009 of yacc.c  */
12811 #line 227 "grammar.y"
12812         { FreeStatement((yyvaluep->stmt)); };
12813
12814 /* Line 1009 of yacc.c  */
12815 #line 12816 "grammar.ec"
12816         break;
12817       case 377: /* "selection_statement_error" */
12818
12819 /* Line 1009 of yacc.c  */
12820 #line 227 "grammar.y"
12821         { FreeStatement((yyvaluep->stmt)); };
12822
12823 /* Line 1009 of yacc.c  */
12824 #line 12825 "grammar.ec"
12825         break;
12826       case 378: /* "iteration_statement" */
12827
12828 /* Line 1009 of yacc.c  */
12829 #line 227 "grammar.y"
12830         { FreeStatement((yyvaluep->stmt)); };
12831
12832 /* Line 1009 of yacc.c  */
12833 #line 12834 "grammar.ec"
12834         break;
12835       case 379: /* "iteration_statement_error" */
12836
12837 /* Line 1009 of yacc.c  */
12838 #line 227 "grammar.y"
12839         { FreeStatement((yyvaluep->stmt)); };
12840
12841 /* Line 1009 of yacc.c  */
12842 #line 12843 "grammar.ec"
12843         break;
12844       case 380: /* "jump_statement" */
12845
12846 /* Line 1009 of yacc.c  */
12847 #line 227 "grammar.y"
12848         { FreeStatement((yyvaluep->stmt)); };
12849
12850 /* Line 1009 of yacc.c  */
12851 #line 12852 "grammar.ec"
12852         break;
12853       case 381: /* "jump_statement_error" */
12854
12855 /* Line 1009 of yacc.c  */
12856 #line 227 "grammar.y"
12857         { FreeStatement((yyvaluep->stmt)); };
12858
12859 /* Line 1009 of yacc.c  */
12860 #line 12861 "grammar.ec"
12861         break;
12862       case 382: /* "function_definition" */
12863
12864 /* Line 1009 of yacc.c  */
12865 #line 232 "grammar.y"
12866         { FreeFunction((yyvaluep->function)); };
12867
12868 /* Line 1009 of yacc.c  */
12869 #line 12870 "grammar.ec"
12870         break;
12871       case 383: /* "function_definition_error" */
12872
12873 /* Line 1009 of yacc.c  */
12874 #line 232 "grammar.y"
12875         { FreeFunction((yyvaluep->function)); };
12876
12877 /* Line 1009 of yacc.c  */
12878 #line 12879 "grammar.ec"
12879         break;
12880       case 384: /* "string_literal" */
12881
12882 /* Line 1009 of yacc.c  */
12883 #line 247 "grammar.y"
12884         { delete (yyvaluep->string); };
12885
12886 /* Line 1009 of yacc.c  */
12887 #line 12888 "grammar.ec"
12888         break;
12889       case 385: /* "external_declaration" */
12890
12891 /* Line 1009 of yacc.c  */
12892 #line 233 "grammar.y"
12893         { FreeExternal((yyvaluep->external)); };
12894
12895 /* Line 1009 of yacc.c  */
12896 #line 12897 "grammar.ec"
12897         break;
12898       case 386: /* "external_declaration_error" */
12899
12900 /* Line 1009 of yacc.c  */
12901 #line 233 "grammar.y"
12902         { FreeExternal((yyvaluep->external)); };
12903
12904 /* Line 1009 of yacc.c  */
12905 #line 12906 "grammar.ec"
12906         break;
12907       case 387: /* "translation_unit_error" */
12908
12909 /* Line 1009 of yacc.c  */
12910 #line 260 "grammar.y"
12911         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12912
12913 /* Line 1009 of yacc.c  */
12914 #line 12915 "grammar.ec"
12915         break;
12916       case 388: /* "translation_unit" */
12917
12918 /* Line 1009 of yacc.c  */
12919 #line 260 "grammar.y"
12920         { if((yyvaluep->list) != ast) FreeList((yyvaluep->list), FreeExternal); };
12921
12922 /* Line 1009 of yacc.c  */
12923 #line 12924 "grammar.ec"
12924         break;
12925
12926       default:
12927         break;
12928     }
12929 }
12930
12931 /* Prevent warnings from -Wmissing-prototypes.  */
12932 #ifdef YYPARSE_PARAM
12933 #if defined __STDC__ || defined __cplusplus
12934 int yyparse (void *YYPARSE_PARAM);
12935 #else
12936 int yyparse ();
12937 #endif
12938 #else /* ! YYPARSE_PARAM */
12939 #if defined __STDC__ || defined __cplusplus
12940 int yyparse (void);
12941 #else
12942 int yyparse ();
12943 #endif
12944 #endif /* ! YYPARSE_PARAM */
12945
12946
12947 /* The lookahead symbol.  */
12948 int yychar;
12949
12950 /* The semantic value of the lookahead symbol.  */
12951 YYSTYPE yylval;
12952
12953 /* Location data for the lookahead symbol.  */
12954 YYLTYPE yylloc;
12955
12956 /* Number of syntax errors so far.  */
12957 int yynerrs;
12958
12959
12960
12961 /*-------------------------.
12962 | yyparse or yypush_parse.  |
12963 `-------------------------*/
12964
12965 #ifdef YYPARSE_PARAM
12966 #if (defined __STDC__ || defined __C99__FUNC__ \
12967      || defined __cplusplus || defined _MSC_VER)
12968 int
12969 yyparse (void *YYPARSE_PARAM)
12970 #else
12971 int
12972 yyparse (YYPARSE_PARAM)
12973     void *YYPARSE_PARAM;
12974 #endif
12975 #else /* ! YYPARSE_PARAM */
12976 #if (defined __STDC__ || defined __C99__FUNC__ \
12977      || defined __cplusplus || defined _MSC_VER)
12978 int
12979 yyparse (void)
12980 #else
12981 int
12982 yyparse ()
12983
12984 #endif
12985 #endif
12986 {
12987
12988
12989     int yystate;
12990     /* Number of tokens to shift before error messages enabled.  */
12991     int yyerrstatus;
12992
12993     /* The stacks and their tools:
12994        `yyss': related to states.
12995        `yyvs': related to semantic values.
12996        `yyls': related to locations.
12997
12998        Refer to the stacks thru separate pointers, to allow yyoverflow
12999        to reallocate them elsewhere.  */
13000
13001     /* The state stack.  */
13002     yytype_int16 yyssa[YYINITDEPTH];
13003     yytype_int16 *yyss;
13004     yytype_int16 *yyssp;
13005
13006     /* The semantic value stack.  */
13007     YYSTYPE yyvsa[YYINITDEPTH];
13008     YYSTYPE *yyvs;
13009     YYSTYPE *yyvsp;
13010
13011     /* The location stack.  */
13012     YYLTYPE yylsa[YYINITDEPTH];
13013     YYLTYPE *yyls;
13014     YYLTYPE *yylsp;
13015
13016     /* The locations where the error started and ended.  */
13017     YYLTYPE yyerror_range[2];
13018
13019     YYSIZE_T yystacksize;
13020
13021   int yyn;
13022   int yyresult;
13023   /* Lookahead token as an internal (translated) token number.  */
13024   int yytoken;
13025   /* The variables used to return semantic value and location from the
13026      action routines.  */
13027   YYSTYPE yyval;
13028   YYLTYPE yyloc;
13029
13030 #if YYERROR_VERBOSE
13031   /* Buffer for error messages, and its allocated size.  */
13032   char yymsgbuf[128];
13033   char *yymsg = yymsgbuf;
13034   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
13035 #endif
13036
13037 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
13038
13039   /* The number of symbols on the RHS of the reduced rule.
13040      Keep to zero when no symbol should be popped.  */
13041   int yylen = 0;
13042
13043   yytoken = 0;
13044   yyss = yyssa;
13045   yyvs = yyvsa;
13046   yyls = yylsa;
13047   yystacksize = YYINITDEPTH;
13048
13049   YYDPRINTF ((stderr, "Starting parse\n"));
13050
13051   yystate = 0;
13052   yyerrstatus = 0;
13053   yynerrs = 0;
13054   yychar = YYEMPTY; /* Cause a token to be read.  */
13055
13056   /* Initialize stack pointers.
13057      Waste one element of value and location stack
13058      so that they stay on the same level as the state stack.
13059      The wasted elements are never initialized.  */
13060   yyssp = yyss;
13061   yyvsp = yyvs;
13062   yylsp = yyls;
13063
13064 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
13065   /* Initialize the default location before parsing starts.  */
13066   yylloc.first_line   = yylloc.last_line   = 1;
13067   yylloc.first_column = yylloc.last_column = 1;
13068 #endif
13069
13070   goto yysetstate;
13071
13072 /*------------------------------------------------------------.
13073 | yynewstate -- Push a new state, which is found in yystate.  |
13074 `------------------------------------------------------------*/
13075  yynewstate:
13076   /* In all cases, when you get here, the value and location stacks
13077      have just been pushed.  So pushing a state here evens the stacks.  */
13078   yyssp++;
13079
13080  yysetstate:
13081   *yyssp = yystate;
13082
13083   if (yyss + yystacksize - 1 <= yyssp)
13084     {
13085       /* Get the current used size of the three stacks, in elements.  */
13086       YYSIZE_T yysize = yyssp - yyss + 1;
13087
13088 #ifdef yyoverflow
13089       {
13090         /* Give user a chance to reallocate the stack.  Use copies of
13091            these so that the &'s don't force the real ones into
13092            memory.  */
13093         YYSTYPE *yyvs1 = yyvs;
13094         yytype_int16 *yyss1 = yyss;
13095         YYLTYPE *yyls1 = yyls;
13096
13097         /* Each stack pointer address is followed by the size of the
13098            data in use in that stack, in bytes.  This used to be a
13099            conditional around just the two extra args, but that might
13100            be undefined if yyoverflow is a macro.  */
13101         yyoverflow (YY_("memory exhausted"),
13102                     &yyss1, yysize * sizeof (*yyssp),
13103                     &yyvs1, yysize * sizeof (*yyvsp),
13104                     &yyls1, yysize * sizeof (*yylsp),
13105                     &yystacksize);
13106
13107         yyls = yyls1;
13108         yyss = yyss1;
13109         yyvs = yyvs1;
13110       }
13111 #else /* no yyoverflow */
13112 # ifndef YYSTACK_RELOCATE
13113       goto yyexhaustedlab;
13114 # else
13115       /* Extend the stack our own way.  */
13116       if (YYMAXDEPTH <= yystacksize)
13117         goto yyexhaustedlab;
13118       yystacksize *= 2;
13119       if (YYMAXDEPTH < yystacksize)
13120         yystacksize = YYMAXDEPTH;
13121
13122       {
13123         yytype_int16 *yyss1 = yyss;
13124         union yyalloc *yyptr =
13125           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
13126         if (! yyptr)
13127           goto yyexhaustedlab;
13128         YYSTACK_RELOCATE (yyss_alloc, yyss);
13129         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
13130         YYSTACK_RELOCATE (yyls_alloc, yyls);
13131 #  undef YYSTACK_RELOCATE
13132         if (yyss1 != yyssa)
13133           YYSTACK_FREE (yyss1);
13134       }
13135 # endif
13136 #endif /* no yyoverflow */
13137
13138       yyssp = yyss + yysize - 1;
13139       yyvsp = yyvs + yysize - 1;
13140       yylsp = yyls + yysize - 1;
13141
13142       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
13143                   (unsigned long int) yystacksize));
13144
13145       if (yyss + yystacksize - 1 <= yyssp)
13146         YYABORT;
13147     }
13148
13149   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
13150
13151   if (yystate == YYFINAL)
13152     YYACCEPT;
13153
13154   goto yybackup;
13155
13156 /*-----------.
13157 | yybackup.  |
13158 `-----------*/
13159 yybackup:
13160
13161   /* Do appropriate processing given the current state.  Read a
13162      lookahead token if we need one and don't already have one.  */
13163
13164   /* First try to decide what to do without reference to lookahead token.  */
13165   yyn = yypact[yystate];
13166   if (yyn == YYPACT_NINF)
13167     goto yydefault;
13168
13169   /* Not known => get a lookahead token if don't already have one.  */
13170
13171   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
13172   if (yychar == YYEMPTY)
13173     {
13174       YYDPRINTF ((stderr, "Reading a token: "));
13175       yychar = YYLEX;
13176     }
13177
13178   if (yychar <= YYEOF)
13179     {
13180       yychar = yytoken = YYEOF;
13181       YYDPRINTF ((stderr, "Now at end of input.\n"));
13182     }
13183   else
13184     {
13185       yytoken = YYTRANSLATE (yychar);
13186       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
13187     }
13188
13189   /* If the proper action on seeing token YYTOKEN is to reduce or to
13190      detect an error, take that action.  */
13191   yyn += yytoken;
13192   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
13193     goto yydefault;
13194   yyn = yytable[yyn];
13195   if (yyn <= 0)
13196     {
13197       if (yyn == 0 || yyn == YYTABLE_NINF)
13198         goto yyerrlab;
13199       yyn = -yyn;
13200       goto yyreduce;
13201     }
13202
13203   /* Count tokens shifted since error; after three, turn off error
13204      status.  */
13205   if (yyerrstatus)
13206     yyerrstatus--;
13207
13208   /* Shift the lookahead token.  */
13209   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
13210
13211   /* Discard the shifted token.  */
13212   yychar = YYEMPTY;
13213
13214   yystate = yyn;
13215   *++yyvsp = yylval;
13216   *++yylsp = yylloc;
13217   goto yynewstate;
13218
13219
13220 /*-----------------------------------------------------------.
13221 | yydefault -- do the default action for the current state.  |
13222 `-----------------------------------------------------------*/
13223 yydefault:
13224   yyn = yydefact[yystate];
13225   if (yyn == 0)
13226     goto yyerrlab;
13227   goto yyreduce;
13228
13229
13230 /*-----------------------------.
13231 | yyreduce -- Do a reduction.  |
13232 `-----------------------------*/
13233 yyreduce:
13234   /* yyn is the number of a rule to reduce with.  */
13235   yylen = yyr2[yyn];
13236
13237   /* If YYLEN is nonzero, implement the default value of the action:
13238      `$$ = $1'.
13239
13240      Otherwise, the following line sets YYVAL to garbage.
13241      This behavior is undocumented and Bison
13242      users should not rely upon it.  Assigning to YYVAL
13243      unconditionally makes the parser a bit smaller, and it avoids a
13244      GCC warning that YYVAL may be used uninitialized.  */
13245   yyval = yyvsp[1-yylen];
13246
13247   /* Default location.  */
13248   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
13249   YY_REDUCE_PRINT (yyn);
13250   switch (yyn)
13251     {
13252         case 2:
13253
13254 /* Line 1464 of yacc.c  */
13255 #line 282 "grammar.y"
13256     {
13257       (yyval.specifier) = null;
13258       // if($1._class && !$1._class.name)
13259       if((yyvsp[(1) - (2)].id)._class)
13260       {
13261          char name[1024];
13262          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13263          strcat(name, "::");
13264          strcat(name, (yyvsp[(1) - (2)].id).string);
13265          _DeclClass(0, name);
13266       }
13267       else
13268          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13269
13270       FreeIdentifier((yyvsp[(1) - (2)].id));
13271
13272       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13273       resetScannerPos(&(yylsp[(1) - (2)]).start);
13274       yyclearin;
13275
13276       YYPOPSTACK(1);
13277       yystate = *yyssp;
13278       YY_STACK_PRINT (yyss, yyssp);
13279       YYPOPSTACK(1);
13280       yystate = *yyssp;
13281       YY_STACK_PRINT (yyss, yyssp);
13282       goto yysetstate;
13283    ;}
13284     break;
13285
13286   case 3:
13287
13288 /* Line 1464 of yacc.c  */
13289 #line 311 "grammar.y"
13290     {
13291       (yyval.specifier) = null;
13292    #ifdef PRECOMPILER
13293       // if($1._class && !$1._class.name)
13294       if((yyvsp[(1) - (2)].id)._class)
13295       {
13296          char name[1024];
13297          strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13298          strcat(name, "::");
13299          strcat(name, (yyvsp[(1) - (2)].id).string);
13300          _DeclClass(0, name);
13301       }
13302       else
13303          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13304
13305       FreeIdentifier((yyvsp[(1) - (2)].id));
13306
13307       fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13308       resetScannerPos(&(yylsp[(1) - (2)]).start);
13309       yyclearin;
13310
13311       YYPOPSTACK(1);
13312       yystate = *yyssp;
13313       YY_STACK_PRINT (yyss, yyssp);
13314       YYPOPSTACK(1);
13315       yystate = *yyssp;
13316       YY_STACK_PRINT (yyss, yyssp);
13317       goto yysetstate;
13318    #endif
13319    ;}
13320     break;
13321
13322   case 4:
13323
13324 /* Line 1464 of yacc.c  */
13325 #line 369 "grammar.y"
13326     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
13327     break;
13328
13329   case 5:
13330
13331 /* Line 1464 of yacc.c  */
13332 #line 371 "grammar.y"
13333     {
13334    #ifdef PRECOMPILER
13335       if(!(yyvsp[(1) - (2)].id).string[0])
13336       {
13337          (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
13338          FreeIdentifier((yyvsp[(1) - (2)].id));
13339          FreeIdentifier((yyvsp[(2) - (2)].id));
13340       }
13341       else
13342       {
13343          // if($1._class && !$1._class.name)
13344          if((yyvsp[(1) - (2)].id)._class)
13345          {
13346             char name[1024];
13347             strcpy(name,  (yyvsp[(1) - (2)].id)._class.name ? (yyvsp[(1) - (2)].id)._class.name : "");
13348             strcat(name, "::");
13349             strcat(name, (yyvsp[(1) - (2)].id).string);
13350             _DeclClass(0, name);
13351          }
13352          else
13353             _DeclClass(0, (yyvsp[(1) - (2)].id).string);
13354
13355          FreeIdentifier((yyvsp[(1) - (2)].id));
13356          FreeIdentifier((yyvsp[(2) - (2)].id));
13357
13358          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
13359          resetScannerPos(&(yylsp[(1) - (2)]).start);
13360          yyclearin;
13361
13362          YYPOPSTACK(1);
13363          yystate = *yyssp;
13364          YY_STACK_PRINT (yyss, yyssp);
13365          YYPOPSTACK(1);
13366          yystate = *yyssp;
13367          YY_STACK_PRINT (yyss, yyssp);
13368          goto yysetstate;
13369    #else
13370          Location tmpLoc = yylloc; (yyval.specifier) = (yyvsp[(2) - (2)].id); yylloc = (yylsp[(1) - (2)]);
13371          Compiler_Error($"Not a type: %s\n", (yyvsp[(1) - (2)].id).string);
13372          yylloc = tmpLoc; (yyvsp[(2) - (2)].id).badID = (yyvsp[(1) - (2)].id);
13373    #endif
13374       }
13375    ;}
13376     break;
13377
13378   case 6:
13379
13380 /* Line 1464 of yacc.c  */
13381 #line 480 "grammar.y"
13382     { (yyval.specifier) = MkSpecifierName(yytext); ;}
13383     break;
13384
13385   case 7:
13386
13387 /* Line 1464 of yacc.c  */
13388 #line 484 "grammar.y"
13389     { (yyval.string) = CopyString(yytext); ;}
13390     break;
13391
13392   case 9:
13393
13394 /* Line 1464 of yacc.c  */
13395 #line 488 "grammar.y"
13396     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
13397     break;
13398
13399   case 10:
13400
13401 /* Line 1464 of yacc.c  */
13402 #line 490 "grammar.y"
13403     {
13404       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
13405       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
13406       (yyval.specifier).loc = (yyloc);
13407
13408       (yylsp[(4) - (4)]).end.pos--;
13409       fileInput.Seek((yylsp[(4) - (4)]).end.pos, start);
13410       resetScannerPos(&(yylsp[(4) - (4)]).end);
13411       yyclearin;
13412     ;}
13413     break;
13414
13415   case 11:
13416
13417 /* Line 1464 of yacc.c  */
13418 #line 539 "grammar.y"
13419     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13420     break;
13421
13422   case 12:
13423
13424 /* Line 1464 of yacc.c  */
13425 #line 541 "grammar.y"
13426     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13427     break;
13428
13429   case 13:
13430
13431 /* Line 1464 of yacc.c  */
13432 #line 546 "grammar.y"
13433     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (3)].list), null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13434     break;
13435
13436   case 14:
13437
13438 /* Line 1464 of yacc.c  */
13439 #line 551 "grammar.y"
13440     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (4)].list), null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13441     break;
13442
13443   case 15:
13444
13445 /* Line 1464 of yacc.c  */
13446 #line 556 "grammar.y"
13447     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13448     break;
13449
13450   case 16:
13451
13452 /* Line 1464 of yacc.c  */
13453 #line 558 "grammar.y"
13454     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13455     break;
13456
13457   case 17:
13458
13459 /* Line 1464 of yacc.c  */
13460 #line 563 "grammar.y"
13461     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13462     break;
13463
13464   case 18:
13465
13466 /* Line 1464 of yacc.c  */
13467 #line 565 "grammar.y"
13468     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13469     break;
13470
13471   case 19:
13472
13473 /* Line 1464 of yacc.c  */
13474 #line 570 "grammar.y"
13475     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13476     break;
13477
13478   case 20:
13479
13480 /* Line 1464 of yacc.c  */
13481 #line 572 "grammar.y"
13482     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13483     break;
13484
13485   case 21:
13486
13487 /* Line 1464 of yacc.c  */
13488 #line 577 "grammar.y"
13489     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13490     break;
13491
13492   case 22:
13493
13494 /* Line 1464 of yacc.c  */
13495 #line 579 "grammar.y"
13496     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13497     break;
13498
13499   case 23:
13500
13501 /* Line 1464 of yacc.c  */
13502 #line 581 "grammar.y"
13503     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13504     break;
13505
13506   case 24:
13507
13508 /* Line 1464 of yacc.c  */
13509 #line 583 "grammar.y"
13510     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13511     break;
13512
13513   case 25:
13514
13515 /* Line 1464 of yacc.c  */
13516 #line 585 "grammar.y"
13517     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13518     break;
13519
13520   case 26:
13521
13522 /* Line 1464 of yacc.c  */
13523 #line 589 "grammar.y"
13524     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
13525     break;
13526
13527   case 27:
13528
13529 /* Line 1464 of yacc.c  */
13530 #line 593 "grammar.y"
13531     {
13532          if((yyvsp[(1) - (3)].classFunction).declarator)
13533          {
13534             (yyvsp[(1) - (3)].classFunction).declarator = MkStructDeclarator((yyvsp[(1) - (3)].classFunction).declarator, null);
13535             (yyvsp[(1) - (3)].classFunction).declarator.structDecl.attrib = (yyvsp[(2) - (3)].attrib);
13536          }
13537          ProcessClassFunctionBody((yyvsp[(1) - (3)].classFunction), null);
13538          (yyval.classFunction).loc = (yyloc);
13539       ;}
13540     break;
13541
13542   case 28:
13543
13544 /* Line 1464 of yacc.c  */
13545 #line 606 "grammar.y"
13546     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13547     break;
13548
13549   case 29:
13550
13551 /* Line 1464 of yacc.c  */
13552 #line 608 "grammar.y"
13553     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13554     break;
13555
13556   case 30:
13557
13558 /* Line 1464 of yacc.c  */
13559 #line 610 "grammar.y"
13560     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
13561     break;
13562
13563   case 31:
13564
13565 /* Line 1464 of yacc.c  */
13566 #line 612 "grammar.y"
13567     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13568     break;
13569
13570   case 32:
13571
13572 /* Line 1464 of yacc.c  */
13573 #line 614 "grammar.y"
13574     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13575     break;
13576
13577   case 33:
13578
13579 /* Line 1464 of yacc.c  */
13580 #line 620 "grammar.y"
13581     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13582     break;
13583
13584   case 34:
13585
13586 /* Line 1464 of yacc.c  */
13587 #line 622 "grammar.y"
13588     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13589     break;
13590
13591   case 35:
13592
13593 /* Line 1464 of yacc.c  */
13594 #line 627 "grammar.y"
13595     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
13596     break;
13597
13598   case 36:
13599
13600 /* Line 1464 of yacc.c  */
13601 #line 632 "grammar.y"
13602     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
13603     break;
13604
13605   case 37:
13606
13607 /* Line 1464 of yacc.c  */
13608 #line 637 "grammar.y"
13609     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13610     break;
13611
13612   case 38:
13613
13614 /* Line 1464 of yacc.c  */
13615 #line 639 "grammar.y"
13616     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13617     break;
13618
13619   case 39:
13620
13621 /* Line 1464 of yacc.c  */
13622 #line 641 "grammar.y"
13623     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
13624     break;
13625
13626   case 40:
13627
13628 /* Line 1464 of yacc.c  */
13629 #line 645 "grammar.y"
13630     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13631     break;
13632
13633   case 41:
13634
13635 /* Line 1464 of yacc.c  */
13636 #line 646 "grammar.y"
13637     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13638     break;
13639
13640   case 42:
13641
13642 /* Line 1464 of yacc.c  */
13643 #line 650 "grammar.y"
13644     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
13645     break;
13646
13647   case 43:
13648
13649 /* Line 1464 of yacc.c  */
13650 #line 652 "grammar.y"
13651     {
13652          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
13653          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
13654
13655          fileInput.Seek((yylsp[(2) - (3)]).end.pos, start);
13656          yyclearin;
13657          resetScannerPos(&(yylsp[(2) - (3)]).end);
13658          (yyloc).start = (yylsp[(1) - (3)]).start;
13659          (yyloc).end = (yylsp[(2) - (3)]).end;
13660       ;}
13661     break;
13662
13663   case 44:
13664
13665 /* Line 1464 of yacc.c  */
13666 #line 662 "grammar.y"
13667     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
13668     break;
13669
13670   case 45:
13671
13672 /* Line 1464 of yacc.c  */
13673 #line 666 "grammar.y"
13674     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13675     break;
13676
13677   case 46:
13678
13679 /* Line 1464 of yacc.c  */
13680 #line 668 "grammar.y"
13681     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13682     break;
13683
13684   case 47:
13685
13686 /* Line 1464 of yacc.c  */
13687 #line 670 "grammar.y"
13688     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13689     break;
13690
13691   case 48:
13692
13693 /* Line 1464 of yacc.c  */
13694 #line 674 "grammar.y"
13695     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
13696     break;
13697
13698   case 49:
13699
13700 /* Line 1464 of yacc.c  */
13701 #line 676 "grammar.y"
13702     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13703     break;
13704
13705   case 50:
13706
13707 /* Line 1464 of yacc.c  */
13708 #line 678 "grammar.y"
13709     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
13710     break;
13711
13712   case 51:
13713
13714 /* Line 1464 of yacc.c  */
13715 #line 681 "grammar.y"
13716     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13717          {
13718             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13719             MemberInit memberInit = MkMemberInit(null, dummy);
13720             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13721             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13722             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13723           }
13724           (yyval.list) = (yyvsp[(1) - (3)].list);
13725        ;}
13726     break;
13727
13728   case 52:
13729
13730 /* Line 1464 of yacc.c  */
13731 #line 693 "grammar.y"
13732     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
13733          {
13734             Initializer dummy = MkInitializerAssignment(MkExpDummy());
13735             MemberInit memberInit = MkMemberInit(null, dummy);
13736             memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(2) - (3)]).end;
13737             memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(2) - (3)]).end;
13738             ListAdd((yyvsp[(1) - (3)].list), memberInit);
13739           }
13740           (yyval.list) = (yyvsp[(1) - (3)].list);
13741        ;}
13742     break;
13743
13744   case 53:
13745
13746 /* Line 1464 of yacc.c  */
13747 #line 704 "grammar.y"
13748     {
13749          Initializer dummy = MkInitializerAssignment(MkExpDummy());
13750          MemberInit memberInit = MkMemberInit(null, dummy);
13751          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).start;
13752          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).start;
13753
13754          (yyval.list) = MkList();
13755          ListAdd((yyval.list), memberInit);
13756
13757          dummy = MkInitializerAssignment(MkExpDummy());
13758          memberInit = MkMemberInit(null, dummy);
13759          memberInit.realLoc.start = memberInit.loc.start = dummy.loc.start = (yylsp[(1) - (1)]).end;
13760          memberInit.realLoc.end = memberInit.loc.end = dummy.loc.end = (yylsp[(1) - (1)]).end;
13761          ListAdd((yyval.list), memberInit);
13762       ;}
13763     break;
13764
13765   case 54:
13766
13767 /* Line 1464 of yacc.c  */
13768 #line 723 "grammar.y"
13769     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13770     break;
13771
13772   case 55:
13773
13774 /* Line 1464 of yacc.c  */
13775 #line 725 "grammar.y"
13776     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13777     break;
13778
13779   case 56:
13780
13781 /* Line 1464 of yacc.c  */
13782 #line 729 "grammar.y"
13783     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
13784     break;
13785
13786   case 57:
13787
13788 /* Line 1464 of yacc.c  */
13789 #line 730 "grammar.y"
13790     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13791     break;
13792
13793   case 58:
13794
13795 /* Line 1464 of yacc.c  */
13796 #line 731 "grammar.y"
13797     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13798     break;
13799
13800   case 59:
13801
13802 /* Line 1464 of yacc.c  */
13803 #line 732 "grammar.y"
13804     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13805     break;
13806
13807   case 60:
13808
13809 /* Line 1464 of yacc.c  */
13810 #line 733 "grammar.y"
13811     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13812     break;
13813
13814   case 61:
13815
13816 /* Line 1464 of yacc.c  */
13817 #line 734 "grammar.y"
13818     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13819     break;
13820
13821   case 63:
13822
13823 /* Line 1464 of yacc.c  */
13824 #line 737 "grammar.y"
13825     {
13826       MembersInit members = (MembersInit)(yyval.list)->last;
13827       if(members.type == dataMembersInit)
13828          members.loc.end = (yyloc).end;
13829       else
13830       {
13831          MembersInit members = MkMembersInitList(MkList());
13832          ListAdd((yyval.list), members);
13833          members.loc = (yylsp[(2) - (2)]);
13834       }
13835       (yyval.list) = (yyvsp[(1) - (2)].list);
13836    ;}
13837     break;
13838
13839   case 64:
13840
13841 /* Line 1464 of yacc.c  */
13842 #line 749 "grammar.y"
13843     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
13844     break;
13845
13846   case 66:
13847
13848 /* Line 1464 of yacc.c  */
13849 #line 754 "grammar.y"
13850     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13851     break;
13852
13853   case 67:
13854
13855 /* Line 1464 of yacc.c  */
13856 #line 755 "grammar.y"
13857     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13858     break;
13859
13860   case 68:
13861
13862 /* Line 1464 of yacc.c  */
13863 #line 756 "grammar.y"
13864     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13865     break;
13866
13867   case 69:
13868
13869 /* Line 1464 of yacc.c  */
13870 #line 760 "grammar.y"
13871     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13872     break;
13873
13874   case 70:
13875
13876 /* Line 1464 of yacc.c  */
13877 #line 761 "grammar.y"
13878     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13879     break;
13880
13881   case 71:
13882
13883 /* Line 1464 of yacc.c  */
13884 #line 762 "grammar.y"
13885     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13886     break;
13887
13888   case 72:
13889
13890 /* Line 1464 of yacc.c  */
13891 #line 763 "grammar.y"
13892     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13893     break;
13894
13895   case 73:
13896
13897 /* Line 1464 of yacc.c  */
13898 #line 764 "grammar.y"
13899     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
13900     break;
13901
13902   case 74:
13903
13904 /* Line 1464 of yacc.c  */
13905 #line 765 "grammar.y"
13906     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
13907     break;
13908
13909   case 75:
13910
13911 /* Line 1464 of yacc.c  */
13912 #line 766 "grammar.y"
13913     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
13914     break;
13915
13916   case 76:
13917
13918 /* Line 1464 of yacc.c  */
13919 #line 771 "grammar.y"
13920     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
13921     break;
13922
13923   case 77:
13924
13925 /* Line 1464 of yacc.c  */
13926 #line 773 "grammar.y"
13927     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
13928     break;
13929
13930   case 78:
13931
13932 /* Line 1464 of yacc.c  */
13933 #line 778 "grammar.y"
13934     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13935     break;
13936
13937   case 79:
13938
13939 /* Line 1464 of yacc.c  */
13940 #line 780 "grammar.y"
13941     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13942     break;
13943
13944   case 80:
13945
13946 /* Line 1464 of yacc.c  */
13947 #line 782 "grammar.y"
13948     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13949     break;
13950
13951   case 81:
13952
13953 /* Line 1464 of yacc.c  */
13954 #line 784 "grammar.y"
13955     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null); (yyval.instance).exp.loc = (yylsp[(2) - (3)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13956     break;
13957
13958   case 82:
13959
13960 /* Line 1464 of yacc.c  */
13961 #line 786 "grammar.y"
13962     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13963     break;
13964
13965   case 83:
13966
13967 /* Line 1464 of yacc.c  */
13968 #line 816 "grammar.y"
13969     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
13970     break;
13971
13972   case 84:
13973
13974 /* Line 1464 of yacc.c  */
13975 #line 818 "grammar.y"
13976     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
13977     break;
13978
13979   case 85:
13980
13981 /* Line 1464 of yacc.c  */
13982 #line 823 "grammar.y"
13983     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13984     break;
13985
13986   case 86:
13987
13988 /* Line 1464 of yacc.c  */
13989 #line 825 "grammar.y"
13990     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13991     break;
13992
13993   case 87:
13994
13995 /* Line 1464 of yacc.c  */
13996 #line 827 "grammar.y"
13997     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
13998     break;
13999
14000   case 88:
14001
14002 /* Line 1464 of yacc.c  */
14003 #line 829 "grammar.y"
14004     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (3)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14005     break;
14006
14007   case 89:
14008
14009 /* Line 1464 of yacc.c  */
14010 #line 831 "grammar.y"
14011     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14012     break;
14013
14014   case 90:
14015
14016 /* Line 1464 of yacc.c  */
14017 #line 860 "grammar.y"
14018     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
14019     break;
14020
14021   case 91:
14022
14023 /* Line 1464 of yacc.c  */
14024 #line 862 "grammar.y"
14025     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
14026     break;
14027
14028   case 92:
14029
14030 /* Line 1464 of yacc.c  */
14031 #line 864 "grammar.y"
14032     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), MkList());  (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).start;;}
14033     break;
14034
14035   case 93:
14036
14037 /* Line 1464 of yacc.c  */
14038 #line 869 "grammar.y"
14039     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
14040     break;
14041
14042   case 94:
14043
14044 /* Line 1464 of yacc.c  */
14045 #line 871 "grammar.y"
14046     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
14047     break;
14048
14049   case 95:
14050
14051 /* Line 1464 of yacc.c  */
14052 #line 876 "grammar.y"
14053     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14054     break;
14055
14056   case 96:
14057
14058 /* Line 1464 of yacc.c  */
14059 #line 878 "grammar.y"
14060     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14061       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14062     break;
14063
14064   case 97:
14065
14066 /* Line 1464 of yacc.c  */
14067 #line 882 "grammar.y"
14068     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14069     break;
14070
14071   case 98:
14072
14073 /* Line 1464 of yacc.c  */
14074 #line 884 "grammar.y"
14075     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (2)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14076     break;
14077
14078   case 99:
14079
14080 /* Line 1464 of yacc.c  */
14081 #line 886 "grammar.y"
14082     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (4)].specifier), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14083     break;
14084
14085   case 100:
14086
14087 /* Line 1464 of yacc.c  */
14088 #line 888 "grammar.y"
14089     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
14090     break;
14091
14092   case 101:
14093
14094 /* Line 1464 of yacc.c  */
14095 #line 893 "grammar.y"
14096     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14097       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14098     break;
14099
14100   case 102:
14101
14102 /* Line 1464 of yacc.c  */
14103 #line 896 "grammar.y"
14104     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
14105       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (2)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (2)].id)); ;}
14106     break;
14107
14108   case 103:
14109
14110 /* Line 1464 of yacc.c  */
14111 #line 899 "grammar.y"
14112     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
14113       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (4)].id).string), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (4)].id)); ;}
14114     break;
14115
14116   case 104:
14117
14118 /* Line 1464 of yacc.c  */
14119 #line 902 "grammar.y"
14120     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
14121       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
14122     break;
14123
14124   case 105:
14125
14126 /* Line 1464 of yacc.c  */
14127 #line 967 "grammar.y"
14128     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
14129     break;
14130
14131   case 106:
14132
14133 /* Line 1464 of yacc.c  */
14134 #line 969 "grammar.y"
14135     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
14136     break;
14137
14138   case 107:
14139
14140 /* Line 1464 of yacc.c  */
14141 #line 974 "grammar.y"
14142     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14143     break;
14144
14145   case 108:
14146
14147 /* Line 1464 of yacc.c  */
14148 #line 976 "grammar.y"
14149     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14150     break;
14151
14152   case 109:
14153
14154 /* Line 1464 of yacc.c  */
14155 #line 978 "grammar.y"
14156     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
14157     break;
14158
14159   case 110:
14160
14161 /* Line 1464 of yacc.c  */
14162 #line 980 "grammar.y"
14163     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (1)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (1)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14164     break;
14165
14166   case 111:
14167
14168 /* Line 1464 of yacc.c  */
14169 #line 982 "grammar.y"
14170     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
14171     break;
14172
14173   case 112:
14174
14175 /* Line 1464 of yacc.c  */
14176 #line 1012 "grammar.y"
14177     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14178     break;
14179
14180   case 113:
14181
14182 /* Line 1464 of yacc.c  */
14183 #line 1016 "grammar.y"
14184     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
14185     break;
14186
14187   case 114:
14188
14189 /* Line 1464 of yacc.c  */
14190 #line 1017 "grammar.y"
14191     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy())); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; ;}
14192     break;
14193
14194   case 115:
14195
14196 /* Line 1464 of yacc.c  */
14197 #line 1018 "grammar.y"
14198     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
14199     break;
14200
14201   case 116:
14202
14203 /* Line 1464 of yacc.c  */
14204 #line 1022 "grammar.y"
14205     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14206     break;
14207
14208   case 117:
14209
14210 /* Line 1464 of yacc.c  */
14211 #line 1023 "grammar.y"
14212     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14213     break;
14214
14215   case 118:
14216
14217 /* Line 1464 of yacc.c  */
14218 #line 1024 "grammar.y"
14219     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14220     break;
14221
14222   case 119:
14223
14224 /* Line 1464 of yacc.c  */
14225 #line 1028 "grammar.y"
14226     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
14227     break;
14228
14229   case 120:
14230
14231 /* Line 1464 of yacc.c  */
14232 #line 1029 "grammar.y"
14233     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14234     break;
14235
14236   case 121:
14237
14238 /* Line 1464 of yacc.c  */
14239 #line 1030 "grammar.y"
14240     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
14241     break;
14242
14243   case 123:
14244
14245 /* Line 1464 of yacc.c  */
14246 #line 1036 "grammar.y"
14247     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14248     break;
14249
14250   case 124:
14251
14252 /* Line 1464 of yacc.c  */
14253 #line 1039 "grammar.y"
14254     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14255     break;
14256
14257   case 125:
14258
14259 /* Line 1464 of yacc.c  */
14260 #line 1042 "grammar.y"
14261     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14262     break;
14263
14264   case 126:
14265
14266 /* Line 1464 of yacc.c  */
14267 #line 1045 "grammar.y"
14268     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14269     break;
14270
14271   case 127:
14272
14273 /* Line 1464 of yacc.c  */
14274 #line 1048 "grammar.y"
14275     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14276     break;
14277
14278   case 129:
14279
14280 /* Line 1464 of yacc.c  */
14281 #line 1054 "grammar.y"
14282     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14283     break;
14284
14285   case 130:
14286
14287 /* Line 1464 of yacc.c  */
14288 #line 1056 "grammar.y"
14289     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14290     break;
14291
14292   case 131:
14293
14294 /* Line 1464 of yacc.c  */
14295 #line 1058 "grammar.y"
14296     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
14297     break;
14298
14299   case 132:
14300
14301 /* Line 1464 of yacc.c  */
14302 #line 1060 "grammar.y"
14303     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
14304     break;
14305
14306   case 133:
14307
14308 /* Line 1464 of yacc.c  */
14309 #line 1062 "grammar.y"
14310     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
14311     break;
14312
14313   case 134:
14314
14315 /* Line 1464 of yacc.c  */
14316 #line 1066 "grammar.y"
14317     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
14318     break;
14319
14320   case 135:
14321
14322 /* Line 1464 of yacc.c  */
14323 #line 1071 "grammar.y"
14324     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14325     break;
14326
14327   case 136:
14328
14329 /* Line 1464 of yacc.c  */
14330 #line 1074 "grammar.y"
14331     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
14332     break;
14333
14334   case 137:
14335
14336 /* Line 1464 of yacc.c  */
14337 #line 1077 "grammar.y"
14338     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14339     break;
14340
14341   case 138:
14342
14343 /* Line 1464 of yacc.c  */
14344 #line 1080 "grammar.y"
14345     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
14346     break;
14347
14348   case 139:
14349
14350 /* Line 1464 of yacc.c  */
14351 #line 1083 "grammar.y"
14352     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
14353     break;
14354
14355   case 141:
14356
14357 /* Line 1464 of yacc.c  */
14358 #line 1089 "grammar.y"
14359     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
14360     break;
14361
14362   case 142:
14363
14364 /* Line 1464 of yacc.c  */
14365 #line 1091 "grammar.y"
14366     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
14367     break;
14368
14369   case 143:
14370
14371 /* Line 1464 of yacc.c  */
14372 #line 1095 "grammar.y"
14373     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
14374     break;
14375
14376   case 144:
14377
14378 /* Line 1464 of yacc.c  */
14379 #line 1100 "grammar.y"
14380     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
14381     break;
14382
14383   case 145:
14384
14385 /* Line 1464 of yacc.c  */
14386 #line 1102 "grammar.y"
14387     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
14388     break;
14389
14390   case 146:
14391
14392 /* Line 1464 of yacc.c  */
14393 #line 1107 "grammar.y"
14394     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
14395     break;
14396
14397   case 147:
14398
14399 /* Line 1464 of yacc.c  */
14400 #line 1109 "grammar.y"
14401     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
14402     break;
14403
14404   case 148:
14405
14406 /* Line 1464 of yacc.c  */
14407 #line 1114 "grammar.y"
14408     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
14409     break;
14410
14411   case 149:
14412
14413 /* Line 1464 of yacc.c  */
14414 #line 1116 "grammar.y"
14415     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
14416     break;
14417
14418   case 150:
14419
14420 /* Line 1464 of yacc.c  */
14421 #line 1121 "grammar.y"
14422     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
14423     break;
14424
14425   case 151:
14426
14427 /* Line 1464 of yacc.c  */
14428 #line 1126 "grammar.y"
14429     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
14430     break;
14431
14432   case 152:
14433
14434 /* Line 1464 of yacc.c  */
14435 #line 1128 "grammar.y"
14436     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
14437     break;
14438
14439   case 153:
14440
14441 /* Line 1464 of yacc.c  */
14442 #line 1133 "grammar.y"
14443     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
14444     break;
14445
14446   case 154:
14447
14448 /* Line 1464 of yacc.c  */
14449 #line 1135 "grammar.y"
14450     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
14451     break;
14452
14453   case 155:
14454
14455 /* Line 1464 of yacc.c  */
14456 #line 1137 "grammar.y"
14457     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
14458     break;
14459
14460   case 156:
14461
14462 /* Line 1464 of yacc.c  */
14463 #line 1139 "grammar.y"
14464     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
14465     break;
14466
14467   case 157:
14468
14469 /* Line 1464 of yacc.c  */
14470 #line 1144 "grammar.y"
14471     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
14472     break;
14473
14474   case 158:
14475
14476 /* Line 1464 of yacc.c  */
14477 #line 1146 "grammar.y"
14478     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
14479     break;
14480
14481   case 159:
14482
14483 /* Line 1464 of yacc.c  */
14484 #line 1148 "grammar.y"
14485     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
14486     break;
14487
14488   case 160:
14489
14490 /* Line 1464 of yacc.c  */
14491 #line 1150 "grammar.y"
14492     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
14493     break;
14494
14495   case 161:
14496
14497 /* Line 1464 of yacc.c  */
14498 #line 1154 "grammar.y"
14499     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
14500     break;
14501
14502   case 162:
14503
14504 /* Line 1464 of yacc.c  */
14505 #line 1155 "grammar.y"
14506     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (2)].list)); if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).start; (yyval.classDef).loc = (yyloc); ;}
14507     break;
14508
14509   case 163:
14510
14511 /* Line 1464 of yacc.c  */
14512 #line 1156 "grammar.y"
14513     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14514     break;
14515
14516   case 164:
14517
14518 /* Line 1464 of yacc.c  */
14519 #line 1157 "grammar.y"
14520     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14521     break;
14522
14523   case 165:
14524
14525 /* Line 1464 of yacc.c  */
14526 #line 1158 "grammar.y"
14527     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14528     break;
14529
14530   case 166:
14531
14532 /* Line 1464 of yacc.c  */
14533 #line 1159 "grammar.y"
14534     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14535     break;
14536
14537   case 167:
14538
14539 /* Line 1464 of yacc.c  */
14540 #line 1160 "grammar.y"
14541     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14542     break;
14543
14544   case 168:
14545
14546 /* Line 1464 of yacc.c  */
14547 #line 1161 "grammar.y"
14548     { (yyval.classDef) = null; deleteWatchable = true; ;}
14549     break;
14550
14551   case 169:
14552
14553 /* Line 1464 of yacc.c  */
14554 #line 1162 "grammar.y"
14555     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
14556     break;
14557
14558   case 170:
14559
14560 /* Line 1464 of yacc.c  */
14561 #line 1163 "grammar.y"
14562     { (yyval.classDef) = MkClassDefFixed(); ;}
14563     break;
14564
14565   case 171:
14566
14567 /* Line 1464 of yacc.c  */
14568 #line 1164 "grammar.y"
14569     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
14570     break;
14571
14572   case 172:
14573
14574 /* Line 1464 of yacc.c  */
14575 #line 1166 "grammar.y"
14576     { (yyval.classDef) = null; ;}
14577     break;
14578
14579   case 173:
14580
14581 /* Line 1464 of yacc.c  */
14582 #line 1167 "grammar.y"
14583     { memberAccessStack[defaultMemberAccess] = (yyvsp[(1) - (2)].declMode); if(defaultMemberAccess == 0) { (yyval.classDef) = MkClassDefMemberAccess(); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); (yyval.classDef).loc = (yyloc); } else (yyval.classDef) = null; ;}
14584     break;
14585
14586   case 174:
14587
14588 /* Line 1464 of yacc.c  */
14589 #line 1169 "grammar.y"
14590     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
14591     break;
14592
14593   case 175:
14594
14595 /* Line 1464 of yacc.c  */
14596 #line 1173 "grammar.y"
14597     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyvsp[(1) - (1)].classFunction).loc;  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14598     break;
14599
14600   case 176:
14601
14602 /* Line 1464 of yacc.c  */
14603 #line 1176 "grammar.y"
14604     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14605     break;
14606
14607   case 177:
14608
14609 /* Line 1464 of yacc.c  */
14610 #line 1177 "grammar.y"
14611     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14612     break;
14613
14614   case 178:
14615
14616 /* Line 1464 of yacc.c  */
14617 #line 1178 "grammar.y"
14618     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14619     break;
14620
14621   case 179:
14622
14623 /* Line 1464 of yacc.c  */
14624 #line 1179 "grammar.y"
14625     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (2)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14626     break;
14627
14628   case 180:
14629
14630 /* Line 1464 of yacc.c  */
14631 #line 1180 "grammar.y"
14632     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14633     break;
14634
14635   case 181:
14636
14637 /* Line 1464 of yacc.c  */
14638 #line 1181 "grammar.y"
14639     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14640     break;
14641
14642   case 182:
14643
14644 /* Line 1464 of yacc.c  */
14645 #line 1182 "grammar.y"
14646     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
14647     break;
14648
14649   case 183:
14650
14651 /* Line 1464 of yacc.c  */
14652 #line 1183 "grammar.y"
14653     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
14654     break;
14655
14656   case 184:
14657
14658 /* Line 1464 of yacc.c  */
14659 #line 1184 "grammar.y"
14660     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
14661     break;
14662
14663   case 185:
14664
14665 /* Line 1464 of yacc.c  */
14666 #line 1185 "grammar.y"
14667     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
14668     break;
14669
14670   case 186:
14671
14672 /* Line 1464 of yacc.c  */
14673 #line 1186 "grammar.y"
14674     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
14675     break;
14676
14677   case 187:
14678
14679 /* Line 1464 of yacc.c  */
14680 #line 1187 "grammar.y"
14681     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14682     break;
14683
14684   case 188:
14685
14686 /* Line 1464 of yacc.c  */
14687 #line 1188 "grammar.y"
14688     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14689     break;
14690
14691   case 189:
14692
14693 /* Line 1464 of yacc.c  */
14694 #line 1189 "grammar.y"
14695     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); if((yyvsp[(1) - (1)].list)->last) ((MemberInit)(yyvsp[(1) - (1)].list)->last).loc.end = (yylsp[(1) - (1)]).end; (yyval.classDef).loc = (yyloc); ;}
14696     break;
14697
14698   case 190:
14699
14700 /* Line 1464 of yacc.c  */
14701 #line 1191 "grammar.y"
14702     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14703     break;
14704
14705   case 191:
14706
14707 /* Line 1464 of yacc.c  */
14708 #line 1192 "grammar.y"
14709     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
14710     break;
14711
14712   case 192:
14713
14714 /* Line 1464 of yacc.c  */
14715 #line 1196 "grammar.y"
14716     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
14717     break;
14718
14719   case 193:
14720
14721 /* Line 1464 of yacc.c  */
14722 #line 1197 "grammar.y"
14723     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14724     break;
14725
14726   case 194:
14727
14728 /* Line 1464 of yacc.c  */
14729 #line 1198 "grammar.y"
14730     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
14731     break;
14732
14733   case 195:
14734
14735 /* Line 1464 of yacc.c  */
14736 #line 1202 "grammar.y"
14737     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
14738     break;
14739
14740   case 196:
14741
14742 /* Line 1464 of yacc.c  */
14743 #line 1206 "grammar.y"
14744     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14745     break;
14746
14747   case 197:
14748
14749 /* Line 1464 of yacc.c  */
14750 #line 1207 "grammar.y"
14751     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14752     break;
14753
14754   case 198:
14755
14756 /* Line 1464 of yacc.c  */
14757 #line 1208 "grammar.y"
14758     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
14759     break;
14760
14761   case 199:
14762
14763 /* Line 1464 of yacc.c  */
14764 #line 1212 "grammar.y"
14765     { yyerror(); (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
14766     break;
14767
14768   case 202:
14769
14770 /* Line 1464 of yacc.c  */
14771 #line 1215 "grammar.y"
14772     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14773     break;
14774
14775   case 203:
14776
14777 /* Line 1464 of yacc.c  */
14778 #line 1216 "grammar.y"
14779     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
14780     break;
14781
14782   case 204:
14783
14784 /* Line 1464 of yacc.c  */
14785 #line 1220 "grammar.y"
14786     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
14787     break;
14788
14789   case 205:
14790
14791 /* Line 1464 of yacc.c  */
14792 #line 1221 "grammar.y"
14793     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
14794     break;
14795
14796   case 206:
14797
14798 /* Line 1464 of yacc.c  */
14799 #line 1233 "grammar.y"
14800     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
14801     break;
14802
14803   case 207:
14804
14805 /* Line 1464 of yacc.c  */
14806 #line 1234 "grammar.y"
14807     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
14808     break;
14809
14810   case 208:
14811
14812 /* Line 1464 of yacc.c  */
14813 #line 1238 "grammar.y"
14814     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
14815     break;
14816
14817   case 209:
14818
14819 /* Line 1464 of yacc.c  */
14820 #line 1239 "grammar.y"
14821     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14822     break;
14823
14824   case 210:
14825
14826 /* Line 1464 of yacc.c  */
14827 #line 1240 "grammar.y"
14828     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14829     break;
14830
14831   case 211:
14832
14833 /* Line 1464 of yacc.c  */
14834 #line 1241 "grammar.y"
14835     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14836     break;
14837
14838   case 212:
14839
14840 /* Line 1464 of yacc.c  */
14841 #line 1242 "grammar.y"
14842     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
14843     break;
14844
14845   case 213:
14846
14847 /* Line 1464 of yacc.c  */
14848 #line 1243 "grammar.y"
14849     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
14850     break;
14851
14852   case 214:
14853
14854 /* Line 1464 of yacc.c  */
14855 #line 1244 "grammar.y"
14856     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
14857     break;
14858
14859   case 215:
14860
14861 /* Line 1464 of yacc.c  */
14862 #line 1245 "grammar.y"
14863     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
14864     break;
14865
14866   case 216:
14867
14868 /* Line 1464 of yacc.c  */
14869 #line 1249 "grammar.y"
14870     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
14871     break;
14872
14873   case 217:
14874
14875 /* Line 1464 of yacc.c  */
14876 #line 1253 "grammar.y"
14877     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
14878     break;
14879
14880   case 218:
14881
14882 /* Line 1464 of yacc.c  */
14883 #line 1254 "grammar.y"
14884     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
14885     break;
14886
14887   case 219:
14888
14889 /* Line 1464 of yacc.c  */
14890 #line 1258 "grammar.y"
14891     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
14892     break;
14893
14894   case 220:
14895
14896 /* Line 1464 of yacc.c  */
14897 #line 1266 "grammar.y"
14898     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
14899     break;
14900
14901   case 221:
14902
14903 /* Line 1464 of yacc.c  */
14904 #line 1267 "grammar.y"
14905     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
14906     break;
14907
14908   case 225:
14909
14910 /* Line 1464 of yacc.c  */
14911 #line 1277 "grammar.y"
14912     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
14913     break;
14914
14915   case 226:
14916
14917 /* Line 1464 of yacc.c  */
14918 #line 1278 "grammar.y"
14919     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
14920     break;
14921
14922   case 230:
14923
14924 /* Line 1464 of yacc.c  */
14925 #line 1285 "grammar.y"
14926     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14927     break;
14928
14929   case 231:
14930
14931 /* Line 1464 of yacc.c  */
14932 #line 1286 "grammar.y"
14933     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14934     break;
14935
14936   case 232:
14937
14938 /* Line 1464 of yacc.c  */
14939 #line 1287 "grammar.y"
14940     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
14941     break;
14942
14943   case 233:
14944
14945 /* Line 1464 of yacc.c  */
14946 #line 1327 "grammar.y"
14947     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
14948     break;
14949
14950   case 234:
14951
14952 /* Line 1464 of yacc.c  */
14953 #line 1328 "grammar.y"
14954     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
14955     break;
14956
14957   case 235:
14958
14959 /* Line 1464 of yacc.c  */
14960 #line 1333 "grammar.y"
14961     {
14962       if(curContext != globalContext)
14963          PopContext(curContext);
14964       (yyval.context) = PushContext();
14965    ;}
14966     break;
14967
14968   case 236:
14969
14970 /* Line 1464 of yacc.c  */
14971 #line 1340 "grammar.y"
14972     { (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14973     break;
14974
14975   case 237:
14976
14977 /* Line 1464 of yacc.c  */
14978 #line 1342 "grammar.y"
14979     {
14980       (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
14981       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
14982       FreeSpecifier((yyvsp[(2) - (2)].specifier));
14983       ++defaultMemberAccess;
14984       memberAccessStack[defaultMemberAccess] = privateAccess;
14985    ;}
14986     break;
14987
14988   case 238:
14989
14990 /* Line 1464 of yacc.c  */
14991 #line 1349 "grammar.y"
14992     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
14993     break;
14994
14995   case 239:
14996
14997 /* Line 1464 of yacc.c  */
14998 #line 1350 "grammar.y"
14999     { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15000     break;
15001
15002   case 240:
15003
15004 /* Line 1464 of yacc.c  */
15005 #line 1352 "grammar.y"
15006     { (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15007     break;
15008
15009   case 241:
15010
15011 /* Line 1464 of yacc.c  */
15012 #line 1354 "grammar.y"
15013     {
15014       (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
15015       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
15016       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
15017       FreeSpecifier((yyvsp[(2) - (5)].specifier));
15018       ++defaultMemberAccess;
15019       memberAccessStack[defaultMemberAccess] = privateAccess;
15020    ;}
15021     break;
15022
15023   case 242:
15024
15025 /* Line 1464 of yacc.c  */
15026 #line 1362 "grammar.y"
15027     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15028     break;
15029
15030   case 243:
15031
15032 /* Line 1464 of yacc.c  */
15033 #line 1363 "grammar.y"
15034     { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
15035     break;
15036
15037   case 244:
15038
15039 /* Line 1464 of yacc.c  */
15040 #line 1368 "grammar.y"
15041     {
15042          (yyval._class).loc = (yyloc);
15043          (yyval._class) = (yyvsp[(1) - (2)]._class);
15044       ;}
15045     break;
15046
15047   case 245:
15048
15049 /* Line 1464 of yacc.c  */
15050 #line 1375 "grammar.y"
15051     {
15052          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15053          POP_DEFAULT_ACCESS
15054          PopContext(curContext);
15055       ;}
15056     break;
15057
15058   case 246:
15059
15060 /* Line 1464 of yacc.c  */
15061 #line 1382 "grammar.y"
15062     {
15063          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15064          POP_DEFAULT_ACCESS
15065          PopContext(curContext);
15066       ;}
15067     break;
15068
15069   case 247:
15070
15071 /* Line 1464 of yacc.c  */
15072 #line 1388 "grammar.y"
15073     {
15074          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
15075          POP_DEFAULT_ACCESS
15076          PopContext(curContext);
15077       ;}
15078     break;
15079
15080   case 248:
15081
15082 /* Line 1464 of yacc.c  */
15083 #line 1395 "grammar.y"
15084     {
15085          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
15086          POP_DEFAULT_ACCESS
15087          PopContext(curContext);
15088       ;}
15089     break;
15090
15091   case 249:
15092
15093 /* Line 1464 of yacc.c  */
15094 #line 1401 "grammar.y"
15095     {
15096          (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
15097          POP_DEFAULT_ACCESS
15098          PopContext(curContext);
15099       ;}
15100     break;
15101
15102   case 250:
15103
15104 /* Line 1464 of yacc.c  */
15105 #line 1410 "grammar.y"
15106     {
15107          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
15108       ;}
15109     break;
15110
15111   case 251:
15112
15113 /* Line 1464 of yacc.c  */
15114 #line 1417 "grammar.y"
15115     {
15116          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15117          POP_DEFAULT_ACCESS
15118          PopContext(curContext);
15119       ;}
15120     break;
15121
15122   case 252:
15123
15124 /* Line 1464 of yacc.c  */
15125 #line 1423 "grammar.y"
15126     {
15127          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15128          POP_DEFAULT_ACCESS
15129          PopContext(curContext);
15130       ;}
15131     break;
15132
15133   case 253:
15134
15135 /* Line 1464 of yacc.c  */
15136 #line 1429 "grammar.y"
15137     {
15138          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15139          POP_DEFAULT_ACCESS
15140          PopContext(curContext);
15141       ;}
15142     break;
15143
15144   case 254:
15145
15146 /* Line 1464 of yacc.c  */
15147 #line 1435 "grammar.y"
15148     {
15149          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15150          POP_DEFAULT_ACCESS
15151          PopContext(curContext);
15152       ;}
15153     break;
15154
15155   case 255:
15156
15157 /* Line 1464 of yacc.c  */
15158 #line 1441 "grammar.y"
15159     {
15160          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15161          POP_DEFAULT_ACCESS
15162          PopContext(curContext);
15163       ;}
15164     break;
15165
15166   case 256:
15167
15168 /* Line 1464 of yacc.c  */
15169 #line 1447 "grammar.y"
15170     {
15171          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
15172          POP_DEFAULT_ACCESS
15173          PopContext(curContext);
15174       ;}
15175     break;
15176
15177   case 257:
15178
15179 /* Line 1464 of yacc.c  */
15180 #line 1458 "grammar.y"
15181     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
15182     break;
15183
15184   case 259:
15185
15186 /* Line 1464 of yacc.c  */
15187 #line 1464 "grammar.y"
15188     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15189     break;
15190
15191   case 260:
15192
15193 /* Line 1464 of yacc.c  */
15194 #line 1468 "grammar.y"
15195     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
15196     break;
15197
15198   case 261:
15199
15200 /* Line 1464 of yacc.c  */
15201 #line 1469 "grammar.y"
15202     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
15203     break;
15204
15205   case 262:
15206
15207 /* Line 1464 of yacc.c  */
15208 #line 1470 "grammar.y"
15209     { (yyval.exp) = MkExpIntlString((yyvsp[(4) - (4)].string), (yyvsp[(2) - (4)].string)); delete (yyvsp[(2) - (4)].string); delete (yyvsp[(4) - (4)].string); (yyval.exp).loc = (yyloc); ;}
15210     break;
15211
15212   case 263:
15213
15214 /* Line 1464 of yacc.c  */
15215 #line 1474 "grammar.y"
15216     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
15217     break;
15218
15219   case 264:
15220
15221 /* Line 1464 of yacc.c  */
15222 #line 1478 "grammar.y"
15223     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
15224     break;
15225
15226   case 265:
15227
15228 /* Line 1464 of yacc.c  */
15229 #line 1479 "grammar.y"
15230     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15231     break;
15232
15233   case 266:
15234
15235 /* Line 1464 of yacc.c  */
15236 #line 1480 "grammar.y"
15237     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
15238     break;
15239
15240   case 267:
15241
15242 /* Line 1464 of yacc.c  */
15243 #line 1481 "grammar.y"
15244     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15245     break;
15246
15247   case 268:
15248
15249 /* Line 1464 of yacc.c  */
15250 #line 1482 "grammar.y"
15251     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
15252     break;
15253
15254   case 269:
15255
15256 /* Line 1464 of yacc.c  */
15257 #line 1483 "grammar.y"
15258     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
15259     break;
15260
15261   case 270:
15262
15263 /* Line 1464 of yacc.c  */
15264 #line 1485 "grammar.y"
15265     {
15266       char * constant = (yyvsp[(1) - (2)].exp).constant;
15267       int len = strlen(constant);
15268       if(constant[len-1] == '.')
15269       {
15270          constant[len-1] = 0;
15271          (yyval.exp) = MkExpMember((yyvsp[(1) - (2)].exp), (yyvsp[(2) - (2)].id));
15272          (yyval.exp).loc = (yyloc);
15273       }
15274       else
15275          yyerror();
15276    ;}
15277     break;
15278
15279   case 271:
15280
15281 /* Line 1464 of yacc.c  */
15282 #line 1497 "grammar.y"
15283     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
15284     break;
15285
15286   case 273:
15287
15288 /* Line 1464 of yacc.c  */
15289 #line 1499 "grammar.y"
15290     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(1) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).start; (yyval.exp) = MkExpBrackets(MkListOne(exp)); (yyval.exp).loc = (yyloc); yyerror(); ;}
15291     break;
15292
15293   case 274:
15294
15295 /* Line 1464 of yacc.c  */
15296 #line 1500 "grammar.y"
15297     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15298     break;
15299
15300   case 275:
15301
15302 /* Line 1464 of yacc.c  */
15303 #line 1501 "grammar.y"
15304     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15305     break;
15306
15307   case 276:
15308
15309 /* Line 1464 of yacc.c  */
15310 #line 1502 "grammar.y"
15311     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15312     break;
15313
15314   case 277:
15315
15316 /* Line 1464 of yacc.c  */
15317 #line 1503 "grammar.y"
15318     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15319     break;
15320
15321   case 278:
15322
15323 /* Line 1464 of yacc.c  */
15324 #line 1504 "grammar.y"
15325     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15326     break;
15327
15328   case 279:
15329
15330 /* Line 1464 of yacc.c  */
15331 #line 1505 "grammar.y"
15332     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15333     break;
15334
15335   case 280:
15336
15337 /* Line 1464 of yacc.c  */
15338 #line 1506 "grammar.y"
15339     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15340     break;
15341
15342   case 281:
15343
15344 /* Line 1464 of yacc.c  */
15345 #line 1507 "grammar.y"
15346     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
15347     break;
15348
15349   case 282:
15350
15351 /* Line 1464 of yacc.c  */
15352 #line 1508 "grammar.y"
15353     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15354     break;
15355
15356   case 283:
15357
15358 /* Line 1464 of yacc.c  */
15359 #line 1509 "grammar.y"
15360     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15361     break;
15362
15363   case 284:
15364
15365 /* Line 1464 of yacc.c  */
15366 #line 1510 "grammar.y"
15367     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15368     break;
15369
15370   case 285:
15371
15372 /* Line 1464 of yacc.c  */
15373 #line 1511 "grammar.y"
15374     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15375     break;
15376
15377   case 286:
15378
15379 /* Line 1464 of yacc.c  */
15380 #line 1512 "grammar.y"
15381     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15382     break;
15383
15384   case 287:
15385
15386 /* Line 1464 of yacc.c  */
15387 #line 1513 "grammar.y"
15388     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
15389     break;
15390
15391   case 288:
15392
15393 /* Line 1464 of yacc.c  */
15394 #line 1514 "grammar.y"
15395     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15396     break;
15397
15398   case 289:
15399
15400 /* Line 1464 of yacc.c  */
15401 #line 1515 "grammar.y"
15402     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
15403     break;
15404
15405   case 290:
15406
15407 /* Line 1464 of yacc.c  */
15408 #line 1516 "grammar.y"
15409     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
15410     break;
15411
15412   case 291:
15413
15414 /* Line 1464 of yacc.c  */
15415 #line 1517 "grammar.y"
15416     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
15417     break;
15418
15419   case 292:
15420
15421 /* Line 1464 of yacc.c  */
15422 #line 1518 "grammar.y"
15423     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15424     break;
15425
15426   case 293:
15427
15428 /* Line 1464 of yacc.c  */
15429 #line 1519 "grammar.y"
15430     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
15431     break;
15432
15433   case 294:
15434
15435 /* Line 1464 of yacc.c  */
15436 #line 1521 "grammar.y"
15437     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
15438     break;
15439
15440   case 299:
15441
15442 /* Line 1464 of yacc.c  */
15443 #line 1527 "grammar.y"
15444     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
15445     break;
15446
15447   case 300:
15448
15449 /* Line 1464 of yacc.c  */
15450 #line 1528 "grammar.y"
15451     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
15452     break;
15453
15454   case 301:
15455
15456 /* Line 1464 of yacc.c  */
15457 #line 1532 "grammar.y"
15458     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
15459     break;
15460
15461   case 302:
15462
15463 /* Line 1464 of yacc.c  */
15464 #line 1536 "grammar.y"
15465     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
15466     break;
15467
15468   case 303:
15469
15470 /* Line 1464 of yacc.c  */
15471 #line 1540 "grammar.y"
15472     { yyerror(); (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15473     break;
15474
15475   case 304:
15476
15477 /* Line 1464 of yacc.c  */
15478 #line 1541 "grammar.y"
15479     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
15480     break;
15481
15482   case 306:
15483
15484 /* Line 1464 of yacc.c  */
15485 #line 1547 "grammar.y"
15486     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15487     break;
15488
15489   case 307:
15490
15491 /* Line 1464 of yacc.c  */
15492 #line 1548 "grammar.y"
15493     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15494     break;
15495
15496   case 308:
15497
15498 /* Line 1464 of yacc.c  */
15499 #line 1549 "grammar.y"
15500     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15501     break;
15502
15503   case 309:
15504
15505 /* Line 1464 of yacc.c  */
15506 #line 1550 "grammar.y"
15507     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
15508     break;
15509
15510   case 310:
15511
15512 /* Line 1464 of yacc.c  */
15513 #line 1551 "grammar.y"
15514     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
15515     break;
15516
15517   case 311:
15518
15519 /* Line 1464 of yacc.c  */
15520 #line 1552 "grammar.y"
15521     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15522     break;
15523
15524   case 312:
15525
15526 /* Line 1464 of yacc.c  */
15527 #line 1553 "grammar.y"
15528     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15529     break;
15530
15531   case 313:
15532
15533 /* Line 1464 of yacc.c  */
15534 #line 1554 "grammar.y"
15535     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15536     break;
15537
15538   case 314:
15539
15540 /* Line 1464 of yacc.c  */
15541 #line 1555 "grammar.y"
15542     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15543     break;
15544
15545   case 315:
15546
15547 /* Line 1464 of yacc.c  */
15548 #line 1557 "grammar.y"
15549     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15550     break;
15551
15552   case 316:
15553
15554 /* Line 1464 of yacc.c  */
15555 #line 1558 "grammar.y"
15556     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
15557     break;
15558
15559   case 317:
15560
15561 /* Line 1464 of yacc.c  */
15562 #line 1559 "grammar.y"
15563     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
15564     break;
15565
15566   case 318:
15567
15568 /* Line 1464 of yacc.c  */
15569 #line 1560 "grammar.y"
15570     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
15571     break;
15572
15573   case 319:
15574
15575 /* Line 1464 of yacc.c  */
15576 #line 1561 "grammar.y"
15577     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15578     break;
15579
15580   case 320:
15581
15582 /* Line 1464 of yacc.c  */
15583 #line 1562 "grammar.y"
15584     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
15585     break;
15586
15587   case 321:
15588
15589 /* Line 1464 of yacc.c  */
15590 #line 1563 "grammar.y"
15591     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
15592     break;
15593
15594   case 322:
15595
15596 /* Line 1464 of yacc.c  */
15597 #line 1564 "grammar.y"
15598     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
15599     break;
15600
15601   case 323:
15602
15603 /* Line 1464 of yacc.c  */
15604 #line 1591 "grammar.y"
15605     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15606     break;
15607
15608   case 324:
15609
15610 /* Line 1464 of yacc.c  */
15611 #line 1592 "grammar.y"
15612     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15613     break;
15614
15615   case 325:
15616
15617 /* Line 1464 of yacc.c  */
15618 #line 1593 "grammar.y"
15619     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15620     break;
15621
15622   case 326:
15623
15624 /* Line 1464 of yacc.c  */
15625 #line 1594 "grammar.y"
15626     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15627     break;
15628
15629   case 327:
15630
15631 /* Line 1464 of yacc.c  */
15632 #line 1598 "grammar.y"
15633     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15634     break;
15635
15636   case 328:
15637
15638 /* Line 1464 of yacc.c  */
15639 #line 1599 "grammar.y"
15640     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
15641     break;
15642
15643   case 329:
15644
15645 /* Line 1464 of yacc.c  */
15646 #line 1600 "grammar.y"
15647     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15648     break;
15649
15650   case 330:
15651
15652 /* Line 1464 of yacc.c  */
15653 #line 1601 "grammar.y"
15654     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
15655     break;
15656
15657   case 331:
15658
15659 /* Line 1464 of yacc.c  */
15660 #line 1602 "grammar.y"
15661     { Expression exp = MkExpDummy(); yyerror(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), exp); ;}
15662     break;
15663
15664   case 332:
15665
15666 /* Line 1464 of yacc.c  */
15667 #line 1606 "grammar.y"
15668     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15669     break;
15670
15671   case 333:
15672
15673 /* Line 1464 of yacc.c  */
15674 #line 1607 "grammar.y"
15675     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15676     break;
15677
15678   case 334:
15679
15680 /* Line 1464 of yacc.c  */
15681 #line 1608 "grammar.y"
15682     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15683     break;
15684
15685   case 335:
15686
15687 /* Line 1464 of yacc.c  */
15688 #line 1609 "grammar.y"
15689     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15690     break;
15691
15692   case 336:
15693
15694 /* Line 1464 of yacc.c  */
15695 #line 1611 "grammar.y"
15696     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15697     break;
15698
15699   case 337:
15700
15701 /* Line 1464 of yacc.c  */
15702 #line 1612 "grammar.y"
15703     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15704     break;
15705
15706   case 338:
15707
15708 /* Line 1464 of yacc.c  */
15709 #line 1613 "grammar.y"
15710     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15711     break;
15712
15713   case 339:
15714
15715 /* Line 1464 of yacc.c  */
15716 #line 1614 "grammar.y"
15717     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
15718     break;
15719
15720   case 340:
15721
15722 /* Line 1464 of yacc.c  */
15723 #line 1617 "grammar.y"
15724     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
15725     break;
15726
15727   case 341:
15728
15729 /* Line 1464 of yacc.c  */
15730 #line 1618 "grammar.y"
15731     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
15732     break;
15733
15734   case 344:
15735
15736 /* Line 1464 of yacc.c  */
15737 #line 1632 "grammar.y"
15738     { (yyval.i) = '&'; ;}
15739     break;
15740
15741   case 345:
15742
15743 /* Line 1464 of yacc.c  */
15744 #line 1633 "grammar.y"
15745     { (yyval.i) = '*'; ;}
15746     break;
15747
15748   case 346:
15749
15750 /* Line 1464 of yacc.c  */
15751 #line 1634 "grammar.y"
15752     { (yyval.i) = '+'; ;}
15753     break;
15754
15755   case 347:
15756
15757 /* Line 1464 of yacc.c  */
15758 #line 1635 "grammar.y"
15759     { (yyval.i) = '-'; ;}
15760     break;
15761
15762   case 348:
15763
15764 /* Line 1464 of yacc.c  */
15765 #line 1636 "grammar.y"
15766     { (yyval.i) = '~'; ;}
15767     break;
15768
15769   case 349:
15770
15771 /* Line 1464 of yacc.c  */
15772 #line 1637 "grammar.y"
15773     { (yyval.i) = '!'; ;}
15774     break;
15775
15776   case 350:
15777
15778 /* Line 1464 of yacc.c  */
15779 #line 1638 "grammar.y"
15780     { (yyval.i) = DELETE; ;}
15781     break;
15782
15783   case 351:
15784
15785 /* Line 1464 of yacc.c  */
15786 #line 1639 "grammar.y"
15787     { (yyval.i) = _INCREF; ;}
15788     break;
15789
15790   case 353:
15791
15792 /* Line 1464 of yacc.c  */
15793 #line 1644 "grammar.y"
15794     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
15795     break;
15796
15797   case 355:
15798
15799 /* Line 1464 of yacc.c  */
15800 #line 1649 "grammar.y"
15801     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15802     break;
15803
15804   case 356:
15805
15806 /* Line 1464 of yacc.c  */
15807 #line 1650 "grammar.y"
15808     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15809     break;
15810
15811   case 357:
15812
15813 /* Line 1464 of yacc.c  */
15814 #line 1651 "grammar.y"
15815     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15816     break;
15817
15818   case 358:
15819
15820 /* Line 1464 of yacc.c  */
15821 #line 1652 "grammar.y"
15822     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15823     break;
15824
15825   case 359:
15826
15827 /* Line 1464 of yacc.c  */
15828 #line 1653 "grammar.y"
15829     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15830     break;
15831
15832   case 360:
15833
15834 /* Line 1464 of yacc.c  */
15835 #line 1654 "grammar.y"
15836     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15837     break;
15838
15839   case 362:
15840
15841 /* Line 1464 of yacc.c  */
15842 #line 1659 "grammar.y"
15843     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15844     break;
15845
15846   case 363:
15847
15848 /* Line 1464 of yacc.c  */
15849 #line 1660 "grammar.y"
15850     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15851     break;
15852
15853   case 364:
15854
15855 /* Line 1464 of yacc.c  */
15856 #line 1661 "grammar.y"
15857     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15858     break;
15859
15860   case 365:
15861
15862 /* Line 1464 of yacc.c  */
15863 #line 1662 "grammar.y"
15864     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15865     break;
15866
15867   case 367:
15868
15869 /* Line 1464 of yacc.c  */
15870 #line 1667 "grammar.y"
15871     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15872     break;
15873
15874   case 368:
15875
15876 /* Line 1464 of yacc.c  */
15877 #line 1668 "grammar.y"
15878     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15879     break;
15880
15881   case 369:
15882
15883 /* Line 1464 of yacc.c  */
15884 #line 1669 "grammar.y"
15885     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15886     break;
15887
15888   case 370:
15889
15890 /* Line 1464 of yacc.c  */
15891 #line 1670 "grammar.y"
15892     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15893     break;
15894
15895   case 371:
15896
15897 /* Line 1464 of yacc.c  */
15898 #line 1675 "grammar.y"
15899     {
15900       (yyval.exp) = (yyvsp[(1) - (2)].exp);
15901       skipErrors = true;
15902    ;}
15903     break;
15904
15905   case 373:
15906
15907 /* Line 1464 of yacc.c  */
15908 #line 1683 "grammar.y"
15909     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
15910     break;
15911
15912   case 374:
15913
15914 /* Line 1464 of yacc.c  */
15915 #line 1684 "grammar.y"
15916     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15917     break;
15918
15919   case 375:
15920
15921 /* Line 1464 of yacc.c  */
15922 #line 1685 "grammar.y"
15923     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15924     break;
15925
15926   case 376:
15927
15928 /* Line 1464 of yacc.c  */
15929 #line 1686 "grammar.y"
15930     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15931     break;
15932
15933   case 377:
15934
15935 /* Line 1464 of yacc.c  */
15936 #line 1687 "grammar.y"
15937     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15938     break;
15939
15940   case 378:
15941
15942 /* Line 1464 of yacc.c  */
15943 #line 1688 "grammar.y"
15944     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15945     break;
15946
15947   case 379:
15948
15949 /* Line 1464 of yacc.c  */
15950 #line 1689 "grammar.y"
15951     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15952     break;
15953
15954   case 380:
15955
15956 /* Line 1464 of yacc.c  */
15957 #line 1690 "grammar.y"
15958     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15959     break;
15960
15961   case 382:
15962
15963 /* Line 1464 of yacc.c  */
15964 #line 1695 "grammar.y"
15965     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15966     break;
15967
15968   case 383:
15969
15970 /* Line 1464 of yacc.c  */
15971 #line 1696 "grammar.y"
15972     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15973     break;
15974
15975   case 384:
15976
15977 /* Line 1464 of yacc.c  */
15978 #line 1697 "grammar.y"
15979     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15980     break;
15981
15982   case 385:
15983
15984 /* Line 1464 of yacc.c  */
15985 #line 1698 "grammar.y"
15986     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15987     break;
15988
15989   case 386:
15990
15991 /* Line 1464 of yacc.c  */
15992 #line 1700 "grammar.y"
15993     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
15994     break;
15995
15996   case 387:
15997
15998 /* Line 1464 of yacc.c  */
15999 #line 1701 "grammar.y"
16000     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16001     break;
16002
16003   case 388:
16004
16005 /* Line 1464 of yacc.c  */
16006 #line 1702 "grammar.y"
16007     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16008     break;
16009
16010   case 389:
16011
16012 /* Line 1464 of yacc.c  */
16013 #line 1703 "grammar.y"
16014     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16015     break;
16016
16017   case 391:
16018
16019 /* Line 1464 of yacc.c  */
16020 #line 1708 "grammar.y"
16021     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16022     break;
16023
16024   case 392:
16025
16026 /* Line 1464 of yacc.c  */
16027 #line 1709 "grammar.y"
16028     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16029     break;
16030
16031   case 393:
16032
16033 /* Line 1464 of yacc.c  */
16034 #line 1711 "grammar.y"
16035     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16036     break;
16037
16038   case 394:
16039
16040 /* Line 1464 of yacc.c  */
16041 #line 1712 "grammar.y"
16042     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16043     break;
16044
16045   case 396:
16046
16047 /* Line 1464 of yacc.c  */
16048 #line 1717 "grammar.y"
16049     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16050     break;
16051
16052   case 397:
16053
16054 /* Line 1464 of yacc.c  */
16055 #line 1718 "grammar.y"
16056     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16057     break;
16058
16059   case 398:
16060
16061 /* Line 1464 of yacc.c  */
16062 #line 1720 "grammar.y"
16063     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16064     break;
16065
16066   case 399:
16067
16068 /* Line 1464 of yacc.c  */
16069 #line 1721 "grammar.y"
16070     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16071     break;
16072
16073   case 401:
16074
16075 /* Line 1464 of yacc.c  */
16076 #line 1726 "grammar.y"
16077     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16078     break;
16079
16080   case 402:
16081
16082 /* Line 1464 of yacc.c  */
16083 #line 1727 "grammar.y"
16084     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16085     break;
16086
16087   case 403:
16088
16089 /* Line 1464 of yacc.c  */
16090 #line 1729 "grammar.y"
16091     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16092     break;
16093
16094   case 404:
16095
16096 /* Line 1464 of yacc.c  */
16097 #line 1730 "grammar.y"
16098     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16099     break;
16100
16101   case 406:
16102
16103 /* Line 1464 of yacc.c  */
16104 #line 1735 "grammar.y"
16105     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16106     break;
16107
16108   case 407:
16109
16110 /* Line 1464 of yacc.c  */
16111 #line 1736 "grammar.y"
16112     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16113     break;
16114
16115   case 409:
16116
16117 /* Line 1464 of yacc.c  */
16118 #line 1741 "grammar.y"
16119     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16120     break;
16121
16122   case 410:
16123
16124 /* Line 1464 of yacc.c  */
16125 #line 1742 "grammar.y"
16126     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16127     break;
16128
16129   case 412:
16130
16131 /* Line 1464 of yacc.c  */
16132 #line 1747 "grammar.y"
16133     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16134     break;
16135
16136   case 413:
16137
16138 /* Line 1464 of yacc.c  */
16139 #line 1748 "grammar.y"
16140     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16141     break;
16142
16143   case 414:
16144
16145 /* Line 1464 of yacc.c  */
16146 #line 1749 "grammar.y"
16147     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16148     break;
16149
16150   case 415:
16151
16152 /* Line 1464 of yacc.c  */
16153 #line 1750 "grammar.y"
16154     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16155     break;
16156
16157   case 416:
16158
16159 /* Line 1464 of yacc.c  */
16160 #line 1752 "grammar.y"
16161     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16162     break;
16163
16164   case 417:
16165
16166 /* Line 1464 of yacc.c  */
16167 #line 1753 "grammar.y"
16168     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16169     break;
16170
16171   case 418:
16172
16173 /* Line 1464 of yacc.c  */
16174 #line 1754 "grammar.y"
16175     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16176     break;
16177
16178   case 419:
16179
16180 /* Line 1464 of yacc.c  */
16181 #line 1755 "grammar.y"
16182     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16183     break;
16184
16185   case 420:
16186
16187 /* Line 1464 of yacc.c  */
16188 #line 1757 "grammar.y"
16189     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16190     break;
16191
16192   case 421:
16193
16194 /* Line 1464 of yacc.c  */
16195 #line 1758 "grammar.y"
16196     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16197     break;
16198
16199   case 422:
16200
16201 /* Line 1464 of yacc.c  */
16202 #line 1759 "grammar.y"
16203     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16204     break;
16205
16206   case 423:
16207
16208 /* Line 1464 of yacc.c  */
16209 #line 1760 "grammar.y"
16210     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16211     break;
16212
16213   case 424:
16214
16215 /* Line 1464 of yacc.c  */
16216 #line 1762 "grammar.y"
16217     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16218     break;
16219
16220   case 425:
16221
16222 /* Line 1464 of yacc.c  */
16223 #line 1763 "grammar.y"
16224     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16225     break;
16226
16227   case 426:
16228
16229 /* Line 1464 of yacc.c  */
16230 #line 1764 "grammar.y"
16231     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16232     break;
16233
16234   case 427:
16235
16236 /* Line 1464 of yacc.c  */
16237 #line 1765 "grammar.y"
16238     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16239     break;
16240
16241   case 429:
16242
16243 /* Line 1464 of yacc.c  */
16244 #line 1770 "grammar.y"
16245     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16246     break;
16247
16248   case 430:
16249
16250 /* Line 1464 of yacc.c  */
16251 #line 1771 "grammar.y"
16252     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16253     break;
16254
16255   case 431:
16256
16257 /* Line 1464 of yacc.c  */
16258 #line 1772 "grammar.y"
16259     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16260     break;
16261
16262   case 432:
16263
16264 /* Line 1464 of yacc.c  */
16265 #line 1773 "grammar.y"
16266     { Compiler_Error($"l-value expected\n"); (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16267     break;
16268
16269   case 433:
16270
16271 /* Line 1464 of yacc.c  */
16272 #line 1775 "grammar.y"
16273     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16274     break;
16275
16276   case 434:
16277
16278 /* Line 1464 of yacc.c  */
16279 #line 1776 "grammar.y"
16280     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16281     break;
16282
16283   case 435:
16284
16285 /* Line 1464 of yacc.c  */
16286 #line 1777 "grammar.y"
16287     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16288     break;
16289
16290   case 436:
16291
16292 /* Line 1464 of yacc.c  */
16293 #line 1778 "grammar.y"
16294     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16295     break;
16296
16297   case 437:
16298
16299 /* Line 1464 of yacc.c  */
16300 #line 1782 "grammar.y"
16301     { (yyval.i) = '='; ;}
16302     break;
16303
16304   case 438:
16305
16306 /* Line 1464 of yacc.c  */
16307 #line 1783 "grammar.y"
16308     { (yyval.i) = MUL_ASSIGN; ;}
16309     break;
16310
16311   case 439:
16312
16313 /* Line 1464 of yacc.c  */
16314 #line 1784 "grammar.y"
16315     { (yyval.i) = DIV_ASSIGN; ;}
16316     break;
16317
16318   case 440:
16319
16320 /* Line 1464 of yacc.c  */
16321 #line 1785 "grammar.y"
16322     { (yyval.i) = MOD_ASSIGN; ;}
16323     break;
16324
16325   case 441:
16326
16327 /* Line 1464 of yacc.c  */
16328 #line 1786 "grammar.y"
16329     { (yyval.i) = ADD_ASSIGN; ;}
16330     break;
16331
16332   case 442:
16333
16334 /* Line 1464 of yacc.c  */
16335 #line 1787 "grammar.y"
16336     { (yyval.i) = SUB_ASSIGN; ;}
16337     break;
16338
16339   case 443:
16340
16341 /* Line 1464 of yacc.c  */
16342 #line 1788 "grammar.y"
16343     { (yyval.i) = LEFT_ASSIGN; ;}
16344     break;
16345
16346   case 444:
16347
16348 /* Line 1464 of yacc.c  */
16349 #line 1789 "grammar.y"
16350     { (yyval.i) = RIGHT_ASSIGN; ;}
16351     break;
16352
16353   case 445:
16354
16355 /* Line 1464 of yacc.c  */
16356 #line 1790 "grammar.y"
16357     { (yyval.i) = AND_ASSIGN; ;}
16358     break;
16359
16360   case 446:
16361
16362 /* Line 1464 of yacc.c  */
16363 #line 1791 "grammar.y"
16364     { (yyval.i) = XOR_ASSIGN; ;}
16365     break;
16366
16367   case 447:
16368
16369 /* Line 1464 of yacc.c  */
16370 #line 1792 "grammar.y"
16371     { (yyval.i) = OR_ASSIGN; ;}
16372     break;
16373
16374   case 448:
16375
16376 /* Line 1464 of yacc.c  */
16377 #line 1796 "grammar.y"
16378     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16379     break;
16380
16381   case 449:
16382
16383 /* Line 1464 of yacc.c  */
16384 #line 1797 "grammar.y"
16385     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16386     break;
16387
16388   case 450:
16389
16390 /* Line 1464 of yacc.c  */
16391 #line 1798 "grammar.y"
16392     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16393     break;
16394
16395   case 452:
16396
16397 /* Line 1464 of yacc.c  */
16398 #line 1803 "grammar.y"
16399     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
16400     break;
16401
16402   case 453:
16403
16404 /* Line 1464 of yacc.c  */
16405 #line 1804 "grammar.y"
16406     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16407     break;
16408
16409   case 454:
16410
16411 /* Line 1464 of yacc.c  */
16412 #line 1805 "grammar.y"
16413     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
16414     break;
16415
16416   case 456:
16417
16418 /* Line 1464 of yacc.c  */
16419 #line 1810 "grammar.y"
16420     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
16421     break;
16422
16423   case 458:
16424
16425 /* Line 1464 of yacc.c  */
16426 #line 1812 "grammar.y"
16427     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
16428     break;
16429
16430   case 459:
16431
16432 /* Line 1464 of yacc.c  */
16433 #line 1814 "grammar.y"
16434     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16435     break;
16436
16437   case 460:
16438
16439 /* Line 1464 of yacc.c  */
16440 #line 1815 "grammar.y"
16441     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16442     break;
16443
16444   case 461:
16445
16446 /* Line 1464 of yacc.c  */
16447 #line 1817 "grammar.y"
16448     { yyerror(); (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16449     break;
16450
16451   case 462:
16452
16453 /* Line 1464 of yacc.c  */
16454 #line 1818 "grammar.y"
16455     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
16456     break;
16457
16458   case 463:
16459
16460 /* Line 1464 of yacc.c  */
16461 #line 1823 "grammar.y"
16462     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16463     break;
16464
16465   case 464:
16466
16467 /* Line 1464 of yacc.c  */
16468 #line 1825 "grammar.y"
16469     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
16470     break;
16471
16472   case 465:
16473
16474 /* Line 1464 of yacc.c  */
16475 #line 1830 "grammar.y"
16476     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
16477     break;
16478
16479   case 466:
16480
16481 /* Line 1464 of yacc.c  */
16482 #line 1858 "grammar.y"
16483     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16484     break;
16485
16486   case 467:
16487
16488 /* Line 1464 of yacc.c  */
16489 #line 1859 "grammar.y"
16490     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16491     break;
16492
16493   case 468:
16494
16495 /* Line 1464 of yacc.c  */
16496 #line 1860 "grammar.y"
16497     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16498     break;
16499
16500   case 469:
16501
16502 /* Line 1464 of yacc.c  */
16503 #line 1861 "grammar.y"
16504     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16505     break;
16506
16507   case 470:
16508
16509 /* Line 1464 of yacc.c  */
16510 #line 1863 "grammar.y"
16511     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16512     break;
16513
16514   case 471:
16515
16516 /* Line 1464 of yacc.c  */
16517 #line 1864 "grammar.y"
16518     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16519     break;
16520
16521   case 472:
16522
16523 /* Line 1464 of yacc.c  */
16524 #line 1865 "grammar.y"
16525     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16526     break;
16527
16528   case 473:
16529
16530 /* Line 1464 of yacc.c  */
16531 #line 1866 "grammar.y"
16532     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
16533     break;
16534
16535   case 474:
16536
16537 /* Line 1464 of yacc.c  */
16538 #line 1868 "grammar.y"
16539     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
16540     break;
16541
16542   case 475:
16543
16544 /* Line 1464 of yacc.c  */
16545 #line 1869 "grammar.y"
16546     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
16547     break;
16548
16549   case 479:
16550
16551 /* Line 1464 of yacc.c  */
16552 #line 1884 "grammar.y"
16553     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
16554     break;
16555
16556   case 481:
16557
16558 /* Line 1464 of yacc.c  */
16559 #line 1889 "grammar.y"
16560     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16561     break;
16562
16563   case 482:
16564
16565 /* Line 1464 of yacc.c  */
16566 #line 1890 "grammar.y"
16567     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16568     break;
16569
16570   case 483:
16571
16572 /* Line 1464 of yacc.c  */
16573 #line 1891 "grammar.y"
16574     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16575     break;
16576
16577   case 484:
16578
16579 /* Line 1464 of yacc.c  */
16580 #line 1892 "grammar.y"
16581     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16582     break;
16583
16584   case 485:
16585
16586 /* Line 1464 of yacc.c  */
16587 #line 1893 "grammar.y"
16588     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16589     break;
16590
16591   case 486:
16592
16593 /* Line 1464 of yacc.c  */
16594 #line 1894 "grammar.y"
16595     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16596     break;
16597
16598   case 488:
16599
16600 /* Line 1464 of yacc.c  */
16601 #line 1899 "grammar.y"
16602     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16603     break;
16604
16605   case 489:
16606
16607 /* Line 1464 of yacc.c  */
16608 #line 1903 "grammar.y"
16609     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16610     break;
16611
16612   case 490:
16613
16614 /* Line 1464 of yacc.c  */
16615 #line 1907 "grammar.y"
16616     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16617     break;
16618
16619   case 491:
16620
16621 /* Line 1464 of yacc.c  */
16622 #line 1911 "grammar.y"
16623     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16624     break;
16625
16626   case 493:
16627
16628 /* Line 1464 of yacc.c  */
16629 #line 1919 "grammar.y"
16630     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16631     break;
16632
16633   case 494:
16634
16635 /* Line 1464 of yacc.c  */
16636 #line 1920 "grammar.y"
16637     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16638     break;
16639
16640   case 495:
16641
16642 /* Line 1464 of yacc.c  */
16643 #line 1921 "grammar.y"
16644     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16645     break;
16646
16647   case 496:
16648
16649 /* Line 1464 of yacc.c  */
16650 #line 1922 "grammar.y"
16651     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16652     break;
16653
16654   case 498:
16655
16656 /* Line 1464 of yacc.c  */
16657 #line 1928 "grammar.y"
16658     {
16659       if((yyvsp[(1) - (2)].exp).type == identifierExp)
16660       {
16661          if((yyvsp[(1) - (2)].exp).identifier._class && !(yyvsp[(1) - (2)].exp).identifier._class.name)
16662          {
16663             char name[1024];
16664             strcpy(name, "::");
16665             strcat(name, (yyvsp[(1) - (2)].exp).identifier.string);
16666             _DeclClass(0, name);
16667          }
16668          else
16669             _DeclClass(0, (yyvsp[(1) - (2)].exp).identifier.string);
16670
16671          // printf("Declaring Class %s\n", $1.identifier.string);
16672          skipErrors = false;
16673
16674          FreeExpression((yyvsp[(1) - (2)].exp));
16675          FreeExpression((yyvsp[(2) - (2)].exp));
16676
16677          fileInput.Seek((yylsp[(1) - (2)]).start.pos, start);
16678          resetScannerPos(&(yylsp[(1) - (2)]).start);
16679          yyclearin;
16680
16681          YYPOPSTACK(1);
16682          yystate = *yyssp;
16683          YY_STACK_PRINT (yyss, yyssp);
16684
16685          YYPOPSTACK(1);
16686          yystate = *yyssp;
16687          YY_STACK_PRINT (yyss, yyssp);
16688 /*
16689          YYPOPSTACK(1);
16690          yystate = *yyssp;
16691          YY_STACK_PRINT (yyss, yyssp);
16692
16693          YYPOPSTACK(1);
16694          yystate = *yyssp;
16695          YY_STACK_PRINT (yyss, yyssp);
16696 */
16697          yyerrok;
16698
16699          goto yysetstate;
16700       }
16701       else
16702       {
16703          (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp));
16704          (yyval.exp).loc = (yyloc);
16705       }
16706       skipErrors = false;
16707    ;}
16708     break;
16709
16710   case 499:
16711
16712 /* Line 1464 of yacc.c  */
16713 #line 1978 "grammar.y"
16714     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16715     break;
16716
16717   case 500:
16718
16719 /* Line 1464 of yacc.c  */
16720 #line 1979 "grammar.y"
16721     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16722     break;
16723
16724   case 501:
16725
16726 /* Line 1464 of yacc.c  */
16727 #line 1980 "grammar.y"
16728     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16729     break;
16730
16731   case 502:
16732
16733 /* Line 1464 of yacc.c  */
16734 #line 1981 "grammar.y"
16735     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16736     break;
16737
16738   case 503:
16739
16740 /* Line 1464 of yacc.c  */
16741 #line 1982 "grammar.y"
16742     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16743     break;
16744
16745   case 504:
16746
16747 /* Line 1464 of yacc.c  */
16748 #line 1983 "grammar.y"
16749     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16750     break;
16751
16752   case 505:
16753
16754 /* Line 1464 of yacc.c  */
16755 #line 1984 "grammar.y"
16756     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16757     break;
16758
16759   case 507:
16760
16761 /* Line 1464 of yacc.c  */
16762 #line 1989 "grammar.y"
16763     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16764     break;
16765
16766   case 508:
16767
16768 /* Line 1464 of yacc.c  */
16769 #line 1990 "grammar.y"
16770     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16771     break;
16772
16773   case 509:
16774
16775 /* Line 1464 of yacc.c  */
16776 #line 1991 "grammar.y"
16777     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16778     break;
16779
16780   case 510:
16781
16782 /* Line 1464 of yacc.c  */
16783 #line 1992 "grammar.y"
16784     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16785     break;
16786
16787   case 511:
16788
16789 /* Line 1464 of yacc.c  */
16790 #line 1999 "grammar.y"
16791     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16792     break;
16793
16794   case 512:
16795
16796 /* Line 1464 of yacc.c  */
16797 #line 2000 "grammar.y"
16798     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16799     break;
16800
16801   case 513:
16802
16803 /* Line 1464 of yacc.c  */
16804 #line 2001 "grammar.y"
16805     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16806     break;
16807
16808   case 514:
16809
16810 /* Line 1464 of yacc.c  */
16811 #line 2002 "grammar.y"
16812     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16813     break;
16814
16815   case 516:
16816
16817 /* Line 1464 of yacc.c  */
16818 #line 2007 "grammar.y"
16819     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16820     break;
16821
16822   case 517:
16823
16824 /* Line 1464 of yacc.c  */
16825 #line 2008 "grammar.y"
16826     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16827     break;
16828
16829   case 518:
16830
16831 /* Line 1464 of yacc.c  */
16832 #line 2010 "grammar.y"
16833     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16834     break;
16835
16836   case 519:
16837
16838 /* Line 1464 of yacc.c  */
16839 #line 2011 "grammar.y"
16840     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16841     break;
16842
16843   case 521:
16844
16845 /* Line 1464 of yacc.c  */
16846 #line 2016 "grammar.y"
16847     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16848     break;
16849
16850   case 522:
16851
16852 /* Line 1464 of yacc.c  */
16853 #line 2017 "grammar.y"
16854     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16855     break;
16856
16857   case 523:
16858
16859 /* Line 1464 of yacc.c  */
16860 #line 2019 "grammar.y"
16861     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16862     break;
16863
16864   case 524:
16865
16866 /* Line 1464 of yacc.c  */
16867 #line 2020 "grammar.y"
16868     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16869     break;
16870
16871   case 526:
16872
16873 /* Line 1464 of yacc.c  */
16874 #line 2025 "grammar.y"
16875     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16876     break;
16877
16878   case 527:
16879
16880 /* Line 1464 of yacc.c  */
16881 #line 2026 "grammar.y"
16882     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16883     break;
16884
16885   case 528:
16886
16887 /* Line 1464 of yacc.c  */
16888 #line 2028 "grammar.y"
16889     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16890     break;
16891
16892   case 529:
16893
16894 /* Line 1464 of yacc.c  */
16895 #line 2029 "grammar.y"
16896     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16897     break;
16898
16899   case 531:
16900
16901 /* Line 1464 of yacc.c  */
16902 #line 2034 "grammar.y"
16903     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16904     break;
16905
16906   case 532:
16907
16908 /* Line 1464 of yacc.c  */
16909 #line 2035 "grammar.y"
16910     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16911     break;
16912
16913   case 534:
16914
16915 /* Line 1464 of yacc.c  */
16916 #line 2040 "grammar.y"
16917     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16918     break;
16919
16920   case 535:
16921
16922 /* Line 1464 of yacc.c  */
16923 #line 2041 "grammar.y"
16924     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
16925     break;
16926
16927   case 537:
16928
16929 /* Line 1464 of yacc.c  */
16930 #line 2046 "grammar.y"
16931     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16932     break;
16933
16934   case 538:
16935
16936 /* Line 1464 of yacc.c  */
16937 #line 2047 "grammar.y"
16938     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16939     break;
16940
16941   case 539:
16942
16943 /* Line 1464 of yacc.c  */
16944 #line 2048 "grammar.y"
16945     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16946     break;
16947
16948   case 540:
16949
16950 /* Line 1464 of yacc.c  */
16951 #line 2049 "grammar.y"
16952     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16953     break;
16954
16955   case 541:
16956
16957 /* Line 1464 of yacc.c  */
16958 #line 2050 "grammar.y"
16959     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16960     break;
16961
16962   case 542:
16963
16964 /* Line 1464 of yacc.c  */
16965 #line 2051 "grammar.y"
16966     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16967     break;
16968
16969   case 543:
16970
16971 /* Line 1464 of yacc.c  */
16972 #line 2052 "grammar.y"
16973     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16974     break;
16975
16976   case 544:
16977
16978 /* Line 1464 of yacc.c  */
16979 #line 2053 "grammar.y"
16980     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
16981     break;
16982
16983   case 545:
16984
16985 /* Line 1464 of yacc.c  */
16986 #line 2055 "grammar.y"
16987     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16988     break;
16989
16990   case 546:
16991
16992 /* Line 1464 of yacc.c  */
16993 #line 2056 "grammar.y"
16994     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
16995     break;
16996
16997   case 547:
16998
16999 /* Line 1464 of yacc.c  */
17000 #line 2057 "grammar.y"
17001     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17002     break;
17003
17004   case 548:
17005
17006 /* Line 1464 of yacc.c  */
17007 #line 2058 "grammar.y"
17008     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17009     break;
17010
17011   case 549:
17012
17013 /* Line 1464 of yacc.c  */
17014 #line 2059 "grammar.y"
17015     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17016     break;
17017
17018   case 550:
17019
17020 /* Line 1464 of yacc.c  */
17021 #line 2060 "grammar.y"
17022     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17023     break;
17024
17025   case 551:
17026
17027 /* Line 1464 of yacc.c  */
17028 #line 2061 "grammar.y"
17029     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17030     break;
17031
17032   case 552:
17033
17034 /* Line 1464 of yacc.c  */
17035 #line 2062 "grammar.y"
17036     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
17037     break;
17038
17039   case 553:
17040
17041 /* Line 1464 of yacc.c  */
17042 #line 2064 "grammar.y"
17043     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17044     break;
17045
17046   case 554:
17047
17048 /* Line 1464 of yacc.c  */
17049 #line 2065 "grammar.y"
17050     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17051     break;
17052
17053   case 555:
17054
17055 /* Line 1464 of yacc.c  */
17056 #line 2066 "grammar.y"
17057     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17058     break;
17059
17060   case 556:
17061
17062 /* Line 1464 of yacc.c  */
17063 #line 2067 "grammar.y"
17064     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17065     break;
17066
17067   case 557:
17068
17069 /* Line 1464 of yacc.c  */
17070 #line 2069 "grammar.y"
17071     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17072     break;
17073
17074   case 558:
17075
17076 /* Line 1464 of yacc.c  */
17077 #line 2070 "grammar.y"
17078     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17079     break;
17080
17081   case 559:
17082
17083 /* Line 1464 of yacc.c  */
17084 #line 2071 "grammar.y"
17085     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17086     break;
17087
17088   case 560:
17089
17090 /* Line 1464 of yacc.c  */
17091 #line 2072 "grammar.y"
17092     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
17093     break;
17094
17095   case 561:
17096
17097 /* Line 1464 of yacc.c  */
17098 #line 2075 "grammar.y"
17099     {
17100          yyerror();
17101          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
17102          (yyval.exp).loc = (yyloc);
17103          ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]);
17104          (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17105       ;}
17106     break;
17107
17108   case 562:
17109
17110 /* Line 1464 of yacc.c  */
17111 #line 2083 "grammar.y"
17112     {
17113          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
17114       ;}
17115     break;
17116
17117   case 563:
17118
17119 /* Line 1464 of yacc.c  */
17120 #line 2087 "grammar.y"
17121     {
17122          yyerror();
17123          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17124       ;}
17125     break;
17126
17127   case 564:
17128
17129 /* Line 1464 of yacc.c  */
17130 #line 2092 "grammar.y"
17131     {
17132          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
17133       ;}
17134     break;
17135
17136   case 566:
17137
17138 /* Line 1464 of yacc.c  */
17139 #line 2099 "grammar.y"
17140     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17141     break;
17142
17143   case 567:
17144
17145 /* Line 1464 of yacc.c  */
17146 #line 2103 "grammar.y"
17147     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17148     break;
17149
17150   case 568:
17151
17152 /* Line 1464 of yacc.c  */
17153 #line 2108 "grammar.y"
17154     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17155     break;
17156
17157   case 569:
17158
17159 /* Line 1464 of yacc.c  */
17160 #line 2109 "grammar.y"
17161     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
17162     break;
17163
17164   case 570:
17165
17166 /* Line 1464 of yacc.c  */
17167 #line 2113 "grammar.y"
17168     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17169     break;
17170
17171   case 571:
17172
17173 /* Line 1464 of yacc.c  */
17174 #line 2114 "grammar.y"
17175     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17176     break;
17177
17178   case 572:
17179
17180 /* Line 1464 of yacc.c  */
17181 #line 2115 "grammar.y"
17182     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17183     break;
17184
17185   case 573:
17186
17187 /* Line 1464 of yacc.c  */
17188 #line 2116 "grammar.y"
17189     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17190     break;
17191
17192   case 574:
17193
17194 /* Line 1464 of yacc.c  */
17195 #line 2122 "grammar.y"
17196     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17197     break;
17198
17199   case 575:
17200
17201 /* Line 1464 of yacc.c  */
17202 #line 2123 "grammar.y"
17203     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17204     break;
17205
17206   case 576:
17207
17208 /* Line 1464 of yacc.c  */
17209 #line 2124 "grammar.y"
17210     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
17211     break;
17212
17213   case 577:
17214
17215 /* Line 1464 of yacc.c  */
17216 #line 2128 "grammar.y"
17217     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
17218     break;
17219
17220   case 578:
17221
17222 /* Line 1464 of yacc.c  */
17223 #line 2129 "grammar.y"
17224     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
17225     break;
17226
17227   case 579:
17228
17229 /* Line 1464 of yacc.c  */
17230 #line 2130 "grammar.y"
17231     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17232     break;
17233
17234   case 580:
17235
17236 /* Line 1464 of yacc.c  */
17237 #line 2131 "grammar.y"
17238     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
17239     break;
17240
17241   case 583:
17242
17243 /* Line 1464 of yacc.c  */
17244 #line 2141 "grammar.y"
17245     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
17246     break;
17247
17248   case 584:
17249
17250 /* Line 1464 of yacc.c  */
17251 #line 2142 "grammar.y"
17252     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17253     break;
17254
17255   case 585:
17256
17257 /* Line 1464 of yacc.c  */
17258 #line 2143 "grammar.y"
17259     { (yyval.specifier) = MkSpecifier(STATIC); ;}
17260     break;
17261
17262   case 586:
17263
17264 /* Line 1464 of yacc.c  */
17265 #line 2144 "grammar.y"
17266     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17267     break;
17268
17269   case 587:
17270
17271 /* Line 1464 of yacc.c  */
17272 #line 2145 "grammar.y"
17273     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17274     break;
17275
17276   case 588:
17277
17278 /* Line 1464 of yacc.c  */
17279 #line 2146 "grammar.y"
17280     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17281     break;
17282
17283   case 589:
17284
17285 /* Line 1464 of yacc.c  */
17286 #line 2147 "grammar.y"
17287     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17288     break;
17289
17290   case 590:
17291
17292 /* Line 1464 of yacc.c  */
17293 #line 2151 "grammar.y"
17294     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
17295     break;
17296
17297   case 591:
17298
17299 /* Line 1464 of yacc.c  */
17300 #line 2152 "grammar.y"
17301     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
17302     break;
17303
17304   case 592:
17305
17306 /* Line 1464 of yacc.c  */
17307 #line 2153 "grammar.y"
17308     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
17309     break;
17310
17311   case 593:
17312
17313 /* Line 1464 of yacc.c  */
17314 #line 2154 "grammar.y"
17315     { (yyval.specifier) = MkSpecifier(THREAD); ;}
17316     break;
17317
17318   case 594:
17319
17320 /* Line 1464 of yacc.c  */
17321 #line 2155 "grammar.y"
17322     { (yyval.specifier) = MkSpecifier(AUTO); ;}
17323     break;
17324
17325   case 595:
17326
17327 /* Line 1464 of yacc.c  */
17328 #line 2156 "grammar.y"
17329     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
17330     break;
17331
17332   case 596:
17333
17334 /* Line 1464 of yacc.c  */
17335 #line 2157 "grammar.y"
17336     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
17337     break;
17338
17339   case 597:
17340
17341 /* Line 1464 of yacc.c  */
17342 #line 2161 "grammar.y"
17343     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
17344     break;
17345
17346   case 598:
17347
17348 /* Line 1464 of yacc.c  */
17349 #line 2162 "grammar.y"
17350     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17351     break;
17352
17353   case 599:
17354
17355 /* Line 1464 of yacc.c  */
17356 #line 2163 "grammar.y"
17357     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
17358     break;
17359
17360   case 600:
17361
17362 /* Line 1464 of yacc.c  */
17363 #line 2167 "grammar.y"
17364     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
17365     break;
17366
17367   case 601:
17368
17369 /* Line 1464 of yacc.c  */
17370 #line 2168 "grammar.y"
17371     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
17372     break;
17373
17374   case 603:
17375
17376 /* Line 1464 of yacc.c  */
17377 #line 2173 "grammar.y"
17378     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
17379     break;
17380
17381   case 604:
17382
17383 /* Line 1464 of yacc.c  */
17384 #line 2177 "grammar.y"
17385     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
17386     break;
17387
17388   case 605:
17389
17390 /* Line 1464 of yacc.c  */
17391 #line 2178 "grammar.y"
17392     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
17393     break;
17394
17395   case 606:
17396
17397 /* Line 1464 of yacc.c  */
17398 #line 2182 "grammar.y"
17399     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
17400     break;
17401
17402   case 607:
17403
17404 /* Line 1464 of yacc.c  */
17405 #line 2183 "grammar.y"
17406     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17407     break;
17408
17409   case 608:
17410
17411 /* Line 1464 of yacc.c  */
17412 #line 2184 "grammar.y"
17413     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17414     break;
17415
17416   case 609:
17417
17418 /* Line 1464 of yacc.c  */
17419 #line 2188 "grammar.y"
17420     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17421     break;
17422
17423   case 610:
17424
17425 /* Line 1464 of yacc.c  */
17426 #line 2189 "grammar.y"
17427     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17428     break;
17429
17430   case 611:
17431
17432 /* Line 1464 of yacc.c  */
17433 #line 2191 "grammar.y"
17434     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17435     break;
17436
17437   case 612:
17438
17439 /* Line 1464 of yacc.c  */
17440 #line 2192 "grammar.y"
17441     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17442     break;
17443
17444   case 613:
17445
17446 /* Line 1464 of yacc.c  */
17447 #line 2193 "grammar.y"
17448     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17449     break;
17450
17451   case 614:
17452
17453 /* Line 1464 of yacc.c  */
17454 #line 2194 "grammar.y"
17455     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17456     break;
17457
17458   case 615:
17459
17460 /* Line 1464 of yacc.c  */
17461 #line 2195 "grammar.y"
17462     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
17463     break;
17464
17465   case 616:
17466
17467 /* Line 1464 of yacc.c  */
17468 #line 2197 "grammar.y"
17469     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17470     break;
17471
17472   case 617:
17473
17474 /* Line 1464 of yacc.c  */
17475 #line 2198 "grammar.y"
17476     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
17477     break;
17478
17479   case 618:
17480
17481 /* Line 1464 of yacc.c  */
17482 #line 2199 "grammar.y"
17483     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
17484     break;
17485
17486   case 619:
17487
17488 /* Line 1464 of yacc.c  */
17489 #line 2200 "grammar.y"
17490     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17491     break;
17492
17493   case 620:
17494
17495 /* Line 1464 of yacc.c  */
17496 #line 2201 "grammar.y"
17497     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
17498     break;
17499
17500   case 621:
17501
17502 /* Line 1464 of yacc.c  */
17503 #line 2203 "grammar.y"
17504     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17505     break;
17506
17507   case 622:
17508
17509 /* Line 1464 of yacc.c  */
17510 #line 2204 "grammar.y"
17511     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
17512     break;
17513
17514   case 623:
17515
17516 /* Line 1464 of yacc.c  */
17517 #line 2208 "grammar.y"
17518     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
17519     break;
17520
17521   case 624:
17522
17523 /* Line 1464 of yacc.c  */
17524 #line 2209 "grammar.y"
17525     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
17526     break;
17527
17528   case 625:
17529
17530 /* Line 1464 of yacc.c  */
17531 #line 2213 "grammar.y"
17532     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
17533     break;
17534
17535   case 626:
17536
17537 /* Line 1464 of yacc.c  */
17538 #line 2214 "grammar.y"
17539     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17540     break;
17541
17542   case 627:
17543
17544 /* Line 1464 of yacc.c  */
17545 #line 2215 "grammar.y"
17546     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
17547     break;
17548
17549   case 628:
17550
17551 /* Line 1464 of yacc.c  */
17552 #line 2219 "grammar.y"
17553     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17554     break;
17555
17556   case 629:
17557
17558 /* Line 1464 of yacc.c  */
17559 #line 2220 "grammar.y"
17560     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17561     break;
17562
17563   case 630:
17564
17565 /* Line 1464 of yacc.c  */
17566 #line 2221 "grammar.y"
17567     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17568     break;
17569
17570   case 631:
17571
17572 /* Line 1464 of yacc.c  */
17573 #line 2222 "grammar.y"
17574     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17575     break;
17576
17577   case 632:
17578
17579 /* Line 1464 of yacc.c  */
17580 #line 2223 "grammar.y"
17581     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17582     break;
17583
17584   case 633:
17585
17586 /* Line 1464 of yacc.c  */
17587 #line 2224 "grammar.y"
17588     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17589     break;
17590
17591   case 634:
17592
17593 /* Line 1464 of yacc.c  */
17594 #line 2225 "grammar.y"
17595     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17596     break;
17597
17598   case 635:
17599
17600 /* Line 1464 of yacc.c  */
17601 #line 2226 "grammar.y"
17602     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17603     break;
17604
17605   case 636:
17606
17607 /* Line 1464 of yacc.c  */
17608 #line 2227 "grammar.y"
17609     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17610     break;
17611
17612   case 637:
17613
17614 /* Line 1464 of yacc.c  */
17615 #line 2229 "grammar.y"
17616     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17617     break;
17618
17619   case 638:
17620
17621 /* Line 1464 of yacc.c  */
17622 #line 2230 "grammar.y"
17623     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17624     break;
17625
17626   case 639:
17627
17628 /* Line 1464 of yacc.c  */
17629 #line 2232 "grammar.y"
17630     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17631     break;
17632
17633   case 640:
17634
17635 /* Line 1464 of yacc.c  */
17636 #line 2233 "grammar.y"
17637     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17638     break;
17639
17640   case 641:
17641
17642 /* Line 1464 of yacc.c  */
17643 #line 2234 "grammar.y"
17644     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17645     break;
17646
17647   case 642:
17648
17649 /* Line 1464 of yacc.c  */
17650 #line 2235 "grammar.y"
17651     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17652     break;
17653
17654   case 643:
17655
17656 /* Line 1464 of yacc.c  */
17657 #line 2236 "grammar.y"
17658     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17659     break;
17660
17661   case 644:
17662
17663 /* Line 1464 of yacc.c  */
17664 #line 2238 "grammar.y"
17665     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17666     break;
17667
17668   case 645:
17669
17670 /* Line 1464 of yacc.c  */
17671 #line 2239 "grammar.y"
17672     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17673     break;
17674
17675   case 646:
17676
17677 /* Line 1464 of yacc.c  */
17678 #line 2240 "grammar.y"
17679     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17680     break;
17681
17682   case 647:
17683
17684 /* Line 1464 of yacc.c  */
17685 #line 2241 "grammar.y"
17686     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
17687     break;
17688
17689   case 652:
17690
17691 /* Line 1464 of yacc.c  */
17692 #line 2255 "grammar.y"
17693     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
17694     break;
17695
17696   case 653:
17697
17698 /* Line 1464 of yacc.c  */
17699 #line 2259 "grammar.y"
17700     { (yyval.specifier) = MkSpecifier(CONST); ;}
17701     break;
17702
17703   case 654:
17704
17705 /* Line 1464 of yacc.c  */
17706 #line 2260 "grammar.y"
17707     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
17708     break;
17709
17710   case 655:
17711
17712 /* Line 1464 of yacc.c  */
17713 #line 2261 "grammar.y"
17714     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
17715     break;
17716
17717   case 656:
17718
17719 /* Line 1464 of yacc.c  */
17720 #line 2266 "grammar.y"
17721     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
17722     break;
17723
17724   case 657:
17725
17726 /* Line 1464 of yacc.c  */
17727 #line 2267 "grammar.y"
17728     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
17729     break;
17730
17731   case 658:
17732
17733 /* Line 1464 of yacc.c  */
17734 #line 2271 "grammar.y"
17735     { (yyval.specifier) = MkSpecifier(VOID); ;}
17736     break;
17737
17738   case 659:
17739
17740 /* Line 1464 of yacc.c  */
17741 #line 2272 "grammar.y"
17742     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17743     break;
17744
17745   case 660:
17746
17747 /* Line 1464 of yacc.c  */
17748 #line 2273 "grammar.y"
17749     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17750     break;
17751
17752   case 661:
17753
17754 /* Line 1464 of yacc.c  */
17755 #line 2274 "grammar.y"
17756     { (yyval.specifier) = MkSpecifier(INT); ;}
17757     break;
17758
17759   case 662:
17760
17761 /* Line 1464 of yacc.c  */
17762 #line 2275 "grammar.y"
17763     { (yyval.specifier) = MkSpecifier(UINT); ;}
17764     break;
17765
17766   case 663:
17767
17768 /* Line 1464 of yacc.c  */
17769 #line 2276 "grammar.y"
17770     { (yyval.specifier) = MkSpecifier(INT64); ;}
17771     break;
17772
17773   case 664:
17774
17775 /* Line 1464 of yacc.c  */
17776 #line 2277 "grammar.y"
17777     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17778     break;
17779
17780   case 665:
17781
17782 /* Line 1464 of yacc.c  */
17783 #line 2278 "grammar.y"
17784     { (yyval.specifier) = MkSpecifier(LONG); ;}
17785     break;
17786
17787   case 666:
17788
17789 /* Line 1464 of yacc.c  */
17790 #line 2279 "grammar.y"
17791     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17792     break;
17793
17794   case 667:
17795
17796 /* Line 1464 of yacc.c  */
17797 #line 2280 "grammar.y"
17798     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17799     break;
17800
17801   case 668:
17802
17803 /* Line 1464 of yacc.c  */
17804 #line 2281 "grammar.y"
17805     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17806     break;
17807
17808   case 669:
17809
17810 /* Line 1464 of yacc.c  */
17811 #line 2282 "grammar.y"
17812     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17813     break;
17814
17815   case 670:
17816
17817 /* Line 1464 of yacc.c  */
17818 #line 2283 "grammar.y"
17819     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17820     break;
17821
17822   case 674:
17823
17824 /* Line 1464 of yacc.c  */
17825 #line 2287 "grammar.y"
17826     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
17827     break;
17828
17829   case 675:
17830
17831 /* Line 1464 of yacc.c  */
17832 #line 2288 "grammar.y"
17833     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
17834     break;
17835
17836   case 676:
17837
17838 /* Line 1464 of yacc.c  */
17839 #line 2289 "grammar.y"
17840     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
17841     break;
17842
17843   case 677:
17844
17845 /* Line 1464 of yacc.c  */
17846 #line 2290 "grammar.y"
17847     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
17848     break;
17849
17850   case 678:
17851
17852 /* Line 1464 of yacc.c  */
17853 #line 2291 "grammar.y"
17854     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
17855     break;
17856
17857   case 679:
17858
17859 /* Line 1464 of yacc.c  */
17860 #line 2292 "grammar.y"
17861     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
17862     break;
17863
17864   case 680:
17865
17866 /* Line 1464 of yacc.c  */
17867 #line 2293 "grammar.y"
17868     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
17869     break;
17870
17871   case 681:
17872
17873 /* Line 1464 of yacc.c  */
17874 #line 2294 "grammar.y"
17875     { (yyval.specifier) = MkSpecifier(BOOL); ;}
17876     break;
17877
17878   case 682:
17879
17880 /* Line 1464 of yacc.c  */
17881 #line 2295 "grammar.y"
17882     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
17883     break;
17884
17885   case 683:
17886
17887 /* Line 1464 of yacc.c  */
17888 #line 2296 "grammar.y"
17889     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
17890     break;
17891
17892   case 684:
17893
17894 /* Line 1464 of yacc.c  */
17895 #line 2300 "grammar.y"
17896     { (yyval.specifier) = MkSpecifier(VOID); ;}
17897     break;
17898
17899   case 685:
17900
17901 /* Line 1464 of yacc.c  */
17902 #line 2301 "grammar.y"
17903     { (yyval.specifier) = MkSpecifier(CHAR); ;}
17904     break;
17905
17906   case 686:
17907
17908 /* Line 1464 of yacc.c  */
17909 #line 2302 "grammar.y"
17910     { (yyval.specifier) = MkSpecifier(SHORT); ;}
17911     break;
17912
17913   case 687:
17914
17915 /* Line 1464 of yacc.c  */
17916 #line 2303 "grammar.y"
17917     { (yyval.specifier) = MkSpecifier(INT); ;}
17918     break;
17919
17920   case 688:
17921
17922 /* Line 1464 of yacc.c  */
17923 #line 2304 "grammar.y"
17924     { (yyval.specifier) = MkSpecifier(UINT); ;}
17925     break;
17926
17927   case 689:
17928
17929 /* Line 1464 of yacc.c  */
17930 #line 2305 "grammar.y"
17931     { (yyval.specifier) = MkSpecifier(INT64); ;}
17932     break;
17933
17934   case 690:
17935
17936 /* Line 1464 of yacc.c  */
17937 #line 2306 "grammar.y"
17938     { (yyval.specifier) = MkSpecifier(VALIST); ;}
17939     break;
17940
17941   case 691:
17942
17943 /* Line 1464 of yacc.c  */
17944 #line 2307 "grammar.y"
17945     { (yyval.specifier) = MkSpecifier(LONG); ;}
17946     break;
17947
17948   case 692:
17949
17950 /* Line 1464 of yacc.c  */
17951 #line 2308 "grammar.y"
17952     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
17953     break;
17954
17955   case 693:
17956
17957 /* Line 1464 of yacc.c  */
17958 #line 2309 "grammar.y"
17959     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
17960     break;
17961
17962   case 694:
17963
17964 /* Line 1464 of yacc.c  */
17965 #line 2310 "grammar.y"
17966     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
17967     break;
17968
17969   case 695:
17970
17971 /* Line 1464 of yacc.c  */
17972 #line 2311 "grammar.y"
17973     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
17974     break;
17975
17976   case 696:
17977
17978 /* Line 1464 of yacc.c  */
17979 #line 2312 "grammar.y"
17980     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
17981     break;
17982
17983   case 700:
17984
17985 /* Line 1464 of yacc.c  */
17986 #line 2316 "grammar.y"
17987     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
17988     break;
17989
17990   case 701:
17991
17992 /* Line 1464 of yacc.c  */
17993 #line 2317 "grammar.y"
17994     { (yyval.specifier) = MkSpecifier(BOOL); ;}
17995     break;
17996
17997   case 702:
17998
17999 /* Line 1464 of yacc.c  */
18000 #line 2318 "grammar.y"
18001     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
18002     break;
18003
18004   case 703:
18005
18006 /* Line 1464 of yacc.c  */
18007 #line 2319 "grammar.y"
18008     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
18009     break;
18010
18011   case 704:
18012
18013 /* Line 1464 of yacc.c  */
18014 #line 2320 "grammar.y"
18015     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
18016     break;
18017
18018   case 705:
18019
18020 /* Line 1464 of yacc.c  */
18021 #line 2321 "grammar.y"
18022     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
18023     break;
18024
18025   case 706:
18026
18027 /* Line 1464 of yacc.c  */
18028 #line 2322 "grammar.y"
18029     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
18030     break;
18031
18032   case 707:
18033
18034 /* Line 1464 of yacc.c  */
18035 #line 2323 "grammar.y"
18036     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
18037     break;
18038
18039   case 708:
18040
18041 /* Line 1464 of yacc.c  */
18042 #line 2330 "grammar.y"
18043     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
18044     break;
18045
18046   case 709:
18047
18048 /* Line 1464 of yacc.c  */
18049 #line 2332 "grammar.y"
18050     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
18051     break;
18052
18053   case 710:
18054
18055 /* Line 1464 of yacc.c  */
18056 #line 2334 "grammar.y"
18057     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18058     break;
18059
18060   case 711:
18061
18062 /* Line 1464 of yacc.c  */
18063 #line 2336 "grammar.y"
18064     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18065     break;
18066
18067   case 712:
18068
18069 /* Line 1464 of yacc.c  */
18070 #line 2338 "grammar.y"
18071     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18072     break;
18073
18074   case 713:
18075
18076 /* Line 1464 of yacc.c  */
18077 #line 2340 "grammar.y"
18078     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
18079     break;
18080
18081   case 714:
18082
18083 /* Line 1464 of yacc.c  */
18084 #line 2342 "grammar.y"
18085     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
18086     break;
18087
18088   case 715:
18089
18090 /* Line 1464 of yacc.c  */
18091 #line 2344 "grammar.y"
18092     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18093     break;
18094
18095   case 716:
18096
18097 /* Line 1464 of yacc.c  */
18098 #line 2346 "grammar.y"
18099     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18100     break;
18101
18102   case 717:
18103
18104 /* Line 1464 of yacc.c  */
18105 #line 2348 "grammar.y"
18106     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
18107     break;
18108
18109   case 718:
18110
18111 /* Line 1464 of yacc.c  */
18112 #line 2352 "grammar.y"
18113     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
18114     break;
18115
18116   case 719:
18117
18118 /* Line 1464 of yacc.c  */
18119 #line 2353 "grammar.y"
18120     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
18121     break;
18122
18123   case 720:
18124
18125 /* Line 1464 of yacc.c  */
18126 #line 2358 "grammar.y"
18127     {
18128          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
18129          (yyval.specifier).addNameSpace = true;
18130          (yyval.specifier).ctx = PushContext();
18131       ;}
18132     break;
18133
18134   case 721:
18135
18136 /* Line 1464 of yacc.c  */
18137 #line 2364 "grammar.y"
18138     {
18139          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
18140          (yyval.specifier).ctx = PushContext();
18141          FreeSpecifier((yyvsp[(2) - (2)].specifier));
18142       ;}
18143     break;
18144
18145   case 722:
18146
18147 /* Line 1464 of yacc.c  */
18148 #line 2370 "grammar.y"
18149     {
18150          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
18151          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18152          (yyval.specifier).addNameSpace = true;
18153          (yyval.specifier).ctx = PushContext();
18154       ;}
18155     break;
18156
18157   case 723:
18158
18159 /* Line 1464 of yacc.c  */
18160 #line 2377 "grammar.y"
18161     {
18162          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
18163          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
18164          (yyval.specifier).ctx = PushContext();
18165          FreeSpecifier((yyvsp[(3) - (3)].specifier));
18166       ;}
18167     break;
18168
18169   case 724:
18170
18171 /* Line 1464 of yacc.c  */
18172 #line 2386 "grammar.y"
18173     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18174     break;
18175
18176   case 725:
18177
18178 /* Line 1464 of yacc.c  */
18179 #line 2387 "grammar.y"
18180     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18181     break;
18182
18183   case 726:
18184
18185 /* Line 1464 of yacc.c  */
18186 #line 2388 "grammar.y"
18187     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18188     break;
18189
18190   case 727:
18191
18192 /* Line 1464 of yacc.c  */
18193 #line 2389 "grammar.y"
18194     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
18195     break;
18196
18197   case 728:
18198
18199 /* Line 1464 of yacc.c  */
18200 #line 2393 "grammar.y"
18201     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18202     break;
18203
18204   case 729:
18205
18206 /* Line 1464 of yacc.c  */
18207 #line 2394 "grammar.y"
18208     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
18209     break;
18210
18211   case 730:
18212
18213 /* Line 1464 of yacc.c  */
18214 #line 2395 "grammar.y"
18215     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18216     break;
18217
18218   case 731:
18219
18220 /* Line 1464 of yacc.c  */
18221 #line 2397 "grammar.y"
18222     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18223     break;
18224
18225   case 732:
18226
18227 /* Line 1464 of yacc.c  */
18228 #line 2398 "grammar.y"
18229     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18230     break;
18231
18232   case 733:
18233
18234 /* Line 1464 of yacc.c  */
18235 #line 2399 "grammar.y"
18236     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18237     break;
18238
18239   case 734:
18240
18241 /* Line 1464 of yacc.c  */
18242 #line 2401 "grammar.y"
18243     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18244     break;
18245
18246   case 735:
18247
18248 /* Line 1464 of yacc.c  */
18249 #line 2402 "grammar.y"
18250     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18251     break;
18252
18253   case 736:
18254
18255 /* Line 1464 of yacc.c  */
18256 #line 2403 "grammar.y"
18257     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
18258     break;
18259
18260   case 737:
18261
18262 /* Line 1464 of yacc.c  */
18263 #line 2407 "grammar.y"
18264     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18265     break;
18266
18267   case 738:
18268
18269 /* Line 1464 of yacc.c  */
18270 #line 2412 "grammar.y"
18271     {
18272         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
18273         if(declMode)
18274         {
18275            ((yyvsp[(1) - (1)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (1)].specifier).id.string);
18276         }
18277      ;}
18278     break;
18279
18280   case 739:
18281
18282 /* Line 1464 of yacc.c  */
18283 #line 2420 "grammar.y"
18284     {
18285       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
18286       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
18287       symbol.templateParams = (yyvsp[(3) - (4)].list);
18288    ;}
18289     break;
18290
18291   case 740:
18292
18293 /* Line 1464 of yacc.c  */
18294 #line 2429 "grammar.y"
18295     {
18296       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18297       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
18298       SetupBaseSpecs(null, (yyvsp[(3) - (3)].list));
18299    ;}
18300     break;
18301
18302   case 741:
18303
18304 /* Line 1464 of yacc.c  */
18305 #line 2437 "grammar.y"
18306     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
18307     break;
18308
18309   case 742:
18310
18311 /* Line 1464 of yacc.c  */
18312 #line 2439 "grammar.y"
18313     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18314     break;
18315
18316   case 743:
18317
18318 /* Line 1464 of yacc.c  */
18319 #line 2440 "grammar.y"
18320     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18321     break;
18322
18323   case 744:
18324
18325 /* Line 1464 of yacc.c  */
18326 #line 2441 "grammar.y"
18327     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18328     break;
18329
18330   case 745:
18331
18332 /* Line 1464 of yacc.c  */
18333 #line 2446 "grammar.y"
18334     {
18335       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18336       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18337       POP_DEFAULT_ACCESS
18338       PopContext(curContext);
18339    ;}
18340     break;
18341
18342   case 746:
18343
18344 /* Line 1464 of yacc.c  */
18345 #line 2453 "grammar.y"
18346     {
18347       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
18348       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18349       POP_DEFAULT_ACCESS
18350       PopContext(curContext);
18351    ;}
18352     break;
18353
18354   case 747:
18355
18356 /* Line 1464 of yacc.c  */
18357 #line 2460 "grammar.y"
18358     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
18359     break;
18360
18361   case 748:
18362
18363 /* Line 1464 of yacc.c  */
18364 #line 2463 "grammar.y"
18365     {
18366         PopContext(curContext);
18367         if(!declMode)
18368         {
18369            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18370            (yyvsp[(1) - (3)].specifier).id = null;
18371            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18372         }
18373         else
18374            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18375         POP_DEFAULT_ACCESS
18376      ;}
18377     break;
18378
18379   case 749:
18380
18381 /* Line 1464 of yacc.c  */
18382 #line 2476 "grammar.y"
18383     {
18384         PopContext(curContext);
18385
18386         if(!declMode)
18387         {
18388            (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifier).type, (yyvsp[(1) - (3)].specifier).id, (yyvsp[(3) - (3)].list));
18389            (yyvsp[(1) - (3)].specifier).id = null;
18390            FreeSpecifier((yyvsp[(1) - (3)].specifier));
18391         }
18392         else
18393            (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
18394         POP_DEFAULT_ACCESS
18395      ;}
18396     break;
18397
18398   case 750:
18399
18400 /* Line 1464 of yacc.c  */
18401 #line 2490 "grammar.y"
18402     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
18403     break;
18404
18405   case 751:
18406
18407 /* Line 1464 of yacc.c  */
18408 #line 2493 "grammar.y"
18409     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
18410     break;
18411
18412   case 752:
18413
18414 /* Line 1464 of yacc.c  */
18415 #line 2495 "grammar.y"
18416     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
18417     break;
18418
18419   case 753:
18420
18421 /* Line 1464 of yacc.c  */
18422 #line 2497 "grammar.y"
18423     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
18424     break;
18425
18426   case 754:
18427
18428 /* Line 1464 of yacc.c  */
18429 #line 2501 "grammar.y"
18430     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18431     break;
18432
18433   case 755:
18434
18435 /* Line 1464 of yacc.c  */
18436 #line 2502 "grammar.y"
18437     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
18438     break;
18439
18440   case 756:
18441
18442 /* Line 1464 of yacc.c  */
18443 #line 2506 "grammar.y"
18444     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18445     break;
18446
18447   case 757:
18448
18449 /* Line 1464 of yacc.c  */
18450 #line 2507 "grammar.y"
18451     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18452     break;
18453
18454   case 758:
18455
18456 /* Line 1464 of yacc.c  */
18457 #line 2508 "grammar.y"
18458     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18459     break;
18460
18461   case 759:
18462
18463 /* Line 1464 of yacc.c  */
18464 #line 2509 "grammar.y"
18465     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18466     break;
18467
18468   case 760:
18469
18470 /* Line 1464 of yacc.c  */
18471 #line 2510 "grammar.y"
18472     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18473     break;
18474
18475   case 761:
18476
18477 /* Line 1464 of yacc.c  */
18478 #line 2511 "grammar.y"
18479     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18480     break;
18481
18482   case 762:
18483
18484 /* Line 1464 of yacc.c  */
18485 #line 2512 "grammar.y"
18486     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18487     break;
18488
18489   case 763:
18490
18491 /* Line 1464 of yacc.c  */
18492 #line 2513 "grammar.y"
18493     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18494     break;
18495
18496   case 764:
18497
18498 /* Line 1464 of yacc.c  */
18499 #line 2517 "grammar.y"
18500     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18501     break;
18502
18503   case 765:
18504
18505 /* Line 1464 of yacc.c  */
18506 #line 2518 "grammar.y"
18507     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18508     break;
18509
18510   case 766:
18511
18512 /* Line 1464 of yacc.c  */
18513 #line 2519 "grammar.y"
18514     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18515     break;
18516
18517   case 767:
18518
18519 /* Line 1464 of yacc.c  */
18520 #line 2520 "grammar.y"
18521     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18522     break;
18523
18524   case 768:
18525
18526 /* Line 1464 of yacc.c  */
18527 #line 2521 "grammar.y"
18528     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18529     break;
18530
18531   case 769:
18532
18533 /* Line 1464 of yacc.c  */
18534 #line 2522 "grammar.y"
18535     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18536     break;
18537
18538   case 770:
18539
18540 /* Line 1464 of yacc.c  */
18541 #line 2523 "grammar.y"
18542     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18543     break;
18544
18545   case 771:
18546
18547 /* Line 1464 of yacc.c  */
18548 #line 2524 "grammar.y"
18549     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18550     break;
18551
18552   case 772:
18553
18554 /* Line 1464 of yacc.c  */
18555 #line 2525 "grammar.y"
18556     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18557     break;
18558
18559   case 773:
18560
18561 /* Line 1464 of yacc.c  */
18562 #line 2526 "grammar.y"
18563     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18564     break;
18565
18566   case 774:
18567
18568 /* Line 1464 of yacc.c  */
18569 #line 2530 "grammar.y"
18570     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18571     break;
18572
18573   case 775:
18574
18575 /* Line 1464 of yacc.c  */
18576 #line 2531 "grammar.y"
18577     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18578     break;
18579
18580   case 776:
18581
18582 /* Line 1464 of yacc.c  */
18583 #line 2532 "grammar.y"
18584     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18585     break;
18586
18587   case 777:
18588
18589 /* Line 1464 of yacc.c  */
18590 #line 2533 "grammar.y"
18591     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18592     break;
18593
18594   case 778:
18595
18596 /* Line 1464 of yacc.c  */
18597 #line 2534 "grammar.y"
18598     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18599     break;
18600
18601   case 779:
18602
18603 /* Line 1464 of yacc.c  */
18604 #line 2535 "grammar.y"
18605     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18606     break;
18607
18608   case 780:
18609
18610 /* Line 1464 of yacc.c  */
18611 #line 2536 "grammar.y"
18612     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18613     break;
18614
18615   case 781:
18616
18617 /* Line 1464 of yacc.c  */
18618 #line 2537 "grammar.y"
18619     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18620     break;
18621
18622   case 782:
18623
18624 /* Line 1464 of yacc.c  */
18625 #line 2538 "grammar.y"
18626     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18627     break;
18628
18629   case 783:
18630
18631 /* Line 1464 of yacc.c  */
18632 #line 2539 "grammar.y"
18633     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18634     break;
18635
18636   case 784:
18637
18638 /* Line 1464 of yacc.c  */
18639 #line 2543 "grammar.y"
18640     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18641     break;
18642
18643   case 785:
18644
18645 /* Line 1464 of yacc.c  */
18646 #line 2544 "grammar.y"
18647     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18648     break;
18649
18650   case 786:
18651
18652 /* Line 1464 of yacc.c  */
18653 #line 2545 "grammar.y"
18654     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18655     break;
18656
18657   case 787:
18658
18659 /* Line 1464 of yacc.c  */
18660 #line 2546 "grammar.y"
18661     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18662     break;
18663
18664   case 788:
18665
18666 /* Line 1464 of yacc.c  */
18667 #line 2547 "grammar.y"
18668     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18669     break;
18670
18671   case 789:
18672
18673 /* Line 1464 of yacc.c  */
18674 #line 2548 "grammar.y"
18675     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18676     break;
18677
18678   case 790:
18679
18680 /* Line 1464 of yacc.c  */
18681 #line 2549 "grammar.y"
18682     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18683     break;
18684
18685   case 791:
18686
18687 /* Line 1464 of yacc.c  */
18688 #line 2550 "grammar.y"
18689     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18690     break;
18691
18692   case 792:
18693
18694 /* Line 1464 of yacc.c  */
18695 #line 2551 "grammar.y"
18696     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18697     break;
18698
18699   case 793:
18700
18701 /* Line 1464 of yacc.c  */
18702 #line 2552 "grammar.y"
18703     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18704     break;
18705
18706   case 794:
18707
18708 /* Line 1464 of yacc.c  */
18709 #line 2553 "grammar.y"
18710     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18711     break;
18712
18713   case 795:
18714
18715 /* Line 1464 of yacc.c  */
18716 #line 2554 "grammar.y"
18717     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18718     break;
18719
18720   case 796:
18721
18722 /* Line 1464 of yacc.c  */
18723 #line 2558 "grammar.y"
18724     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18725     break;
18726
18727   case 797:
18728
18729 /* Line 1464 of yacc.c  */
18730 #line 2559 "grammar.y"
18731     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18732     break;
18733
18734   case 798:
18735
18736 /* Line 1464 of yacc.c  */
18737 #line 2560 "grammar.y"
18738     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18739     break;
18740
18741   case 799:
18742
18743 /* Line 1464 of yacc.c  */
18744 #line 2561 "grammar.y"
18745     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18746     break;
18747
18748   case 800:
18749
18750 /* Line 1464 of yacc.c  */
18751 #line 2562 "grammar.y"
18752     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18753     break;
18754
18755   case 801:
18756
18757 /* Line 1464 of yacc.c  */
18758 #line 2563 "grammar.y"
18759     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18760     break;
18761
18762   case 802:
18763
18764 /* Line 1464 of yacc.c  */
18765 #line 2564 "grammar.y"
18766     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18767     break;
18768
18769   case 803:
18770
18771 /* Line 1464 of yacc.c  */
18772 #line 2565 "grammar.y"
18773     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18774     break;
18775
18776   case 804:
18777
18778 /* Line 1464 of yacc.c  */
18779 #line 2566 "grammar.y"
18780     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18781     break;
18782
18783   case 805:
18784
18785 /* Line 1464 of yacc.c  */
18786 #line 2567 "grammar.y"
18787     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18788     break;
18789
18790   case 806:
18791
18792 /* Line 1464 of yacc.c  */
18793 #line 2571 "grammar.y"
18794     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18795     break;
18796
18797   case 807:
18798
18799 /* Line 1464 of yacc.c  */
18800 #line 2572 "grammar.y"
18801     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18802     break;
18803
18804   case 808:
18805
18806 /* Line 1464 of yacc.c  */
18807 #line 2576 "grammar.y"
18808     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
18809     break;
18810
18811   case 809:
18812
18813 /* Line 1464 of yacc.c  */
18814 #line 2577 "grammar.y"
18815     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
18816     break;
18817
18818   case 810:
18819
18820 /* Line 1464 of yacc.c  */
18821 #line 2578 "grammar.y"
18822     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18823     break;
18824
18825   case 811:
18826
18827 /* Line 1464 of yacc.c  */
18828 #line 2579 "grammar.y"
18829     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18830     break;
18831
18832   case 812:
18833
18834 /* Line 1464 of yacc.c  */
18835 #line 2580 "grammar.y"
18836     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18837     break;
18838
18839   case 813:
18840
18841 /* Line 1464 of yacc.c  */
18842 #line 2581 "grammar.y"
18843     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18844     break;
18845
18846   case 814:
18847
18848 /* Line 1464 of yacc.c  */
18849 #line 2582 "grammar.y"
18850     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18851     break;
18852
18853   case 815:
18854
18855 /* Line 1464 of yacc.c  */
18856 #line 2583 "grammar.y"
18857     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18858     break;
18859
18860   case 816:
18861
18862 /* Line 1464 of yacc.c  */
18863 #line 2585 "grammar.y"
18864     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
18865     break;
18866
18867   case 817:
18868
18869 /* Line 1464 of yacc.c  */
18870 #line 2586 "grammar.y"
18871     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
18872     break;
18873
18874   case 818:
18875
18876 /* Line 1464 of yacc.c  */
18877 #line 2589 "grammar.y"
18878     {
18879          // if($1._class && !$1._class.name)
18880          if((yyvsp[(1) - (4)].id)._class)
18881          {
18882             char name[1024];
18883             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18884             strcat(name, "::");
18885             strcat(name, (yyvsp[(1) - (4)].id).string);
18886             _DeclClass(0, name);
18887          }
18888          else
18889             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18890
18891          (yyval.list) = MkList();
18892          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18893          FreeIdentifier((yyvsp[(1) - (4)].id));
18894       ;}
18895     break;
18896
18897   case 819:
18898
18899 /* Line 1464 of yacc.c  */
18900 #line 2607 "grammar.y"
18901     {
18902          (yyval.list) = (yyvsp[(1) - (5)].list);
18903          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
18904          {
18905             char name[1024];
18906             strcpy(name, "::");
18907             strcat(name, (yyvsp[(2) - (5)].id).string);
18908             _DeclClass(0, name);
18909          }
18910          else
18911             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
18912          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
18913          FreeIdentifier((yyvsp[(2) - (5)].id));
18914       ;}
18915     break;
18916
18917   case 821:
18918
18919 /* Line 1464 of yacc.c  */
18920 #line 2625 "grammar.y"
18921     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
18922     break;
18923
18924   case 822:
18925
18926 /* Line 1464 of yacc.c  */
18927 #line 2629 "grammar.y"
18928     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18929     break;
18930
18931   case 823:
18932
18933 /* Line 1464 of yacc.c  */
18934 #line 2630 "grammar.y"
18935     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18936     break;
18937
18938   case 824:
18939
18940 /* Line 1464 of yacc.c  */
18941 #line 2631 "grammar.y"
18942     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18943     break;
18944
18945   case 825:
18946
18947 /* Line 1464 of yacc.c  */
18948 #line 2632 "grammar.y"
18949     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18950     break;
18951
18952   case 826:
18953
18954 /* Line 1464 of yacc.c  */
18955 #line 2633 "grammar.y"
18956     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
18957     break;
18958
18959   case 827:
18960
18961 /* Line 1464 of yacc.c  */
18962 #line 2634 "grammar.y"
18963     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
18964     break;
18965
18966   case 828:
18967
18968 /* Line 1464 of yacc.c  */
18969 #line 2635 "grammar.y"
18970     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
18971     break;
18972
18973   case 829:
18974
18975 /* Line 1464 of yacc.c  */
18976 #line 2636 "grammar.y"
18977     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
18978     break;
18979
18980   case 830:
18981
18982 /* Line 1464 of yacc.c  */
18983 #line 2638 "grammar.y"
18984     {
18985          // if($1._class && !$1._class.name)
18986          if((yyvsp[(1) - (4)].id)._class)
18987          {
18988             char name[1024];
18989             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
18990             strcat(name, "::");
18991             strcat(name, (yyvsp[(1) - (4)].id).string);
18992             _DeclClass(0, name);
18993          }
18994          else
18995             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
18996
18997          (yyval.list) = MkList();
18998          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
18999          FreeIdentifier((yyvsp[(1) - (4)].id));
19000       ;}
19001     break;
19002
19003   case 831:
19004
19005 /* Line 1464 of yacc.c  */
19006 #line 2656 "grammar.y"
19007     {
19008          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19009          {
19010             char name[1024];
19011             strcpy(name, "::");
19012             strcat(name, (yyvsp[(2) - (5)].id).string);
19013             _DeclClass(0, name);
19014          }
19015          else
19016             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19017          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19018          FreeIdentifier((yyvsp[(2) - (5)].id));
19019       ;}
19020     break;
19021
19022   case 832:
19023
19024 /* Line 1464 of yacc.c  */
19025 #line 2672 "grammar.y"
19026     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19027     break;
19028
19029   case 833:
19030
19031 /* Line 1464 of yacc.c  */
19032 #line 2673 "grammar.y"
19033     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19034     break;
19035
19036   case 834:
19037
19038 /* Line 1464 of yacc.c  */
19039 #line 2674 "grammar.y"
19040     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19041     break;
19042
19043   case 835:
19044
19045 /* Line 1464 of yacc.c  */
19046 #line 2675 "grammar.y"
19047     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19048     break;
19049
19050   case 836:
19051
19052 /* Line 1464 of yacc.c  */
19053 #line 2676 "grammar.y"
19054     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19055     break;
19056
19057   case 837:
19058
19059 /* Line 1464 of yacc.c  */
19060 #line 2677 "grammar.y"
19061     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19062     break;
19063
19064   case 838:
19065
19066 /* Line 1464 of yacc.c  */
19067 #line 2678 "grammar.y"
19068     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19069     break;
19070
19071   case 839:
19072
19073 /* Line 1464 of yacc.c  */
19074 #line 2679 "grammar.y"
19075     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19076     break;
19077
19078   case 840:
19079
19080 /* Line 1464 of yacc.c  */
19081 #line 2680 "grammar.y"
19082     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19083     break;
19084
19085   case 841:
19086
19087 /* Line 1464 of yacc.c  */
19088 #line 2681 "grammar.y"
19089     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19090     break;
19091
19092   case 842:
19093
19094 /* Line 1464 of yacc.c  */
19095 #line 2682 "grammar.y"
19096     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19097     break;
19098
19099   case 843:
19100
19101 /* Line 1464 of yacc.c  */
19102 #line 2683 "grammar.y"
19103     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19104     break;
19105
19106   case 844:
19107
19108 /* Line 1464 of yacc.c  */
19109 #line 2685 "grammar.y"
19110     {
19111          // if($1._class && !$1._class.name)
19112          if((yyvsp[(1) - (4)].id)._class)
19113          {
19114             char name[1024];
19115             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19116             strcat(name, "::");
19117             strcat(name, (yyvsp[(1) - (4)].id).string);
19118             _DeclClass(0, name);
19119          }
19120          else
19121             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19122
19123          (yyval.list) = MkList();
19124          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19125          FreeIdentifier((yyvsp[(1) - (4)].id));
19126       ;}
19127     break;
19128
19129   case 845:
19130
19131 /* Line 1464 of yacc.c  */
19132 #line 2703 "grammar.y"
19133     {
19134          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19135          {
19136             char name[1024];
19137             strcpy(name, "::");
19138             strcat(name, (yyvsp[(2) - (5)].id).string);
19139             _DeclClass(0, name);
19140          }
19141          else
19142             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19143          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19144          FreeIdentifier((yyvsp[(2) - (5)].id));
19145       ;}
19146     break;
19147
19148   case 846:
19149
19150 /* Line 1464 of yacc.c  */
19151 #line 2719 "grammar.y"
19152     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19153     break;
19154
19155   case 847:
19156
19157 /* Line 1464 of yacc.c  */
19158 #line 2720 "grammar.y"
19159     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19160     break;
19161
19162   case 848:
19163
19164 /* Line 1464 of yacc.c  */
19165 #line 2721 "grammar.y"
19166     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19167     break;
19168
19169   case 849:
19170
19171 /* Line 1464 of yacc.c  */
19172 #line 2722 "grammar.y"
19173     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19174     break;
19175
19176   case 850:
19177
19178 /* Line 1464 of yacc.c  */
19179 #line 2723 "grammar.y"
19180     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19181     break;
19182
19183   case 851:
19184
19185 /* Line 1464 of yacc.c  */
19186 #line 2724 "grammar.y"
19187     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19188     break;
19189
19190   case 852:
19191
19192 /* Line 1464 of yacc.c  */
19193 #line 2725 "grammar.y"
19194     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19195     break;
19196
19197   case 853:
19198
19199 /* Line 1464 of yacc.c  */
19200 #line 2726 "grammar.y"
19201     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19202     break;
19203
19204   case 854:
19205
19206 /* Line 1464 of yacc.c  */
19207 #line 2727 "grammar.y"
19208     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
19209     break;
19210
19211   case 855:
19212
19213 /* Line 1464 of yacc.c  */
19214 #line 2728 "grammar.y"
19215     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
19216     break;
19217
19218   case 856:
19219
19220 /* Line 1464 of yacc.c  */
19221 #line 2729 "grammar.y"
19222     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
19223     break;
19224
19225   case 857:
19226
19227 /* Line 1464 of yacc.c  */
19228 #line 2730 "grammar.y"
19229     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
19230     break;
19231
19232   case 858:
19233
19234 /* Line 1464 of yacc.c  */
19235 #line 2732 "grammar.y"
19236     {
19237          // if($1._class && !$1._class.name)
19238          if((yyvsp[(1) - (4)].id)._class)
19239          {
19240             char name[1024];
19241             strcpy(name,  (yyvsp[(1) - (4)].id)._class.name ? (yyvsp[(1) - (4)].id)._class.name : "");
19242             strcat(name, "::");
19243             strcat(name, (yyvsp[(1) - (4)].id).string);
19244             _DeclClass(0, name);
19245          }
19246          else
19247             _DeclClass(0, (yyvsp[(1) - (4)].id).string);
19248
19249          (yyval.list) = MkList();
19250          ListAdd((yyval.list), MkSpecifierNameArgs((yyvsp[(1) - (4)].id).string, (yyvsp[(3) - (4)].list)));
19251          FreeIdentifier((yyvsp[(1) - (4)].id));
19252       ;}
19253     break;
19254
19255   case 859:
19256
19257 /* Line 1464 of yacc.c  */
19258 #line 2750 "grammar.y"
19259     {
19260          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
19261          {
19262             char name[1024];
19263             strcpy(name, "::");
19264             strcat(name, (yyvsp[(2) - (5)].id).string);
19265             _DeclClass(0, name);
19266          }
19267          else
19268             _DeclClass(0, (yyvsp[(2) - (5)].id).string);
19269          ListAdd((yyvsp[(1) - (5)].list), MkSpecifierNameArgs((yyvsp[(2) - (5)].id).string, (yyvsp[(4) - (5)].list)));
19270          FreeIdentifier((yyvsp[(2) - (5)].id));
19271       ;}
19272     break;
19273
19274   case 860:
19275
19276 /* Line 1464 of yacc.c  */
19277 #line 2766 "grammar.y"
19278     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19279     break;
19280
19281   case 861:
19282
19283 /* Line 1464 of yacc.c  */
19284 #line 2767 "grammar.y"
19285     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
19286     break;
19287
19288   case 862:
19289
19290 /* Line 1464 of yacc.c  */
19291 #line 2771 "grammar.y"
19292     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
19293     break;
19294
19295   case 863:
19296
19297 /* Line 1464 of yacc.c  */
19298 #line 2772 "grammar.y"
19299     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19300     break;
19301
19302   case 864:
19303
19304 /* Line 1464 of yacc.c  */
19305 #line 2773 "grammar.y"
19306     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19307     break;
19308
19309   case 865:
19310
19311 /* Line 1464 of yacc.c  */
19312 #line 2774 "grammar.y"
19313     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19314     break;
19315
19316   case 866:
19317
19318 /* Line 1464 of yacc.c  */
19319 #line 2775 "grammar.y"
19320     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
19321     break;
19322
19323   case 868:
19324
19325 /* Line 1464 of yacc.c  */
19326 #line 2781 "grammar.y"
19327     {
19328       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
19329       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
19330       (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier(s));
19331       FreeSpecifier((yyvsp[(1) - (1)].specifier));
19332    ;}
19333     break;
19334
19335   case 869:
19336
19337 /* Line 1464 of yacc.c  */
19338 #line 2787 "grammar.y"
19339     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
19340     break;
19341
19342   case 870:
19343
19344 /* Line 1464 of yacc.c  */
19345 #line 2790 "grammar.y"
19346     {
19347          Declarator decl;
19348          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19349          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19350          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19351          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19352          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19353       ;}
19354     break;
19355
19356   case 871:
19357
19358 /* Line 1464 of yacc.c  */
19359 #line 2799 "grammar.y"
19360     {
19361          Declarator decl;
19362          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19363          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19364          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19365          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19366          (yyval.declarator) = MkDeclaratorArray(decl, (yyvsp[(3) - (4)].exp));
19367       ;}
19368     break;
19369
19370   case 872:
19371
19372 /* Line 1464 of yacc.c  */
19373 #line 2808 "grammar.y"
19374     {
19375          Declarator decl;
19376          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
19377          String s = colon ? colon + 2 : (yyvsp[(1) - (4)].specifier).name;
19378          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19379          FreeSpecifier((yyvsp[(1) - (4)].specifier));
19380          (yyval.declarator) = MkDeclaratorEnumArray(decl, (yyvsp[(3) - (4)].specifier));
19381       ;}
19382     break;
19383
19384   case 873:
19385
19386 /* Line 1464 of yacc.c  */
19387 #line 2817 "grammar.y"
19388     {
19389          Declarator decl;
19390          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
19391          String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
19392          decl = MkDeclaratorIdentifier(MkIdentifier(s));
19393          FreeSpecifier((yyvsp[(1) - (3)].specifier));
19394          (yyval.declarator) = MkDeclaratorEnumArray(decl, null);
19395       ;}
19396     break;
19397
19398   case 874:
19399
19400 /* Line 1464 of yacc.c  */
19401 #line 2825 "grammar.y"
19402     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19403     break;
19404
19405   case 875:
19406
19407 /* Line 1464 of yacc.c  */
19408 #line 2826 "grammar.y"
19409     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19410     break;
19411
19412   case 876:
19413
19414 /* Line 1464 of yacc.c  */
19415 #line 2827 "grammar.y"
19416     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19417     break;
19418
19419   case 877:
19420
19421 /* Line 1464 of yacc.c  */
19422 #line 2828 "grammar.y"
19423     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19424     break;
19425
19426   case 878:
19427
19428 /* Line 1464 of yacc.c  */
19429 #line 2832 "grammar.y"
19430     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
19431     break;
19432
19433   case 879:
19434
19435 /* Line 1464 of yacc.c  */
19436 #line 2833 "grammar.y"
19437     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19438     break;
19439
19440   case 880:
19441
19442 /* Line 1464 of yacc.c  */
19443 #line 2834 "grammar.y"
19444     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19445     break;
19446
19447   case 881:
19448
19449 /* Line 1464 of yacc.c  */
19450 #line 2835 "grammar.y"
19451     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19452     break;
19453
19454   case 882:
19455
19456 /* Line 1464 of yacc.c  */
19457 #line 2836 "grammar.y"
19458     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19459     break;
19460
19461   case 883:
19462
19463 /* Line 1464 of yacc.c  */
19464 #line 2837 "grammar.y"
19465     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19466     break;
19467
19468   case 884:
19469
19470 /* Line 1464 of yacc.c  */
19471 #line 2838 "grammar.y"
19472     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19473     break;
19474
19475   case 885:
19476
19477 /* Line 1464 of yacc.c  */
19478 #line 2839 "grammar.y"
19479     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19480     break;
19481
19482   case 886:
19483
19484 /* Line 1464 of yacc.c  */
19485 #line 2840 "grammar.y"
19486     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19487     break;
19488
19489   case 888:
19490
19491 /* Line 1464 of yacc.c  */
19492 #line 2848 "grammar.y"
19493     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19494     break;
19495
19496   case 889:
19497
19498 /* Line 1464 of yacc.c  */
19499 #line 2849 "grammar.y"
19500     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19501     break;
19502
19503   case 890:
19504
19505 /* Line 1464 of yacc.c  */
19506 #line 2850 "grammar.y"
19507     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19508     break;
19509
19510   case 891:
19511
19512 /* Line 1464 of yacc.c  */
19513 #line 2851 "grammar.y"
19514     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19515     break;
19516
19517   case 892:
19518
19519 /* Line 1464 of yacc.c  */
19520 #line 2852 "grammar.y"
19521     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19522     break;
19523
19524   case 893:
19525
19526 /* Line 1464 of yacc.c  */
19527 #line 2858 "grammar.y"
19528     {
19529          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19530          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19531          yyclearin;
19532          resetScannerPos(&(yylsp[(1) - (2)]).end);
19533          (yyloc).start = (yylsp[(1) - (2)]).start;
19534          (yyloc).end = (yylsp[(1) - (2)]).end;
19535       ;}
19536     break;
19537
19538   case 894:
19539
19540 /* Line 1464 of yacc.c  */
19541 #line 2867 "grammar.y"
19542     {
19543          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19544          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19545          yyclearin;
19546          resetScannerPos(&(yylsp[(1) - (2)]).end);
19547          (yyloc).start = (yylsp[(1) - (2)]).start;
19548          (yyloc).end = (yylsp[(1) - (2)]).end;
19549       ;}
19550     break;
19551
19552   case 895:
19553
19554 /* Line 1464 of yacc.c  */
19555 #line 2876 "grammar.y"
19556     {
19557          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19558          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19559          yyclearin;
19560          resetScannerPos(&(yylsp[(1) - (3)]).end);
19561          (yyloc).start = (yylsp[(1) - (3)]).start;
19562          (yyloc).end = (yylsp[(1) - (3)]).end;
19563       ;}
19564     break;
19565
19566   case 896:
19567
19568 /* Line 1464 of yacc.c  */
19569 #line 2885 "grammar.y"
19570     {
19571          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19572          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19573          yyclearin;
19574          resetScannerPos(&(yylsp[(1) - (4)]).end);
19575          (yyloc).start = (yylsp[(1) - (4)]).start;
19576          (yyloc).end = (yylsp[(1) - (4)]).end;
19577          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19578          FreeIdentifier((yyvsp[(3) - (4)].id));
19579       ;}
19580     break;
19581
19582   case 900:
19583
19584 /* Line 1464 of yacc.c  */
19585 #line 2908 "grammar.y"
19586     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19587     break;
19588
19589   case 901:
19590
19591 /* Line 1464 of yacc.c  */
19592 #line 2909 "grammar.y"
19593     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19594     break;
19595
19596   case 902:
19597
19598 /* Line 1464 of yacc.c  */
19599 #line 2910 "grammar.y"
19600     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19601     break;
19602
19603   case 903:
19604
19605 /* Line 1464 of yacc.c  */
19606 #line 2911 "grammar.y"
19607     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
19608     break;
19609
19610   case 904:
19611
19612 /* Line 1464 of yacc.c  */
19613 #line 2912 "grammar.y"
19614     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
19615     break;
19616
19617   case 905:
19618
19619 /* Line 1464 of yacc.c  */
19620 #line 2918 "grammar.y"
19621     {
19622          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
19623          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19624          yyclearin;
19625          resetScannerPos(&(yylsp[(1) - (2)]).end);
19626          (yyloc).start = (yylsp[(1) - (2)]).start;
19627          (yyloc).end = (yylsp[(1) - (2)]).end;
19628       ;}
19629     break;
19630
19631   case 906:
19632
19633 /* Line 1464 of yacc.c  */
19634 #line 2927 "grammar.y"
19635     {
19636          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
19637          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
19638          yyclearin;
19639          resetScannerPos(&(yylsp[(1) - (2)]).end);
19640          (yyloc).start = (yylsp[(1) - (2)]).start;
19641          (yyloc).end = (yylsp[(1) - (2)]).end;
19642       ;}
19643     break;
19644
19645   case 907:
19646
19647 /* Line 1464 of yacc.c  */
19648 #line 2936 "grammar.y"
19649     {
19650          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
19651          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
19652          yyclearin;
19653          resetScannerPos(&(yylsp[(1) - (3)]).end);
19654          (yyloc).start = (yylsp[(1) - (3)]).start;
19655          (yyloc).end = (yylsp[(1) - (3)]).end;
19656       ;}
19657     break;
19658
19659   case 908:
19660
19661 /* Line 1464 of yacc.c  */
19662 #line 2945 "grammar.y"
19663     {
19664          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
19665          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
19666          yyclearin;
19667          resetScannerPos(&(yylsp[(1) - (4)]).end);
19668          (yyloc).start = (yylsp[(1) - (4)]).start;
19669          (yyloc).end = (yylsp[(1) - (4)]).end;
19670          FreeList((yyvsp[(2) - (4)].list), FreeSpecifier);
19671          FreeIdentifier((yyvsp[(3) - (4)].id));
19672       ;}
19673     break;
19674
19675   case 911:
19676
19677 /* Line 1464 of yacc.c  */
19678 #line 3008 "grammar.y"
19679     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19680     break;
19681
19682   case 912:
19683
19684 /* Line 1464 of yacc.c  */
19685 #line 3009 "grammar.y"
19686     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
19687     break;
19688
19689   case 913:
19690
19691 /* Line 1464 of yacc.c  */
19692 #line 3010 "grammar.y"
19693     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
19694     break;
19695
19696   case 914:
19697
19698 /* Line 1464 of yacc.c  */
19699 #line 3012 "grammar.y"
19700     {
19701          char temp[1024];
19702          strcpy(temp, "__asm__(");
19703          strcat(temp, (yyvsp[(3) - (4)].string));
19704          strcat(temp, ")");
19705          (yyval.extDecl) = MkExtDeclString(CopyString(temp));
19706          delete (yyvsp[(3) - (4)].string);
19707       ;}
19708     break;
19709
19710   case 915:
19711
19712 /* Line 1464 of yacc.c  */
19713 #line 3023 "grammar.y"
19714     { (yyval.i) = ATTRIB; ;}
19715     break;
19716
19717   case 916:
19718
19719 /* Line 1464 of yacc.c  */
19720 #line 3024 "grammar.y"
19721     { (yyval.i) = ATTRIB_DEP; ;}
19722     break;
19723
19724   case 917:
19725
19726 /* Line 1464 of yacc.c  */
19727 #line 3025 "grammar.y"
19728     { (yyval.i) = __ATTRIB; ;}
19729     break;
19730
19731   case 918:
19732
19733 /* Line 1464 of yacc.c  */
19734 #line 3030 "grammar.y"
19735     { (yyval.string)  = CopyString(yytext); ;}
19736     break;
19737
19738   case 919:
19739
19740 /* Line 1464 of yacc.c  */
19741 #line 3031 "grammar.y"
19742     { (yyval.string)  = CopyString(yytext); ;}
19743     break;
19744
19745   case 920:
19746
19747 /* Line 1464 of yacc.c  */
19748 #line 3032 "grammar.y"
19749     { (yyval.string)  = CopyString(yytext); ;}
19750     break;
19751
19752   case 921:
19753
19754 /* Line 1464 of yacc.c  */
19755 #line 3033 "grammar.y"
19756     { (yyval.string)  = CopyString(yytext); ;}
19757     break;
19758
19759   case 922:
19760
19761 /* Line 1464 of yacc.c  */
19762 #line 3034 "grammar.y"
19763     { (yyval.string)  = CopyString(yytext); ;}
19764     break;
19765
19766   case 923:
19767
19768 /* Line 1464 of yacc.c  */
19769 #line 3038 "grammar.y"
19770     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
19771     break;
19772
19773   case 924:
19774
19775 /* Line 1464 of yacc.c  */
19776 #line 3039 "grammar.y"
19777     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
19778     break;
19779
19780   case 925:
19781
19782 /* Line 1464 of yacc.c  */
19783 #line 3043 "grammar.y"
19784     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
19785     break;
19786
19787   case 926:
19788
19789 /* Line 1464 of yacc.c  */
19790 #line 3044 "grammar.y"
19791     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
19792     break;
19793
19794   case 927:
19795
19796 /* Line 1464 of yacc.c  */
19797 #line 3045 "grammar.y"
19798     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
19799     break;
19800
19801   case 928:
19802
19803 /* Line 1464 of yacc.c  */
19804 #line 3049 "grammar.y"
19805     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
19806     break;
19807
19808   case 929:
19809
19810 /* Line 1464 of yacc.c  */
19811 #line 3050 "grammar.y"
19812     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
19813     break;
19814
19815   case 930:
19816
19817 /* Line 1464 of yacc.c  */
19818 #line 3054 "grammar.y"
19819     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19820     break;
19821
19822   case 931:
19823
19824 /* Line 1464 of yacc.c  */
19825 #line 3055 "grammar.y"
19826     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19827     break;
19828
19829   case 932:
19830
19831 /* Line 1464 of yacc.c  */
19832 #line 3056 "grammar.y"
19833     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
19834     break;
19835
19836   case 933:
19837
19838 /* Line 1464 of yacc.c  */
19839 #line 3057 "grammar.y"
19840     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19841     break;
19842
19843   case 934:
19844
19845 /* Line 1464 of yacc.c  */
19846 #line 3058 "grammar.y"
19847     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
19848     break;
19849
19850   case 935:
19851
19852 /* Line 1464 of yacc.c  */
19853 #line 3059 "grammar.y"
19854     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
19855     break;
19856
19857   case 936:
19858
19859 /* Line 1464 of yacc.c  */
19860 #line 3060 "grammar.y"
19861     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
19862     break;
19863
19864   case 937:
19865
19866 /* Line 1464 of yacc.c  */
19867 #line 3061 "grammar.y"
19868     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19869     break;
19870
19871   case 938:
19872
19873 /* Line 1464 of yacc.c  */
19874 #line 3062 "grammar.y"
19875     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
19876     break;
19877
19878   case 939:
19879
19880 /* Line 1464 of yacc.c  */
19881 #line 3063 "grammar.y"
19882     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
19883     break;
19884
19885   case 940:
19886
19887 /* Line 1464 of yacc.c  */
19888 #line 3064 "grammar.y"
19889     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19890     break;
19891
19892   case 941:
19893
19894 /* Line 1464 of yacc.c  */
19895 #line 3065 "grammar.y"
19896     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19897     break;
19898
19899   case 942:
19900
19901 /* Line 1464 of yacc.c  */
19902 #line 3066 "grammar.y"
19903     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19904     break;
19905
19906   case 943:
19907
19908 /* Line 1464 of yacc.c  */
19909 #line 3067 "grammar.y"
19910     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19911     break;
19912
19913   case 944:
19914
19915 /* Line 1464 of yacc.c  */
19916 #line 3068 "grammar.y"
19917     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19918     break;
19919
19920   case 945:
19921
19922 /* Line 1464 of yacc.c  */
19923 #line 3069 "grammar.y"
19924     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19925     break;
19926
19927   case 946:
19928
19929 /* Line 1464 of yacc.c  */
19930 #line 3073 "grammar.y"
19931     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
19932     break;
19933
19934   case 947:
19935
19936 /* Line 1464 of yacc.c  */
19937 #line 3074 "grammar.y"
19938     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
19939     break;
19940
19941   case 948:
19942
19943 /* Line 1464 of yacc.c  */
19944 #line 3075 "grammar.y"
19945     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
19946     break;
19947
19948   case 949:
19949
19950 /* Line 1464 of yacc.c  */
19951 #line 3076 "grammar.y"
19952     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19953     break;
19954
19955   case 950:
19956
19957 /* Line 1464 of yacc.c  */
19958 #line 3077 "grammar.y"
19959     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
19960     break;
19961
19962   case 951:
19963
19964 /* Line 1464 of yacc.c  */
19965 #line 3078 "grammar.y"
19966     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
19967     break;
19968
19969   case 952:
19970
19971 /* Line 1464 of yacc.c  */
19972 #line 3079 "grammar.y"
19973     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19974     break;
19975
19976   case 953:
19977
19978 /* Line 1464 of yacc.c  */
19979 #line 3080 "grammar.y"
19980     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
19981     break;
19982
19983   case 954:
19984
19985 /* Line 1464 of yacc.c  */
19986 #line 3084 "grammar.y"
19987     { (yyval.pointer) = MkPointer(null, null); ;}
19988     break;
19989
19990   case 955:
19991
19992 /* Line 1464 of yacc.c  */
19993 #line 3085 "grammar.y"
19994     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
19995     break;
19996
19997   case 956:
19998
19999 /* Line 1464 of yacc.c  */
20000 #line 3086 "grammar.y"
20001     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
20002     break;
20003
20004   case 957:
20005
20006 /* Line 1464 of yacc.c  */
20007 #line 3087 "grammar.y"
20008     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
20009     break;
20010
20011   case 958:
20012
20013 /* Line 1464 of yacc.c  */
20014 #line 3091 "grammar.y"
20015     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20016     break;
20017
20018   case 960:
20019
20020 /* Line 1464 of yacc.c  */
20021 #line 3093 "grammar.y"
20022     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20023     break;
20024
20025   case 961:
20026
20027 /* Line 1464 of yacc.c  */
20028 #line 3094 "grammar.y"
20029     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20030     break;
20031
20032   case 962:
20033
20034 /* Line 1464 of yacc.c  */
20035 #line 3095 "grammar.y"
20036     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20037     break;
20038
20039   case 963:
20040
20041 /* Line 1464 of yacc.c  */
20042 #line 3099 "grammar.y"
20043     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
20044     break;
20045
20046   case 965:
20047
20048 /* Line 1464 of yacc.c  */
20049 #line 3101 "grammar.y"
20050     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20051     break;
20052
20053   case 966:
20054
20055 /* Line 1464 of yacc.c  */
20056 #line 3102 "grammar.y"
20057     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
20058     break;
20059
20060   case 967:
20061
20062 /* Line 1464 of yacc.c  */
20063 #line 3103 "grammar.y"
20064     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20065     break;
20066
20067   case 969:
20068
20069 /* Line 1464 of yacc.c  */
20070 #line 3109 "grammar.y"
20071     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20072     break;
20073
20074   case 970:
20075
20076 /* Line 1464 of yacc.c  */
20077 #line 3111 "grammar.y"
20078     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20079     break;
20080
20081   case 971:
20082
20083 /* Line 1464 of yacc.c  */
20084 #line 3113 "grammar.y"
20085     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20086     break;
20087
20088   case 972:
20089
20090 /* Line 1464 of yacc.c  */
20091 #line 3115 "grammar.y"
20092     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20093     break;
20094
20095   case 974:
20096
20097 /* Line 1464 of yacc.c  */
20098 #line 3121 "grammar.y"
20099     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20100     break;
20101
20102   case 975:
20103
20104 /* Line 1464 of yacc.c  */
20105 #line 3123 "grammar.y"
20106     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20107     break;
20108
20109   case 976:
20110
20111 /* Line 1464 of yacc.c  */
20112 #line 3125 "grammar.y"
20113     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
20114     break;
20115
20116   case 978:
20117
20118 /* Line 1464 of yacc.c  */
20119 #line 3130 "grammar.y"
20120     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20121     break;
20122
20123   case 979:
20124
20125 /* Line 1464 of yacc.c  */
20126 #line 3131 "grammar.y"
20127     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20128     break;
20129
20130   case 980:
20131
20132 /* Line 1464 of yacc.c  */
20133 #line 3132 "grammar.y"
20134     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20135     break;
20136
20137   case 982:
20138
20139 /* Line 1464 of yacc.c  */
20140 #line 3137 "grammar.y"
20141     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20142     break;
20143
20144   case 983:
20145
20146 /* Line 1464 of yacc.c  */
20147 #line 3138 "grammar.y"
20148     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20149     break;
20150
20151   case 984:
20152
20153 /* Line 1464 of yacc.c  */
20154 #line 3139 "grammar.y"
20155     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20156     break;
20157
20158   case 986:
20159
20160 /* Line 1464 of yacc.c  */
20161 #line 3144 "grammar.y"
20162     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20163     break;
20164
20165   case 987:
20166
20167 /* Line 1464 of yacc.c  */
20168 #line 3145 "grammar.y"
20169     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20170     break;
20171
20172   case 988:
20173
20174 /* Line 1464 of yacc.c  */
20175 #line 3146 "grammar.y"
20176     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20177     break;
20178
20179   case 990:
20180
20181 /* Line 1464 of yacc.c  */
20182 #line 3151 "grammar.y"
20183     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20184     break;
20185
20186   case 991:
20187
20188 /* Line 1464 of yacc.c  */
20189 #line 3152 "grammar.y"
20190     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20191     break;
20192
20193   case 992:
20194
20195 /* Line 1464 of yacc.c  */
20196 #line 3153 "grammar.y"
20197     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20198     break;
20199
20200   case 994:
20201
20202 /* Line 1464 of yacc.c  */
20203 #line 3158 "grammar.y"
20204     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
20205     break;
20206
20207   case 995:
20208
20209 /* Line 1464 of yacc.c  */
20210 #line 3159 "grammar.y"
20211     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
20212     break;
20213
20214   case 996:
20215
20216 /* Line 1464 of yacc.c  */
20217 #line 3160 "grammar.y"
20218     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
20219     break;
20220
20221   case 997:
20222
20223 /* Line 1464 of yacc.c  */
20224 #line 3164 "grammar.y"
20225     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20226     break;
20227
20228   case 998:
20229
20230 /* Line 1464 of yacc.c  */
20231 #line 3165 "grammar.y"
20232     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
20233     break;
20234
20235   case 999:
20236
20237 /* Line 1464 of yacc.c  */
20238 #line 3167 "grammar.y"
20239     {
20240          Compiler_Warning($"extra comma\n");
20241          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
20242          (yyval.initializer).loc = (yyloc);
20243
20244          {
20245             Expression exp = MkExpDummy();
20246             Initializer init = MkInitializerAssignment(exp);
20247             init.loc = (yylsp[(3) - (4)]);
20248             exp.loc = (yylsp[(3) - (4)]);
20249             ListAdd((yyvsp[(2) - (4)].list), init);
20250          }
20251       ;}
20252     break;
20253
20254   case 1000:
20255
20256 /* Line 1464 of yacc.c  */
20257 #line 3183 "grammar.y"
20258     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20259     break;
20260
20261   case 1001:
20262
20263 /* Line 1464 of yacc.c  */
20264 #line 3184 "grammar.y"
20265     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
20266     break;
20267
20268   case 1002:
20269
20270 /* Line 1464 of yacc.c  */
20271 #line 3185 "grammar.y"
20272     { yyerror(); (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
20273     break;
20274
20275   case 1003:
20276
20277 /* Line 1464 of yacc.c  */
20278 #line 3187 "grammar.y"
20279     {
20280          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
20281          (yyval.initializer).loc = (yyloc);
20282
20283          {
20284             Expression exp = MkExpDummy();
20285             Initializer init = MkInitializerAssignment(exp);
20286             init.loc = (yylsp[(3) - (5)]);
20287             exp.loc = (yylsp[(3) - (5)]);
20288             ListAdd((yyvsp[(2) - (5)].list), init);
20289          }
20290       ;}
20291     break;
20292
20293   case 1004:
20294
20295 /* Line 1464 of yacc.c  */
20296 #line 3200 "grammar.y"
20297     {
20298          yyerror();
20299          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
20300          (yyval.initializer).loc = (yyloc);
20301
20302          {
20303             Expression exp = MkExpDummy();
20304             Initializer init = MkInitializerAssignment(exp);
20305             init.loc = (yylsp[(3) - (3)]);
20306             exp.loc = (yylsp[(3) - (3)]);
20307             ListAdd((yyvsp[(2) - (3)].list), init);
20308          }
20309       ;}
20310     break;
20311
20312   case 1005:
20313
20314 /* Line 1464 of yacc.c  */
20315 #line 3216 "grammar.y"
20316     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20317     break;
20318
20319   case 1006:
20320
20321 /* Line 1464 of yacc.c  */
20322 #line 3218 "grammar.y"
20323     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20324     break;
20325
20326   case 1007:
20327
20328 /* Line 1464 of yacc.c  */
20329 #line 3222 "grammar.y"
20330     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20331     break;
20332
20333   case 1008:
20334
20335 /* Line 1464 of yacc.c  */
20336 #line 3223 "grammar.y"
20337     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
20338     break;
20339
20340   case 1009:
20341
20342 /* Line 1464 of yacc.c  */
20343 #line 3227 "grammar.y"
20344     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20345     break;
20346
20347   case 1010:
20348
20349 /* Line 1464 of yacc.c  */
20350 #line 3228 "grammar.y"
20351     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
20352     break;
20353
20354   case 1011:
20355
20356 /* Line 1464 of yacc.c  */
20357 #line 3229 "grammar.y"
20358     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20359     break;
20360
20361   case 1012:
20362
20363 /* Line 1464 of yacc.c  */
20364 #line 3230 "grammar.y"
20365     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
20366     break;
20367
20368   case 1013:
20369
20370 /* Line 1464 of yacc.c  */
20371 #line 3233 "grammar.y"
20372     { yyerror(); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20373     break;
20374
20375   case 1014:
20376
20377 /* Line 1464 of yacc.c  */
20378 #line 3234 "grammar.y"
20379     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
20380     break;
20381
20382   case 1015:
20383
20384 /* Line 1464 of yacc.c  */
20385 #line 3238 "grammar.y"
20386     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20387     break;
20388
20389   case 1016:
20390
20391 /* Line 1464 of yacc.c  */
20392 #line 3239 "grammar.y"
20393     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20394     break;
20395
20396   case 1017:
20397
20398 /* Line 1464 of yacc.c  */
20399 #line 3240 "grammar.y"
20400     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20401     break;
20402
20403   case 1018:
20404
20405 /* Line 1464 of yacc.c  */
20406 #line 3244 "grammar.y"
20407     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
20408     break;
20409
20410   case 1019:
20411
20412 /* Line 1464 of yacc.c  */
20413 #line 3248 "grammar.y"
20414     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
20415     break;
20416
20417   case 1020:
20418
20419 /* Line 1464 of yacc.c  */
20420 #line 3252 "grammar.y"
20421     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20422     break;
20423
20424   case 1021:
20425
20426 /* Line 1464 of yacc.c  */
20427 #line 3253 "grammar.y"
20428     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20429     break;
20430
20431   case 1022:
20432
20433 /* Line 1464 of yacc.c  */
20434 #line 3254 "grammar.y"
20435     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20436     break;
20437
20438   case 1023:
20439
20440 /* Line 1464 of yacc.c  */
20441 #line 3255 "grammar.y"
20442     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20443     break;
20444
20445   case 1024:
20446
20447 /* Line 1464 of yacc.c  */
20448 #line 3257 "grammar.y"
20449     {
20450       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
20451       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
20452       (yyval.list) = MkList();
20453       ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), null));
20454       ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator));
20455       FreeSpecifier((yyvsp[(1) - (3)].specifier));
20456    ;}
20457     break;
20458
20459   case 1025:
20460
20461 /* Line 1464 of yacc.c  */
20462 #line 3265 "grammar.y"
20463     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20464     break;
20465
20466   case 1026:
20467
20468 /* Line 1464 of yacc.c  */
20469 #line 3274 "grammar.y"
20470     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
20471     break;
20472
20473   case 1027:
20474
20475 /* Line 1464 of yacc.c  */
20476 #line 3275 "grammar.y"
20477     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
20478     break;
20479
20480   case 1028:
20481
20482 /* Line 1464 of yacc.c  */
20483 #line 3276 "grammar.y"
20484     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20485     break;
20486
20487   case 1029:
20488
20489 /* Line 1464 of yacc.c  */
20490 #line 3277 "grammar.y"
20491     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
20492     break;
20493
20494   case 1030:
20495
20496 /* Line 1464 of yacc.c  */
20497 #line 3281 "grammar.y"
20498     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20499     break;
20500
20501   case 1031:
20502
20503 /* Line 1464 of yacc.c  */
20504 #line 3282 "grammar.y"
20505     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20506     break;
20507
20508   case 1032:
20509
20510 /* Line 1464 of yacc.c  */
20511 #line 3286 "grammar.y"
20512     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
20513     break;
20514
20515   case 1033:
20516
20517 /* Line 1464 of yacc.c  */
20518 #line 3287 "grammar.y"
20519     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20520     break;
20521
20522   case 1034:
20523
20524 /* Line 1464 of yacc.c  */
20525 #line 3292 "grammar.y"
20526     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20527     break;
20528
20529   case 1035:
20530
20531 /* Line 1464 of yacc.c  */
20532 #line 3293 "grammar.y"
20533     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
20534     break;
20535
20536   case 1036:
20537
20538 /* Line 1464 of yacc.c  */
20539 #line 3294 "grammar.y"
20540     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
20541     break;
20542
20543   case 1037:
20544
20545 /* Line 1464 of yacc.c  */
20546 #line 3295 "grammar.y"
20547     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
20548     break;
20549
20550   case 1038:
20551
20552 /* Line 1464 of yacc.c  */
20553 #line 3296 "grammar.y"
20554     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
20555     break;
20556
20557   case 1039:
20558
20559 /* Line 1464 of yacc.c  */
20560 #line 3298 "grammar.y"
20561     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
20562     break;
20563
20564   case 1040:
20565
20566 /* Line 1464 of yacc.c  */
20567 #line 3316 "grammar.y"
20568     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20569     break;
20570
20571   case 1041:
20572
20573 /* Line 1464 of yacc.c  */
20574 #line 3317 "grammar.y"
20575     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
20576     break;
20577
20578   case 1042:
20579
20580 /* Line 1464 of yacc.c  */
20581 #line 3321 "grammar.y"
20582     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20583     break;
20584
20585   case 1043:
20586
20587 /* Line 1464 of yacc.c  */
20588 #line 3322 "grammar.y"
20589     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20590     break;
20591
20592   case 1044:
20593
20594 /* Line 1464 of yacc.c  */
20595 #line 3323 "grammar.y"
20596     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20597     break;
20598
20599   case 1045:
20600
20601 /* Line 1464 of yacc.c  */
20602 #line 3324 "grammar.y"
20603     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20604     break;
20605
20606   case 1046:
20607
20608 /* Line 1464 of yacc.c  */
20609 #line 3325 "grammar.y"
20610     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20611     break;
20612
20613   case 1047:
20614
20615 /* Line 1464 of yacc.c  */
20616 #line 3326 "grammar.y"
20617     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20618     break;
20619
20620   case 1048:
20621
20622 /* Line 1464 of yacc.c  */
20623 #line 3328 "grammar.y"
20624     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20625     break;
20626
20627   case 1049:
20628
20629 /* Line 1464 of yacc.c  */
20630 #line 3329 "grammar.y"
20631     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20632     break;
20633
20634   case 1050:
20635
20636 /* Line 1464 of yacc.c  */
20637 #line 3330 "grammar.y"
20638     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20639     break;
20640
20641   case 1051:
20642
20643 /* Line 1464 of yacc.c  */
20644 #line 3331 "grammar.y"
20645     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20646     break;
20647
20648   case 1052:
20649
20650 /* Line 1464 of yacc.c  */
20651 #line 3335 "grammar.y"
20652     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
20653     break;
20654
20655   case 1053:
20656
20657 /* Line 1464 of yacc.c  */
20658 #line 3336 "grammar.y"
20659     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20660     break;
20661
20662   case 1054:
20663
20664 /* Line 1464 of yacc.c  */
20665 #line 3337 "grammar.y"
20666     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20667     break;
20668
20669   case 1055:
20670
20671 /* Line 1464 of yacc.c  */
20672 #line 3338 "grammar.y"
20673     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20674     break;
20675
20676   case 1056:
20677
20678 /* Line 1464 of yacc.c  */
20679 #line 3339 "grammar.y"
20680     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
20681     break;
20682
20683   case 1057:
20684
20685 /* Line 1464 of yacc.c  */
20686 #line 3341 "grammar.y"
20687     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20688     break;
20689
20690   case 1058:
20691
20692 /* Line 1464 of yacc.c  */
20693 #line 3342 "grammar.y"
20694     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
20695     break;
20696
20697   case 1059:
20698
20699 /* Line 1464 of yacc.c  */
20700 #line 3343 "grammar.y"
20701     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
20702     break;
20703
20704   case 1061:
20705
20706 /* Line 1464 of yacc.c  */
20707 #line 3348 "grammar.y"
20708     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20709     break;
20710
20711   case 1062:
20712
20713 /* Line 1464 of yacc.c  */
20714 #line 3349 "grammar.y"
20715     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20716     break;
20717
20718   case 1063:
20719
20720 /* Line 1464 of yacc.c  */
20721 #line 3350 "grammar.y"
20722     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20723     break;
20724
20725   case 1064:
20726
20727 /* Line 1464 of yacc.c  */
20728 #line 3351 "grammar.y"
20729     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
20730     break;
20731
20732   case 1065:
20733
20734 /* Line 1464 of yacc.c  */
20735 #line 3352 "grammar.y"
20736     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
20737     break;
20738
20739   case 1067:
20740
20741 /* Line 1464 of yacc.c  */
20742 #line 3357 "grammar.y"
20743     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
20744     break;
20745
20746   case 1070:
20747
20748 /* Line 1464 of yacc.c  */
20749 #line 3364 "grammar.y"
20750     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
20751     break;
20752
20753   case 1072:
20754
20755 /* Line 1464 of yacc.c  */
20756 #line 3366 "grammar.y"
20757     { (yyval.stmt) = MkExpressionStmt(null); ;}
20758     break;
20759
20760   case 1073:
20761
20762 /* Line 1464 of yacc.c  */
20763 #line 3367 "grammar.y"
20764     { (yyval.stmt) = MkExpressionStmt(null); ;}
20765     break;
20766
20767   case 1074:
20768
20769 /* Line 1464 of yacc.c  */
20770 #line 3368 "grammar.y"
20771     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
20772     break;
20773
20774   case 1082:
20775
20776 /* Line 1464 of yacc.c  */
20777 #line 3379 "grammar.y"
20778     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20779     break;
20780
20781   case 1083:
20782
20783 /* Line 1464 of yacc.c  */
20784 #line 3380 "grammar.y"
20785     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20786     break;
20787
20788   case 1084:
20789
20790 /* Line 1464 of yacc.c  */
20791 #line 3381 "grammar.y"
20792     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20793     break;
20794
20795   case 1085:
20796
20797 /* Line 1464 of yacc.c  */
20798 #line 3382 "grammar.y"
20799     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20800     break;
20801
20802   case 1086:
20803
20804 /* Line 1464 of yacc.c  */
20805 #line 3383 "grammar.y"
20806     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
20807     break;
20808
20809   case 1087:
20810
20811 /* Line 1464 of yacc.c  */
20812 #line 3384 "grammar.y"
20813     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
20814     break;
20815
20816   case 1088:
20817
20818 /* Line 1464 of yacc.c  */
20819 #line 3385 "grammar.y"
20820     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
20821     break;
20822
20823   case 1089:
20824
20825 /* Line 1464 of yacc.c  */
20826 #line 3389 "grammar.y"
20827     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
20828     break;
20829
20830   case 1090:
20831
20832 /* Line 1464 of yacc.c  */
20833 #line 3390 "grammar.y"
20834     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
20835     break;
20836
20837   case 1091:
20838
20839 /* Line 1464 of yacc.c  */
20840 #line 3391 "grammar.y"
20841     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
20842     break;
20843
20844   case 1092:
20845
20846 /* Line 1464 of yacc.c  */
20847 #line 3395 "grammar.y"
20848     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
20849     break;
20850
20851   case 1093:
20852
20853 /* Line 1464 of yacc.c  */
20854 #line 3396 "grammar.y"
20855     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
20856     break;
20857
20858   case 1094:
20859
20860 /* Line 1464 of yacc.c  */
20861 #line 3397 "grammar.y"
20862     { (yyval.list) = null; ;}
20863     break;
20864
20865   case 1095:
20866
20867 /* Line 1464 of yacc.c  */
20868 #line 3401 "grammar.y"
20869     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20870     break;
20871
20872   case 1096:
20873
20874 /* Line 1464 of yacc.c  */
20875 #line 3402 "grammar.y"
20876     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20877     break;
20878
20879   case 1097:
20880
20881 /* Line 1464 of yacc.c  */
20882 #line 3403 "grammar.y"
20883     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
20884     break;
20885
20886   case 1098:
20887
20888 /* Line 1464 of yacc.c  */
20889 #line 3404 "grammar.y"
20890     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (12)].specifier), (yyvsp[(4) - (12)].string), (yyvsp[(6) - (12)].list), (yyvsp[(8) - (12)].list), (yyvsp[(10) - (12)].list)); (yyval.stmt).loc = (yyloc); ;}
20891     break;
20892
20893   case 1099:
20894
20895 /* Line 1464 of yacc.c  */
20896 #line 3406 "grammar.y"
20897     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
20898     break;
20899
20900   case 1100:
20901
20902 /* Line 1464 of yacc.c  */
20903 #line 3407 "grammar.y"
20904     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20905     break;
20906
20907   case 1101:
20908
20909 /* Line 1464 of yacc.c  */
20910 #line 3408 "grammar.y"
20911     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
20912     break;
20913
20914   case 1102:
20915
20916 /* Line 1464 of yacc.c  */
20917 #line 3410 "grammar.y"
20918     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
20919     break;
20920
20921   case 1103:
20922
20923 /* Line 1464 of yacc.c  */
20924 #line 3411 "grammar.y"
20925     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
20926     break;
20927
20928   case 1104:
20929
20930 /* Line 1464 of yacc.c  */
20931 #line 3412 "grammar.y"
20932     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
20933     break;
20934
20935   case 1105:
20936
20937 /* Line 1464 of yacc.c  */
20938 #line 3413 "grammar.y"
20939     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
20940     break;
20941
20942   case 1106:
20943
20944 /* Line 1464 of yacc.c  */
20945 #line 3415 "grammar.y"
20946     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
20947     break;
20948
20949   case 1107:
20950
20951 /* Line 1464 of yacc.c  */
20952 #line 3416 "grammar.y"
20953     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20954     break;
20955
20956   case 1108:
20957
20958 /* Line 1464 of yacc.c  */
20959 #line 3417 "grammar.y"
20960     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
20961     break;
20962
20963   case 1109:
20964
20965 /* Line 1464 of yacc.c  */
20966 #line 3421 "grammar.y"
20967     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20968     break;
20969
20970   case 1110:
20971
20972 /* Line 1464 of yacc.c  */
20973 #line 3422 "grammar.y"
20974     { if((yyvsp[(4) - (4)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20975     break;
20976
20977   case 1111:
20978
20979 /* Line 1464 of yacc.c  */
20980 #line 3423 "grammar.y"
20981     { if((yyvsp[(4) - (4)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
20982     break;
20983
20984   case 1112:
20985
20986 /* Line 1464 of yacc.c  */
20987 #line 3424 "grammar.y"
20988     { if((yyvsp[(3) - (3)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
20989     break;
20990
20991   case 1113:
20992
20993 /* Line 1464 of yacc.c  */
20994 #line 3425 "grammar.y"
20995     { if((yyvsp[(3) - (3)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
20996     break;
20997
20998   case 1114:
20999
21000 /* Line 1464 of yacc.c  */
21001 #line 3427 "grammar.y"
21002     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21003     break;
21004
21005   case 1115:
21006
21007 /* Line 1464 of yacc.c  */
21008 #line 3428 "grammar.y"
21009     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21010     break;
21011
21012   case 1116:
21013
21014 /* Line 1464 of yacc.c  */
21015 #line 3429 "grammar.y"
21016     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21017     break;
21018
21019   case 1117:
21020
21021 /* Line 1464 of yacc.c  */
21022 #line 3430 "grammar.y"
21023     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21024     break;
21025
21026   case 1118:
21027
21028 /* Line 1464 of yacc.c  */
21029 #line 3431 "grammar.y"
21030     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21031     break;
21032
21033   case 1119:
21034
21035 /* Line 1464 of yacc.c  */
21036 #line 3435 "grammar.y"
21037     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21038     break;
21039
21040   case 1120:
21041
21042 /* Line 1464 of yacc.c  */
21043 #line 3436 "grammar.y"
21044     { if((yyvsp[(4) - (4)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21045     break;
21046
21047   case 1121:
21048
21049 /* Line 1464 of yacc.c  */
21050 #line 3437 "grammar.y"
21051     { if((yyvsp[(4) - (4)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21052     break;
21053
21054   case 1122:
21055
21056 /* Line 1464 of yacc.c  */
21057 #line 3438 "grammar.y"
21058     { if((yyvsp[(3) - (3)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21059     break;
21060
21061   case 1123:
21062
21063 /* Line 1464 of yacc.c  */
21064 #line 3439 "grammar.y"
21065     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), null); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (2)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (2)]).end; ;}
21066     break;
21067
21068   case 1124:
21069
21070 /* Line 1464 of yacc.c  */
21071 #line 3440 "grammar.y"
21072     { if((yyvsp[(3) - (3)].stmt).type == labeledStmt) Compiler_Warning(CASE_LABELED_STMT_WARNING); (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21073     break;
21074
21075   case 1125:
21076
21077 /* Line 1464 of yacc.c  */
21078 #line 3441 "grammar.y"
21079     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21080     break;
21081
21082   case 1126:
21083
21084 /* Line 1464 of yacc.c  */
21085 #line 3443 "grammar.y"
21086     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
21087     break;
21088
21089   case 1127:
21090
21091 /* Line 1464 of yacc.c  */
21092 #line 3444 "grammar.y"
21093     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21094     break;
21095
21096   case 1128:
21097
21098 /* Line 1464 of yacc.c  */
21099 #line 3445 "grammar.y"
21100     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
21101     break;
21102
21103   case 1129:
21104
21105 /* Line 1464 of yacc.c  */
21106 #line 3446 "grammar.y"
21107     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
21108     break;
21109
21110   case 1130:
21111
21112 /* Line 1464 of yacc.c  */
21113 #line 3447 "grammar.y"
21114     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
21115     break;
21116
21117   case 1131:
21118
21119 /* Line 1464 of yacc.c  */
21120 #line 3451 "grammar.y"
21121     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
21122     break;
21123
21124   case 1132:
21125
21126 /* Line 1464 of yacc.c  */
21127 #line 3452 "grammar.y"
21128     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
21129     break;
21130
21131   case 1133:
21132
21133 /* Line 1464 of yacc.c  */
21134 #line 3453 "grammar.y"
21135     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
21136     break;
21137
21138   case 1134:
21139
21140 /* Line 1464 of yacc.c  */
21141 #line 3457 "grammar.y"
21142     { (yyval.declMode) = publicAccess; ;}
21143     break;
21144
21145   case 1135:
21146
21147 /* Line 1464 of yacc.c  */
21148 #line 3458 "grammar.y"
21149     { (yyval.declMode) = privateAccess; ;}
21150     break;
21151
21152   case 1136:
21153
21154 /* Line 1464 of yacc.c  */
21155 #line 3462 "grammar.y"
21156     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21157     break;
21158
21159   case 1137:
21160
21161 /* Line 1464 of yacc.c  */
21162 #line 3463 "grammar.y"
21163     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21164     break;
21165
21166   case 1138:
21167
21168 /* Line 1464 of yacc.c  */
21169 #line 3464 "grammar.y"
21170     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21171     break;
21172
21173   case 1139:
21174
21175 /* Line 1464 of yacc.c  */
21176 #line 3465 "grammar.y"
21177     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
21178     break;
21179
21180   case 1140:
21181
21182 /* Line 1464 of yacc.c  */
21183 #line 3469 "grammar.y"
21184     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
21185     break;
21186
21187   case 1141:
21188
21189 /* Line 1464 of yacc.c  */
21190 #line 3470 "grammar.y"
21191     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21192     break;
21193
21194   case 1142:
21195
21196 /* Line 1464 of yacc.c  */
21197 #line 3471 "grammar.y"
21198     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
21199     break;
21200
21201   case 1143:
21202
21203 /* Line 1464 of yacc.c  */
21204 #line 3473 "grammar.y"
21205     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
21206     break;
21207
21208   case 1144:
21209
21210 /* Line 1464 of yacc.c  */
21211 #line 3474 "grammar.y"
21212     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
21213     break;
21214
21215   case 1145:
21216
21217 /* Line 1464 of yacc.c  */
21218 #line 3475 "grammar.y"
21219     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
21220     break;
21221
21222   case 1146:
21223
21224 /* Line 1464 of yacc.c  */
21225 #line 3479 "grammar.y"
21226     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
21227     break;
21228
21229   case 1147:
21230
21231 /* Line 1464 of yacc.c  */
21232 #line 3483 "grammar.y"
21233     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21234     break;
21235
21236   case 1148:
21237
21238 /* Line 1464 of yacc.c  */
21239 #line 3484 "grammar.y"
21240     { structDeclMode = defaultDeclMode;  ;}
21241     break;
21242
21243   case 1149:
21244
21245 /* Line 1464 of yacc.c  */
21246 #line 3486 "grammar.y"
21247     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21248     break;
21249
21250   case 1150:
21251
21252 /* Line 1464 of yacc.c  */
21253 #line 3487 "grammar.y"
21254     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21255     break;
21256
21257   case 1151:
21258
21259 /* Line 1464 of yacc.c  */
21260 #line 3488 "grammar.y"
21261     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
21262     break;
21263
21264   case 1152:
21265
21266 /* Line 1464 of yacc.c  */
21267 #line 3492 "grammar.y"
21268     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
21269     break;
21270
21271   case 1153:
21272
21273 /* Line 1464 of yacc.c  */
21274 #line 3493 "grammar.y"
21275     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21276     break;
21277
21278   case 1154:
21279
21280 /* Line 1464 of yacc.c  */
21281 #line 3494 "grammar.y"
21282     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
21283     break;
21284
21285   case 1155:
21286
21287 /* Line 1464 of yacc.c  */
21288 #line 3495 "grammar.y"
21289     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
21290     break;
21291
21292   case 1156:
21293
21294 /* Line 1464 of yacc.c  */
21295 #line 3499 "grammar.y"
21296     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
21297     break;
21298
21299   case 1157:
21300
21301 /* Line 1464 of yacc.c  */
21302 #line 3500 "grammar.y"
21303     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
21304     break;
21305
21306   case 1158:
21307
21308 /* Line 1464 of yacc.c  */
21309 #line 3504 "grammar.y"
21310     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21311     break;
21312
21313   case 1159:
21314
21315 /* Line 1464 of yacc.c  */
21316 #line 3505 "grammar.y"
21317     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21318     break;
21319
21320   case 1160:
21321
21322 /* Line 1464 of yacc.c  */
21323 #line 3506 "grammar.y"
21324     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21325     break;
21326
21327   case 1161:
21328
21329 /* Line 1464 of yacc.c  */
21330 #line 3510 "grammar.y"
21331     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
21332     break;
21333
21334   case 1162:
21335
21336 /* Line 1464 of yacc.c  */
21337 #line 3511 "grammar.y"
21338     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21339     break;
21340
21341   case 1163:
21342
21343 /* Line 1464 of yacc.c  */
21344 #line 3512 "grammar.y"
21345     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
21346     break;
21347
21348   case 1164:
21349
21350 /* Line 1464 of yacc.c  */
21351 #line 3513 "grammar.y"
21352     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21353     break;
21354
21355   case 1165:
21356
21357 /* Line 1464 of yacc.c  */
21358 #line 3514 "grammar.y"
21359     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21360     break;
21361
21362   case 1166:
21363
21364 /* Line 1464 of yacc.c  */
21365 #line 3515 "grammar.y"
21366     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21367     break;
21368
21369   case 1167:
21370
21371 /* Line 1464 of yacc.c  */
21372 #line 3516 "grammar.y"
21373     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
21374     break;
21375
21376   case 1168:
21377
21378 /* Line 1464 of yacc.c  */
21379 #line 3520 "grammar.y"
21380     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21381     break;
21382
21383   case 1169:
21384
21385 /* Line 1464 of yacc.c  */
21386 #line 3521 "grammar.y"
21387     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21388     break;
21389
21390   case 1170:
21391
21392 /* Line 1464 of yacc.c  */
21393 #line 3522 "grammar.y"
21394     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21395     break;
21396
21397   case 1171:
21398
21399 /* Line 1464 of yacc.c  */
21400 #line 3523 "grammar.y"
21401     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21402     break;
21403
21404   case 1172:
21405
21406 /* Line 1464 of yacc.c  */
21407 #line 3527 "grammar.y"
21408     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
21409     break;
21410
21411   case 1173:
21412
21413 /* Line 1464 of yacc.c  */
21414 #line 3528 "grammar.y"
21415     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
21416     break;
21417
21418   case 1174:
21419
21420 /* Line 1464 of yacc.c  */
21421 #line 3529 "grammar.y"
21422     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21423     break;
21424
21425   case 1175:
21426
21427 /* Line 1464 of yacc.c  */
21428 #line 3530 "grammar.y"
21429     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
21430     break;
21431
21432   case 1176:
21433
21434 /* Line 1464 of yacc.c  */
21435 #line 3534 "grammar.y"
21436     { (yyval.context) = PushContext(); ;}
21437     break;
21438
21439   case 1177:
21440
21441 /* Line 1464 of yacc.c  */
21442 #line 3538 "grammar.y"
21443     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
21444     break;
21445
21446   case 1178:
21447
21448 /* Line 1464 of yacc.c  */
21449 #line 3543 "grammar.y"
21450     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21451     break;
21452
21453   case 1179:
21454
21455 /* Line 1464 of yacc.c  */
21456 #line 3545 "grammar.y"
21457     { (yyval.stmt) = MkCompoundStmt(null, null); (yyval.stmt).compound.context = (yyvsp[(1) - (1)].context); PopContext((yyvsp[(1) - (1)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21458     break;
21459
21460   case 1180:
21461
21462 /* Line 1464 of yacc.c  */
21463 #line 3548 "grammar.y"
21464     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
21465     break;
21466
21467   case 1181:
21468
21469 /* Line 1464 of yacc.c  */
21470 #line 3553 "grammar.y"
21471     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
21472     break;
21473
21474   case 1182:
21475
21476 /* Line 1464 of yacc.c  */
21477 #line 3554 "grammar.y"
21478     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21479     break;
21480
21481   case 1183:
21482
21483 /* Line 1464 of yacc.c  */
21484 #line 3555 "grammar.y"
21485     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21486     break;
21487
21488   case 1184:
21489
21490 /* Line 1464 of yacc.c  */
21491 #line 3559 "grammar.y"
21492     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21493     break;
21494
21495   case 1185:
21496
21497 /* Line 1464 of yacc.c  */
21498 #line 3560 "grammar.y"
21499     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21500     break;
21501
21502   case 1186:
21503
21504 /* Line 1464 of yacc.c  */
21505 #line 3561 "grammar.y"
21506     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21507     break;
21508
21509   case 1187:
21510
21511 /* Line 1464 of yacc.c  */
21512 #line 3562 "grammar.y"
21513     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21514     break;
21515
21516   case 1188:
21517
21518 /* Line 1464 of yacc.c  */
21519 #line 3563 "grammar.y"
21520     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21521     break;
21522
21523   case 1189:
21524
21525 /* Line 1464 of yacc.c  */
21526 #line 3564 "grammar.y"
21527     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21528     break;
21529
21530   case 1190:
21531
21532 /* Line 1464 of yacc.c  */
21533 #line 3568 "grammar.y"
21534     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
21535     break;
21536
21537   case 1192:
21538
21539 /* Line 1464 of yacc.c  */
21540 #line 3573 "grammar.y"
21541     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21542     break;
21543
21544   case 1193:
21545
21546 /* Line 1464 of yacc.c  */
21547 #line 3574 "grammar.y"
21548     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21549     break;
21550
21551   case 1194:
21552
21553 /* Line 1464 of yacc.c  */
21554 #line 3575 "grammar.y"
21555     { yyerror(); (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21556     break;
21557
21558   case 1195:
21559
21560 /* Line 1464 of yacc.c  */
21561 #line 3577 "grammar.y"
21562     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
21563     break;
21564
21565   case 1196:
21566
21567 /* Line 1464 of yacc.c  */
21568 #line 3578 "grammar.y"
21569     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21570     break;
21571
21572   case 1197:
21573
21574 /* Line 1464 of yacc.c  */
21575 #line 3580 "grammar.y"
21576     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21577     break;
21578
21579   case 1198:
21580
21581 /* Line 1464 of yacc.c  */
21582 #line 3581 "grammar.y"
21583     { yyerror(); (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21584     break;
21585
21586   case 1199:
21587
21588 /* Line 1464 of yacc.c  */
21589 #line 3582 "grammar.y"
21590     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21591     break;
21592
21593   case 1200:
21594
21595 /* Line 1464 of yacc.c  */
21596 #line 3583 "grammar.y"
21597     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21598     break;
21599
21600   case 1201:
21601
21602 /* Line 1464 of yacc.c  */
21603 #line 3584 "grammar.y"
21604     { yyerror(); (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21605     break;
21606
21607   case 1202:
21608
21609 /* Line 1464 of yacc.c  */
21610 #line 3586 "grammar.y"
21611     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21612     break;
21613
21614   case 1203:
21615
21616 /* Line 1464 of yacc.c  */
21617 #line 3587 "grammar.y"
21618     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21619     break;
21620
21621   case 1204:
21622
21623 /* Line 1464 of yacc.c  */
21624 #line 3591 "grammar.y"
21625     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
21626     break;
21627
21628   case 1205:
21629
21630 /* Line 1464 of yacc.c  */
21631 #line 3592 "grammar.y"
21632     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
21633     break;
21634
21635   case 1206:
21636
21637 /* Line 1464 of yacc.c  */
21638 #line 3593 "grammar.y"
21639     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
21640     break;
21641
21642   case 1207:
21643
21644 /* Line 1464 of yacc.c  */
21645 #line 3594 "grammar.y"
21646     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), MkExpressionStmt((yyvsp[(4) - (5)].list)), null, null); (yyval.stmt).loc = (yyloc); (yyval.stmt).forStmt.check.loc = (yylsp[(4) - (5)]); ;}
21647     break;
21648
21649   case 1208:
21650
21651 /* Line 1464 of yacc.c  */
21652 #line 3598 "grammar.y"
21653     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
21654     break;
21655
21656   case 1209:
21657
21658 /* Line 1464 of yacc.c  */
21659 #line 3599 "grammar.y"
21660     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21661     break;
21662
21663   case 1210:
21664
21665 /* Line 1464 of yacc.c  */
21666 #line 3600 "grammar.y"
21667     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21668     break;
21669
21670   case 1211:
21671
21672 /* Line 1464 of yacc.c  */
21673 #line 3601 "grammar.y"
21674     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21675     break;
21676
21677   case 1212:
21678
21679 /* Line 1464 of yacc.c  */
21680 #line 3603 "grammar.y"
21681     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
21682     break;
21683
21684   case 1213:
21685
21686 /* Line 1464 of yacc.c  */
21687 #line 3604 "grammar.y"
21688     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21689     break;
21690
21691   case 1214:
21692
21693 /* Line 1464 of yacc.c  */
21694 #line 3605 "grammar.y"
21695     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
21696     break;
21697
21698   case 1215:
21699
21700 /* Line 1464 of yacc.c  */
21701 #line 3606 "grammar.y"
21702     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21703     break;
21704
21705   case 1216:
21706
21707 /* Line 1464 of yacc.c  */
21708 #line 3607 "grammar.y"
21709     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21710     break;
21711
21712   case 1217:
21713
21714 /* Line 1464 of yacc.c  */
21715 #line 3608 "grammar.y"
21716     { yyerror(); (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
21717     break;
21718
21719   case 1218:
21720
21721 /* Line 1464 of yacc.c  */
21722 #line 3609 "grammar.y"
21723     { yyerror(); (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21724     break;
21725
21726   case 1219:
21727
21728 /* Line 1464 of yacc.c  */
21729 #line 3612 "grammar.y"
21730     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21731     break;
21732
21733   case 1220:
21734
21735 /* Line 1464 of yacc.c  */
21736 #line 3616 "grammar.y"
21737     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
21738     break;
21739
21740   case 1221:
21741
21742 /* Line 1464 of yacc.c  */
21743 #line 3617 "grammar.y"
21744     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
21745     break;
21746
21747   case 1222:
21748
21749 /* Line 1464 of yacc.c  */
21750 #line 3621 "grammar.y"
21751     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
21752     break;
21753
21754   case 1223:
21755
21756 /* Line 1464 of yacc.c  */
21757 #line 3622 "grammar.y"
21758     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
21759     break;
21760
21761   case 1224:
21762
21763 /* Line 1464 of yacc.c  */
21764 #line 3626 "grammar.y"
21765     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
21766     break;
21767
21768   case 1225:
21769
21770 /* Line 1464 of yacc.c  */
21771 #line 3627 "grammar.y"
21772     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
21773     break;
21774
21775   case 1226:
21776
21777 /* Line 1464 of yacc.c  */
21778 #line 3628 "grammar.y"
21779     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
21780     break;
21781
21782   case 1227:
21783
21784 /* Line 1464 of yacc.c  */
21785 #line 3629 "grammar.y"
21786     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
21787     break;
21788
21789   case 1228:
21790
21791 /* Line 1464 of yacc.c  */
21792 #line 3630 "grammar.y"
21793     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21794     break;
21795
21796   case 1229:
21797
21798 /* Line 1464 of yacc.c  */
21799 #line 3631 "grammar.y"
21800     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
21801     break;
21802
21803   case 1230:
21804
21805 /* Line 1464 of yacc.c  */
21806 #line 3632 "grammar.y"
21807     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21808     break;
21809
21810   case 1231:
21811
21812 /* Line 1464 of yacc.c  */
21813 #line 3633 "grammar.y"
21814     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
21815     break;
21816
21817   case 1232:
21818
21819 /* Line 1464 of yacc.c  */
21820 #line 3637 "grammar.y"
21821     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
21822     break;
21823
21824   case 1233:
21825
21826 /* Line 1464 of yacc.c  */
21827 #line 3638 "grammar.y"
21828     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
21829     break;
21830
21831   case 1234:
21832
21833 /* Line 1464 of yacc.c  */
21834 #line 3639 "grammar.y"
21835     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
21836     break;
21837
21838   case 1235:
21839
21840 /* Line 1464 of yacc.c  */
21841 #line 3640 "grammar.y"
21842     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
21843     break;
21844
21845   case 1236:
21846
21847 /* Line 1464 of yacc.c  */
21848 #line 3646 "grammar.y"
21849     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21850     break;
21851
21852   case 1237:
21853
21854 /* Line 1464 of yacc.c  */
21855 #line 3648 "grammar.y"
21856     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21857     break;
21858
21859   case 1238:
21860
21861 /* Line 1464 of yacc.c  */
21862 #line 3649 "grammar.y"
21863     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
21864     break;
21865
21866   case 1239:
21867
21868 /* Line 1464 of yacc.c  */
21869 #line 3651 "grammar.y"
21870     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21871     break;
21872
21873   case 1240:
21874
21875 /* Line 1464 of yacc.c  */
21876 #line 3653 "grammar.y"
21877     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
21878     break;
21879
21880   case 1241:
21881
21882 /* Line 1464 of yacc.c  */
21883 #line 3654 "grammar.y"
21884     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
21885     break;
21886
21887   case 1242:
21888
21889 /* Line 1464 of yacc.c  */
21890 #line 3657 "grammar.y"
21891     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
21892     break;
21893
21894   case 1243:
21895
21896 /* Line 1464 of yacc.c  */
21897 #line 3658 "grammar.y"
21898     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21899     break;
21900
21901   case 1244:
21902
21903 /* Line 1464 of yacc.c  */
21904 #line 3659 "grammar.y"
21905     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
21906     break;
21907
21908   case 1245:
21909
21910 /* Line 1464 of yacc.c  */
21911 #line 3660 "grammar.y"
21912     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21913     break;
21914
21915   case 1246:
21916
21917 /* Line 1464 of yacc.c  */
21918 #line 3661 "grammar.y"
21919     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
21920     break;
21921
21922   case 1247:
21923
21924 /* Line 1464 of yacc.c  */
21925 #line 3662 "grammar.y"
21926     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
21927     break;
21928
21929   case 1248:
21930
21931 /* Line 1464 of yacc.c  */
21932 #line 3666 "grammar.y"
21933     { (yyval.string) = CopyString(yytext); ;}
21934     break;
21935
21936   case 1249:
21937
21938 /* Line 1464 of yacc.c  */
21939 #line 3668 "grammar.y"
21940     {
21941       int len1 = strlen((yyvsp[(1) - (2)].string));
21942       int len2 = strlen(yytext);
21943       (yyval.string) = new byte[len1-1 + len2-1 + 1];
21944       memcpy((yyval.string), (yyvsp[(1) - (2)].string), len1-1);
21945       memcpy((yyval.string) + len1-1, yytext+1, len2);
21946       delete (yyvsp[(1) - (2)].string);
21947    ;}
21948     break;
21949
21950   case 1250:
21951
21952 /* Line 1464 of yacc.c  */
21953 #line 3679 "grammar.y"
21954     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
21955     break;
21956
21957   case 1251:
21958
21959 /* Line 1464 of yacc.c  */
21960 #line 3681 "grammar.y"
21961     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
21962     break;
21963
21964   case 1252:
21965
21966 /* Line 1464 of yacc.c  */
21967 #line 3684 "grammar.y"
21968     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
21969     break;
21970
21971   case 1253:
21972
21973 /* Line 1464 of yacc.c  */
21974 #line 3687 "grammar.y"
21975     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
21976     break;
21977
21978   case 1254:
21979
21980 /* Line 1464 of yacc.c  */
21981 #line 3688 "grammar.y"
21982     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21983     break;
21984
21985   case 1255:
21986
21987 /* Line 1464 of yacc.c  */
21988 #line 3689 "grammar.y"
21989     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
21990     break;
21991
21992   case 1256:
21993
21994 /* Line 1464 of yacc.c  */
21995 #line 3691 "grammar.y"
21996     {
21997       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
21998       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
21999       (yyval.external).loc = (yyloc);
22000       FreeIdentifier((yyvsp[(2) - (3)].id));
22001       if(!isRemote)
22002          yyerror();
22003    ;}
22004     break;
22005
22006   case 1257:
22007
22008 /* Line 1464 of yacc.c  */
22009 #line 3700 "grammar.y"
22010     { (yyval.external) = null; ;}
22011     break;
22012
22013   case 1258:
22014
22015 /* Line 1464 of yacc.c  */
22016 #line 3702 "grammar.y"
22017     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22018     break;
22019
22020   case 1259:
22021
22022 /* Line 1464 of yacc.c  */
22023 #line 3704 "grammar.y"
22024     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22025     break;
22026
22027   case 1260:
22028
22029 /* Line 1464 of yacc.c  */
22030 #line 3705 "grammar.y"
22031     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22032     break;
22033
22034   case 1261:
22035
22036 /* Line 1464 of yacc.c  */
22037 #line 3706 "grammar.y"
22038     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22039     break;
22040
22041   case 1262:
22042
22043 /* Line 1464 of yacc.c  */
22044 #line 3707 "grammar.y"
22045     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
22046     break;
22047
22048   case 1263:
22049
22050 /* Line 1464 of yacc.c  */
22051 #line 3709 "grammar.y"
22052     {
22053       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
22054       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
22055       (yyval.external).loc = (yyloc);
22056       FreeIdentifier((yyvsp[(3) - (4)].id));
22057       structDeclMode = declMode = defaultDeclMode;
22058       if(!isRemote)
22059          yyerror();
22060    ;}
22061     break;
22062
22063   case 1264:
22064
22065 /* Line 1464 of yacc.c  */
22066 #line 3718 "grammar.y"
22067     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
22068     break;
22069
22070   case 1265:
22071
22072 /* Line 1464 of yacc.c  */
22073 #line 3719 "grammar.y"
22074     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
22075     break;
22076
22077   case 1266:
22078
22079 /* Line 1464 of yacc.c  */
22080 #line 3720 "grammar.y"
22081     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
22082     break;
22083
22084   case 1267:
22085
22086 /* Line 1464 of yacc.c  */
22087 #line 3721 "grammar.y"
22088     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
22089     break;
22090
22091   case 1268:
22092
22093 /* Line 1464 of yacc.c  */
22094 #line 3722 "grammar.y"
22095     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22096     break;
22097
22098   case 1269:
22099
22100 /* Line 1464 of yacc.c  */
22101 #line 3723 "grammar.y"
22102     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22103     break;
22104
22105   case 1270:
22106
22107 /* Line 1464 of yacc.c  */
22108 #line 3727 "grammar.y"
22109     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22110     break;
22111
22112   case 1271:
22113
22114 /* Line 1464 of yacc.c  */
22115 #line 3729 "grammar.y"
22116     {
22117       yyerror();
22118       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
22119       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
22120       (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc;
22121       (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess;
22122       structDeclMode = declMode = defaultDeclMode;
22123    ;}
22124     break;
22125
22126   case 1272:
22127
22128 /* Line 1464 of yacc.c  */
22129 #line 3737 "grammar.y"
22130     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22131     break;
22132
22133   case 1273:
22134
22135 /* Line 1464 of yacc.c  */
22136 #line 3739 "grammar.y"
22137     { yyerror(); (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22138     break;
22139
22140   case 1274:
22141
22142 /* Line 1464 of yacc.c  */
22143 #line 3740 "grammar.y"
22144     { yyerror(); (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22145     break;
22146
22147   case 1275:
22148
22149 /* Line 1464 of yacc.c  */
22150 #line 3743 "grammar.y"
22151     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
22152     break;
22153
22154   case 1276:
22155
22156 /* Line 1464 of yacc.c  */
22157 #line 3744 "grammar.y"
22158     { yyerror(); (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
22159     break;
22160
22161   case 1277:
22162
22163 /* Line 1464 of yacc.c  */
22164 #line 3748 "grammar.y"
22165     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22166     break;
22167
22168   case 1278:
22169
22170 /* Line 1464 of yacc.c  */
22171 #line 3749 "grammar.y"
22172     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22173     break;
22174
22175   case 1279:
22176
22177 /* Line 1464 of yacc.c  */
22178 #line 3750 "grammar.y"
22179     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22180     break;
22181
22182   case 1282:
22183
22184 /* Line 1464 of yacc.c  */
22185 #line 3756 "grammar.y"
22186     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
22187     break;
22188
22189   case 1283:
22190
22191 /* Line 1464 of yacc.c  */
22192 #line 3757 "grammar.y"
22193     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
22194     break;
22195
22196   case 1284:
22197
22198 /* Line 1464 of yacc.c  */
22199 #line 3759 "grammar.y"
22200     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22201     break;
22202
22203   case 1285:
22204
22205 /* Line 1464 of yacc.c  */
22206 #line 3761 "grammar.y"
22207     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
22208     break;
22209
22210   case 1288:
22211
22212 /* Line 1464 of yacc.c  */
22213 #line 3767 "grammar.y"
22214     { ast = MkList(); ;}
22215     break;
22216
22217   case 1289:
22218
22219 /* Line 1464 of yacc.c  */
22220 #line 3771 "grammar.y"
22221     { Symbol symbol = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22222     break;
22223
22224   case 1290:
22225
22226 /* Line 1464 of yacc.c  */
22227 #line 3772 "grammar.y"
22228     { Symbol symbol = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
22229     break;
22230
22231   case 1291:
22232
22233 /* Line 1464 of yacc.c  */
22234 #line 3773 "grammar.y"
22235     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
22236     break;
22237
22238   case 1292:
22239
22240 /* Line 1464 of yacc.c  */
22241 #line 3777 "grammar.y"
22242     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
22243     break;
22244
22245   case 1293:
22246
22247 /* Line 1464 of yacc.c  */
22248 #line 3781 "grammar.y"
22249     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
22250     break;
22251
22252   case 1294:
22253
22254 /* Line 1464 of yacc.c  */
22255 #line 3782 "grammar.y"
22256     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
22257     break;
22258
22259   case 1295:
22260
22261 /* Line 1464 of yacc.c  */
22262 #line 3783 "grammar.y"
22263     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
22264     break;
22265
22266   case 1296:
22267
22268 /* Line 1464 of yacc.c  */
22269 #line 3787 "grammar.y"
22270     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
22271     break;
22272
22273   case 1297:
22274
22275 /* Line 1464 of yacc.c  */
22276 #line 3788 "grammar.y"
22277     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
22278     break;
22279
22280   case 1298:
22281
22282 /* Line 1464 of yacc.c  */
22283 #line 3792 "grammar.y"
22284     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
22285     break;
22286
22287   case 1299:
22288
22289 /* Line 1464 of yacc.c  */
22290 #line 3793 "grammar.y"
22291     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
22292     break;
22293
22294   case 1300:
22295
22296 /* Line 1464 of yacc.c  */
22297 #line 3797 "grammar.y"
22298     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22299     break;
22300
22301   case 1301:
22302
22303 /* Line 1464 of yacc.c  */
22304 #line 3798 "grammar.y"
22305     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
22306     break;
22307
22308   case 1302:
22309
22310 /* Line 1464 of yacc.c  */
22311 #line 3799 "grammar.y"
22312     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22313     break;
22314
22315   case 1303:
22316
22317 /* Line 1464 of yacc.c  */
22318 #line 3800 "grammar.y"
22319     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
22320     break;
22321
22322   case 1304:
22323
22324 /* Line 1464 of yacc.c  */
22325 #line 3804 "grammar.y"
22326     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
22327     break;
22328
22329   case 1305:
22330
22331 /* Line 1464 of yacc.c  */
22332 #line 3808 "grammar.y"
22333     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22334     break;
22335
22336   case 1306:
22337
22338 /* Line 1464 of yacc.c  */
22339 #line 3812 "grammar.y"
22340     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
22341     break;
22342
22343   case 1307:
22344
22345 /* Line 1464 of yacc.c  */
22346 #line 3816 "grammar.y"
22347     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
22348     break;
22349
22350
22351
22352 /* Line 1464 of yacc.c  */
22353 #line 22354 "grammar.ec"
22354       default: break;
22355     }
22356   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
22357
22358   YYPOPSTACK (yylen);
22359   yylen = 0;
22360   YY_STACK_PRINT (yyss, yyssp);
22361
22362   *++yyvsp = yyval;
22363   *++yylsp = yyloc;
22364
22365   /* Now `shift' the result of the reduction.  Determine what state
22366      that goes to, based on the state we popped back to and the rule
22367      number reduced by.  */
22368
22369   yyn = yyr1[yyn];
22370
22371   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
22372   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
22373     yystate = yytable[yystate];
22374   else
22375     yystate = yydefgoto[yyn - YYNTOKENS];
22376
22377   goto yynewstate;
22378
22379
22380 /*------------------------------------.
22381 | yyerrlab -- here on detecting error |
22382 `------------------------------------*/
22383 yyerrlab:
22384   /* If not already recovering from an error, report this error.  */
22385   if (!yyerrstatus)
22386     {
22387       ++yynerrs;
22388 #if ! YYERROR_VERBOSE
22389       yyerror (YY_("syntax error"));
22390 #else
22391       {
22392         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
22393         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
22394           {
22395             YYSIZE_T yyalloc = 2 * yysize;
22396             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
22397               yyalloc = YYSTACK_ALLOC_MAXIMUM;
22398             if (yymsg != yymsgbuf)
22399               YYSTACK_FREE (yymsg);
22400             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
22401             if (yymsg)
22402               yymsg_alloc = yyalloc;
22403             else
22404               {
22405                 yymsg = yymsgbuf;
22406                 yymsg_alloc = sizeof yymsgbuf;
22407               }
22408           }
22409
22410         if (0 < yysize && yysize <= yymsg_alloc)
22411           {
22412             (void) yysyntax_error (yymsg, yystate, yychar);
22413             yyerror (yymsg);
22414           }
22415         else
22416           {
22417             yyerror (YY_("syntax error"));
22418             if (yysize != 0)
22419               goto yyexhaustedlab;
22420           }
22421       }
22422 #endif
22423     }
22424
22425   yyerror_range[0] = yylloc;
22426
22427   if (yyerrstatus == 3)
22428     {
22429       /* If just tried and failed to reuse lookahead token after an
22430          error, discard it.  */
22431
22432       if (yychar <= YYEOF)
22433         {
22434           /* Return failure if at end of input.  */
22435           if (yychar == YYEOF)
22436             YYABORT;
22437         }
22438       else
22439         {
22440           yydestruct ("Error: discarding",
22441                       yytoken, &yylval, &yylloc);
22442           yychar = YYEMPTY;
22443         }
22444     }
22445
22446   /* Else will try to reuse lookahead token after shifting the error
22447      token.  */
22448   goto yyerrlab1;
22449
22450
22451 /*---------------------------------------------------.
22452 | yyerrorlab -- error raised explicitly by YYERROR.  |
22453 `---------------------------------------------------*/
22454 yyerrorlab:
22455
22456   /* Pacify compilers like GCC when the user code never invokes
22457      YYERROR and the label yyerrorlab therefore never appears in user
22458      code.  */
22459   if (/*CONSTCOND*/ 0)
22460      goto yyerrorlab;
22461
22462   yyerror_range[0] = yylsp[1-yylen];
22463   /* Do not reclaim the symbols of the rule which action triggered
22464      this YYERROR.  */
22465   YYPOPSTACK (yylen);
22466   yylen = 0;
22467   YY_STACK_PRINT (yyss, yyssp);
22468   yystate = *yyssp;
22469   goto yyerrlab1;
22470
22471
22472 /*-------------------------------------------------------------.
22473 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
22474 `-------------------------------------------------------------*/
22475 yyerrlab1:
22476   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
22477
22478   for (;;)
22479     {
22480       yyn = yypact[yystate];
22481       if (yyn != YYPACT_NINF)
22482         {
22483           yyn += YYTERROR;
22484           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
22485             {
22486               yyn = yytable[yyn];
22487               if (0 < yyn)
22488                 break;
22489             }
22490         }
22491
22492       /* Pop the current state because it cannot handle the error token.  */
22493       if (yyssp == yyss)
22494         YYABORT;
22495
22496       yyerror_range[0] = *yylsp;
22497       yydestruct ("Error: popping",
22498                   yystos[yystate], yyvsp, yylsp);
22499       YYPOPSTACK (1);
22500       yystate = *yyssp;
22501       YY_STACK_PRINT (yyss, yyssp);
22502     }
22503
22504   *++yyvsp = yylval;
22505
22506   yyerror_range[1] = yylloc;
22507   /* Using YYLLOC is tempting, but would change the location of
22508      the lookahead.  YYLOC is available though.  */
22509   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
22510   *++yylsp = yyloc;
22511
22512   /* Shift the error token.  */
22513   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
22514
22515   yystate = yyn;
22516   goto yynewstate;
22517
22518
22519 /*-------------------------------------.
22520 | yyacceptlab -- YYACCEPT comes here.  |
22521 `-------------------------------------*/
22522 yyacceptlab:
22523   yyresult = 0;
22524   goto yyreturn;
22525
22526 /*-----------------------------------.
22527 | yyabortlab -- YYABORT comes here.  |
22528 `-----------------------------------*/
22529 yyabortlab:
22530   yyresult = 1;
22531   goto yyreturn;
22532
22533 #if !defined(yyoverflow) || YYERROR_VERBOSE
22534 /*-------------------------------------------------.
22535 | yyexhaustedlab -- memory exhaustion comes here.  |
22536 `-------------------------------------------------*/
22537 yyexhaustedlab:
22538   yyerror (YY_("memory exhausted"));
22539   yyresult = 2;
22540   /* Fall through.  */
22541 #endif
22542
22543 yyreturn:
22544   if (yychar != YYEMPTY)
22545      yydestruct ("Cleanup: discarding lookahead",
22546                  yytoken, &yylval, &yylloc);
22547   /* Do not reclaim the symbols of the rule which action triggered
22548      this YYABORT or YYACCEPT.  */
22549   YYPOPSTACK (yylen);
22550   YY_STACK_PRINT (yyss, yyssp);
22551   while (yyssp != yyss)
22552     {
22553       yydestruct ("Cleanup: popping",
22554                   yystos[*yyssp], yyvsp, yylsp);
22555       YYPOPSTACK (1);
22556     }
22557 #ifndef yyoverflow
22558   if (yyss != yyssa)
22559     YYSTACK_FREE (yyss);
22560 #endif
22561 #if YYERROR_VERBOSE
22562   if (yymsg != yymsgbuf)
22563     YYSTACK_FREE (yymsg);
22564 #endif
22565   /* Make sure YYID is used.  */
22566   return YYID (yyresult);
22567 }
22568
22569
22570
22571 /* Line 1684 of yacc.c  */
22572 #line 3819 "grammar.y"
22573
22574