Changes in src/Parser/parser.cc [ac71a86:7bf7fb9]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
rac71a86 r7bf7fb9 1 /* A Bison parser, made by GNU Bison 3.0.2. */1 /* A Bison parser, made by GNU Bison 2.5. */ 2 2 3 3 /* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013Free Software Foundation, Inc.6 4 5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 6 7 7 This program is free software: you can redistribute it and/or modify 8 8 it under the terms of the GNU General Public License as published by 9 9 the Free Software Foundation, either version 3 of the License, or 10 10 (at your option) any later version. 11 11 12 12 This program is distributed in the hope that it will be useful, 13 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 15 GNU General Public License for more details. 16 16 17 17 You should have received a copy of the GNU General Public License 18 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ … … 27 27 Bison output files to be licensed under the GNU General Public 28 28 License without this special exception. 29 29 30 30 This special exception was added by the Free Software Foundation in 31 31 version 2.2 of Bison. */ … … 45 45 46 46 /* Bison version. */ 47 #define YYBISON_VERSION " 3.0.2"47 #define YYBISON_VERSION "2.5" 48 48 49 49 /* Skeleton name. */ … … 59 59 #define YYPULL 1 60 60 61 /* Using locations. */ 62 #define YYLSP_NEEDED 0 61 63 62 64 63 65 64 66 /* Copy the first part of user declarations. */ 65 #line 42 "parser.yy" /* yacc.c:339 */ 67 68 /* Line 268 of yacc.c */ 69 #line 42 "parser.yy" 66 70 67 71 #define YYDEBUG_LEXER_TEXT (yylval) // lexer loads this up each time 68 72 #define YYDEBUG 1 // get the pretty debugging code to compile 73 extern char *yytext; 69 74 70 75 #undef __GNUC_MINOR__ … … 79 84 #include "LinkageSpec.h" 80 85 81 extern DeclarationNode * parseTree; 82 extern LinkageSpec::Spec linkage; 83 extern TypedefTable typedefTable; 84 85 std::stack< LinkageSpec::Spec > linkageStack; 86 DeclarationNode *theTree = 0; // the resulting parse tree 87 LinkageSpec::Type linkage = LinkageSpec::Cforall; 88 std::stack< LinkageSpec::Type > linkageStack; 89 TypedefTable typedefTable; 86 90 87 91 void appendStr( std::string &to, std::string *from ) { … … 90 94 } // appendStr 91 95 92 #line 93 "Parser/parser.cc" /* yacc.c:339 */ 93 94 # ifndef YY_NULLPTR 95 # if defined __cplusplus && 201103L <= __cplusplus 96 # define YY_NULLPTR nullptr 97 # else 98 # define YY_NULLPTR 0 99 # endif 100 # endif 96 97 /* Line 268 of yacc.c */ 98 #line 99 "Parser/parser.cc" 99 100 /* Enabling traces. */ 101 #ifndef YYDEBUG 102 # define YYDEBUG 1 103 #endif 101 104 102 105 /* Enabling verbose error messages. */ … … 108 111 #endif 109 112 110 /* In a future release of Bison, this section will be replaced 111 by #include "y.tab.h". */ 112 #ifndef YY_YY_Y_TAB_H_INCLUDED 113 # define YY_YY_Y_TAB_H_INCLUDED 114 /* Debug traces. */ 115 #ifndef YYDEBUG 116 # define YYDEBUG 1 113 /* Enabling the token table. */ 114 #ifndef YYTOKEN_TABLE 115 # define YYTOKEN_TABLE 0 117 116 #endif 118 #if YYDEBUG 119 extern int yydebug; 120 #endif 121 122 /* Token type. */ 117 118 119 /* Tokens. */ 123 120 #ifndef YYTOKENTYPE 124 121 # define YYTOKENTYPE 125 enum yytokentype 126 { 127 TYPEDEF = 258, 128 AUTO = 259, 129 EXTERN = 260, 130 REGISTER = 261, 131 STATIC = 262, 132 INLINE = 263, 133 FORTRAN = 264, 134 CONST = 265, 135 VOLATILE = 266, 136 RESTRICT = 267, 137 FORALL = 268, 138 LVALUE = 269, 139 VOID = 270, 140 CHAR = 271, 141 SHORT = 272, 142 INT = 273, 143 LONG = 274, 144 FLOAT = 275, 145 DOUBLE = 276, 146 SIGNED = 277, 147 UNSIGNED = 278, 148 VALIST = 279, 149 BOOL = 280, 150 COMPLEX = 281, 151 IMAGINARY = 282, 152 TYPEOF = 283, 153 LABEL = 284, 154 ENUM = 285, 155 STRUCT = 286, 156 UNION = 287, 157 OTYPE = 288, 158 FTYPE = 289, 159 DTYPE = 290, 160 TRAIT = 291, 161 SIZEOF = 292, 162 OFFSETOF = 293, 163 ATTRIBUTE = 294, 164 EXTENSION = 295, 165 IF = 296, 166 ELSE = 297, 167 SWITCH = 298, 168 CASE = 299, 169 DEFAULT = 300, 170 DO = 301, 171 WHILE = 302, 172 FOR = 303, 173 BREAK = 304, 174 CONTINUE = 305, 175 GOTO = 306, 176 RETURN = 307, 177 CHOOSE = 308, 178 DISABLE = 309, 179 ENABLE = 310, 180 FALLTHRU = 311, 181 TRY = 312, 182 CATCH = 313, 183 CATCHRESUME = 314, 184 FINALLY = 315, 185 THROW = 316, 186 THROWRESUME = 317, 187 AT = 318, 188 ASM = 319, 189 ALIGNAS = 320, 190 ALIGNOF = 321, 191 ATOMIC = 322, 192 GENERIC = 323, 193 NORETURN = 324, 194 STATICASSERT = 325, 195 THREADLOCAL = 326, 196 IDENTIFIER = 327, 197 QUOTED_IDENTIFIER = 328, 198 TYPEDEFname = 329, 199 TYPEGENname = 330, 200 ATTR_IDENTIFIER = 331, 201 ATTR_TYPEDEFname = 332, 202 ATTR_TYPEGENname = 333, 203 INTEGERconstant = 334, 204 FLOATINGconstant = 335, 205 CHARACTERconstant = 336, 206 STRINGliteral = 337, 207 ZERO = 338, 208 ONE = 339, 209 ARROW = 340, 210 ICR = 341, 211 DECR = 342, 212 LS = 343, 213 RS = 344, 214 LE = 345, 215 GE = 346, 216 EQ = 347, 217 NE = 348, 218 ANDAND = 349, 219 OROR = 350, 220 ELLIPSIS = 351, 221 MULTassign = 352, 222 DIVassign = 353, 223 MODassign = 354, 224 PLUSassign = 355, 225 MINUSassign = 356, 226 LSassign = 357, 227 RSassign = 358, 228 ANDassign = 359, 229 ERassign = 360, 230 ORassign = 361, 231 ATassign = 362, 232 THEN = 363 233 }; 122 /* Put the tokens into the symbol table, so that GDB and other debuggers 123 know about them. */ 124 enum yytokentype { 125 TYPEDEF = 258, 126 AUTO = 259, 127 EXTERN = 260, 128 REGISTER = 261, 129 STATIC = 262, 130 INLINE = 263, 131 FORTRAN = 264, 132 CONST = 265, 133 VOLATILE = 266, 134 RESTRICT = 267, 135 FORALL = 268, 136 LVALUE = 269, 137 VOID = 270, 138 CHAR = 271, 139 SHORT = 272, 140 INT = 273, 141 LONG = 274, 142 FLOAT = 275, 143 DOUBLE = 276, 144 SIGNED = 277, 145 UNSIGNED = 278, 146 VALIST = 279, 147 BOOL = 280, 148 COMPLEX = 281, 149 IMAGINARY = 282, 150 TYPEOF = 283, 151 LABEL = 284, 152 ENUM = 285, 153 STRUCT = 286, 154 UNION = 287, 155 OTYPE = 288, 156 FTYPE = 289, 157 DTYPE = 290, 158 TRAIT = 291, 159 SIZEOF = 292, 160 OFFSETOF = 293, 161 ATTRIBUTE = 294, 162 EXTENSION = 295, 163 IF = 296, 164 ELSE = 297, 165 SWITCH = 298, 166 CASE = 299, 167 DEFAULT = 300, 168 DO = 301, 169 WHILE = 302, 170 FOR = 303, 171 BREAK = 304, 172 CONTINUE = 305, 173 GOTO = 306, 174 RETURN = 307, 175 CHOOSE = 308, 176 DISABLE = 309, 177 ENABLE = 310, 178 FALLTHRU = 311, 179 TRY = 312, 180 CATCH = 313, 181 CATCHRESUME = 314, 182 FINALLY = 315, 183 THROW = 316, 184 THROWRESUME = 317, 185 AT = 318, 186 ASM = 319, 187 ALIGNAS = 320, 188 ALIGNOF = 321, 189 ATOMIC = 322, 190 GENERIC = 323, 191 NORETURN = 324, 192 STATICASSERT = 325, 193 THREADLOCAL = 326, 194 IDENTIFIER = 327, 195 QUOTED_IDENTIFIER = 328, 196 TYPEDEFname = 329, 197 TYPEGENname = 330, 198 ATTR_IDENTIFIER = 331, 199 ATTR_TYPEDEFname = 332, 200 ATTR_TYPEGENname = 333, 201 INTEGERconstant = 334, 202 FLOATINGconstant = 335, 203 CHARACTERconstant = 336, 204 STRINGliteral = 337, 205 ZERO = 338, 206 ONE = 339, 207 ARROW = 340, 208 ICR = 341, 209 DECR = 342, 210 LS = 343, 211 RS = 344, 212 LE = 345, 213 GE = 346, 214 EQ = 347, 215 NE = 348, 216 ANDAND = 349, 217 OROR = 350, 218 ELLIPSIS = 351, 219 MULTassign = 352, 220 DIVassign = 353, 221 MODassign = 354, 222 PLUSassign = 355, 223 MINUSassign = 356, 224 LSassign = 357, 225 RSassign = 358, 226 ANDassign = 359, 227 ERassign = 360, 228 ORassign = 361, 229 ATassign = 362, 230 THEN = 363 231 }; 234 232 #endif 235 233 /* Tokens. */ … … 341 339 #define THEN 363 342 340 343 /* Value type. */ 341 342 343 344 344 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 345 typedef union YYSTYPE YYSTYPE; 346 union YYSTYPE 345 typedef union YYSTYPE 347 346 { 348 #line 115 "parser.yy" /* yacc.c:355 */ 347 348 /* Line 293 of yacc.c */ 349 #line 115 "parser.yy" 349 350 350 351 Token tok; … … 355 356 DeclarationNode::TypeClass tclass; 356 357 StatementNode *sn; 357 ConstantExpr *constant; 358 ForCtl *fctl; 358 ConstantNode *constant; 359 359 LabelNode *label; 360 360 InitializerNode *in; … … 362 362 bool flag; 363 363 364 #line 365 "Parser/parser.cc" /* yacc.c:355 */ 365 }; 364 365 366 /* Line 293 of yacc.c */ 367 #line 368 "Parser/parser.cc" 368 } YYSTYPE; 366 369 # define YYSTYPE_IS_TRIVIAL 1 370 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 367 371 # define YYSTYPE_IS_DECLARED 1 368 372 #endif 369 373 370 374 371 extern YYSTYPE yylval;372 373 int yyparse (void);374 375 #endif /* !YY_YY_Y_TAB_H_INCLUDED */376 377 375 /* Copy the second part of user declarations. */ 378 376 379 #line 380 "Parser/parser.cc" /* yacc.c:358 */ 377 378 /* Line 343 of yacc.c */ 379 #line 380 "Parser/parser.cc" 380 380 381 381 #ifdef short … … 391 391 #ifdef YYTYPE_INT8 392 392 typedef YYTYPE_INT8 yytype_int8; 393 #elif (defined __STDC__ || defined __C99__FUNC__ \ 394 || defined __cplusplus || defined _MSC_VER) 395 typedef signed char yytype_int8; 393 396 #else 394 typedef s igned charyytype_int8;397 typedef short int yytype_int8; 395 398 #endif 396 399 … … 412 415 # elif defined size_t 413 416 # define YYSIZE_T size_t 414 # elif ! defined YYSIZE_T 417 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 418 || defined __cplusplus || defined _MSC_VER) 415 419 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 416 420 # define YYSIZE_T size_t … … 426 430 # if ENABLE_NLS 427 431 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 428 # define YY_( Msgid) dgettext ("bison-runtime", Msgid)432 # define YY_(msgid) dgettext ("bison-runtime", msgid) 429 433 # endif 430 434 # endif 431 435 # ifndef YY_ 432 # define YY_( Msgid) Msgid436 # define YY_(msgid) msgid 433 437 # endif 434 438 #endif 435 439 436 #ifndef YY_ATTRIBUTE437 # if (defined __GNUC__ \438 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \439 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C440 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)441 # else442 # define YY_ATTRIBUTE(Spec) /* empty */443 # endif444 #endif445 446 #ifndef YY_ATTRIBUTE_PURE447 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))448 #endif449 450 #ifndef YY_ATTRIBUTE_UNUSED451 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))452 #endif453 454 #if !defined _Noreturn \455 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)456 # if defined _MSC_VER && 1200 <= _MSC_VER457 # define _Noreturn __declspec (noreturn)458 # else459 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))460 # endif461 #endif462 463 440 /* Suppress unused-variable warnings by "using" E. */ 464 441 #if ! defined lint || defined __GNUC__ 465 # define YYUSE( E) ((void) (E))442 # define YYUSE(e) ((void) (e)) 466 443 #else 467 # define YYUSE( E) /* empty */444 # define YYUSE(e) /* empty */ 468 445 #endif 469 446 470 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 471 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 472 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 473 _Pragma ("GCC diagnostic push") \ 474 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 475 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 476 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 477 _Pragma ("GCC diagnostic pop") 447 /* Identity function, used to suppress warnings about constant conditions. */ 448 #ifndef lint 449 # define YYID(n) (n) 478 450 #else 479 # define YY_INITIAL_VALUE(Value) Value 451 #if (defined __STDC__ || defined __C99__FUNC__ \ 452 || defined __cplusplus || defined _MSC_VER) 453 static int 454 YYID (int yyi) 455 #else 456 static int 457 YYID (yyi) 458 int yyi; 480 459 #endif 481 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 482 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 483 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 460 { 461 return yyi; 462 } 484 463 #endif 485 #ifndef YY_INITIAL_VALUE486 # define YY_INITIAL_VALUE(Value) /* Nothing. */487 #endif488 489 464 490 465 #if ! defined yyoverflow || YYERROR_VERBOSE … … 505 480 # else 506 481 # define YYSTACK_ALLOC alloca 507 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 482 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 483 || defined __cplusplus || defined _MSC_VER) 508 484 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 509 /* Use EXIT_SUCCESS as a witness for stdlib.h. */510 485 # ifndef EXIT_SUCCESS 511 486 # define EXIT_SUCCESS 0 … … 517 492 518 493 # ifdef YYSTACK_ALLOC 519 /* Pacify GCC's 'empty if-body' warning. */520 # define YYSTACK_FREE(Ptr) do { /* empty */; } while ( 0)494 /* Pacify GCC's `empty if-body' warning. */ 495 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 521 496 # ifndef YYSTACK_ALLOC_MAXIMUM 522 497 /* The OS might guarantee only one guard page at the bottom of the stack, … … 534 509 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 535 510 && ! ((defined YYMALLOC || defined malloc) \ 536 511 && (defined YYFREE || defined free))) 537 512 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 538 513 # ifndef EXIT_SUCCESS … … 542 517 # ifndef YYMALLOC 543 518 # define YYMALLOC malloc 544 # if ! defined malloc && ! defined EXIT_SUCCESS 519 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 520 || defined __cplusplus || defined _MSC_VER) 545 521 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 546 522 # endif … … 548 524 # ifndef YYFREE 549 525 # define YYFREE free 550 # if ! defined free && ! defined EXIT_SUCCESS 526 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 527 || defined __cplusplus || defined _MSC_VER) 551 528 void free (void *); /* INFRINGES ON USER NAME SPACE */ 552 529 # endif … … 558 535 #if (! defined yyoverflow \ 559 536 && (! defined __cplusplus \ 560 537 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 561 538 562 539 /* A type that is properly aligned for any stack member. */ … … 583 560 stack. Advance YYPTR to a properly aligned location for the next 584 561 stack. */ 585 # define YYSTACK_RELOCATE(Stack_alloc, Stack) 586 do 587 { 588 YYSIZE_T yynewbytes;\589 YYCOPY (&yyptr->Stack_alloc, Stack, yysize);\590 Stack = &yyptr->Stack_alloc;\591 592 yyptr += yynewbytes / sizeof (*yyptr);\593 } 594 while ( 0)562 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 563 do \ 564 { \ 565 YYSIZE_T yynewbytes; \ 566 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 567 Stack = &yyptr->Stack_alloc; \ 568 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 569 yyptr += yynewbytes / sizeof (*yyptr); \ 570 } \ 571 while (YYID (0)) 595 572 596 573 #endif 597 574 598 575 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 599 /* Copy COUNT objects from SRC to DST. The source and destination do576 /* Copy COUNT objects from FROM to TO. The source and destination do 600 577 not overlap. */ 601 578 # ifndef YYCOPY 602 579 # if defined __GNUC__ && 1 < __GNUC__ 603 # define YYCOPY( Dst, Src, Count) \604 __builtin_memcpy ( Dst, Src, (Count) * sizeof (*(Src)))580 # define YYCOPY(To, From, Count) \ 581 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 605 582 # else 606 # define YYCOPY( Dst, Src, Count)\607 do 608 {\609 YYSIZE_T yyi;\610 for (yyi = 0; yyi < (Count); yyi++)\611 (Dst)[yyi] = (Src)[yyi];\612 }\613 while ( 0)583 # define YYCOPY(To, From, Count) \ 584 do \ 585 { \ 586 YYSIZE_T yyi; \ 587 for (yyi = 0; yyi < (Count); yyi++) \ 588 (To)[yyi] = (From)[yyi]; \ 589 } \ 590 while (YYID (0)) 614 591 # endif 615 592 # endif … … 617 594 618 595 /* YYFINAL -- State number of the termination state. */ 619 #define YYFINAL 25 0596 #define YYFINAL 251 620 597 /* YYLAST -- Last index in YYTABLE. */ 621 #define YYLAST 109 77598 #define YYLAST 10969 622 599 623 600 /* YYNTOKENS -- Number of terminals. */ 624 601 #define YYNTOKENS 133 625 602 /* YYNNTS -- Number of nonterminals. */ 626 #define YYNNTS 24 0603 #define YYNNTS 241 627 604 /* YYNRULES -- Number of rules. */ 628 #define YYNRULES 749 629 /* YYNSTATES -- Number of states. */ 630 #define YYNSTATES 1553 631 632 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 633 by yylex, with out-of-bounds checking. */ 605 #define YYNRULES 754 606 /* YYNRULES -- Number of states. */ 607 #define YYNSTATES 1577 608 609 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 634 610 #define YYUNDEFTOK 2 635 611 #define YYMAXUTOK 363 636 612 637 #define YYTRANSLATE(YYX) 613 #define YYTRANSLATE(YYX) \ 638 614 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 639 615 640 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 641 as returned by yylex, without out-of-bounds checking. */ 616 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 642 617 static const yytype_uint8 yytranslate[] = 643 618 { … … 645 620 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 646 621 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 647 2, 2, 2, 12 1, 2, 2, 2, 124, 118, 2,648 109, 110, 11 7, 119, 116, 120, 113, 123, 2, 2,649 2, 2, 2, 2, 2, 2, 2, 2, 1 30, 132,650 12 5, 131, 126, 129, 2, 2, 2, 2, 2, 2,622 2, 2, 2, 122, 2, 2, 2, 125, 119, 2, 623 109, 110, 118, 120, 116, 121, 113, 124, 2, 2, 624 2, 2, 2, 2, 2, 2, 2, 2, 117, 132, 625 126, 131, 127, 130, 2, 2, 2, 2, 2, 2, 651 626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 652 627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 653 2, 111, 2, 112, 12 7, 2, 2, 2, 2, 2,628 2, 111, 2, 112, 128, 2, 2, 2, 2, 2, 654 629 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 655 630 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 656 2, 2, 2, 114, 12 8, 115, 122, 2, 2, 2,631 2, 2, 2, 114, 129, 115, 123, 2, 2, 2, 657 632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 658 633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, … … 682 657 683 658 #if YYDEBUG 684 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 659 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 660 YYRHS. */ 661 static const yytype_uint16 yyprhs[] = 662 { 663 0, 0, 3, 4, 5, 7, 9, 11, 13, 15, 664 17, 19, 21, 23, 25, 27, 29, 31, 34, 36, 665 38, 42, 46, 48, 55, 60, 64, 72, 76, 84, 666 87, 90, 98, 103, 105, 109, 110, 112, 116, 124, 667 134, 136, 140, 142, 146, 154, 158, 166, 168, 170, 668 172, 175, 178, 181, 184, 187, 190, 195, 202, 204, 669 209, 214, 217, 222, 224, 226, 228, 230, 232, 234, 670 236, 241, 246, 248, 252, 256, 260, 262, 266, 270, 671 272, 276, 280, 282, 286, 290, 294, 298, 300, 304, 672 308, 310, 314, 316, 320, 322, 326, 328, 332, 334, 673 338, 340, 346, 351, 357, 359, 361, 365, 368, 369, 674 371, 373, 375, 377, 379, 381, 383, 385, 387, 389, 675 391, 393, 396, 402, 409, 417, 419, 423, 425, 429, 676 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 677 455, 460, 463, 471, 473, 477, 479, 482, 484, 487, 678 489, 492, 495, 501, 509, 515, 525, 531, 541, 543, 679 547, 549, 551, 555, 559, 562, 564, 567, 570, 571, 680 573, 576, 580, 581, 583, 586, 590, 594, 599, 600, 681 602, 604, 607, 613, 621, 628, 635, 640, 644, 649, 682 652, 656, 659, 663, 667, 671, 675, 681, 685, 689, 683 694, 696, 702, 709, 715, 722, 732, 743, 753, 764, 684 767, 769, 772, 775, 778, 780, 787, 796, 807, 820, 685 835, 836, 838, 839, 841, 843, 847, 852, 860, 861, 686 863, 867, 869, 873, 875, 877, 879, 883, 885, 887, 687 889, 893, 894, 896, 900, 905, 907, 911, 913, 915, 688 919, 923, 927, 931, 935, 938, 942, 949, 953, 957, 689 962, 964, 967, 970, 974, 980, 989, 997, 1005, 1011, 690 1021, 1024, 1027, 1033, 1037, 1043, 1048, 1052, 1057, 1062, 691 1070, 1074, 1078, 1082, 1086, 1091, 1098, 1100, 1102, 1104, 692 1106, 1108, 1110, 1112, 1114, 1115, 1117, 1119, 1122, 1124, 693 1126, 1128, 1130, 1132, 1134, 1136, 1137, 1143, 1145, 1148, 694 1152, 1154, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 695 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, 696 1193, 1195, 1197, 1199, 1201, 1203, 1206, 1209, 1213, 1217, 697 1219, 1223, 1225, 1228, 1231, 1234, 1239, 1244, 1249, 1254, 698 1256, 1259, 1262, 1266, 1268, 1271, 1274, 1276, 1279, 1282, 699 1286, 1288, 1291, 1294, 1296, 1298, 1303, 1306, 1307, 1314, 700 1322, 1325, 1328, 1331, 1332, 1335, 1338, 1342, 1345, 1349, 701 1351, 1354, 1358, 1361, 1364, 1369, 1370, 1372, 1375, 1378, 702 1380, 1381, 1383, 1386, 1389, 1395, 1398, 1399, 1407, 1410, 703 1415, 1416, 1419, 1420, 1422, 1424, 1426, 1432, 1438, 1444, 704 1446, 1452, 1458, 1468, 1470, 1476, 1477, 1479, 1481, 1487, 705 1489, 1491, 1497, 1503, 1505, 1509, 1513, 1518, 1520, 1522, 706 1524, 1526, 1529, 1531, 1535, 1539, 1541, 1544, 1546, 1550, 707 1552, 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570, 708 1572, 1575, 1577, 1579, 1581, 1584, 1585, 1588, 1591, 1593, 709 1598, 1599, 1601, 1604, 1608, 1613, 1616, 1619, 1621, 1624, 710 1626, 1629, 1635, 1641, 1649, 1656, 1658, 1661, 1664, 1668, 711 1670, 1673, 1676, 1681, 1684, 1689, 1690, 1695, 1698, 1700, 712 1702, 1704, 1705, 1708, 1714, 1720, 1734, 1736, 1738, 1742, 713 1746, 1749, 1753, 1757, 1760, 1765, 1767, 1774, 1784, 1785, 714 1797, 1799, 1803, 1807, 1811, 1813, 1815, 1821, 1824, 1830, 715 1831, 1833, 1835, 1839, 1840, 1842, 1844, 1846, 1848, 1849, 716 1856, 1859, 1861, 1864, 1869, 1872, 1876, 1880, 1884, 1889, 717 1895, 1901, 1907, 1914, 1916, 1918, 1920, 1924, 1925, 1931, 718 1932, 1934, 1936, 1939, 1946, 1948, 1952, 1953, 1955, 1960, 719 1962, 1964, 1966, 1968, 1971, 1973, 1976, 1979, 1981, 1985, 720 1988, 1992, 1996, 1999, 2004, 2009, 2013, 2022, 2026, 2029, 721 2031, 2034, 2041, 2050, 2054, 2057, 2061, 2065, 2070, 2075, 722 2079, 2081, 2083, 2085, 2090, 2097, 2101, 2104, 2108, 2112, 723 2117, 2122, 2126, 2129, 2131, 2134, 2137, 2139, 2143, 2146, 724 2150, 2154, 2157, 2162, 2167, 2171, 2178, 2187, 2191, 2194, 725 2196, 2199, 2202, 2205, 2209, 2213, 2216, 2221, 2226, 2230, 726 2237, 2246, 2250, 2253, 2255, 2258, 2261, 2263, 2265, 2268, 727 2272, 2276, 2279, 2284, 2291, 2300, 2302, 2305, 2308, 2310, 728 2313, 2316, 2320, 2324, 2326, 2331, 2336, 2340, 2346, 2355, 729 2359, 2362, 2366, 2368, 2374, 2380, 2387, 2394, 2396, 2399, 730 2402, 2404, 2407, 2410, 2414, 2418, 2420, 2425, 2430, 2434, 731 2440, 2449, 2453, 2455, 2458, 2460, 2463, 2470, 2476, 2483, 732 2491, 2499, 2501, 2504, 2507, 2509, 2512, 2515, 2519, 2523, 733 2525, 2530, 2535, 2539, 2548, 2552, 2554, 2556, 2559, 2561, 734 2563, 2566, 2570, 2573, 2577, 2580, 2584, 2588, 2591, 2596, 735 2600, 2603, 2607, 2610, 2615, 2619, 2622, 2629, 2636, 2643, 736 2651, 2653, 2656, 2658, 2660, 2662, 2665, 2669, 2672, 2676, 737 2679, 2683, 2687, 2692, 2695, 2699, 2704, 2707, 2713, 2719, 738 2726, 2733, 2734, 2736, 2737 739 }; 740 741 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ 742 static const yytype_int16 yyrhs[] = 743 { 744 302, 0, -1, -1, -1, 79, -1, 80, -1, 81, 745 -1, 72, -1, 76, -1, 140, -1, 72, -1, 76, 746 -1, 72, -1, 140, -1, 83, -1, 84, -1, 82, 747 -1, 141, 82, -1, 72, -1, 140, -1, 109, 169, 748 110, -1, 109, 173, 110, -1, 142, -1, 143, 111, 749 134, 164, 135, 112, -1, 143, 109, 144, 110, -1, 750 143, 113, 139, -1, 143, 113, 111, 134, 146, 135, 751 112, -1, 143, 85, 139, -1, 143, 85, 111, 134, 752 146, 135, 112, -1, 143, 86, -1, 143, 87, -1, 753 109, 275, 110, 114, 279, 372, 115, -1, 143, 114, 754 144, 115, -1, 145, -1, 144, 116, 145, -1, -1, 755 164, -1, 139, 117, 164, -1, 111, 134, 164, 135, 756 112, 117, 164, -1, 111, 134, 164, 116, 168, 135, 757 112, 117, 164, -1, 147, -1, 146, 116, 147, -1, 758 139, -1, 139, 113, 147, -1, 139, 113, 111, 134, 759 146, 135, 112, -1, 139, 85, 147, -1, 139, 85, 760 111, 134, 146, 135, 112, -1, 143, -1, 136, -1, 761 141, -1, 40, 151, -1, 149, 151, -1, 150, 151, 762 -1, 86, 148, -1, 87, 148, -1, 37, 148, -1, 763 37, 109, 275, 110, -1, 38, 109, 275, 116, 139, 764 110, -1, 76, -1, 76, 109, 276, 110, -1, 76, 765 109, 145, 110, -1, 66, 148, -1, 66, 109, 275, 766 110, -1, 118, -1, 119, -1, 120, -1, 121, -1, 767 122, -1, 123, -1, 148, -1, 109, 275, 110, 151, 768 -1, 109, 275, 110, 167, -1, 151, -1, 152, 118, 769 151, -1, 152, 124, 151, -1, 152, 125, 151, -1, 770 152, -1, 153, 120, 152, -1, 153, 121, 152, -1, 771 153, -1, 154, 88, 153, -1, 154, 89, 153, -1, 772 154, -1, 155, 126, 154, -1, 155, 127, 154, -1, 773 155, 90, 154, -1, 155, 91, 154, -1, 155, -1, 774 156, 92, 155, -1, 156, 93, 155, -1, 156, -1, 775 157, 119, 156, -1, 157, -1, 158, 128, 157, -1, 776 158, -1, 159, 129, 158, -1, 159, -1, 160, 94, 777 159, -1, 160, -1, 161, 95, 160, -1, 161, -1, 778 161, 130, 169, 117, 162, -1, 161, 130, 117, 162, 779 -1, 161, 130, 169, 117, 167, -1, 162, -1, 162, 780 -1, 148, 166, 164, -1, 167, 373, -1, -1, 164, 781 -1, 131, -1, 97, -1, 98, -1, 99, -1, 100, 782 -1, 101, -1, 102, -1, 103, -1, 104, -1, 105, 783 -1, 106, -1, 111, 112, -1, 111, 134, 164, 135, 784 112, -1, 111, 134, 116, 168, 135, 112, -1, 111, 785 134, 164, 116, 168, 135, 112, -1, 165, -1, 168, 786 116, 165, -1, 164, -1, 169, 116, 164, -1, -1, 787 169, -1, 172, -1, 173, -1, 177, -1, 178, -1, 788 190, -1, 192, -1, 193, -1, 198, -1, 128, 143, 789 114, 144, 115, 132, -1, 72, 117, 312, 171, -1, 790 114, 115, -1, 114, 134, 134, 209, 174, 135, 115, 791 -1, 175, -1, 174, 134, 175, -1, 212, -1, 40, 792 212, -1, 308, -1, 171, 135, -1, 171, -1, 176, 793 171, -1, 170, 132, -1, 41, 109, 169, 110, 171, 794 -1, 41, 109, 169, 110, 171, 42, 171, -1, 43, 795 109, 169, 110, 183, -1, 43, 109, 169, 110, 114, 796 134, 205, 184, 115, -1, 53, 109, 169, 110, 183, 797 -1, 53, 109, 169, 110, 114, 134, 205, 186, 115, 798 -1, 163, -1, 163, 96, 163, -1, 310, -1, 179, 799 -1, 180, 116, 179, -1, 44, 180, 117, -1, 45, 800 117, -1, 181, -1, 182, 181, -1, 182, 171, -1, 801 -1, 185, -1, 182, 176, -1, 185, 182, 176, -1, 802 -1, 187, -1, 182, 189, -1, 182, 176, 188, -1, 803 187, 182, 189, -1, 187, 182, 176, 188, -1, -1, 804 189, -1, 56, -1, 56, 132, -1, 47, 109, 169, 805 110, 171, -1, 46, 171, 47, 109, 169, 110, 132, 806 -1, 48, 109, 134, 191, 110, 171, -1, 170, 135, 807 132, 170, 132, 170, -1, 212, 170, 132, 170, -1, 808 51, 72, 132, -1, 51, 118, 169, 132, -1, 50, 809 132, -1, 50, 72, 132, -1, 49, 132, -1, 49, 810 72, 132, -1, 52, 170, 132, -1, 61, 165, 132, 811 -1, 62, 165, 132, -1, 62, 165, 63, 164, 132, 812 -1, 57, 173, 194, -1, 57, 173, 196, -1, 57, 813 173, 194, 196, -1, 195, -1, 58, 109, 96, 110, 814 173, -1, 195, 58, 109, 96, 110, 173, -1, 59, 815 109, 96, 110, 173, -1, 195, 59, 109, 96, 110, 816 173, -1, 58, 109, 134, 134, 197, 135, 110, 173, 817 135, -1, 195, 58, 109, 134, 134, 197, 135, 110, 818 173, 135, -1, 59, 109, 134, 134, 197, 135, 110, 819 173, 135, -1, 195, 59, 109, 134, 134, 197, 135, 820 110, 173, 135, -1, 60, 173, -1, 225, -1, 225, 821 309, -1, 225, 357, -1, 366, 139, -1, 366, -1, 822 64, 199, 109, 141, 110, 132, -1, 64, 199, 109, 823 141, 117, 200, 110, 132, -1, 64, 199, 109, 141, 824 117, 200, 117, 200, 110, 132, -1, 64, 199, 109, 825 141, 117, 200, 117, 200, 117, 203, 110, 132, -1, 826 64, 199, 51, 109, 141, 117, 117, 200, 117, 203, 827 117, 204, 110, 132, -1, -1, 11, -1, -1, 201, 828 -1, 202, -1, 201, 116, 202, -1, 141, 109, 163, 829 110, -1, 111, 163, 112, 141, 109, 163, 110, -1, 830 -1, 141, -1, 203, 116, 141, -1, 139, -1, 204, 831 116, 139, -1, 135, -1, 206, -1, 212, -1, 206, 832 134, 212, -1, 135, -1, 208, -1, 222, -1, 208, 833 134, 222, -1, -1, 210, -1, 29, 211, 132, -1, 834 210, 29, 211, 132, -1, 274, -1, 211, 116, 274, 835 -1, 213, -1, 222, -1, 214, 135, 132, -1, 219, 836 135, 132, -1, 216, 135, 132, -1, 293, 135, 132, 837 -1, 296, 135, 132, -1, 215, 277, -1, 231, 215, 838 277, -1, 214, 135, 116, 134, 272, 277, -1, 367, 839 272, 311, -1, 370, 272, 311, -1, 227, 370, 272, 840 311, -1, 217, -1, 227, 217, -1, 231, 217, -1, 841 231, 227, 217, -1, 216, 135, 116, 134, 272, -1, 842 111, 112, 272, 109, 134, 260, 135, 110, -1, 370, 843 272, 109, 134, 260, 135, 110, -1, 218, 272, 109, 844 134, 260, 135, 110, -1, 111, 134, 262, 135, 112, 845 -1, 111, 134, 262, 135, 116, 134, 263, 135, 112, 846 -1, 3, 215, -1, 3, 217, -1, 219, 135, 116, 847 134, 139, -1, 3, 225, 309, -1, 220, 135, 116, 848 134, 309, -1, 227, 3, 225, 309, -1, 225, 3, 849 309, -1, 225, 3, 227, 309, -1, 3, 139, 131, 850 164, -1, 221, 135, 116, 134, 139, 131, 164, -1, 851 223, 135, 132, -1, 220, 135, 132, -1, 221, 135, 852 132, -1, 240, 135, 132, -1, 224, 309, 311, 277, 853 -1, 223, 116, 312, 309, 311, 277, -1, 236, -1, 854 240, -1, 242, -1, 283, -1, 237, -1, 241, -1, 855 243, -1, 284, -1, -1, 227, -1, 228, -1, 227, 856 228, -1, 229, -1, 314, -1, 10, -1, 12, -1, 857 11, -1, 14, -1, 67, -1, -1, 13, 109, 230, 858 286, 110, -1, 232, -1, 227, 232, -1, 231, 227, 859 232, -1, 233, -1, 232, 233, -1, 234, -1, 5, 860 -1, 7, -1, 4, -1, 6, -1, 8, -1, 9, 861 -1, 69, -1, 71, -1, 16, -1, 21, -1, 20, 862 -1, 18, -1, 19, -1, 17, -1, 22, -1, 23, 863 -1, 15, -1, 25, -1, 26, -1, 27, -1, 24, 864 -1, 237, -1, 231, 237, -1, 236, 233, -1, 236, 865 233, 227, -1, 236, 233, 237, -1, 238, -1, 226, 866 239, 226, -1, 235, -1, 227, 235, -1, 238, 228, 867 -1, 238, 235, -1, 28, 109, 276, 110, -1, 28, 868 109, 169, 110, -1, 78, 109, 276, 110, -1, 78, 869 109, 169, 110, -1, 241, -1, 231, 241, -1, 240, 870 233, -1, 240, 233, 227, -1, 244, -1, 227, 244, 871 -1, 241, 228, -1, 243, -1, 231, 243, -1, 242, 872 233, -1, 242, 233, 227, -1, 74, -1, 227, 74, 873 -1, 243, 228, -1, 245, -1, 256, -1, 247, 114, 874 248, 115, -1, 247, 274, -1, -1, 247, 274, 246, 875 114, 248, 115, -1, 247, 109, 292, 110, 114, 248, 876 115, -1, 247, 285, -1, 31, 312, -1, 32, 312, 877 -1, -1, 248, 249, -1, 250, 132, -1, 40, 250, 878 132, -1, 251, 132, -1, 40, 251, 132, -1, 366, 879 -1, 366, 274, -1, 250, 116, 274, -1, 250, 116, 880 -1, 225, 252, -1, 251, 116, 312, 252, -1, -1, 881 254, -1, 318, 253, -1, 331, 253, -1, 357, -1, 882 -1, 254, -1, 117, 163, -1, 30, 312, -1, 255, 883 114, 258, 372, 115, -1, 255, 274, -1, -1, 255, 884 274, 257, 114, 258, 372, 115, -1, 274, 259, -1, 885 258, 116, 274, 259, -1, -1, 131, 163, -1, -1, 886 261, -1, 263, -1, 262, -1, 262, 135, 116, 134, 887 263, -1, 263, 135, 116, 134, 96, -1, 262, 135, 888 116, 134, 96, -1, 267, -1, 263, 135, 116, 134, 889 267, -1, 262, 135, 116, 134, 267, -1, 262, 135, 890 116, 134, 263, 135, 116, 134, 267, -1, 268, -1, 891 263, 135, 116, 134, 268, -1, -1, 265, -1, 266, 892 -1, 266, 135, 116, 134, 96, -1, 270, -1, 269, 893 -1, 266, 135, 116, 134, 270, -1, 266, 135, 116, 894 134, 269, -1, 269, -1, 362, 272, 373, -1, 370, 895 272, 373, -1, 227, 370, 272, 373, -1, 217, -1, 896 270, -1, 362, -1, 370, -1, 227, 370, -1, 371, 897 -1, 224, 336, 373, -1, 224, 340, 373, -1, 224, 898 -1, 224, 351, -1, 139, -1, 271, 116, 139, -1, 899 137, -1, 74, -1, 75, -1, 138, -1, 74, -1, 900 75, -1, 139, -1, 74, -1, 75, -1, 366, -1, 901 225, -1, 225, 357, -1, 366, -1, 371, -1, 225, 902 -1, 225, 345, -1, -1, 131, 278, -1, 107, 278, 903 -1, 164, -1, 114, 279, 372, 115, -1, -1, 278, 904 -1, 280, 278, -1, 279, 116, 278, -1, 279, 116, 905 280, 278, -1, 281, 117, -1, 274, 117, -1, 282, 906 -1, 281, 282, -1, 80, -1, 113, 274, -1, 111, 907 134, 164, 135, 112, -1, 111, 134, 310, 135, 112, 908 -1, 111, 134, 163, 96, 163, 135, 112, -1, 113, 909 111, 134, 146, 135, 112, -1, 284, -1, 231, 284, 910 -1, 283, 233, -1, 283, 233, 227, -1, 285, -1, 911 227, 285, -1, 284, 228, -1, 75, 109, 292, 110, 912 -1, 287, 373, -1, 286, 116, 287, 373, -1, -1, 913 289, 274, 288, 290, -1, 225, 336, -1, 33, -1, 914 35, -1, 34, -1, -1, 290, 291, -1, 129, 274, 915 109, 292, 110, -1, 129, 114, 134, 298, 115, -1, 916 129, 109, 134, 286, 135, 110, 114, 134, 298, 115, 917 109, 292, 110, -1, 276, -1, 164, -1, 292, 116, 918 276, -1, 292, 116, 164, -1, 33, 294, -1, 232, 919 33, 294, -1, 293, 116, 294, -1, 295, 290, -1, 920 295, 290, 131, 276, -1, 274, -1, 273, 109, 134, 921 286, 135, 110, -1, 36, 274, 109, 134, 286, 135, 922 110, 114, 115, -1, -1, 36, 274, 109, 134, 286, 923 135, 110, 114, 297, 298, 115, -1, 299, -1, 298, 924 134, 299, -1, 300, 135, 132, -1, 301, 135, 132, 925 -1, 215, -1, 217, -1, 300, 135, 116, 134, 272, 926 -1, 225, 309, -1, 301, 135, 116, 134, 309, -1, 927 -1, 303, -1, 305, -1, 303, 134, 305, -1, -1, 928 303, -1, 212, -1, 307, -1, 198, -1, -1, 5, 929 82, 306, 114, 304, 115, -1, 40, 305, -1, 308, 930 -1, 323, 173, -1, 327, 134, 207, 173, -1, 216, 931 173, -1, 224, 323, 173, -1, 227, 323, 173, -1, 932 231, 323, 173, -1, 231, 227, 323, 173, -1, 224, 933 327, 134, 207, 173, -1, 227, 327, 134, 207, 173, 934 -1, 231, 327, 134, 207, 173, -1, 231, 227, 327, 935 134, 207, 173, -1, 318, -1, 331, -1, 323, -1, 936 163, 123, 163, -1, -1, 64, 109, 141, 110, 312, 937 -1, -1, 313, -1, 314, -1, 313, 314, -1, 39, 938 109, 109, 315, 110, 110, -1, 316, -1, 315, 116, 939 316, -1, -1, 317, -1, 317, 109, 170, 110, -1, 940 272, -1, 234, -1, 235, -1, 228, -1, 319, 312, 941 -1, 320, -1, 321, 312, -1, 322, 312, -1, 137, 942 -1, 109, 319, 110, -1, 149, 318, -1, 149, 227, 943 318, -1, 109, 320, 110, -1, 319, 349, -1, 109, 944 320, 110, 349, -1, 109, 321, 110, 350, -1, 109, 945 321, 110, -1, 109, 320, 110, 109, 134, 264, 135, 946 110, -1, 109, 322, 110, -1, 324, 312, -1, 325, 947 -1, 326, 312, -1, 319, 109, 134, 264, 135, 110, 948 -1, 109, 325, 110, 109, 134, 264, 135, 110, -1, 949 109, 324, 110, -1, 149, 323, -1, 149, 227, 323, 950 -1, 109, 325, 110, -1, 109, 325, 110, 349, -1, 951 109, 326, 110, 350, -1, 109, 326, 110, -1, 328, 952 -1, 329, -1, 330, -1, 319, 109, 271, 110, -1, 953 109, 329, 110, 109, 271, 110, -1, 109, 328, 110, 954 -1, 149, 327, -1, 149, 227, 327, -1, 109, 329, 955 110, -1, 109, 329, 110, 349, -1, 109, 330, 110, 956 350, -1, 109, 330, 110, -1, 332, 312, -1, 333, 957 -1, 334, 312, -1, 335, 312, -1, 341, -1, 109, 958 332, 110, -1, 149, 331, -1, 149, 227, 331, -1, 959 109, 333, 110, -1, 332, 349, -1, 109, 333, 110, 960 349, -1, 109, 334, 110, 350, -1, 109, 334, 110, 961 -1, 332, 109, 134, 264, 135, 110, -1, 109, 333, 962 110, 109, 134, 264, 135, 110, -1, 109, 335, 110, 963 -1, 319, 312, -1, 337, -1, 338, 312, -1, 339, 964 312, -1, 149, 336, -1, 149, 227, 336, -1, 109, 965 337, 110, -1, 319, 355, -1, 109, 337, 110, 349, 966 -1, 109, 338, 110, 350, -1, 109, 338, 110, -1, 967 319, 109, 134, 264, 135, 110, -1, 109, 337, 110, 968 109, 134, 264, 135, 110, -1, 109, 339, 110, -1, 969 341, 312, -1, 342, -1, 343, 312, -1, 344, 312, 970 -1, 74, -1, 75, -1, 149, 340, -1, 149, 227, 971 340, -1, 109, 342, 110, -1, 341, 355, -1, 109, 972 342, 110, 355, -1, 341, 109, 134, 264, 135, 110, 973 -1, 109, 342, 110, 109, 134, 264, 135, 110, -1, 974 346, -1, 347, 312, -1, 348, 312, -1, 149, -1, 975 149, 227, -1, 149, 345, -1, 149, 227, 345, -1, 976 109, 346, 110, -1, 349, -1, 109, 346, 110, 349, 977 -1, 109, 347, 110, 350, -1, 109, 347, 110, -1, 978 109, 134, 264, 135, 110, -1, 109, 346, 110, 109, 979 134, 264, 135, 110, -1, 109, 348, 110, -1, 111, 980 112, -1, 111, 112, 350, -1, 350, -1, 111, 134, 981 164, 135, 112, -1, 111, 134, 118, 135, 112, -1, 982 350, 111, 134, 164, 135, 112, -1, 350, 111, 134, 983 118, 135, 112, -1, 352, -1, 353, 312, -1, 354, 984 312, -1, 149, -1, 149, 227, -1, 149, 351, -1, 985 149, 227, 351, -1, 109, 352, 110, -1, 355, -1, 986 109, 352, 110, 355, -1, 109, 353, 110, 350, -1, 987 109, 353, 110, -1, 109, 134, 264, 135, 110, -1, 988 109, 352, 110, 109, 134, 264, 135, 110, -1, 109, 989 354, 110, -1, 356, -1, 356, 350, -1, 350, -1, 990 111, 112, -1, 111, 134, 227, 118, 135, 112, -1, 991 111, 134, 227, 135, 112, -1, 111, 134, 227, 164, 992 135, 112, -1, 111, 134, 7, 226, 164, 135, 112, 993 -1, 111, 134, 227, 7, 164, 135, 112, -1, 358, 994 -1, 359, 312, -1, 360, 312, -1, 149, -1, 149, 995 227, -1, 149, 357, -1, 149, 227, 357, -1, 109, 996 358, 110, -1, 349, -1, 109, 358, 110, 349, -1, 997 109, 359, 110, 350, -1, 109, 359, 110, -1, 109, 998 358, 110, 109, 134, 264, 135, 110, -1, 109, 360, 999 110, -1, 362, -1, 370, -1, 227, 370, -1, 363, 1000 -1, 364, -1, 149, 225, -1, 227, 149, 225, -1, 1001 149, 371, -1, 227, 149, 371, -1, 149, 361, -1, 1002 227, 149, 361, -1, 111, 112, 225, -1, 365, 225, 1003 -1, 111, 112, 350, 225, -1, 365, 350, 225, -1, 1004 350, 225, -1, 111, 112, 363, -1, 365, 363, -1, 1005 111, 112, 350, 363, -1, 365, 350, 363, -1, 350, 1006 363, -1, 111, 134, 227, 118, 135, 112, -1, 111, 1007 134, 227, 164, 135, 112, -1, 111, 134, 231, 164, 1008 135, 112, -1, 111, 134, 231, 227, 164, 135, 112, 1009 -1, 370, -1, 227, 370, -1, 367, -1, 368, -1, 1010 369, -1, 149, 225, -1, 227, 149, 225, -1, 149, 1011 371, -1, 227, 149, 371, -1, 149, 366, -1, 227, 1012 149, 366, -1, 111, 112, 225, -1, 111, 112, 350, 1013 225, -1, 350, 225, -1, 111, 112, 368, -1, 111, 1014 112, 350, 368, -1, 350, 368, -1, 111, 134, 263, 1015 135, 112, -1, 111, 112, 109, 260, 110, -1, 370, 1016 109, 134, 260, 135, 110, -1, 218, 109, 134, 260, 1017 135, 110, -1, -1, 116, -1, -1, 131, 164, -1 1018 }; 1019 1020 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 685 1021 static const yytype_uint16 yyrline[] = 686 1022 { 687 0, 298, 298, 304, 313, 314, 315, 319, 320, 321, 688 325, 326, 330, 331, 335, 336, 340, 341, 352, 354, 689 356, 358, 363, 364, 370, 374, 376, 377, 379, 380, 690 382, 384, 386, 395, 396, 402, 403, 407, 408, 412, 691 416, 418, 420, 422, 427, 430, 432, 434, 439, 452, 692 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 693 479, 480, 486, 487, 488, 489, 493, 494, 496, 501, 694 502, 504, 506, 511, 512, 514, 519, 520, 522, 527, 695 528, 530, 532, 534, 539, 540, 542, 547, 548, 553, 696 554, 559, 560, 565, 566, 571, 572, 577, 578, 581, 697 583, 588, 593, 594, 596, 602, 603, 607, 608, 609, 698 610, 611, 612, 613, 614, 615, 616, 617, 623, 625, 699 627, 629, 634, 635, 640, 641, 647, 648, 654, 655, 700 656, 657, 658, 659, 660, 661, 662, 672, 679, 681, 701 691, 692, 697, 699, 705, 707, 711, 712, 717, 722, 702 725, 727, 729, 739, 741, 752, 753, 755, 759, 761, 703 765, 766, 771, 772, 776, 781, 782, 786, 788, 794, 704 795, 799, 801, 803, 805, 811, 812, 816, 818, 823, 705 825, 827, 832, 834, 839, 841, 845, 848, 852, 855, 706 859, 861, 863, 865, 870, 872, 874, 879, 881, 883, 707 885, 887, 892, 894, 896, 898, 903, 915, 916, 921, 708 923, 928, 932, 934, 936, 938, 940, 946, 947, 953, 709 954, 958, 959, 964, 966, 972, 973, 975, 980, 982, 710 989, 991, 995, 996, 1001, 1003, 1007, 1008, 1012, 1014, 711 1018, 1019, 1023, 1024, 1028, 1029, 1044, 1045, 1046, 1047, 712 1048, 1052, 1057, 1064, 1074, 1079, 1084, 1092, 1097, 1102, 713 1107, 1112, 1120, 1142, 1147, 1154, 1156, 1163, 1168, 1173, 714 1184, 1189, 1194, 1199, 1204, 1213, 1218, 1226, 1227, 1228, 715 1229, 1235, 1240, 1248, 1249, 1250, 1251, 1255, 1256, 1257, 716 1258, 1263, 1264, 1273, 1274, 1279, 1280, 1285, 1287, 1289, 717 1291, 1293, 1296, 1295, 1307, 1308, 1310, 1320, 1321, 1326, 718 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1345, 1347, 1349, 719 1351, 1353, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1369, 720 1375, 1376, 1378, 1380, 1382, 1387, 1388, 1394, 1395, 1397, 721 1399, 1404, 1406, 1408, 1410, 1415, 1416, 1418, 1420, 1425, 722 1426, 1428, 1433, 1434, 1436, 1438, 1443, 1445, 1447, 1452, 723 1453, 1457, 1459, 1465, 1464, 1468, 1470, 1475, 1477, 1483, 724 1484, 1489, 1490, 1492, 1493, 1502, 1503, 1505, 1507, 1512, 725 1514, 1520, 1521, 1523, 1526, 1529, 1534, 1535, 1540, 1545, 726 1549, 1551, 1557, 1556, 1563, 1565, 1571, 1572, 1580, 1581, 727 1585, 1586, 1587, 1589, 1591, 1598, 1599, 1601, 1603, 1608, 728 1609, 1615, 1616, 1620, 1621, 1626, 1627, 1628, 1630, 1638, 729 1639, 1641, 1644, 1646, 1650, 1651, 1652, 1654, 1656, 1660, 730 1665, 1673, 1674, 1683, 1685, 1690, 1691, 1692, 1696, 1697, 731 1698, 1702, 1703, 1704, 1708, 1709, 1710, 1715, 1716, 1717, 732 1718, 1724, 1725, 1727, 1732, 1733, 1738, 1739, 1740, 1741, 733 1742, 1757, 1758, 1763, 1764, 1770, 1772, 1775, 1777, 1779, 734 1802, 1803, 1805, 1807, 1812, 1813, 1815, 1820, 1825, 1826, 735 1832, 1831, 1835, 1839, 1841, 1843, 1849, 1850, 1855, 1860, 736 1862, 1867, 1869, 1870, 1872, 1877, 1879, 1881, 1886, 1888, 737 1893, 1898, 1906, 1912, 1911, 1925, 1926, 1931, 1932, 1936, 738 1941, 1946, 1954, 1959, 1970, 1971, 1976, 1977, 1983, 1984, 739 1988, 1989, 1990, 1993, 1992, 2003, 2012, 2018, 2024, 2033, 740 2039, 2045, 2051, 2057, 2065, 2071, 2079, 2085, 2094, 2095, 741 2096, 2100, 2104, 2106, 2111, 2112, 2116, 2117, 2122, 2128, 742 2129, 2132, 2134, 2135, 2139, 2140, 2141, 2142, 2176, 2178, 743 2179, 2181, 2186, 2191, 2196, 2198, 2200, 2205, 2207, 2209, 744 2211, 2216, 2218, 2227, 2229, 2230, 2235, 2237, 2239, 2244, 745 2246, 2248, 2253, 2255, 2257, 2266, 2267, 2268, 2272, 2274, 746 2276, 2281, 2283, 2285, 2290, 2292, 2294, 2309, 2311, 2312, 747 2314, 2319, 2320, 2325, 2327, 2329, 2334, 2336, 2338, 2340, 748 2345, 2347, 2349, 2359, 2361, 2362, 2364, 2369, 2371, 2373, 749 2378, 2380, 2382, 2384, 2389, 2391, 2393, 2424, 2426, 2427, 750 2429, 2434, 2439, 2447, 2449, 2451, 2456, 2458, 2463, 2465, 751 2479, 2480, 2482, 2487, 2489, 2491, 2493, 2495, 2500, 2501, 752 2503, 2505, 2510, 2512, 2514, 2520, 2522, 2524, 2528, 2530, 753 2532, 2534, 2548, 2549, 2551, 2556, 2558, 2560, 2562, 2564, 754 2569, 2570, 2572, 2574, 2579, 2581, 2583, 2589, 2590, 2592, 755 2601, 2604, 2606, 2609, 2611, 2613, 2626, 2627, 2629, 2634, 756 2636, 2638, 2640, 2642, 2647, 2648, 2650, 2652, 2657, 2659, 757 2667, 2668, 2669, 2674, 2675, 2679, 2681, 2683, 2685, 2687, 758 2689, 2696, 2698, 2700, 2702, 2704, 2706, 2708, 2710, 2712, 759 2714, 2719, 2721, 2723, 2728, 2754, 2755, 2757, 2761, 2762, 760 2766, 2768, 2770, 2772, 2774, 2776, 2783, 2785, 2787, 2789, 761 2791, 2793, 2798, 2803, 2805, 2807, 2825, 2827, 2832, 2833 1023 0, 296, 296, 302, 311, 312, 313, 317, 318, 319, 1024 323, 324, 328, 329, 333, 334, 338, 339, 350, 352, 1025 354, 356, 361, 362, 368, 372, 374, 375, 377, 378, 1026 380, 382, 384, 393, 394, 400, 401, 402, 407, 409, 1027 414, 415, 419, 423, 425, 427, 429, 434, 437, 439, 1028 441, 446, 459, 461, 463, 465, 467, 469, 471, 473, 1029 475, 477, 479, 486, 487, 493, 494, 495, 496, 500, 1030 501, 503, 508, 509, 511, 513, 518, 519, 521, 526, 1031 527, 529, 534, 535, 537, 539, 541, 546, 547, 549, 1032 554, 555, 560, 561, 566, 567, 572, 573, 578, 579, 1033 584, 585, 588, 590, 595, 600, 601, 603, 609, 610, 1034 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 1035 624, 630, 632, 634, 636, 641, 642, 647, 648, 654, 1036 655, 661, 662, 663, 664, 665, 666, 667, 668, 669, 1037 679, 686, 688, 698, 699, 704, 706, 712, 714, 718, 1038 719, 724, 729, 732, 734, 736, 746, 748, 759, 760, 1039 762, 766, 768, 772, 773, 778, 779, 783, 788, 789, 1040 793, 795, 801, 802, 806, 808, 810, 812, 818, 819, 1041 823, 825, 830, 832, 834, 839, 841, 846, 848, 852, 1042 855, 859, 862, 866, 868, 872, 874, 881, 883, 885, 1043 894, 896, 898, 900, 902, 907, 909, 911, 913, 918, 1044 931, 932, 937, 939, 944, 948, 950, 952, 954, 956, 1045 962, 963, 969, 970, 974, 975, 980, 982, 988, 989, 1046 991, 996, 998, 1005, 1007, 1011, 1012, 1017, 1019, 1023, 1047 1024, 1028, 1030, 1034, 1035, 1039, 1040, 1044, 1045, 1060, 1048 1061, 1062, 1063, 1064, 1068, 1073, 1080, 1090, 1095, 1100, 1049 1108, 1113, 1118, 1123, 1128, 1136, 1158, 1163, 1170, 1172, 1050 1179, 1184, 1189, 1200, 1205, 1210, 1215, 1220, 1229, 1234, 1051 1242, 1243, 1244, 1245, 1251, 1256, 1264, 1265, 1266, 1267, 1052 1271, 1272, 1273, 1274, 1279, 1280, 1289, 1290, 1295, 1296, 1053 1301, 1303, 1305, 1307, 1309, 1312, 1311, 1323, 1324, 1326, 1054 1336, 1337, 1342, 1346, 1348, 1350, 1352, 1354, 1356, 1358, 1055 1360, 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1056 1383, 1385, 1387, 1389, 1395, 1396, 1398, 1400, 1402, 1407, 1057 1408, 1414, 1415, 1417, 1419, 1424, 1426, 1428, 1430, 1435, 1058 1436, 1438, 1440, 1445, 1446, 1448, 1453, 1454, 1456, 1458, 1059 1463, 1465, 1467, 1472, 1473, 1477, 1479, 1485, 1484, 1488, 1060 1490, 1495, 1497, 1503, 1504, 1509, 1510, 1512, 1513, 1522, 1061 1523, 1525, 1527, 1532, 1534, 1540, 1541, 1543, 1546, 1549, 1062 1554, 1555, 1560, 1565, 1569, 1571, 1577, 1576, 1583, 1585, 1063 1591, 1592, 1600, 1601, 1605, 1606, 1607, 1609, 1611, 1618, 1064 1619, 1621, 1623, 1628, 1629, 1635, 1636, 1640, 1641, 1646, 1065 1647, 1648, 1650, 1658, 1659, 1661, 1664, 1666, 1670, 1671, 1066 1672, 1674, 1676, 1680, 1685, 1693, 1694, 1703, 1705, 1710, 1067 1711, 1712, 1716, 1717, 1718, 1722, 1723, 1724, 1728, 1729, 1068 1730, 1735, 1736, 1737, 1738, 1744, 1745, 1747, 1752, 1753, 1069 1758, 1759, 1760, 1761, 1762, 1777, 1778, 1783, 1784, 1792, 1070 1794, 1796, 1799, 1801, 1803, 1826, 1827, 1829, 1831, 1836, 1071 1837, 1839, 1844, 1849, 1850, 1856, 1855, 1859, 1863, 1865, 1072 1867, 1873, 1874, 1879, 1884, 1886, 1891, 1893, 1894, 1896, 1073 1901, 1903, 1905, 1910, 1912, 1917, 1922, 1930, 1936, 1935, 1074 1949, 1950, 1955, 1956, 1960, 1965, 1970, 1978, 1983, 1994, 1075 1995, 2006, 2007, 2013, 2014, 2018, 2019, 2020, 2023, 2022, 1076 2033, 2042, 2048, 2054, 2063, 2069, 2075, 2081, 2087, 2095, 1077 2101, 2109, 2115, 2124, 2125, 2126, 2130, 2134, 2136, 2141, 1078 2142, 2146, 2147, 2152, 2158, 2159, 2162, 2164, 2165, 2169, 1079 2170, 2171, 2172, 2206, 2208, 2209, 2211, 2216, 2221, 2226, 1080 2228, 2230, 2235, 2237, 2239, 2241, 2246, 2248, 2257, 2259, 1081 2260, 2265, 2267, 2269, 2274, 2276, 2278, 2283, 2285, 2287, 1082 2296, 2297, 2298, 2302, 2304, 2306, 2311, 2313, 2315, 2320, 1083 2322, 2324, 2339, 2341, 2342, 2344, 2349, 2350, 2355, 2357, 1084 2359, 2364, 2366, 2368, 2370, 2375, 2377, 2379, 2389, 2391, 1085 2392, 2394, 2399, 2401, 2403, 2408, 2410, 2412, 2414, 2419, 1086 2421, 2423, 2454, 2456, 2457, 2459, 2464, 2469, 2477, 2479, 1087 2481, 2486, 2488, 2493, 2495, 2509, 2510, 2512, 2517, 2519, 1088 2521, 2523, 2525, 2530, 2531, 2533, 2535, 2540, 2542, 2544, 1089 2550, 2552, 2554, 2558, 2560, 2562, 2564, 2578, 2579, 2581, 1090 2586, 2588, 2590, 2592, 2594, 2599, 2600, 2602, 2604, 2609, 1091 2611, 2613, 2619, 2620, 2622, 2631, 2634, 2636, 2639, 2641, 1092 2643, 2656, 2657, 2659, 2664, 2666, 2668, 2670, 2672, 2677, 1093 2678, 2680, 2682, 2687, 2689, 2697, 2698, 2699, 2704, 2705, 1094 2709, 2711, 2713, 2715, 2717, 2719, 2726, 2728, 2730, 2732, 1095 2734, 2736, 2738, 2740, 2742, 2744, 2749, 2751, 2753, 2758, 1096 2784, 2785, 2787, 2791, 2792, 2796, 2798, 2800, 2802, 2804, 1097 2806, 2813, 2815, 2817, 2819, 2821, 2823, 2828, 2833, 2835, 1098 2837, 2855, 2857, 2862, 2863 762 1099 }; 763 1100 #endif 764 1101 765 #if YYDEBUG || YYERROR_VERBOSE || 01102 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 766 1103 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 767 1104 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ … … 785 1122 "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign", 786 1123 "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN", 787 "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "' *'", "'&'",788 "' +'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'",789 "' ?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant",1124 "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'*'", 1125 "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", 1126 "'|'", "'?'", "'='", "';'", "$accept", "push", "pop", "constant", 790 1127 "identifier", "no_01_identifier", "no_attr_identifier", "zero_one", 791 1128 "string_literal_list", "primary_expression", "postfix_expression", … … 820 1157 "type_qualifier_list", "type_qualifier", "type_qualifier_name", "$@1", 821 1158 "declaration_qualifier_list", "storage_class_list", "storage_class", 822 "basic_type_name", "basic_declaration_specifier", "basic_type_specifier", 823 "direct_type_name", "indirect_type_name", "sue_declaration_specifier", 824 "sue_type_specifier", "typedef_declaration_specifier", 825 "typedef_type_specifier", "elaborated_type_name", "aggregate_name", 826 "$@2", "aggregate_key", "field_declaration_list", "field_declaration", 1159 "storage_class_name", "basic_type_name", "basic_declaration_specifier", 1160 "basic_type_specifier", "direct_type_name", "indirect_type_name", 1161 "sue_declaration_specifier", "sue_type_specifier", 1162 "typedef_declaration_specifier", "typedef_type_specifier", 1163 "elaborated_type_name", "aggregate_name", "$@2", "aggregate_key", 1164 "field_declaration_list", "field_declaration", 827 1165 "new_field_declaring_list", "field_declaring_list", "field_declarator", 828 1166 "bit_subrange_size_opt", "bit_subrange_size", "enum_key", "enum_name", … … 871 1209 "new_abstract_declarator_no_tuple", "new_abstract_ptr", 872 1210 "new_abstract_array", "new_abstract_tuple", "new_abstract_function", 873 "comma_opt", "assignment_opt", YY_NULLPTR1211 "comma_opt", "assignment_opt", 0 874 1212 }; 875 1213 #endif 876 1214 877 1215 # ifdef YYPRINT 878 /* YYTOKNUM[ NUM] -- (External) token number corresponding to the879 (internal) symbol number NUM (which must be that of a token). */1216 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 1217 token YYLEX-NUM. */ 880 1218 static const yytype_uint16 yytoknum[] = 881 1219 { … … 891 1229 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 892 1230 355, 356, 357, 358, 359, 360, 361, 362, 363, 40, 893 41, 91, 93, 46, 123, 125, 44, 42, 38, 43,894 4 5, 33, 126, 47, 37, 60, 62, 94, 124, 63,895 58, 61, 591231 41, 91, 93, 46, 123, 125, 44, 58, 42, 38, 1232 43, 45, 33, 126, 47, 37, 60, 62, 94, 124, 1233 63, 61, 59 896 1234 }; 897 1235 # endif 898 1236 899 #define YYPACT_NINF -1317 900 901 #define yypact_value_is_default(Yystate) \ 902 (!!((Yystate) == (-1317))) 903 904 #define YYTABLE_NINF -520 905 906 #define yytable_value_is_error(Yytable_value) \ 907 0 908 909 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 910 STATE-NUM. */ 1237 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 1238 static const yytype_uint16 yyr1[] = 1239 { 1240 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 1241 138, 138, 139, 139, 140, 140, 141, 141, 142, 142, 1242 142, 142, 143, 143, 143, 143, 143, 143, 143, 143, 1243 143, 143, 143, 144, 144, 145, 145, 145, 145, 145, 1244 146, 146, 147, 147, 147, 147, 147, 148, 148, 148, 1245 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 1246 148, 148, 148, 149, 149, 150, 150, 150, 150, 151, 1247 151, 151, 152, 152, 152, 152, 153, 153, 153, 154, 1248 154, 154, 155, 155, 155, 155, 155, 156, 156, 156, 1249 157, 157, 158, 158, 159, 159, 160, 160, 161, 161, 1250 162, 162, 162, 162, 163, 164, 164, 164, 165, 165, 1251 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 1252 166, 167, 167, 167, 167, 168, 168, 169, 169, 170, 1253 170, 171, 171, 171, 171, 171, 171, 171, 171, 171, 1254 172, 173, 173, 174, 174, 175, 175, 175, 175, 176, 1255 176, 177, 178, 178, 178, 178, 178, 178, 179, 179, 1256 179, 180, 180, 181, 181, 182, 182, 183, 184, 184, 1257 185, 185, 186, 186, 187, 187, 187, 187, 188, 188, 1258 189, 189, 190, 190, 190, 191, 191, 192, 192, 192, 1259 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, 1260 194, 194, 194, 194, 194, 195, 195, 195, 195, 196, 1261 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, 1262 199, 199, 200, 200, 201, 201, 202, 202, 203, 203, 1263 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, 1264 208, 209, 209, 210, 210, 211, 211, 212, 212, 213, 1265 213, 213, 213, 213, 214, 214, 214, 215, 215, 215, 1266 216, 216, 216, 216, 216, 217, 217, 217, 218, 218, 1267 219, 219, 219, 220, 220, 220, 220, 220, 221, 221, 1268 222, 222, 222, 222, 223, 223, 224, 224, 224, 224, 1269 225, 225, 225, 225, 226, 226, 227, 227, 228, 228, 1270 229, 229, 229, 229, 229, 230, 229, 231, 231, 231, 1271 232, 232, 233, 234, 234, 234, 234, 234, 234, 234, 1272 234, 235, 235, 235, 235, 235, 235, 235, 235, 235, 1273 235, 235, 235, 235, 236, 236, 236, 236, 236, 237, 1274 237, 238, 238, 238, 238, 239, 239, 239, 239, 240, 1275 240, 240, 240, 241, 241, 241, 242, 242, 242, 242, 1276 243, 243, 243, 244, 244, 245, 245, 246, 245, 245, 1277 245, 247, 247, 248, 248, 249, 249, 249, 249, 250, 1278 250, 250, 250, 251, 251, 252, 252, 252, 252, 252, 1279 253, 253, 254, 255, 256, 256, 257, 256, 258, 258, 1280 259, 259, 260, 260, 261, 261, 261, 261, 261, 262, 1281 262, 262, 262, 263, 263, 264, 264, 265, 265, 266, 1282 266, 266, 266, 267, 267, 267, 267, 267, 268, 268, 1283 268, 268, 268, 269, 269, 270, 270, 271, 271, 272, 1284 272, 272, 273, 273, 273, 274, 274, 274, 275, 275, 1285 275, 276, 276, 276, 276, 277, 277, 277, 278, 278, 1286 279, 279, 279, 279, 279, 280, 280, 281, 281, 282, 1287 282, 282, 282, 282, 282, 283, 283, 283, 283, 284, 1288 284, 284, 285, 286, 286, 288, 287, 287, 289, 289, 1289 289, 290, 290, 291, 291, 291, 292, 292, 292, 292, 1290 293, 293, 293, 294, 294, 295, 295, 296, 297, 296, 1291 298, 298, 299, 299, 300, 300, 300, 301, 301, 302, 1292 302, 303, 303, 304, 304, 305, 305, 305, 306, 305, 1293 305, 307, 307, 307, 308, 308, 308, 308, 308, 308, 1294 308, 308, 308, 309, 309, 309, 310, 311, 311, 312, 1295 312, 313, 313, 314, 315, 315, 316, 316, 316, 317, 1296 317, 317, 317, 318, 318, 318, 318, 319, 319, 320, 1297 320, 320, 321, 321, 321, 321, 322, 322, 323, 323, 1298 323, 324, 324, 324, 325, 325, 325, 326, 326, 326, 1299 327, 327, 327, 328, 328, 328, 329, 329, 329, 330, 1300 330, 330, 331, 331, 331, 331, 332, 332, 333, 333, 1301 333, 334, 334, 334, 334, 335, 335, 335, 336, 336, 1302 336, 336, 337, 337, 337, 338, 338, 338, 338, 339, 1303 339, 339, 340, 340, 340, 340, 341, 341, 342, 342, 1304 342, 343, 343, 344, 344, 345, 345, 345, 346, 346, 1305 346, 346, 346, 347, 347, 347, 347, 348, 348, 348, 1306 349, 349, 349, 350, 350, 350, 350, 351, 351, 351, 1307 352, 352, 352, 352, 352, 353, 353, 353, 353, 354, 1308 354, 354, 355, 355, 355, 356, 356, 356, 356, 356, 1309 356, 357, 357, 357, 358, 358, 358, 358, 358, 359, 1310 359, 359, 359, 360, 360, 361, 361, 361, 362, 362, 1311 363, 363, 363, 363, 363, 363, 364, 364, 364, 364, 1312 364, 364, 364, 364, 364, 364, 365, 365, 365, 365, 1313 366, 366, 366, 367, 367, 368, 368, 368, 368, 368, 1314 368, 369, 369, 369, 369, 369, 369, 370, 371, 371, 1315 371, 372, 372, 373, 373 1316 }; 1317 1318 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 1319 static const yytype_uint8 yyr2[] = 1320 { 1321 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1322 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1323 3, 3, 1, 6, 4, 3, 7, 3, 7, 2, 1324 2, 7, 4, 1, 3, 0, 1, 3, 7, 9, 1325 1, 3, 1, 3, 7, 3, 7, 1, 1, 1, 1326 2, 2, 2, 2, 2, 2, 4, 6, 1, 4, 1327 4, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1328 4, 4, 1, 3, 3, 3, 1, 3, 3, 1, 1329 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1330 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1331 1, 5, 4, 5, 1, 1, 3, 2, 0, 1, 1332 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1333 1, 2, 5, 6, 7, 1, 3, 1, 3, 0, 1334 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1335 4, 2, 7, 1, 3, 1, 2, 1, 2, 1, 1336 2, 2, 5, 7, 5, 9, 5, 9, 1, 3, 1337 1, 1, 3, 3, 2, 1, 2, 2, 0, 1, 1338 2, 3, 0, 1, 2, 3, 3, 4, 0, 1, 1339 1, 2, 5, 7, 6, 6, 4, 3, 4, 2, 1340 3, 2, 3, 3, 3, 3, 5, 3, 3, 4, 1341 1, 5, 6, 5, 6, 9, 10, 9, 10, 2, 1342 1, 2, 2, 2, 1, 6, 8, 10, 12, 14, 1343 0, 1, 0, 1, 1, 3, 4, 7, 0, 1, 1344 3, 1, 3, 1, 1, 1, 3, 1, 1, 1, 1345 3, 0, 1, 3, 4, 1, 3, 1, 1, 3, 1346 3, 3, 3, 3, 2, 3, 6, 3, 3, 4, 1347 1, 2, 2, 3, 5, 8, 7, 7, 5, 9, 1348 2, 2, 5, 3, 5, 4, 3, 4, 4, 7, 1349 3, 3, 3, 3, 4, 6, 1, 1, 1, 1, 1350 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, 1351 1, 1, 1, 1, 1, 0, 5, 1, 2, 3, 1352 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1353 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1354 1, 1, 1, 1, 1, 2, 2, 3, 3, 1, 1355 3, 1, 2, 2, 2, 4, 4, 4, 4, 1, 1356 2, 2, 3, 1, 2, 2, 1, 2, 2, 3, 1357 1, 2, 2, 1, 1, 4, 2, 0, 6, 7, 1358 2, 2, 2, 0, 2, 2, 3, 2, 3, 1, 1359 2, 3, 2, 2, 4, 0, 1, 2, 2, 1, 1360 0, 1, 2, 2, 5, 2, 0, 7, 2, 4, 1361 0, 2, 0, 1, 1, 1, 5, 5, 5, 1, 1362 5, 5, 9, 1, 5, 0, 1, 1, 5, 1, 1363 1, 5, 5, 1, 3, 3, 4, 1, 1, 1, 1364 1, 2, 1, 3, 3, 1, 2, 1, 3, 1, 1365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1366 2, 1, 1, 1, 2, 0, 2, 2, 1, 4, 1367 0, 1, 2, 3, 4, 2, 2, 1, 2, 1, 1368 2, 5, 5, 7, 6, 1, 2, 2, 3, 1, 1369 2, 2, 4, 2, 4, 0, 4, 2, 1, 1, 1370 1, 0, 2, 5, 5, 13, 1, 1, 3, 3, 1371 2, 3, 3, 2, 4, 1, 6, 9, 0, 11, 1372 1, 3, 3, 3, 1, 1, 5, 2, 5, 0, 1373 1, 1, 3, 0, 1, 1, 1, 1, 0, 6, 1374 2, 1, 2, 4, 2, 3, 3, 3, 4, 5, 1375 5, 5, 6, 1, 1, 1, 3, 0, 5, 0, 1376 1, 1, 2, 6, 1, 3, 0, 1, 4, 1, 1377 1, 1, 1, 2, 1, 2, 2, 1, 3, 2, 1378 3, 3, 2, 4, 4, 3, 8, 3, 2, 1, 1379 2, 6, 8, 3, 2, 3, 3, 4, 4, 3, 1380 1, 1, 1, 4, 6, 3, 2, 3, 3, 4, 1381 4, 3, 2, 1, 2, 2, 1, 3, 2, 3, 1382 3, 2, 4, 4, 3, 6, 8, 3, 2, 1, 1383 2, 2, 2, 3, 3, 2, 4, 4, 3, 6, 1384 8, 3, 2, 1, 2, 2, 1, 1, 2, 3, 1385 3, 2, 4, 6, 8, 1, 2, 2, 1, 2, 1386 2, 3, 3, 1, 4, 4, 3, 5, 8, 3, 1387 2, 3, 1, 5, 5, 6, 6, 1, 2, 2, 1388 1, 2, 2, 3, 3, 1, 4, 4, 3, 5, 1389 8, 3, 1, 2, 1, 2, 6, 5, 6, 7, 1390 7, 1, 2, 2, 1, 2, 2, 3, 3, 1, 1391 4, 4, 3, 8, 3, 1, 1, 2, 1, 1, 1392 2, 3, 2, 3, 2, 3, 3, 2, 4, 3, 1393 2, 3, 2, 4, 3, 2, 6, 6, 6, 7, 1394 1, 2, 1, 1, 1, 2, 3, 2, 3, 2, 1395 3, 3, 4, 2, 3, 4, 2, 5, 5, 6, 1396 6, 0, 1, 0, 2 1397 }; 1398 1399 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 1400 Performed when YYTABLE doesn't specify something else to do. Zero 1401 means the default is an error. */ 1402 static const yytype_uint16 yydefact[] = 1403 { 1404 294, 294, 315, 313, 316, 314, 317, 318, 300, 302, 1405 301, 0, 303, 329, 321, 326, 324, 325, 323, 322, 1406 327, 328, 333, 330, 331, 332, 549, 549, 549, 0, 1407 0, 0, 294, 220, 304, 319, 320, 7, 360, 0, 1408 8, 14, 15, 0, 2, 63, 64, 567, 9, 294, 1409 527, 525, 247, 3, 455, 3, 260, 0, 3, 3, 1410 3, 248, 3, 0, 0, 0, 295, 296, 298, 294, 1411 307, 310, 312, 341, 286, 334, 339, 287, 349, 288, 1412 356, 353, 363, 0, 0, 364, 289, 475, 479, 3, 1413 3, 0, 2, 521, 526, 531, 299, 0, 0, 549, 1414 579, 549, 2, 590, 591, 592, 294, 0, 733, 734, 1415 0, 12, 0, 13, 294, 270, 271, 0, 295, 290, 1416 291, 292, 293, 528, 305, 393, 550, 551, 371, 372, 1417 12, 446, 447, 11, 442, 445, 0, 505, 500, 491, 1418 446, 447, 0, 0, 530, 221, 0, 294, 0, 0, 1419 0, 0, 0, 0, 0, 0, 294, 294, 2, 0, 1420 735, 295, 584, 596, 739, 732, 730, 737, 0, 0, 1421 0, 254, 2, 0, 534, 440, 441, 439, 0, 0, 1422 0, 0, 549, 0, 636, 637, 0, 0, 547, 543, 1423 549, 564, 549, 549, 545, 2, 544, 549, 603, 549, 1424 549, 606, 0, 0, 0, 294, 294, 313, 361, 2, 1425 294, 261, 297, 308, 342, 354, 480, 0, 2, 0, 1426 455, 262, 295, 335, 350, 357, 476, 0, 2, 0, 1427 311, 336, 343, 344, 0, 351, 355, 358, 362, 447, 1428 294, 373, 366, 370, 0, 395, 477, 481, 0, 0, 1429 0, 1, 294, 2, 532, 578, 580, 294, 2, 743, 1430 295, 746, 547, 547, 0, 295, 0, 0, 273, 549, 1431 545, 2, 294, 0, 0, 294, 552, 2, 503, 2, 1432 556, 0, 0, 0, 0, 0, 0, 18, 58, 4, 1433 5, 6, 16, 0, 0, 294, 2, 65, 66, 67, 1434 68, 48, 19, 49, 22, 47, 69, 294, 0, 72, 1435 76, 79, 82, 87, 90, 92, 94, 96, 98, 100, 1436 105, 497, 753, 453, 496, 0, 451, 452, 0, 568, 1437 583, 586, 589, 595, 598, 601, 360, 0, 2, 741, 1438 0, 294, 744, 2, 63, 294, 3, 427, 0, 435, 1439 295, 294, 307, 334, 287, 349, 356, 3, 3, 409, 1440 413, 423, 428, 475, 294, 429, 708, 709, 294, 430, 1441 432, 294, 2, 585, 597, 731, 2, 2, 249, 2, 1442 460, 0, 458, 457, 456, 141, 2, 2, 251, 2, 1443 2, 250, 2, 281, 2, 282, 0, 280, 0, 0, 1444 0, 0, 0, 0, 0, 0, 0, 569, 608, 0, 1445 455, 2, 563, 572, 662, 565, 566, 535, 294, 2, 1446 602, 611, 604, 605, 0, 276, 294, 294, 340, 295, 1447 0, 295, 0, 294, 736, 740, 738, 536, 294, 547, 1448 255, 263, 309, 0, 2, 537, 294, 501, 337, 338, 1449 283, 352, 359, 0, 294, 0, 751, 400, 0, 478, 1450 502, 252, 253, 522, 294, 437, 0, 294, 237, 0, 1451 2, 239, 0, 295, 0, 257, 2, 258, 278, 0, 1452 0, 2, 294, 547, 294, 488, 490, 489, 0, 0, 1453 753, 0, 294, 0, 294, 492, 294, 562, 560, 561, 1454 559, 0, 554, 557, 0, 0, 294, 55, 294, 69, 1455 50, 294, 61, 294, 294, 53, 54, 2, 127, 0, 1456 0, 449, 0, 448, 730, 121, 294, 17, 0, 29, 1457 30, 35, 2, 0, 35, 111, 112, 113, 114, 115, 1458 116, 117, 118, 119, 120, 110, 0, 51, 52, 0, 1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 1461 2, 648, 454, 645, 549, 549, 653, 482, 294, 2, 1462 587, 588, 0, 599, 600, 0, 2, 742, 745, 121, 1463 294, 0, 2, 710, 295, 714, 705, 706, 712, 0, 1464 2, 2, 670, 549, 753, 619, 549, 549, 753, 549, 1465 633, 549, 549, 684, 436, 667, 549, 549, 675, 682, 1466 294, 431, 295, 0, 0, 294, 720, 295, 725, 753, 1467 717, 294, 722, 753, 294, 294, 294, 0, 121, 0, 1468 18, 5, 2, 0, 19, 0, 461, 751, 0, 0, 1469 467, 241, 0, 294, 0, 0, 0, 547, 571, 575, 1470 577, 607, 610, 614, 617, 570, 609, 0, 284, 660, 1471 0, 294, 277, 0, 0, 0, 0, 275, 2, 0, 1472 259, 538, 294, 0, 0, 294, 2, 365, 385, 374, 1473 0, 0, 379, 373, 752, 0, 0, 398, 0, 295, 1474 3, 416, 3, 420, 419, 593, 0, 533, 294, 63, 1475 3, 294, 435, 295, 3, 429, 430, 2, 0, 0, 1476 0, 487, 306, 294, 483, 485, 3, 2, 2, 0, 1477 504, 3, 0, 556, 129, 0, 0, 222, 0, 0, 1478 0, 2, 0, 0, 36, 0, 0, 121, 294, 20, 1479 0, 21, 0, 694, 699, 450, 691, 549, 549, 0, 1480 108, 3, 2, 27, 2, 0, 33, 0, 2, 25, 1481 0, 106, 73, 74, 75, 77, 78, 80, 81, 85, 1482 86, 83, 84, 88, 89, 91, 93, 95, 97, 99, 1483 0, 0, 754, 294, 0, 0, 0, 649, 650, 646, 1484 647, 499, 498, 294, 0, 294, 716, 294, 721, 295, 1485 294, 664, 294, 294, 707, 663, 2, 294, 0, 0, 1486 0, 0, 0, 0, 0, 0, 685, 0, 671, 622, 1487 638, 672, 2, 618, 625, 433, 620, 621, 434, 2, 1488 632, 641, 634, 635, 668, 669, 683, 711, 715, 713, 1489 753, 268, 2, 747, 2, 424, 719, 724, 425, 0, 1490 403, 3, 3, 3, 3, 455, 3, 0, 2, 470, 1491 466, 752, 0, 462, 469, 2, 465, 468, 0, 294, 1492 242, 264, 3, 272, 274, 0, 455, 2, 573, 574, 1493 2, 612, 613, 0, 661, 539, 3, 346, 345, 348, 1494 347, 294, 540, 0, 541, 373, 0, 0, 294, 294, 1495 0, 0, 694, 383, 386, 390, 549, 390, 389, 382, 1496 375, 549, 377, 380, 294, 400, 394, 104, 401, 751, 1497 0, 0, 438, 240, 0, 0, 3, 2, 670, 431, 1498 0, 529, 0, 753, 491, 0, 294, 294, 294, 0, 1499 553, 555, 130, 0, 0, 215, 0, 0, 0, 223, 1500 224, 56, 0, 62, 294, 0, 60, 59, 0, 2, 1501 128, 0, 0, 0, 695, 696, 692, 693, 460, 70, 1502 71, 109, 125, 3, 108, 0, 0, 0, 24, 35, 1503 3, 0, 32, 102, 0, 3, 652, 656, 659, 651, 1504 3, 594, 3, 718, 723, 2, 63, 294, 3, 3, 1505 295, 0, 3, 624, 628, 631, 640, 674, 678, 681, 1506 294, 3, 623, 639, 673, 294, 294, 426, 294, 294, 1507 748, 0, 0, 0, 0, 256, 0, 104, 0, 3, 1508 3, 0, 463, 0, 459, 0, 0, 245, 294, 0, 1509 0, 129, 0, 0, 0, 0, 0, 129, 0, 0, 1510 108, 108, 18, 2, 0, 0, 3, 131, 132, 2, 1511 143, 133, 134, 135, 136, 137, 138, 145, 147, 0, 1512 0, 0, 285, 294, 294, 549, 0, 542, 294, 376, 1513 378, 0, 392, 695, 387, 391, 388, 381, 385, 368, 1514 399, 0, 581, 2, 666, 665, 0, 671, 2, 484, 1515 486, 506, 3, 514, 515, 0, 2, 510, 3, 3, 1516 0, 0, 558, 222, 0, 0, 0, 222, 0, 0, 1517 3, 37, 121, 698, 702, 704, 697, 751, 108, 0, 1518 3, 663, 42, 3, 40, 3, 34, 0, 3, 101, 1519 103, 0, 2, 654, 655, 0, 0, 294, 0, 0, 1520 0, 3, 640, 0, 2, 626, 627, 2, 642, 2, 1521 676, 677, 0, 0, 63, 0, 3, 3, 3, 3, 1522 411, 410, 414, 2, 2, 750, 749, 122, 0, 0, 1523 0, 0, 3, 464, 3, 0, 243, 146, 3, 295, 1524 294, 0, 0, 0, 0, 2, 0, 191, 0, 189, 1525 0, 0, 0, 0, 0, 0, 0, 549, 121, 0, 1526 151, 148, 294, 0, 0, 267, 279, 3, 3, 548, 1527 615, 369, 384, 397, 294, 266, 294, 0, 517, 494, 1528 294, 0, 0, 493, 508, 0, 0, 0, 216, 0, 1529 225, 57, 108, 0, 2, 700, 701, 0, 126, 123, 1530 0, 0, 0, 0, 0, 0, 23, 0, 657, 294, 1531 582, 265, 726, 727, 728, 0, 679, 294, 294, 294, 1532 3, 3, 0, 687, 0, 0, 0, 0, 294, 294, 1533 3, 546, 471, 472, 0, 0, 246, 295, 0, 0, 1534 0, 0, 294, 192, 190, 187, 0, 193, 0, 0, 1535 0, 0, 197, 200, 198, 194, 0, 195, 129, 35, 1536 144, 142, 244, 0, 0, 418, 422, 421, 0, 511, 1537 2, 512, 2, 513, 507, 294, 228, 0, 226, 0, 1538 228, 3, 663, 294, 31, 124, 2, 45, 2, 43, 1539 41, 28, 122, 26, 3, 729, 3, 3, 3, 0, 1540 0, 686, 688, 629, 643, 269, 2, 408, 3, 407, 1541 0, 474, 471, 129, 0, 0, 129, 3, 0, 129, 1542 188, 0, 2, 2, 209, 199, 0, 0, 0, 140, 1543 0, 576, 616, 2, 0, 0, 2, 229, 0, 0, 1544 217, 0, 0, 0, 3, 0, 0, 0, 0, 0, 1545 0, 689, 690, 294, 0, 473, 152, 0, 0, 2, 1546 165, 129, 154, 0, 182, 0, 129, 0, 2, 156, 1547 0, 2, 0, 2, 2, 2, 196, 32, 294, 516, 1548 518, 509, 0, 0, 0, 0, 124, 38, 0, 3, 1549 3, 658, 630, 644, 680, 412, 129, 158, 161, 0, 1550 160, 164, 3, 167, 166, 0, 129, 184, 129, 3, 1551 0, 294, 0, 294, 0, 2, 0, 2, 139, 2, 1552 230, 231, 0, 227, 218, 0, 703, 0, 0, 153, 1553 0, 0, 163, 233, 168, 2, 235, 183, 0, 186, 1554 172, 201, 3, 210, 214, 203, 3, 0, 294, 0, 1555 294, 0, 0, 0, 39, 46, 44, 159, 162, 129, 1556 0, 169, 294, 129, 129, 0, 173, 0, 0, 694, 1557 211, 212, 213, 0, 202, 3, 204, 3, 294, 219, 1558 232, 149, 170, 155, 129, 236, 185, 180, 178, 174, 1559 157, 129, 0, 695, 0, 0, 0, 0, 150, 171, 1560 181, 175, 179, 178, 176, 3, 3, 0, 0, 495, 1561 177, 205, 207, 3, 3, 206, 208 1562 }; 1563 1564 /* YYDEFGOTO[NTERM-NUM]. */ 1565 static const yytype_int16 yydefgoto[] = 1566 { 1567 -1, 817, 468, 301, 47, 134, 135, 302, 303, 304, 1568 305, 765, 766, 1143, 1144, 306, 381, 308, 309, 310, 1569 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 1570 1038, 518, 982, 546, 322, 983, 952, 1065, 1541, 1067, 1571 1068, 1069, 1070, 1542, 1071, 1072, 1458, 1459, 1420, 1421, 1572 1422, 1520, 1521, 1525, 1526, 1561, 1562, 1073, 1378, 1074, 1573 1075, 1312, 1313, 1314, 1502, 1076, 146, 958, 959, 960, 1574 1398, 1482, 1494, 1495, 469, 470, 879, 880, 1046, 51, 1575 52, 53, 54, 55, 347, 159, 58, 59, 60, 61, 1576 62, 349, 64, 65, 265, 67, 68, 275, 351, 352, 1577 71, 72, 73, 74, 119, 76, 205, 354, 120, 79, 1578 121, 81, 82, 455, 83, 454, 689, 690, 691, 913, 1579 1094, 914, 84, 85, 458, 456, 697, 859, 860, 357, 1580 358, 700, 701, 702, 359, 360, 361, 362, 466, 340, 1581 136, 137, 522, 324, 171, 646, 647, 648, 649, 650, 1582 86, 122, 88, 489, 490, 944, 491, 278, 495, 325, 1583 89, 138, 139, 90, 1335, 1116, 1117, 1118, 1119, 91, 1584 92, 718, 93, 274, 94, 95, 188, 1040, 680, 412, 1585 126, 96, 501, 502, 503, 189, 269, 191, 192, 193, 1586 270, 99, 100, 101, 102, 103, 104, 105, 196, 197, 1587 198, 199, 200, 829, 605, 606, 607, 608, 201, 610, 1588 611, 612, 572, 573, 574, 575, 754, 106, 614, 615, 1589 616, 617, 618, 619, 975, 756, 757, 758, 595, 365, 1590 366, 367, 368, 326, 165, 108, 109, 110, 370, 695, 1591 569 1592 }; 1593 1594 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1595 STATE-NUM. */ 1596 #define YYPACT_NINF -1315 911 1597 static const yytype_int16 yypact[] = 912 1598 { 913 7252, 8635, -1317, -3, -1317, -1317, -1317, -1317, -1317, -1317, 914 -1317, 23, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 915 -1317, -1317, -1317, -1317, -1317, -1317, 81, 81, 81, 1277, 916 970, 104, 7368, 277, -1317, -1317, -1317, -1317, -1317, 201, 917 -1317, -1317, -1317, 1047, 187, -1317, -1317, -1317, -1317, 5370, 918 -1317, -1317, -1317, -1317, 35, 48, -1317, 1328, -1317, -1317, 919 -1317, -1317, 235, 1663, 343, 98, 7484, -1317, -1317, 6174, 920 1066, -1317, -1317, 536, 376, 5540, 978, 1631, 536, 1775, 921 -1317, -1317, 477, 683, -1317, 536, 1892, -1317, 295, -1317, 922 422, 489, -1317, -1317, -1317, -1317, 346, 48, 81, -1317, 923 81, -1317, -1317, -1317, -1317, 9392, 1328, -1317, -1317, 1328, 924 -1317, 321, -1317, 9431, -1317, -1317, 2250, 9501, -1317, 668, 925 668, 668, -1317, -1317, -1317, 81, -1317, -1317, -1317, 373, 926 399, 410, -1317, -1317, -1317, 420, -1317, -1317, -1317, -1317, 927 -1317, 428, 450, -1317, -1317, 59, 8604, 2904, 144, 440, 928 493, 498, 531, 544, 560, 8522, 6772, 510, 580, -1317, 929 9114, -1317, -1317, -1317, -1317, 584, -1317, 153, 4280, 4280, 930 -1317, 570, 283, -1317, -1317, -1317, -1317, 596, 288, 303, 931 332, 81, 583, -1317, -1317, 1663, 2232, 648, -1317, 73, 932 -1317, 81, 81, 48, -1317, -1317, 80, -1317, 81, 81, 933 -1317, 3694, 599, 613, 668, 6565, -1317, -1317, 661, 5370, 934 -1317, -1317, 536, -1317, -1317, -1317, 48, -1317, 1328, 35, 935 -1317, 7675, -1317, 668, 668, 668, 48, -1317, 1277, -1317, 936 5446, -1317, -1317, 620, 668, -1317, 668, -1317, 201, 8604, 937 -1317, 673, -1317, 970, 692, 668, -1317, 1277, 697, 707, 938 -1317, 7368, 576, -1317, -1317, -1317, 4822, -1317, -1317, 9720, 939 -1317, 648, 165, 10347, 9501, 2250, 3694, -1317, 109, -1317, 940 -1317, 9431, 1328, 743, 7515, -1317, -1317, 306, -1317, 10675, 941 770, 800, 2676, 801, 10480, 10499, -1317, 813, -1317, -1317, 942 -1317, -1317, 10556, 10556, 8378, 795, -1317, -1317, -1317, -1317, 943 -1317, -1317, 842, -1317, 685, 1919, 8717, 10480, -1317, 652, 944 325, 507, 317, 581, 826, 820, 823, 861, 111, -1317, 945 -1317, 827, 703, -1317, 452, -1317, -1317, 2904, -1317, -1317, 946 278, 856, -1317, 636, 856, 866, 201, -1317, -1317, 872, 947 9392, -1317, 876, 887, 8830, -1317, -1317, 1020, 2049, 8093, 948 6565, 536, -1317, 536, 668, 668, -1317, -1317, -1317, -1317, 949 -1317, -1317, 668, 9392, 1328, -1317, -1317, 9540, 1233, -1317, 950 7824, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 891, 4627, 951 10480, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 952 -1317, -1317, -1317, -1317, -1317, 2250, -1317, 552, 901, 904, 953 912, 862, 920, 922, 924, 2232, -1317, -1317, 932, 35, 954 936, -1317, -1317, 939, -1317, -1317, -1317, 4822, -1317, -1317, 955 -1317, -1317, -1317, 3694, -1317, 8604, 8604, -1317, 668, 2250, 956 6684, 1328, 8166, -1317, -1317, -1317, -1317, 4822, 165, -1317, 957 -1317, 536, 48, -1317, -1317, 4822, -1317, 6449, -1317, -1317, 958 668, 668, 484, 8011, 938, 941, 931, 952, 668, -1317, 959 -1317, -1317, -1317, 9797, -1317, 578, 6327, -1317, 48, 955, 960 -1317, 2250, 10757, 10404, -1317, -1317, -1317, -1317, 881, 3694, 961 -1317, 8239, 648, 3545, -1317, -1317, -1317, 1641, 586, 827, 962 970, 7515, 592, 9431, -1317, 7515, -1317, -1317, -1317, -1317, 963 603, -1317, 967, 800, 215, 8378, -1317, 9570, -1317, -1317, 964 8378, -1317, 8491, 8378, -1317, -1317, 966, -1317, 617, 973, 965 839, 983, -1317, -1317, 9253, 6415, -1317, 247, -1317, -1317, 966 10347, -1317, 330, 10347, -1317, -1317, -1317, -1317, -1317, -1317, 967 -1317, -1317, -1317, -1317, -1317, 10347, -1317, -1317, 10480, 10480, 968 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 10480, 969 10480, 10480, 10480, 10480, 10480, 10480, 4526, 10347, -1317, 703, 970 751, -1317, -1317, 81, 81, -1317, -1317, 8604, -1317, -1317, 971 939, 576, -1317, 939, 10423, -1317, -1317, -1317, 8975, 6415, 972 968, 976, -1317, 9501, -1317, -1317, 584, -1317, 990, 769, 973 999, 3014, 124, 827, -1317, 81, 81, 827, 125, -1317, 974 81, 81, 939, -1317, -1317, 81, 81, -1317, 856, 9652, 975 1328, 10902, 151, 358, 9652, -1317, 9720, -1317, 827, -1317, 976 9392, -1317, 147, 7790, 7790, 7790, 1328, -1317, 5708, 982, 977 891, 1167, 995, 996, -1317, 1011, 4280, 230, -1317, 1103, 978 1328, 7790, 576, 2250, 576, 648, 671, 856, -1317, -1317, 979 694, 856, -1317, -1317, -1317, 800, -1317, 856, 48, 9797, 980 -1317, 621, 1024, 640, 1026, -1317, 1030, 48, -1317, -1317, 981 4822, 48, 1032, 9570, 1037, -1317, 1585, -1317, 335, 390, 982 970, -1317, 970, 1023, 10480, -1317, 970, 10902, -1317, -1317, 983 1034, -1317, -1317, -1317, 576, -1317, 10830, 887, -1317, 7790, 984 859, 8093, -1317, -1317, 584, 1025, 1036, 1641, 3247, -1317, 985 -1317, 7515, -1317, -1317, 1039, -1317, -1317, 1043, -1317, 1039, 986 1048, 10675, 10347, 67, 1027, 133, 1053, 1061, 1068, 1069, 987 -1317, 1072, 1074, 9362, 6534, -1317, 10347, -1317, 839, 2140, 988 -1317, -1317, -1317, 81, 81, 10290, 10347, 1070, -1317, -1317, 989 675, -1317, 10347, -1317, -1317, 644, -1317, -1317, -1317, -1317, 990 652, 652, 325, 325, 507, 507, 507, 507, 317, 317, 991 581, 826, 820, 823, 861, 10480, 333, -1317, 9797, 1079, 992 1080, 1081, 751, -1317, -1317, -1317, -1317, -1317, 9797, 700, 993 7790, -1317, 9392, -1317, 6891, 8943, -1317, 7824, 6772, -1317, 994 -1317, 769, 9797, 917, 1082, 1083, 1084, 1087, 1088, 1089, 995 1091, -1317, 4955, 3014, -1317, -1317, -1317, -1317, -1317, -1317, 996 -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 997 -1317, 939, -1317, -1317, -1317, 827, -1317, -1317, -1317, -1317, 998 -1317, -1317, -1317, -1317, 1098, -1317, 1099, 1101, -1317, -1317, 999 35, 1070, 5708, -1317, -1317, -1317, 4627, 1102, -1317, -1317, 1000 -1317, -1317, 970, 5944, 1191, -1317, -1317, -1317, -1317, 1094, 1001 35, -1317, -1317, 939, -1317, -1317, 939, 24, 939, -1317, 1002 -1317, -1317, -1317, -1317, -1317, 9223, -1317, 48, -1317, -1317, 1003 432, 441, 9540, 7010, 2348, 10480, 3377, -1317, -1317, 1092, 1004 94, 1092, -1317, 970, -1317, 81, -1317, -1317, 8748, 931, 1005 -1317, -1317, -1317, 941, 1116, 1111, -1317, -1317, 1118, 1119, 1006 -1317, 859, 2430, -1317, 455, -1317, 3247, 827, -1317, 1122, 1007 7515, 9682, 8604, 1125, -1317, -1317, 1130, 1135, 1124, -1317, 1008 10480, 166, 222, 1132, -1317, 1138, 576, 1138, -1317, -1317, 1009 1138, 1137, -1317, 1145, 1147, 1148, 2140, -1317, -1317, -1317, 1010 4627, -1317, -1317, -1317, -1317, 1143, 10347, 1149, 576, -1317, 1011 10347, -1317, 576, -1317, -1317, 10347, -1317, 721, 856, -1317, 1012 -1317, -1317, -1317, -1317, -1317, -1317, 891, 887, 8830, -1317, 1013 -1317, 7129, 1152, -1317, 731, 856, -1317, 745, 763, 856, 1014 -1317, 668, 5561, -1317, -1317, -1317, 9797, 9797, -1317, 8166, 1015 8166, -1317, 1154, 1156, 1153, 1155, -1317, 1168, 460, 196, 1016 1070, -1317, 576, -1317, 4280, -1317, 10347, 474, -1317, 6296, 1017 1159, 1170, 10233, 1172, 1175, -14, 3, 11, 10347, 1179, 1018 48, 10347, 10347, 1160, 1177, 282, 1161, -1317, -1317, -1317, 1019 1180, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 1020 970, 1184, 10347, -1317, 9797, 9797, 81, 1188, -1317, 8861, 1021 -1317, -1317, 809, -1317, 3377, -1317, -1317, -1317, -1317, 1585, 1022 -1317, -1317, 1185, -1317, -1317, -1317, -1317, 1193, 2430, -1317, 1023 -1317, 1176, -1317, 1039, -1317, -1317, 2250, 1196, -1317, -1317, 1024 -1317, 709, 1198, -1317, 133, 1202, 10480, 1186, 133, 133, 1025 1211, 9253, 789, 856, -1317, -1317, 1011, 10347, 1214, 1143, 1026 505, 224, 1217, -1317, -1317, 1218, 1217, -1317, -1317, 1226, 1027 -1317, -1317, 939, 1228, 1230, 6653, 1231, 1232, 1243, -1317, 1028 -1317, 1246, -1317, -1317, 939, -1317, -1317, -1317, -1317, 939, 1029 10347, 10347, 887, 1245, -1317, -1317, -1317, -1317, -1317, -1317, 1030 -1317, -1317, -1317, -1317, -1317, -1317, 10480, 10480, 1247, 1251, 1031 1217, -1317, -1317, 970, -1317, -1317, -1317, 4468, 9682, 10347, 1032 10347, 1311, 10347, -1317, 1234, -1317, 1237, -1317, 1239, 10347, 1033 1241, 10347, 1049, 1244, 26, 81, 9084, 750, -1317, -1317, 1034 5944, 1267, 481, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 1035 -1317, -1317, 10053, -1317, 8239, 1274, -1317, -1317, 9682, 482, 1036 512, -1317, 1272, 1259, 800, 1280, -1317, 245, -1317, -1317, 1037 -1317, -1317, 939, 1279, -1317, -1317, 1287, 385, 444, 576, 1038 1293, -1317, 1294, -1317, 9797, -1317, -1317, -1317, -1317, -1317, 1039 1295, -1317, 9797, 9797, 9797, -1317, -1317, 1297, -1317, 1298, 1040 1282, 1305, 511, 7863, 7978, -1317, -1317, 348, -1317, 1304, 1041 1310, -1317, 8312, 712, 734, 1308, 739, 6143, -1317, -1317, 1042 -1317, 515, -1317, 765, 1318, 1320, 48, 1371, 879, -1317, 1043 -1317, 10347, -1317, 10233, 10347, -1317, -1317, -1317, 1322, 1329, 1044 -1317, -1317, -1317, 1324, -1317, -1317, -1317, -1317, -1317, -1317, 1045 9682, 800, 265, -1317, 1309, 800, 9797, -1317, -1317, -1317, 1046 -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 1047 -1317, 1330, 1331, -1317, -1317, -1317, -1317, -1317, -1317, -1317, 1048 1334, -1317, 1333, -1317, -1317, 10233, 143, 10347, 10233, -1317, 1049 1338, 10347, -1317, 259, 1354, 1356, -1317, -1317, 1346, 1347, 1050 1326, -1317, 880, -1317, -1317, -1317, 1328, 2250, 1345, 842, 1051 364, 10480, -1317, 774, -1317, 576, 576, 1352, 1355, 1357, 1052 1360, -1317, -1317, 8166, 1358, -1317, 1436, 10480, 1349, -1317, 1053 -1317, 10145, -1317, 783, -1317, 1350, 10233, 1359, -1317, -1317, 1054 1378, -1317, 1379, -1317, 1394, 1396, -1317, 1361, 9682, -1317, 1055 -1317, -1317, 800, 576, 1386, 1367, 1392, 1217, 1217, -1317, 1056 -1317, -1317, -1317, -1317, 10233, 275, -1317, 384, -1317, -1317, 1057 7600, -1317, -1317, 1375, 10347, -1317, 10347, 7600, 48, 9570, 1058 48, 9570, 1393, -1317, 1398, -1317, -1317, 1395, 842, -1317, 1059 798, -1317, -1317, -1317, 1399, 1401, -1317, 10480, 10480, -1317, 1060 -1317, 964, 167, -1317, -1317, 1388, -1317, 964, -1317, -1317, 1061 2461, 576, -1317, -1317, 48, 9570, 48, 9570, 1409, 1390, 1062 576, -1317, -1317, -1317, -1317, 10145, 1410, 964, 5861, 10347, 1063 10057, 1412, 964, 1414, 2461, 3613, -1317, -1317, -1317, 1420, 1064 -1317, -1317, -1317, -1317, 8604, -1317, -1317, -1317, 9924, -1317, 1065 10145, -1317, -1317, 1402, 9836, -1317, -1317, 10057, 48, 3613, 1066 48, 1421, 1429, 817, -1317, 9924, -1317, -1317, -1317, 9836, 1067 -1317, -1317, -1317, 48, 48, -1317, -1317, -1317, -1317, -1317, 1068 -1317, -1317, -1317 1599 5006, 8237, -1315, 89, -1315, -1315, -1315, -1315, -1315, -1315, 1600 -1315, 194, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 1601 -1315, -1315, -1315, -1315, -1315, -1315, 314, 314, 314, 792, 1602 787, 234, 7780, 219, -1315, -1315, -1315, -1315, -1315, 257, 1603 -1315, -1315, -1315, 912, 264, -1315, -1315, -1315, -1315, 6920, 1604 -1315, -1315, -1315, -1315, 120, 272, -1315, 823, -1315, -1315, 1605 -1315, -1315, 302, 1619, 420, 112, 3706, -1315, -1315, 9405, 1606 1262, -1315, -1315, -1315, 675, 440, 7333, 1133, 1444, 675, 1607 1669, -1315, -1315, 482, 771, -1315, 675, 1807, -1315, 386, 1608 -1315, 507, 517, -1315, -1315, -1315, -1315, 426, 272, 314, 1609 -1315, 314, -1315, -1315, -1315, -1315, 8871, 823, -1315, -1315, 1610 823, -1315, 415, -1315, 8985, -1315, -1315, 1777, 9099, -1315, 1611 428, 428, 428, -1315, -1315, -1315, 314, -1315, -1315, -1315, 1612 454, 468, 490, -1315, -1315, -1315, 500, -1315, -1315, -1315, 1613 -1315, -1315, 504, 509, -1315, -1315, 76, 8833, 2235, 669, 1614 439, 450, 519, 522, 537, 567, 8121, 7182, 529, 581, 1615 -1315, 9443, -1315, -1315, -1315, -1315, 595, -1315, 216, 3771, 1616 3771, -1315, 603, 313, -1315, -1315, -1315, -1315, 605, 316, 1617 320, 345, 314, 589, -1315, -1315, 1619, 2809, 664, -1315, 1618 49, -1315, 314, 314, 272, -1315, -1315, 87, -1315, 314, 1619 314, -1315, 3249, 632, 636, 428, 7093, -1315, -1315, 646, 1620 6920, -1315, -1315, 675, -1315, -1315, -1315, 272, -1315, 823, 1621 120, -1315, 7972, -1315, 428, 428, 428, 272, -1315, 792, 1622 -1315, 5155, -1315, -1315, 635, 428, -1315, 428, -1315, 257, 1623 8833, -1315, 657, -1315, 787, 660, 428, -1315, 792, 679, 1624 704, -1315, 7780, 574, -1315, -1315, -1315, 9296, -1315, -1315, 1625 6389, -1315, 664, 74, 5169, 9099, 1777, 3249, -1315, 97, 1626 -1315, -1315, 8985, 823, 708, 9849, -1315, -1315, 539, -1315, 1627 10667, 680, 762, 10451, 751, 10470, 10528, -1315, 764, -1315, 1628 -1315, -1315, -1315, 10547, 10547, 8605, 778, -1315, -1315, -1315, 1629 -1315, -1315, -1315, 801, -1315, 969, 2181, 8947, 10470, -1315, 1630 339, 731, 846, 265, 890, 795, 797, 810, 836, 33, 1631 -1315, -1315, 812, 497, -1315, 59, -1315, -1315, 2235, -1315, 1632 -1315, 588, 835, -1315, 622, 835, 847, 257, -1315, -1315, 1633 863, 8871, -1315, 854, 878, 9061, -1315, -1315, 765, 1714, 1634 8320, 7093, 675, -1315, 675, 428, 428, -1315, -1315, -1315, 1635 -1315, -1315, -1315, 428, 8871, 823, -1315, -1315, 9213, 843, 1636 -1315, 8757, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 886, 1637 3575, 10470, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 1638 -1315, -1315, -1315, -1315, -1315, -1315, 1777, -1315, 793, 865, 1639 884, 894, 869, 902, 905, 909, 2809, -1315, -1315, 918, 1640 120, 935, -1315, -1315, 927, -1315, -1315, -1315, 9296, -1315, 1641 -1315, -1315, -1315, -1315, 3249, -1315, 8833, 8833, -1315, 428, 1642 1777, 7213, 823, 8393, -1315, -1315, -1315, -1315, 9296, 74, 1643 -1315, -1315, 675, 272, -1315, -1315, 9296, -1315, 6557, -1315, 1644 -1315, 428, 428, 295, 9519, 937, 942, 934, 955, 428, 1645 -1315, -1315, -1315, -1315, 9927, -1315, 540, 6680, -1315, 272, 1646 963, -1315, 1777, 10749, 5888, -1315, -1315, -1315, -1315, 899, 1647 3249, -1315, 8466, 664, 7663, -1315, -1315, -1315, 1232, 551, 1648 812, 787, 9849, 591, 8985, -1315, 9849, -1315, -1315, -1315, 1649 -1315, 576, -1315, 980, 762, 283, 8605, -1315, 9699, -1315, 1650 -1315, 8605, -1315, 8719, 8605, -1315, -1315, 987, -1315, 599, 1651 996, 706, 999, -1315, -1315, 6048, 6769, -1315, 137, -1315, 1652 -1315, 6053, -1315, 286, 6053, -1315, -1315, -1315, -1315, -1315, 1653 -1315, -1315, -1315, -1315, -1315, -1315, 5169, -1315, -1315, 10470, 1654 10470, 10470, 10470, 10470, 10470, 10470, 10470, 10470, 10470, 10470, 1655 10470, 10470, 10470, 10470, 10470, 10470, 10470, 4672, 5169, -1315, 1656 497, 1307, -1315, -1315, 314, 314, -1315, -1315, 8833, -1315, 1657 -1315, 927, 574, -1315, 927, 10393, -1315, -1315, -1315, 9329, 1658 6769, 1002, 1007, -1315, 9099, -1315, -1315, 595, -1315, 1019, 1659 941, 1024, 1647, 103, 812, -1315, 314, 314, 812, 133, 1660 -1315, 314, 314, 927, -1315, -1315, 314, 314, -1315, 835, 1661 9781, 823, 10894, 412, 469, 9781, -1315, 6389, -1315, 812, 1662 -1315, 8871, -1315, 191, 5383, 5383, 5383, 823, -1315, 4873, 1663 979, 513, 886, 151, 1028, 1030, -1315, 1036, 3771, 531, 1664 -1315, 1124, 823, 5383, 574, 1777, 574, 664, 782, 835, 1665 -1315, -1315, 802, 835, -1315, -1315, -1315, 762, -1315, 835, 1666 272, 9927, -1315, 606, 1050, 616, 1051, -1315, 1052, 272, 1667 -1315, -1315, 9296, 272, 1054, 9699, 1053, -1315, 1508, -1315, 1668 360, 367, 787, -1315, 787, 1056, 10470, -1315, 787, 10894, 1669 -1315, -1315, 1059, -1315, -1315, -1315, 574, -1315, 10822, 878, 1670 -1315, 5383, 769, 8320, -1315, -1315, 595, 1057, 1058, 1232, 1671 3288, -1315, -1315, 9849, -1315, -1315, 1065, -1315, -1315, 1066, 1672 -1315, 1065, 1064, 10667, 5169, 121, 1034, 100, 1074, 1071, 1673 1075, 778, 1072, 1078, -1315, 1080, 1082, 9557, 6889, -1315, 1674 5169, -1315, 706, 2222, -1315, -1315, -1315, 314, 314, 5021, 1675 5169, 1079, -1315, -1315, 886, 619, -1315, 5169, -1315, -1315, 1676 971, -1315, -1315, -1315, -1315, 339, 339, 731, 731, 846, 1677 846, 846, 846, 265, 265, 890, 795, 797, 810, 836, 1678 10470, 975, -1315, 9927, 1084, 1086, 1087, 1307, -1315, -1315, 1679 -1315, -1315, -1315, 9927, 639, 5383, -1315, 8871, -1315, 7302, 1680 9175, -1315, 8757, 7182, -1315, -1315, 941, 9927, 923, 1093, 1681 1097, 1098, 1101, 1104, 1109, 1110, -1315, 3448, 1647, -1315, 1682 -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 1683 -1315, -1315, -1315, -1315, -1315, -1315, 927, -1315, -1315, -1315, 1684 812, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 1111, 1685 -1315, 1115, 1116, -1315, -1315, 120, 1079, 4873, -1315, -1315, 1686 -1315, 3575, 1113, -1315, -1315, -1315, -1315, -1315, 787, 6479, 1687 1200, -1315, -1315, -1315, -1315, 1100, 120, -1315, -1315, 927, 1688 -1315, -1315, 927, 146, 927, -1315, -1315, -1315, -1315, -1315, 1689 -1315, 9481, -1315, 272, -1315, -1315, 380, 387, 9213, 7422, 1690 1947, 10470, 2081, -1315, -1315, 1121, 77, 1121, -1315, 787, 1691 -1315, 314, -1315, -1315, 9630, 934, -1315, -1315, -1315, 942, 1692 1122, 1117, -1315, -1315, 1129, 1130, -1315, 769, 2444, -1315, 1693 476, -1315, 3288, 812, -1315, 1135, 9849, 9811, 8833, 1136, 1694 -1315, -1315, 1127, 1137, 1131, -1315, 10470, 134, 293, 1138, 1695 -1315, 1142, 574, 1142, 6769, 5169, -1315, -1315, 1142, 1139, 1696 -1315, 1150, 1152, 1153, 2222, -1315, -1315, -1315, 3575, -1315, 1697 -1315, -1315, -1315, 1156, 5169, 1140, 574, 4873, -1315, 6053, 1698 -1315, 574, -1315, -1315, 5169, -1315, 842, 835, -1315, -1315, 1699 -1315, -1315, -1315, -1315, -1315, 886, 878, 9061, -1315, -1315, 1700 7542, 1163, -1315, 882, 835, -1315, 892, 926, 835, -1315, 1701 428, 4553, -1315, -1315, -1315, 9927, 9927, -1315, 8393, 8393, 1702 -1315, 1161, 1164, 1169, 1172, -1315, 1171, 527, 41, 1079, 1703 -1315, 574, -1315, 3771, -1315, 5169, 423, -1315, 6649, 1175, 1704 1177, 10335, 1178, 1181, 9, 73, 48, 5169, 1182, 272, 1705 5169, 5169, 1132, 1180, 489, 1162, -1315, -1315, -1315, 1184, 1706 -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 787, 1707 1183, 5169, -1315, 9927, 9927, 314, 1186, -1315, 9668, -1315, 1708 -1315, 984, -1315, 2081, -1315, -1315, -1315, -1315, 1508, -1315, 1709 -1315, 1188, -1315, -1315, -1315, -1315, 1191, 2444, -1315, -1315, 1710 1185, -1315, 1065, -1315, -1315, 1777, 1194, -1315, -1315, -1315, 1711 640, 1198, -1315, 100, 1201, 10470, 1195, 100, 100, 1213, 1712 1214, -1315, 6048, 959, 835, -1315, -1315, 1036, 5169, 1217, 1713 1156, 654, 46, 1216, -1315, 1214, -1315, 1222, 1216, -1315, 1714 -1315, 1226, -1315, -1315, 927, 1229, 1230, 7062, 1231, 1235, 1715 1237, -1315, -1315, 1242, -1315, -1315, 927, -1315, -1315, -1315, 1716 -1315, 927, 5169, 5169, 878, 1244, -1315, -1315, -1315, -1315, 1717 -1315, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 10470, 10470, 1718 1246, 1253, 1216, -1315, -1315, 787, -1315, -1315, -1315, 4813, 1719 9811, 5169, 5169, 1321, 5169, -1315, 1239, -1315, 1247, -1315, 1720 1248, 5169, 1250, 5169, 986, 1252, 81, 314, 9367, 1069, 1721 -1315, -1315, 6479, 1261, 436, -1315, -1315, -1315, -1315, -1315, 1722 -1315, -1315, -1315, -1315, 10153, -1315, 8466, 1268, -1315, -1315, 1723 9811, 437, 451, -1315, 1270, 1271, 762, 1280, -1315, 352, 1724 -1315, -1315, 5169, 1281, -1315, -1315, 927, 1277, -1315, -1315, 1725 1284, 301, 375, 574, 1285, 1288, -1315, 1290, -1315, 9927, 1726 -1315, -1315, -1315, -1315, -1315, 1291, -1315, 9927, 9927, 9927, 1727 -1315, -1315, 1293, -1315, 1295, 1298, 1299, 590, 8088, 8204, 1728 -1315, -1315, 304, -1315, 1302, 1303, -1315, 8539, 652, 671, 1729 1308, 690, 6255, -1315, -1315, -1315, 471, -1315, 711, 1310, 1730 1311, 272, 1363, 1043, -1315, -1315, 5169, -1315, 10335, 6053, 1731 -1315, -1315, -1315, 1317, 1318, -1315, -1315, -1315, 1316, -1315, 1732 -1315, -1315, -1315, -1315, -1315, 9811, 762, 155, -1315, 1300, 1733 762, 1156, 297, 9927, -1315, -1315, -1315, -1315, -1315, -1315, 1734 -1315, -1315, 1314, -1315, -1315, -1315, -1315, -1315, -1315, 1323, 1735 1324, -1315, -1315, -1315, -1315, -1315, -1315, -1315, 1329, -1315, 1736 1330, -1315, -1315, 10335, 135, 5169, 10335, -1315, 1333, 5169, 1737 -1315, 281, 1344, 1348, -1315, -1315, 1340, 1343, 1331, -1315, 1738 988, -1315, -1315, -1315, 823, 1777, 1338, 801, 995, 10470, 1739 -1315, 713, 1349, 5169, -1315, 574, 574, 1350, 1355, 1356, 1740 1358, -1315, -1315, 8393, 1359, -1315, 1430, 10470, 1360, -1315, 1741 -1315, 10246, -1315, 722, -1315, 1347, 10335, 1352, -1315, -1315, 1742 1366, -1315, 1370, -1315, 1385, 1386, -1315, 1354, 9811, -1315, 1743 -1315, -1315, 762, 574, 1382, 1364, 1381, -1315, 1389, 1216, 1744 1216, -1315, -1315, -1315, -1315, -1315, 10335, 197, -1315, 1000, 1745 -1315, -1315, 7897, -1315, -1315, 1368, 5169, -1315, 5169, 7897, 1746 272, 9699, 272, 9699, 1391, -1315, 1392, -1315, -1315, 1390, 1747 801, -1315, 776, -1315, -1315, 5169, -1315, 1394, 1395, -1315, 1748 10470, 10470, -1315, -1315, 1077, 85, -1315, -1315, 1372, -1315, 1749 1077, -1315, -1315, 2494, 574, -1315, -1315, 272, 9699, 272, 1750 9699, 1403, 1383, 574, -1315, -1315, -1315, -1315, -1315, 10246, 1751 1401, 1077, 5739, 5169, 10157, 1402, 1077, 1408, 2494, 2404, 1752 -1315, -1315, -1315, 1409, -1315, -1315, -1315, -1315, 8833, -1315, 1753 -1315, -1315, 10024, -1315, 10246, -1315, -1315, 1388, 9931, -1315, 1754 -1315, 10157, 272, 2404, 272, 1413, 1414, 857, -1315, 10024, 1755 -1315, -1315, -1315, 9931, -1315, -1315, -1315, 272, 272, -1315, 1756 -1315, -1315, -1315, -1315, -1315, -1315, -1315 1069 1757 }; 1070 1758 1071 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1072 Performed when YYTABLE does not specify something else to do. Zero 1073 means the default is an error. */ 1074 static const yytype_uint16 yydefact[] = 1075 { 1076 291, 291, 311, 309, 312, 310, 313, 314, 297, 299, 1077 298, 0, 300, 325, 317, 322, 320, 321, 319, 318, 1078 323, 324, 329, 326, 327, 328, 544, 544, 544, 0, 1079 0, 0, 291, 217, 301, 315, 316, 7, 356, 0, 1080 8, 14, 15, 0, 2, 60, 61, 562, 9, 291, 1081 522, 520, 244, 3, 451, 3, 257, 0, 3, 3, 1082 3, 245, 3, 0, 0, 0, 292, 293, 295, 291, 1083 304, 307, 337, 283, 330, 335, 284, 345, 285, 352, 1084 349, 359, 0, 0, 360, 286, 470, 474, 3, 3, 1085 0, 2, 516, 521, 526, 296, 0, 0, 544, 574, 1086 544, 2, 585, 586, 587, 291, 0, 728, 729, 0, 1087 12, 0, 13, 291, 267, 268, 0, 292, 287, 288, 1088 289, 290, 523, 302, 389, 545, 546, 367, 368, 12, 1089 442, 443, 11, 438, 441, 0, 500, 495, 486, 442, 1090 443, 0, 0, 525, 218, 0, 291, 0, 0, 0, 1091 0, 0, 0, 0, 0, 291, 291, 2, 0, 730, 1092 292, 579, 591, 734, 727, 725, 732, 0, 0, 0, 1093 251, 2, 0, 529, 436, 437, 435, 0, 0, 0, 1094 0, 544, 0, 631, 632, 0, 0, 542, 538, 544, 1095 559, 544, 544, 540, 2, 539, 544, 598, 544, 544, 1096 601, 0, 0, 0, 291, 291, 309, 357, 2, 291, 1097 258, 294, 305, 338, 350, 475, 0, 2, 0, 451, 1098 259, 292, 331, 346, 353, 471, 0, 2, 0, 308, 1099 332, 339, 340, 0, 347, 351, 354, 358, 443, 291, 1100 369, 362, 366, 0, 391, 472, 476, 0, 0, 0, 1101 1, 291, 2, 527, 573, 575, 291, 2, 738, 292, 1102 741, 542, 542, 0, 292, 0, 0, 270, 544, 540, 1103 2, 291, 0, 0, 291, 547, 2, 498, 2, 551, 1104 0, 0, 0, 0, 0, 0, 18, 57, 4, 5, 1105 6, 16, 0, 0, 291, 2, 62, 63, 64, 65, 1106 45, 19, 46, 22, 44, 66, 291, 0, 69, 73, 1107 76, 79, 84, 87, 89, 91, 93, 95, 97, 102, 1108 492, 748, 449, 491, 0, 447, 448, 0, 563, 578, 1109 581, 584, 590, 593, 596, 356, 0, 2, 736, 0, 1110 291, 739, 2, 60, 291, 3, 423, 0, 431, 292, 1111 291, 304, 330, 284, 345, 352, 3, 3, 405, 409, 1112 419, 424, 470, 291, 425, 703, 704, 291, 426, 428, 1113 291, 2, 580, 592, 726, 2, 2, 246, 2, 456, 1114 0, 454, 453, 452, 138, 2, 2, 248, 2, 2, 1115 247, 2, 278, 2, 279, 0, 277, 0, 0, 0, 1116 0, 0, 0, 0, 0, 0, 564, 603, 0, 451, 1117 2, 558, 567, 657, 560, 561, 530, 291, 2, 597, 1118 606, 599, 600, 0, 273, 291, 291, 336, 292, 0, 1119 292, 0, 291, 731, 735, 733, 531, 291, 542, 252, 1120 260, 306, 0, 2, 532, 291, 496, 333, 334, 280, 1121 348, 355, 0, 291, 0, 746, 396, 0, 473, 497, 1122 249, 250, 517, 291, 433, 0, 291, 234, 0, 2, 1123 236, 0, 292, 0, 254, 2, 255, 275, 0, 0, 1124 2, 291, 542, 291, 483, 485, 484, 0, 0, 748, 1125 0, 291, 0, 291, 487, 291, 557, 555, 556, 554, 1126 0, 549, 552, 0, 0, 291, 52, 291, 66, 47, 1127 291, 54, 291, 291, 50, 51, 2, 124, 0, 0, 1128 445, 0, 444, 725, 118, 291, 17, 0, 29, 30, 1129 35, 2, 0, 35, 108, 109, 110, 111, 112, 113, 1130 114, 115, 116, 117, 107, 0, 48, 49, 0, 0, 1131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1132 0, 0, 0, 0, 0, 0, 0, 0, 104, 2, 1133 643, 450, 640, 544, 544, 648, 477, 291, 2, 582, 1134 583, 0, 594, 595, 0, 2, 737, 740, 118, 291, 1135 0, 2, 705, 292, 709, 700, 701, 707, 0, 2, 1136 2, 665, 544, 748, 614, 544, 544, 748, 544, 628, 1137 544, 544, 679, 432, 662, 544, 544, 670, 677, 291, 1138 427, 292, 0, 0, 291, 715, 292, 720, 748, 712, 1139 291, 717, 748, 291, 291, 291, 0, 118, 0, 18, 1140 2, 0, 19, 0, 457, 746, 0, 0, 463, 238, 1141 0, 291, 0, 0, 0, 542, 566, 570, 572, 602, 1142 605, 609, 612, 565, 604, 0, 281, 655, 0, 291, 1143 274, 0, 0, 0, 0, 272, 2, 0, 256, 533, 1144 291, 0, 0, 291, 2, 361, 381, 370, 0, 0, 1145 375, 369, 747, 0, 0, 394, 0, 292, 3, 412, 1146 3, 416, 415, 588, 0, 528, 291, 60, 3, 291, 1147 431, 292, 3, 425, 426, 2, 0, 0, 0, 482, 1148 303, 291, 478, 480, 3, 2, 2, 0, 499, 3, 1149 0, 551, 126, 0, 0, 219, 0, 0, 0, 0, 1150 36, 0, 0, 118, 291, 20, 0, 21, 0, 689, 1151 694, 446, 686, 544, 544, 0, 105, 3, 2, 27, 1152 0, 33, 0, 2, 25, 0, 103, 70, 71, 72, 1153 74, 75, 77, 78, 82, 83, 80, 81, 85, 86, 1154 88, 90, 92, 94, 96, 0, 0, 749, 291, 0, 1155 0, 0, 644, 645, 641, 642, 494, 493, 291, 0, 1156 291, 711, 291, 716, 292, 291, 659, 291, 291, 702, 1157 658, 2, 291, 0, 0, 0, 0, 0, 0, 0, 1158 0, 680, 0, 666, 617, 633, 667, 2, 613, 620, 1159 429, 615, 616, 430, 2, 627, 636, 629, 630, 663, 1160 664, 678, 706, 710, 708, 748, 265, 2, 742, 2, 1161 420, 714, 719, 421, 0, 399, 3, 3, 3, 3, 1162 451, 3, 0, 2, 465, 462, 747, 0, 458, 2, 1163 461, 464, 0, 291, 239, 261, 3, 269, 271, 0, 1164 451, 2, 568, 569, 2, 607, 608, 0, 656, 534, 1165 3, 342, 341, 344, 343, 291, 535, 0, 536, 369, 1166 0, 0, 291, 291, 0, 0, 689, 379, 382, 386, 1167 544, 386, 385, 378, 371, 544, 373, 376, 291, 396, 1168 390, 101, 397, 746, 0, 0, 434, 237, 0, 0, 1169 3, 2, 665, 427, 0, 524, 0, 748, 486, 0, 1170 291, 291, 291, 0, 548, 550, 127, 0, 0, 212, 1171 0, 0, 0, 220, 221, 53, 0, 55, 58, 59, 1172 0, 2, 125, 0, 0, 0, 690, 691, 687, 688, 1173 456, 67, 68, 106, 122, 3, 105, 0, 0, 24, 1174 35, 3, 0, 32, 99, 0, 3, 647, 651, 654, 1175 646, 3, 589, 3, 713, 718, 2, 60, 291, 3, 1176 3, 292, 0, 3, 619, 623, 626, 635, 669, 673, 1177 676, 291, 3, 618, 634, 668, 291, 291, 422, 291, 1178 291, 743, 0, 0, 0, 0, 253, 0, 101, 0, 1179 3, 3, 0, 459, 0, 455, 0, 0, 242, 291, 1180 0, 0, 126, 0, 0, 0, 0, 0, 126, 0, 1181 0, 105, 105, 18, 2, 0, 0, 3, 128, 129, 1182 2, 140, 130, 131, 132, 133, 134, 135, 142, 144, 1183 0, 0, 0, 282, 291, 291, 544, 0, 537, 291, 1184 372, 374, 0, 388, 690, 383, 387, 384, 377, 381, 1185 364, 395, 0, 576, 2, 661, 660, 0, 666, 2, 1186 479, 481, 501, 3, 509, 510, 0, 2, 505, 3, 1187 3, 0, 0, 553, 219, 0, 0, 0, 219, 0, 1188 0, 118, 693, 697, 699, 692, 746, 105, 0, 3, 1189 658, 39, 3, 37, 34, 0, 3, 98, 100, 0, 1190 2, 649, 650, 0, 0, 291, 0, 0, 0, 3, 1191 635, 0, 2, 621, 622, 2, 637, 2, 671, 672, 1192 0, 0, 60, 0, 3, 3, 3, 3, 407, 406, 1193 410, 2, 2, 745, 744, 119, 0, 0, 0, 0, 1194 3, 460, 3, 0, 240, 143, 3, 292, 291, 0, 1195 0, 0, 0, 2, 0, 188, 0, 186, 0, 0, 1196 0, 0, 0, 0, 0, 544, 118, 0, 148, 145, 1197 291, 0, 0, 264, 276, 3, 3, 543, 610, 365, 1198 380, 393, 291, 263, 291, 0, 512, 489, 291, 0, 1199 0, 488, 503, 0, 0, 0, 213, 0, 222, 56, 1200 2, 695, 696, 0, 123, 120, 0, 0, 0, 0, 1201 0, 23, 0, 652, 291, 577, 262, 721, 722, 723, 1202 0, 674, 291, 291, 291, 3, 3, 0, 682, 0, 1203 0, 0, 0, 291, 291, 3, 541, 119, 467, 0, 1204 0, 243, 292, 0, 0, 0, 0, 291, 189, 187, 1205 184, 0, 190, 0, 0, 0, 0, 194, 197, 195, 1206 191, 0, 192, 126, 35, 141, 139, 241, 0, 0, 1207 414, 418, 417, 0, 506, 2, 507, 2, 508, 502, 1208 291, 225, 0, 223, 0, 225, 291, 31, 121, 2, 1209 42, 2, 40, 38, 28, 26, 3, 724, 3, 3, 1210 3, 0, 0, 681, 683, 624, 638, 266, 2, 404, 1211 3, 403, 0, 469, 466, 126, 0, 0, 126, 3, 1212 0, 126, 185, 0, 2, 2, 206, 196, 0, 0, 1213 0, 137, 0, 571, 611, 2, 0, 0, 2, 226, 1214 0, 0, 214, 0, 3, 0, 0, 0, 0, 0, 1215 0, 684, 685, 291, 0, 468, 149, 0, 0, 2, 1216 162, 126, 151, 0, 179, 0, 126, 0, 2, 153, 1217 0, 2, 0, 2, 2, 2, 193, 32, 291, 511, 1218 513, 504, 0, 0, 0, 0, 0, 3, 3, 653, 1219 625, 639, 675, 408, 126, 155, 158, 0, 157, 161, 1220 3, 164, 163, 0, 126, 181, 126, 3, 0, 291, 1221 0, 291, 0, 2, 0, 2, 136, 2, 227, 228, 1222 0, 224, 215, 698, 0, 0, 150, 0, 0, 160, 1223 230, 165, 2, 232, 180, 0, 183, 169, 198, 3, 1224 207, 211, 200, 3, 0, 291, 0, 291, 0, 0, 1225 0, 43, 41, 156, 159, 126, 0, 166, 291, 126, 1226 126, 0, 170, 0, 0, 689, 208, 209, 210, 0, 1227 199, 3, 201, 3, 291, 216, 229, 146, 167, 152, 1228 126, 233, 182, 177, 175, 171, 154, 126, 0, 690, 1229 0, 0, 0, 0, 147, 168, 178, 172, 176, 175, 1230 173, 3, 3, 0, 0, 490, 174, 202, 204, 3, 1231 3, 203, 205 1232 }; 1233 1234 /* YYPGOTO[NTERM-NUM]. */ 1759 /* YYPGOTO[NTERM-NUM]. */ 1235 1760 static const yytype_int16 yypgoto[] = 1236 1761 { 1237 -1317, 4344, 3244, -1317, 633, -1317, 172, 896, -203, -1317, 1238 487, -518, -482, -910, -211, 1511, 0, -1317, 1129, 534, 1239 537, 615, 556, 984, 981, 988, 980, 989, -1317, 4, 1240 -451, 4784, -913, -1317, -702, 571, 13, -706, 419, -1317, 1241 190, -1317, 345, -964, -1317, -1317, 85, -1317, -1099, -1138, 1242 197, -1317, -1317, -1317, -1317, 20, -1281, -1317, -1317, -1317, 1243 -1317, -1317, -1317, 266, -1095, 50, -1317, -472, -1317, 443, 1244 239, -1317, 118, -1317, -294, -1317, -1317, -1317, 496, -829, 1245 -1317, -1317, 8, -952, 28, 2894, -1317, -1317, -1317, -214, 1246 -1317, 121, 1028, -198, 1848, 3592, -1317, -1317, 127, 296, 1247 1545, 1505, -1317, 1929, -1317, -1317, 137, 2139, -1317, 2574, 1248 804, -1317, -1317, -1317, -637, -1317, 886, 889, 490, 670, 1249 52, -1317, -1317, -1317, 893, 666, -510, -1317, -116, 40, 1250 1073, -1317, -1317, -889, -983, 933, 1377, 1006, -11, -1317, 1251 1351, 508, -322, -183, -145, 623, 724, -1317, 944, -1317, 1252 2701, 574, -443, 875, -1317, -1317, 659, -1317, -228, -1317, 1253 -45, -1317, -1317, -1317, -1253, 370, -1317, -1317, -1317, 1120, 1254 -1317, 33, -1317, -1317, -828, -100, -1316, -170, 2264, -1317, 1255 1914, -1317, 868, -1317, -155, 129, -181, -180, -175, 7, 1256 -41, -40, -35, 1507, 37, 53, 57, -29, -172, -163, 1257 -158, -150, -293, -500, -490, -485, -542, -284, -525, -1317, 1258 -1317, -499, 1035, 1038, 1040, 1486, 4616, -563, -531, -513, 1259 -491, -561, -1317, -506, -730, -727, -723, -562, -311, -227, 1260 -1317, -1317, 378, 19, -93, -1317, 3633, 159, -611, -428 1762 -1315, 4470, 3041, -1315, 39, -1315, 2507, 957, -207, -1315, 1763 461, -523, -489, -955, -200, 5636, 0, -1315, 72, 572, 1764 580, 245, 566, 964, 967, 968, 966, 976, -1315, 1601, 1765 -609, 5067, -949, -1315, -712, -938, 430, -728, 512, -1315, 1766 1697, -1315, 311, -1200, -1315, -1315, 43, -1315, -1142, -1154, 1767 154, -1315, -1315, -1315, -1315, -26, -1161, -1315, -1315, -1315, 1768 -1315, -1315, -1315, 231, -1202, 53, -1315, -908, -1315, 416, 1769 205, -1315, 78, -1315, -367, -1315, -1315, -1315, 470, -824, 1770 -1315, -1315, 13, -940, 465, 2639, -1315, -1315, -1315, -107, 1771 -1315, 102, 269, -201, 1635, 4179, -1315, -1315, 5, 449, 1772 756, -259, 1489, -1315, 1725, -1315, -1315, 52, 2057, -1315, 1773 2147, 612, -1315, -1315, -1315, -616, -1315, 866, 867, 456, 1774 631, 158, -1315, -1315, -1315, 858, 633, -514, -1315, -544, 1775 -359, 1913, -1315, -1315, -928, -991, 1380, 1398, 990, 324, 1776 -1315, 171, 457, -332, -192, -147, 584, 695, -1315, 919, 1777 -1315, 2794, 1328, -442, 850, -1315, -1315, 625, -1315, -238, 1778 -1315, -94, -1315, -1315, -1315, -1246, 330, -1315, -1315, -1315, 1779 1091, -1315, 35, -1315, -1315, -834, -97, -1314, -130, 1985, 1780 -1315, 3026, -1315, 844, -1315, -170, 1212, -183, -173, -167, 1781 7, -35, -34, -33, 936, 18, 55, 61, -143, -159, 1782 -156, -153, -151, -323, -535, -528, -526, -542, -318, -520, 1783 -1315, -1315, -512, 1006, 1009, 1011, 2067, 4895, -560, -543, 1784 -538, -536, -484, -1315, -481, -740, -737, -736, -586, -304, 1785 -339, -1315, -1315, 856, 707, -88, -1315, 3848, 29, -599, 1786 -291 1261 1787 }; 1262 1788 1263 /* YYDEFGOTO[NTERM-NUM]. */ 1264 static const yytype_int16 yydefgoto[] = 1265 { 1266 -1, 812, 467, 300, 47, 133, 134, 301, 302, 303, 1267 304, 760, 761, 1132, 1133, 305, 380, 307, 308, 309, 1268 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 1269 1029, 517, 974, 545, 321, 975, 946, 1056, 1517, 1058, 1270 1059, 1060, 1061, 1518, 1062, 1063, 1436, 1437, 1400, 1401, 1271 1402, 1496, 1497, 1501, 1502, 1537, 1538, 1064, 1360, 1065, 1272 1066, 1297, 1298, 1299, 1479, 1067, 145, 952, 953, 954, 1273 1380, 1460, 1471, 1472, 468, 469, 873, 874, 1037, 51, 1274 52, 53, 54, 55, 346, 158, 58, 59, 60, 61, 1275 62, 348, 64, 65, 264, 67, 68, 274, 350, 351, 1276 71, 72, 73, 118, 75, 204, 353, 119, 78, 120, 1277 80, 81, 454, 82, 453, 687, 688, 689, 907, 1085, 1278 908, 83, 84, 457, 455, 695, 854, 855, 856, 857, 1279 698, 699, 700, 358, 359, 360, 361, 465, 339, 135, 1280 136, 521, 323, 170, 644, 645, 646, 647, 648, 85, 1281 121, 87, 488, 489, 938, 490, 277, 494, 324, 88, 1282 137, 138, 89, 1320, 1107, 1108, 1109, 1110, 90, 91, 1283 716, 92, 273, 93, 94, 187, 1031, 678, 411, 125, 1284 95, 500, 501, 502, 188, 268, 190, 191, 192, 269, 1285 98, 99, 100, 101, 102, 103, 104, 195, 196, 197, 1286 198, 199, 824, 604, 605, 606, 607, 200, 609, 610, 1287 611, 571, 572, 573, 574, 750, 105, 613, 614, 615, 1288 616, 617, 618, 967, 752, 753, 754, 594, 364, 365, 1289 366, 367, 325, 164, 107, 108, 109, 369, 693, 568 1290 }; 1291 1292 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1293 positive, shift that token. If negative, reduce the rule whose 1294 number is the opposite. If YYTABLE_NINF, syntax error. */ 1789 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 1790 positive, shift that token. If negative, reduce the rule which 1791 number is the opposite. If YYTABLE_NINF, syntax error. */ 1792 #define YYTABLE_NINF -525 1295 1793 static const yytype_int16 yytable[] = 1296 1794 { 1297 49, 113, 149, 150, 398, 399, 427, 97, 151, 114, 1298 400, 452, 260, 401, 751, 765, 267, 409, 963, 106, 1299 106, 964, 402, 382, 383, 965, 947, 403, 56, 115, 1300 739, 406, 49, 595, 867, 404, 439, 1170, 826, 97, 1301 356, 829, 470, 147, 1068, 1069, 177, 836, 724, 49, 1302 50, 106, 729, 972, 918, 603, 161, 843, 1194, 825, 1303 56, 722, 341, 186, 608, 143, 209, 1378, 818, 49, 1304 193, 793, 1136, 216, 817, 1196, 226, 219, 504, 122, 1305 152, 1438, 50, 1198, 398, 399, 819, 1186, 106, 1301, 1306 400, 474, 476, 401, 210, 261, 153, 220, 262, 814, 1307 154, 424, 402, 672, 674, 113, 526, 403, 820, 815, 1308 280, 406, 31, 113, 816, 404, 266, 271, 1195, 31, 1309 31, 63, 1180, 668, 858, 859, 202, 69, 1199, 96, 1310 1168, 1169, 123, 31, 1076, 1197, 627, 76, 1203, 1204, 1311 631, 876, 168, 677, 149, 150, 306, 147, 31, 526, 1312 151, 681, 1438, 63, 161, 113, 344, 407, 1302, 69, 1313 209, 96, 171, 31, 31, 1457, 169, 372, 281, 76, 1314 713, 728, 148, 111, 963, 830, 203, 964, 96, 833, 1315 912, 965, 252, 446, 410, 186, 186, 1397, 1398, 418, 1316 741, 410, 189, 161, 719, 96, 357, 948, 96, 930, 1317 850, 266, 459, 470, 853, 410, 565, 438, 166, 49, 1318 1185, -231, -231, 142, 1244, 291, 161, 814, 480, 1525, 1319 410, 209, 152, 470, 149, 150, 666, 815, 442, 408, 1320 151, 470, 816, 827, 834, 600, 600, 407, 153, 306, 1321 566, 1170, 154, 922, 950, 173, 1540, 587, 526, 440, 1322 663, 49, 829, 252, 328, 797, 475, 1399, 97, 271, 1323 1015, 482, 1079, 846, 271, 266, 266, 847, 499, 376, 1324 106, 113, 166, 161, 475, 1116, 96, 341, 567, 56, 1325 818, 1014, -231, 1138, 462, 377, 1002, 253, 144, 96, 1326 993, 1170, 1176, 990, 306, 655, 70, 526, 819, 155, 1327 733, 50, 1442, 1397, 1398, 326, 306, 518, 595, 1247, 1328 146, 814, 1092, 595, 397, 189, 356, 608, 1177, 110, 1329 820, 815, 570, 670, 663, 734, 816, 147, 70, 675, 1330 41, 42, 1117, 1495, 372, 1186, 177, 1248, 96, 1500, 1331 113, 869, 1200, 641, 344, 735, 201, 526, 601, 619, 1332 96, 181, 1118, 628, 286, 1324, 1483, 632, 758, 1520, 1333 870, 803, 212, 624, 1527, 41, 42, 624, 435, 826, 1334 113, 1467, 63, 1408, 1381, 1325, 664, 471, 69, -287, 1335 96, 1068, 1069, 416, 1168, 1169, 897, 578, 76, 410, 1336 1511, 513, 1513, 76, 478, 266, 1442, 1177, 326, 386, 1337 818, 1442, 110, 852, 389, 186, 436, 555, 556, 356, 1338 1170, 247, 372, 41, 42, 387, 444, 1018, 819, 391, 1339 390, 1442, 250, 266, 464, 306, 306, 163, 1442, 266, 1340 435, 341, 624, 713, 492, 392, 843, 493, 671, 673, 1341 820, 763, 557, 558, 551, 552, 1156, 1158, 393, 746, 1342 664, 913, 263, 113, 1083, 252, 96, 110, 1361, -466, 1343 1125, -466, 887, 985, 394, 166, 470, 914, 41, 42, 1344 848, 266, 357, 356, 849, 1427, 1428, 602, -466, 266, 1345 1422, 624, -10, 49, 519, 880, 372, 718, 1186, -515, 1346 97, 163, 927, 113, 1423, 1186, 1329, 1103, 1134, 1115, 1347 1468, 868, 106, 597, 1433, 306, 915, 113, -439, 1100, 1348 306, 56, 306, 306, 1469, 1243, 110, 441, 518, -440, 1349 749, 712, 916, 518, 113, 344, 518, 41, 42, 276, 1350 1013, 909, 951, 50, 189, 1015, 1524, 278, 471, 608, 1351 2, 206, 4, 5, 6, 7, 1186, 70, 913, 110, 1352 329, 139, 238, 878, 76, 1331, 1535, 915, 471, 279, 1353 41, 42, 576, 1539, 1080, 357, 471, 848, 577, 570, 1354 570, 1099, -102, 1081, 76, 995, -102, 306, 1125, 786, 1355 803, 1359, 76, 912, 326, 326, 239, 434, 624, 344, 1356 1183, 240, 713, 619, 682, 553, 554, 1183, 1315, 601, 1357 577, 601, 710, 330, 63, 35, 1184, 36, 331, 845, 1358 69, 1473, 96, 1307, 1316, -119, 602, -119, 1473, 624, 1359 76, -119, 370, 1347, 624, 860, 619, 1348, 1317, 357, 1360 624, 746, 679, 624, 624, 624, -119, -119, 111, 875, 1361 215, 332, 1233, 1013, 1318, 212, 1237, 1362, 110, 434, 1362 341, 624, 326, 266, 333, 1407, 242, 911, 705, 41, 1363 42, 252, 328, 410, 110, 1235, 139, 140, 803, 1521, 1364 334, 326, 522, 559, 560, 41, 42, 1026, 8, 9, 1365 10, 11, 12, 113, 163, 384, 906, 595, 703, 371, 1366 176, 215, 356, 375, 704, 519, 720, 1073, 921, 759, 1367 519, 725, 721, 519, 764, 388, 726, 31, 425, 624, 1368 932, 619, 408, 730, 1111, 396, 805, 718, 718, 731, 1369 499, 1033, 426, 398, 399, 1275, 1276, 745, 813, 400, 1370 602, 891, 401, 746, 215, 34, 326, 746, 1475, 176, 1371 1476, 402, 176, 113, 344, 581, 403, 410, 749, 749, 1372 893, 406, 449, 464, 404, 110, 746, 139, 140, 983, 1373 980, 8, 9, 10, 11, 12, 41, 42, 212, 548, 1374 527, 528, 529, 431, 963, 549, 550, 964, 844, 70, 1375 881, 965, 410, 597, 712, 979, 1372, -363, 176, 984, 1376 31, 980, 570, 1522, 530, 215, 531, 243, 532, 533, 1377 624, 471, 624, 884, 998, 410, -392, 624, 344, 341, 1378 992, 601, 569, 1160, 410, 910, 704, 76, 34, 1231, 1379 45, 46, 1355, 601, 877, 577, 879, 471, 746, 460, 1380 1140, 690, 410, 215, 713, 527, 528, 529, 215, 461, 1381 1152, 37, 410, 76, 1356, 40, 813, 602, 357, 1358, 1382 746, 176, 41, 42, 1155, 746, 600, 483, 889, 530, 1383 569, 531, 410, 532, 1304, 710, 1028, 896, 45, 46, 1384 214, 898, 1157, 306, 600, 1363, 926, 407, 811, 503, 1385 600, 746, 291, 522, 1425, 522, 45, 46, 522, 1181, 1386 1422, 522, 106, 1443, 803, 624, 48, 112, 1240, 746, 1387 410, 56, 113, 344, 906, 176, 906, 524, 1489, 921, 1388 507, 951, 176, 713, 1490, 951, 951, 441, 113, 328, 1389 410, 214, 512, 215, 526, 112, 112, 1545, 48, 663, 1390 1424, 932, 932, 577, 909, 805, 718, 1368, 1369, 48, 1391 813, 113, 306, 712, 561, 48, 1435, 562, 748, 1104, 1392 410, 563, 602, 48, 921, 564, 45, 46, 567, 48, 1393 106, 1086, 48, 1086, 214, 48, 749, 337, 931, 1105, 1394 600, 418, 659, 410, 1507, -436, 45, 46, 112, 112, 1395 176, 585, 2, 206, 4, 5, 6, 7, 588, 1137, 1396 480, 328, 410, 212, 63, 1417, 980, 176, 344, -3, 1397 69, 176, 48, 637, 215, 48, 1226, 212, 1397, 1398, 1398 76, 656, 48, 736, 657, 737, 1493, 1435, 738, 624, 1399 624, 742, 658, 1125, 710, 214, 827, 328, 600, 116, 1400 660, 1322, 661, 1082, 662, 910, 1330, 1332, 1333, 306, 1401 1028, 665, 110, 48, 139, 140, 215, 35, 667, 36, 1402 257, 48, 691, 41, 42, 664, 48, 692, 106, 1167, 1403 911, 690, 694, 214, 176, 602, 696, 56, 214, -235, 1404 2, 206, 4, 5, 6, 7, 732, 159, 743, 113, 1405 806, 48, 48, 747, 906, 770, 771, 1078, 807, 906, 1406 772, 773, 37, 755, 174, 175, 40, 48, 932, 228, 1407 212, 326, 810, 41, 42, 48, 266, 1294, 1295, 1296, 1408 -3, 821, -12, 341, 48, 778, 779, 48, 1379, 37, 1409 921, 624, 1379, 40, 112, -13, 865, 866, 1120, 371, 1410 41, 42, 872, 258, 892, 35, 894, 36, 920, 112, 1411 -519, 159, 895, 112, -413, 344, 899, 48, 112, 902, 1412 1131, 935, 942, 214, 1131, 721, 43, 844, 944, 949, 1413 471, 48, 48, 955, 45, 46, 1188, 215, 48, 70, 1414 774, 775, 776, 777, 322, 48, 76, 956, 957, 958, 1415 921, 921, 959, 338, 960, 712, 976, 271, 113, 987, 1416 988, 989, 1004, 1005, 1006, 215, 219, 1007, 1008, 1009, 1417 215, 1010, 1283, 1284, 1131, 1286, 113, 106, 1021, -401, 1418 306, -400, 1291, 910, 1293, 210, 220, 1035, 910, 1458, 1419 1070, 176, 905, 48, 624, 1072, 1093, 1094, 113, 106, 1420 1095, 1096, 1102, 429, 214, 1112, 1104, 433, 56, 110, 1421 1202, 139, 140, 48, 48, 1113, 746, 106, 1119, 1121, 1422 41, 42, 970, 176, 1114, 1122, 1105, 1123, 1124, 1127, 1423 48, 1130, 1150, 1173, 48, 1174, 710, 322, 1189, 176, 1424 1171, 215, 1172, 624, 624, 642, 214, 1420, 863, 1190, 1425 1175, 1192, 271, 176, 1193, 215, 1533, 306, 1201, 1206, 1426 1205, 48, 1057, 1208, 1213, -3, 690, 441, 1218, 433, 1427 1221, 48, 487, 1223, 492, 37, 106, 174, 175, 40, 1428 440, 1227, 1232, 1350, 1234, 56, 41, 42, 1236, 48, 1429 113, 1239, 520, 398, 399, 48, 1245, 48, 1104, 400, 1430 1251, 63, 401, 1249, 159, 70, 1253, 69, 1255, 106, 1431 1256, 402, 375, 1257, 1258, 710, 403, 76, 1105, 129, 1432 406, 130, 131, 132, 404, 1259, 1261, 1268, 1285, 1277, 1433 41, 42, 112, 1278, 176, 1419, 1288, 48, 586, 1289, 1434 1403, 1290, 592, 1292, 663, 48, 1300, 266, 215, 48, 1435 1506, 141, 1306, 48, 1313, 921, 112, 1319, 112, 1321, 1436 1323, 625, 1345, 624, 1327, 629, 701, 214, 338, 1328, 1437 37, 921, 174, 175, 40, 1334, 1335, 1337, 471, 1343, 1438 1344, 41, 42, 509, 1188, 1346, 1353, 1357, 113, 1131, 1439 1131, 1131, 1354, 112, 76, 214, 1104, 1364, 112, 1365, 1440 214, 1296, 1373, 241, 244, 546, 547, 106, 1375, 1374, 1441 113, 1382, 1391, 1392, -402, 1395, 1105, 113, 1406, 113, 1442 1410, 113, 1412, 322, 322, 1414, 1415, 690, 1416, 106, 1443 1421, 1191, 1429, 149, 150, 1430, 106, 1431, 56, 151, 1444 1432, 921, 921, 546, 1348, 56, 407, 112, 1434, 1439, 1445 1505, 686, 1444, 212, 48, 113, 1366, 113, 1448, 1450, 1446 1452, 1446, 1454, 1456, 116, 48, 1461, 48, 113, 1462, 1447 664, 214, 1463, 1484, 1505, 1505, 70, 1474, 1486, 546, 1448 1488, 1491, 161, 1492, 306, 214, 48, 106, 1514, 487, 1449 1499, 322, 1515, 487, 1528, 1519, 56, 1526, 176, 1505, 1450 1530, 1543, 48, 520, 1536, 520, 372, 112, 520, 1544, 1451 322, 520, 1207, 781, 783, 780, 48, 1129, 112, 48, 1452 112, 782, 338, 1494, 784, 1305, 162, 1131, 1131, 1546, 1453 1409, 471, 1238, 1367, 1383, 1477, 1212, 1188, 471, 900, 1454 194, 213, 901, 217, 1188, 215, 227, 76, 441, 1220, 1455 232, 1087, 48, 70, 76, 1091, 112, 799, 112, 923, 1456 1034, 871, 112, 1126, 456, 1459, 937, 1101, 1314, 945, 1457 112, 0, 701, 715, 789, 322, 0, 790, 214, 791, 1458 0, 0, 0, 48, 48, 229, 801, 0, 230, 471, 1459 0, 234, 213, 236, 0, 1188, 0, 48, 0, 1057, 1460 245, 0, 0, 478, -288, 76, 0, 0, 1478, 0, 1461 1482, 8, 9, 10, 11, 12, 0, 842, 0, 0, 1462 0, 0, 592, 1508, 162, 0, 0, 37, 851, 183, 1463 184, 40, 1516, 0, 0, 213, 0, 373, 41, 42, 1464 31, 0, 0, 326, 1510, 412, 1512, 767, 768, 769, 1465 0, 0, 420, 0, 0, 0, 0, 0, 0, 0, 1466 0, 0, 0, 162, 904, 0, 410, 0, 34, 0, 1467 0, 0, 45, 46, 0, 0, 0, 48, 0, 0, 1468 0, 686, 0, 37, 0, 905, 162, 40, 1541, 48, 1469 1542, 701, 1371, 0, 41, 42, 213, 0, 443, 0, 1470 643, 701, 0, 1549, 1550, 37, 70, 183, 184, 40, 1471 0, 0, 890, 70, 0, 701, 41, 42, 0, 487, 1472 717, 0, 0, 0, 412, 0, 0, 229, 45, 46, 1473 0, 215, 642, 0, 213, 0, 0, 0, 112, 213, 1474 0, 338, 185, 0, 1396, 0, 0, 1404, -289, 0, 1475 45, 46, 0, 0, 498, 8, 9, 10, 11, 12, 1476 0, 48, 0, 506, 70, 508, 511, 0, 0, 0, 1477 48, 0, 48, 514, 515, 214, 0, 0, 575, 112, 1478 0, 0, 0, 0, 31, 0, 579, 508, 508, 582, 1479 1441, 0, 0, 0, 497, 1445, 0, 1481, 0, 1481, 1480 994, 0, 48, 0, 373, 801, 0, 0, 0, 176, 1481 702, 723, 34, 727, 0, 0, 0, 0, 66, 117, 1482 0, 0, 112, 1466, 213, 508, 215, 0, 0, 0, 1483 0, 986, 0, 1481, 0, 1481, 642, 0, 0, 0, 1484 0, 991, 0, 0, 112, 0, 0, 0, 112, 0, 1485 66, 0, 0, 412, 971, 1003, 0, 420, 0, 0, 1486 0, 508, 0, 0, 0, -290, 229, 160, 234, 0, 1487 0, 0, 8, 9, 10, 11, 12, 0, 0, 0, 1488 0, 0, 373, 0, 0, 0, 0, 221, 0, 0, 1489 0, 0, 0, 801, 0, 0, 0, 0, 112, 74, 1490 338, 31, 0, 0, 0, 213, 0, 1534, 0, 0, 1491 126, 126, 126, 1534, 0, 0, 686, 0, 0, 701, 1492 701, 0, 213, 259, 1534, 0, 0, 0, 1534, 34, 1493 0, 74, 0, 0, 412, 0, 112, 0, 487, 1106, 1494 322, 0, 0, 0, 0, 0, 0, 213, 0, 0, 1495 48, 0, 0, 0, 0, 48, 229, 0, 0, 0, 1496 0, 214, 864, 0, 0, 327, 0, 0, 222, 0, 1497 0, 0, 48, 259, 349, 0, 0, 701, 701, 176, 1498 0, 0, 126, 0, 126, 0, 534, 535, 536, 537, 1499 538, 539, 540, 541, 542, 543, 842, 0, 0, 0, 1500 0, 0, 0, 0, 405, 0, 0, 0, 0, 275, 1501 0, 917, 0, 919, 0, 0, 702, 456, 0, 423, 1502 544, 0, 428, 430, 0, 575, 575, 160, 0, 508, 1503 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, 1504 508, 508, 508, 508, 508, 508, 508, 0, 447, 112, 1505 0, 0, 450, 0, 451, 352, 214, 0, 0, 1165, 1506 1166, 0, 0, 458, 0, 126, 0, 0, 213, 66, 1507 0, 0, 48, 126, 472, 126, 126, 686, 0, 0, 1508 126, 0, 126, 126, 479, 0, 0, 0, 0, 0, 1509 0, 37, 430, 183, 184, 40, 213, 546, 0, 0, 1510 0, 213, 41, 42, 0, 0, 0, 0, 0, 77, 1511 0, 0, 882, 112, 112, 112, 885, 1215, 1216, 801, 1512 8, 9, 10, 11, 12, 1311, 0, 0, 599, 448, 1513 600, 0, 0, 0, 0, 702, 45, 46, 509, 0, 1514 0, 77, 0, 0, 0, 702, 0, 0, 0, 31, 1515 74, 0, 126, 0, 0, 74, 0, 701, 259, 702, 1516 0, 0, 593, 0, 0, 701, 701, 701, 621, 0, 1517 0, 0, 213, 0, 0, 508, 0, 34, 223, 0, 1518 0, 626, 0, 0, 0, 626, 213, 643, 259, 0, 1519 0, 0, 0, 1038, 0, 0, 0, 0, 0, 0, 1520 0, 0, 0, 0, 338, 0, 498, 0, 0, 0, 1521 0, 0, 8, 9, 10, 11, 12, 0, 0, 748, 1522 0, 410, 0, 0, 0, 0, 1106, 45, 46, 701, 1523 0, 0, 0, 0, 1088, 472, 508, 0, 0, 0, 1524 0, 31, 48, 48, 0, 0, 497, 0, 575, 222, 1525 349, 112, 112, 0, 0, 472, 0, 0, 0, 0, 1526 124, 127, 128, 472, 0, 354, 508, 0, 0, 34, 1527 0, 0, 0, 0, 37, 0, 183, 184, 40, 213, 1528 0, 697, 0, 0, 430, 41, 42, 0, 0, 112, 1529 0, 643, 37, 0, 183, 184, 40, 1336, 0, 711, 1530 0, 66, 0, 41, 42, 1338, 1339, 1340, 0, 430, 1531 0, 185, 0, 430, 0, 0, 74, 0, 1106, 45, 1532 46, 0, 0, 0, 0, 0, 0, 0, 0, 265, 1533 0, 352, 254, 0, 255, 0, 74, 45, 46, 0, 1534 0, 0, 259, 349, 74, 0, 48, 112, 0, 0, 1535 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 1536 77, 0, 352, 702, 702, 77, 412, 0, 0, 1384, 1537 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1538 352, 0, 74, 0, 0, 0, 508, 0, 792, 0, 1539 37, 1038, 183, 184, 40, 48, 0, 0, 0, 0, 1540 0, 41, 42, 0, 0, 0, 626, 804, 0, 0, 1541 8, 9, 10, 11, 12, 395, 1106, 0, 0, 823, 1542 0, 702, 702, 0, 352, 414, 415, 904, 0, 410, 1543 419, 508, 421, 422, 0, 45, 46, 593, 0, 31, 1544 0, 0, 593, 1141, 0, 0, 0, 1480, 626, 1480, 1545 0, 349, 349, 349, 0, 0, 0, 126, 126, 223, 1546 1153, 0, 0, 0, 0, 0, 508, 34, 0, 349, 1547 0, 0, 0, 0, 0, 0, 213, 0, 0, 508, 1548 0, 0, 0, 1480, 0, 1480, 126, 697, 352, 126, 1549 126, 0, 126, 0, 126, 126, 0, 0, 472, 126, 1550 126, 0, 0, 37, 1281, 183, 184, 40, 0, 931, 1551 0, 600, 322, 0, 41, 42, 0, 45, 46, 0, 1552 508, 0, 0, 0, 472, 0, 77, 349, 0, 0, 1553 0, 0, 352, 352, 352, 0, 936, 0, 412, 430, 1554 1504, 354, 410, 0, 79, 0, 77, 0, 45, 46, 1555 352, 0, 0, 0, 77, 0, 0, 0, 0, 0, 1556 0, 259, 711, 0, 0, 0, 0, 966, 352, 1312, 1557 0, 0, 354, 0, 0, 0, 79, 0, 1241, 74, 1795 49, 114, 453, 399, 428, 69, 953, 98, 150, 151, 1796 152, 770, 971, 400, 115, 972, 973, 407, 261, 401, 1797 268, 498, 383, 384, 743, 628, 604, 402, 440, 632, 1798 403, 609, 49, 404, 848, 405, 1148, 69, 1182, 98, 1799 755, 596, 831, 148, 408, 1078, 1140, 980, 872, 49, 1800 726, 670, 77, 50, 731, 1077, 162, 823, 410, 798, 1801 830, 153, 824, 187, 825, 819, 210, 144, 342, 49, 1802 194, 679, 820, 217, 821, 505, 227, 924, 167, 683, 1803 822, 1206, 220, 399, 77, 50, 1192, 928, 31, 1396, 1804 861, 861, 861, 400, 674, 676, 177, 407, 154, 401, 1805 1180, 1181, 63, 1460, 155, 425, 114, 402, 1198, 861, 1806 403, 1215, 1216, 404, 114, 405, 31, 267, 272, 834, 1807 1210, 863, 864, 714, 408, 841, 31, 281, 566, -234, 1808 -234, 1261, 475, 477, 63, 447, 31, 1188, 409, 882, 1809 203, 1207, 31, 167, 1316, 1208, 177, 307, 148, 177, 1810 471, 150, 151, 152, 460, 162, 114, 345, 253, 1262, 1811 411, 210, 730, 567, 1189, 721, 1211, 861, 373, 577, 1812 971, 123, 31, 972, 973, 578, 327, 1460, 715, 1417, 1813 1418, 745, 292, 476, 819, 282, 187, 187, 411, 1258, 1814 204, 820, 1479, 821, 162, 177, 419, 936, 411, 724, 1815 -234, 142, 267, 527, 153, 1209, 481, 918, 411, 111, 1816 49, 956, 832, 1317, 601, 1245, 527, 162, 668, 1249, 1817 41, 42, 210, 111, 1197, 140, 141, 169, 527, 443, 1818 145, 150, 151, 152, 41, 42, 665, 527, 954, 436, 1819 307, 154, 839, 1125, 601, 1182, 802, 155, 762, 1419, 1820 808, 170, 49, 588, 242, 245, 1085, 69, 177, 98, 1821 272, 861, 868, 666, 1399, 272, 267, 267, 1024, 327, 1822 117, 1506, 114, 823, 162, 862, 862, 862, 824, 1464, 1823 825, 819, 1150, 342, 609, 999, 1023, 463, 820, 1088, 1824 821, 1002, 857, 1490, 862, 307, 1011, 735, 1182, 657, 1825 476, 436, 1092, 124, 77, 50, 1535, 307, 1537, 77, 1826 665, 471, 177, 835, 1341, 903, 596, 838, 160, 177, 1827 1189, 596, 568, 571, 1548, 1417, 1418, 672, 148, 1212, 1828 1101, 471, 377, 677, 834, 373, 167, 666, 855, 471, 1829 1519, 114, 858, 143, 1559, 345, 1524, 1124, 378, 602, 1830 620, 1563, 862, 31, 63, 556, 557, 510, 111, 472, 1831 1180, 1181, 1198, 1549, 625, 527, 147, 1544, 625, 41, 1832 42, 114, 1551, 111, 598, 259, 156, 1464, 831, 547, 1833 548, 178, 1464, 160, 41, 42, 172, 177, 1078, 714, 1834 1564, 558, 559, 736, 823, 1428, 267, 768, 1077, 824, 1835 737, 825, 1464, 1126, 177, 684, 187, -122, 177, 1464, 1836 1127, 578, 1346, 373, 1403, 457, 323, 547, 182, -122, 1837 -122, 848, 1182, 202, 267, 339, 307, 307, -122, 387, 1838 267, 262, 390, 625, 263, -122, 392, 342, 8, 9, 1839 10, 11, 12, -290, 715, 388, 862, 111, 391, 70, 1840 1449, 1450, 393, 547, 114, 327, 327, 549, 41, 42, 1841 893, 394, 1339, 550, 551, 56, 116, 31, 1004, 1340, 1842 77, 177, 267, 808, 498, 430, 919, 395, 1379, 434, 1843 267, 70, 625, 921, 49, 1455, 1348, 373, 720, 69, 1844 77, 98, 920, 1136, 114, 34, 919, 56, 77, 922, 1845 1146, 873, 248, 921, 1112, 1022, 307, 251, 114, 323, 1846 609, 307, 1089, 307, 307, 213, 1247, -520, 915, 1090, 1847 472, 753, 1198, 327, 851, 114, 345, 886, 852, 1198, 1848 957, 211, 1168, 1170, 221, 253, 77, 50, 1257, 1195, 1849 472, 434, 327, 439, 488, 917, 264, 1024, 472, 330, 1850 714, 645, 1195, 1330, 111, 1196, 140, 239, 884, 1027, 1851 331, 287, 808, -10, 521, 41, 42, 1332, 1322, 1331, 1852 571, 571, 41, 42, 1377, 471, 160, -443, 307, 1290, 1853 1291, 853, 1198, 1333, 712, 854, 63, 750, 853, 625, 1854 345, 240, 1108, -469, 620, 810, 241, 483, 514, -444, 1855 602, 933, 602, 1380, 500, 715, 570, 327, 411, 277, 1856 587, 874, 1136, 279, 593, 45, 46, 918, 280, 1022, 1857 625, 772, 773, 774, -469, 625, -469, 620, 177, 332, 1858 -469, 625, 333, 626, 625, 625, 625, 630, 1496, -105, 1859 339, 371, 875, -105, 643, 1496, 111, 334, 876, 849, 1860 705, 1427, 1109, 625, 598, 267, 706, 41, 42, 342, 1861 177, 722, 725, 111, 729, 140, 141, 723, 493, 1179, 1862 494, 442, 178, 1035, 41, 42, 177, 335, 215, 2, 1863 207, 4, 5, 6, 7, 114, 732, 441, 912, 629, 1864 372, 177, 733, 633, 1082, 323, 323, 579, 1545, 411, 1865 727, 70, 1365, 596, 376, 728, 1366, 107, 107, 749, 1866 1120, 625, 938, 620, 389, 750, 897, 56, 385, 720, 1867 720, 397, 750, 688, 1042, 519, 899, 399, 409, 988, 1868 215, 582, 750, 411, 77, 989, 117, 400, 1498, 107, 1869 1499, 426, 407, 401, 35, 427, 36, 114, 345, 1001, 1870 1243, 402, 753, 753, 403, 706, 578, 404, 432, 405, 1871 77, 488, 1373, 323, -122, 488, -122, 450, 750, 408, 1872 -122, -367, 177, 215, -396, 521, 107, 521, 253, 329, 1873 521, 1374, 323, 521, 472, -122, -122, 750, 971, 504, 1874 1444, 972, 973, 808, 339, 1546, 1390, 571, 714, 213, 1875 1376, 779, 780, 781, 782, 625, 750, 625, 1457, 1007, 1876 472, 461, 625, 345, 869, 752, 602, 411, 810, 1172, 1877 342, 1381, 484, 1445, 45, 46, 230, 750, 602, 1442, 1878 231, 979, 1465, 235, 215, 237, 462, 37, 750, 175, 1879 176, 40, 246, 111, 292, 140, 141, 323, 41, 42, 1880 712, 552, 553, 715, 41, 42, 673, 675, 806, 111, 1881 508, 140, 141, 923, 130, 925, 131, 132, 133, 457, 1882 41, 42, 215, 513, 372, 41, 42, 215, 937, 307, 1883 601, 1517, 1457, 527, 69, 244, 1512, 45, 46, 847, 1884 525, 887, 1513, 411, 593, 37, 1193, 175, 176, 40, 1885 856, 625, 253, 329, 411, 164, 41, 42, 114, 345, 1886 912, 890, 912, 411, 562, 37, 957, 175, 176, 40, 1887 957, 957, 213, 665, 114, 563, 41, 42, 915, 1368, 1888 565, 77, 715, 70, 554, 555, 519, 938, 938, 564, 1889 177, 519, 720, 568, 519, 850, 338, 114, 307, 56, 1890 666, 1152, 376, 411, 688, 917, -440, 48, 113, 107, 1891 1113, 865, 215, 738, 345, 739, 589, 1569, 740, 230, 1892 164, 746, 586, 578, 753, 658, 881, 327, 419, 661, 1893 411, 63, 560, 561, 37, 163, 113, 113, 40, 48, 1894 -3, 1164, 488, 411, 659, 41, 42, 791, 638, 195, 1895 48, 1167, 218, 601, 660, 228, 48, 345, 481, 329, 1896 411, 712, 662, 37, 48, 663, 339, 40, 1238, 664, 1897 48, 43, 1531, 48, 41, 42, 48, 667, 625, 625, 1898 45, 46, 832, 329, 601, 1169, 849, 601, 258, 1337, 1899 113, 113, 645, 215, 1309, 1310, 1311, 669, 307, 1047, 1900 816, 693, 601, 1200, 528, 529, 530, 500, 694, 45, 1901 46, 1347, 1349, 1350, 48, 696, 435, 48, 1254, 698, 1902 411, 442, 1136, 1095, 48, 1095, 1003, -238, 531, 547, 1903 532, 806, 533, 534, 163, 215, 992, 989, 114, 734, 1904 1097, 750, 994, 912, 329, 411, -12, 374, 912, 747, 1905 77, 1386, 1387, 1437, 989, 48, 751, 938, 230, 759, 1906 235, 1442, 1443, 48, 811, 267, 1491, 1492, 48, 812, 1907 510, 1417, 1418, 163, 775, 776, 783, 784, 435, 1397, 1908 342, 815, 625, 1397, 777, 778, 826, 2, 207, 4, 1909 5, 6, 7, 48, 48, -13, 163, 870, 213, 645, 1910 472, 523, 871, 878, 528, 529, 530, 345, 444, 48, 1911 898, 900, 213, 164, 901, 908, 955, 48, 905, -417, 1912 806, 926, -524, 941, 950, 948, 48, 339, 531, 48, 1913 532, 723, 533, 1319, 961, 963, 113, 962, 966, 965, 1914 967, 107, 968, 688, 996, 984, 997, 998, 230, 272, 1915 114, 113, 35, 1013, 36, 113, 215, 1014, 1015, 48, 1916 113, 1016, 97, 220, 1017, 488, 1115, 323, 114, 1018, 1917 1019, 1030, 307, 48, 48, -405, -404, 69, 1044, 1079, 1918 48, 1081, 1102, 1103, 215, 1480, 625, 48, 911, 215, 1919 114, 1104, 1105, 750, 97, 1111, 1121, 1122, 1123, 1217, 1920 1047, 1132, 1141, 1113, 1128, 149, 978, 177, 213, 712, 1921 1133, 97, 1134, 1135, 374, -3, 2, 207, 4, 5, 1922 6, 7, 1138, 1162, 77, 190, 847, 1183, 97, 1185, 1923 1184, 97, 1186, 1187, 1201, 48, 1202, 1204, 625, 625, 1924 1205, 1213, 1218, 1225, 1220, 229, 1230, 272, 1440, -3, 1925 1557, 1235, 307, 1233, 37, 48, 48, 1200, 40, 1239, 1926 692, 215, 1244, 1246, 493, 41, 42, 8, 9, 10, 1927 11, 12, 48, 1251, 63, 215, 48, 1248, 70, 1259, 1928 1252, 35, 1263, 36, 1266, 114, 1268, 644, 712, 1270, 1929 1271, 719, 374, 1272, 56, 399, 31, 1273, 1113, 1274, 1930 45, 46, 1276, 48, 77, 400, 1283, 688, 1292, 407, 1931 97, 401, 523, 48, 523, 1293, 1296, 523, 1300, 402, 1932 523, 1303, 403, 97, 34, 404, 1321, 405, 1328, 1304, 1933 1305, 48, 1307, 665, 1315, 1334, 408, 48, 1336, 48, 1934 1338, 1066, 1344, 1342, 216, 267, 1345, 1351, 398, 190, 1935 1352, 806, 1353, 1355, 472, 1361, 1530, 1362, 1363, 1364, 1936 666, 243, 1114, 625, 1371, 1372, 570, 1375, 411, 1382, 1937 1383, 215, 97, 1311, 113, 45, 46, 1391, 1392, 48, 1938 1393, 1403, 1400, 177, 97, 1411, 1412, 48, 114, -406, 1939 1430, 48, 1415, 1426, 1432, 48, 216, -291, 113, 1434, 1940 113, 1113, 1435, 1441, 8, 9, 10, 11, 12, 442, 1941 1451, 1446, 114, 1436, 97, 1452, 1453, 1200, 1454, 114, 1942 644, 114, 1456, 114, 1200, 1366, 1470, 1461, 479, 1466, 1943 1472, 1474, 1476, 31, 1468, 113, 1478, 339, 644, 216, 1944 113, 644, 1483, 150, 151, 152, 1484, 70, 1485, 1486, 1945 1497, 1507, 1509, 1529, 1523, 1511, 1515, 1516, 114, 1115, 1946 114, 34, 1538, 56, 77, 1539, 1543, 1550, 1552, 1554, 1947 1560, 77, 114, 1567, 1568, 1219, 785, 1200, 1529, 1529, 1948 786, 788, 787, 1320, 1518, 1429, 162, 1570, 307, 113, 1949 97, 692, 789, 1385, 1250, 1401, 48, 1500, 1096, 1224, 1950 216, 906, 907, 1529, 1232, 214, 929, 48, 1100, 48, 1951 373, 603, 1137, 1203, 472, 233, 1043, 327, 877, 1110, 1952 1329, 472, 804, 943, 77, 717, 794, 951, 48, 795, 1953 37, 796, 184, 185, 40, 0, 107, 0, 216, 0, 1954 0, 41, 42, 216, 48, 0, 0, 0, 0, 0, 1955 113, 0, 0, 0, 1115, 0, 0, 214, 0, 48, 1956 0, 113, 48, 113, 0, 0, 0, 910, 190, 411, 1957 0, 0, 215, 0, 472, 911, 45, 46, 0, 0, 1958 0, 1298, 1299, 0, 1301, 66, 118, 0, 0, 0, 1959 0, 1306, 0, 1308, 0, 48, 0, 0, 213, 113, 1960 214, 113, 0, 0, 107, 113, 0, 8, 9, 10, 1961 11, 12, 0, 113, 211, 221, 0, 66, 0, 0, 1962 0, 70, -292, 0, 0, 0, 48, 48, 216, 8, 1963 9, 10, 11, 12, 161, 0, 31, 56, 0, 0, 1964 48, 37, 0, 184, 185, 40, 97, 0, 0, 0, 1965 603, 0, 41, 42, 222, 1114, 0, 1115, 31, 0, 1966 0, 214, 0, 0, 34, 0, 0, 0, 1439, 37, 1967 0, 184, 185, 40, 0, 75, 0, 0, 186, 0, 1968 41, 42, 0, 0, 1066, 0, 34, 45, 46, 0, 1969 1503, 260, 1503, 0, 0, 0, 442, 0, 0, 214, 1970 0, 70, 174, 0, 214, 107, 600, 75, 601, 216, 1971 0, 0, 441, 0, 0, 45, 46, 56, 0, 499, 1972 0, 0, 0, 48, 0, 0, 0, 1503, 0, 1503, 1973 692, 0, 0, 328, 0, 48, 37, 0, 184, 185, 1974 40, 260, 350, 0, 223, 254, 0, 41, 42, 0, 1975 1114, 216, 0, 0, 0, 1423, 0, 323, 0, 0, 1976 -293, 215, 818, 0, 603, 0, 0, 8, 9, 10, 1977 11, 12, 406, 600, 0, 601, 0, 0, 644, 0, 1978 1389, 0, 45, 46, 0, 113, 0, 424, 0, 214, 1979 429, 431, 0, 0, 703, 161, 31, 0, 0, 37, 1980 0, 184, 185, 40, 0, 0, 0, 0, 48, 0, 1981 41, 42, 704, 0, 0, 0, 448, 48, 0, 48, 1982 451, 0, 452, 0, 34, 0, 113, 0, 0, 0, 1983 0, 459, 353, 0, 0, 1416, 266, 66, 1424, 0, 1984 0, 417, 473, 0, 0, 45, 46, 0, 0, 48, 1985 916, 0, 480, 1114, 0, 0, 0, 107, 0, 215, 1986 431, 70, 0, 0, 437, 0, 0, 0, 70, 113, 1987 214, 0, 216, 0, 445, 0, 0, 56, 0, 107, 1988 0, 818, 603, 1463, 56, 644, 0, 214, 1467, 0, 1989 0, 0, 0, 113, 692, 0, 644, 107, 113, 0, 1990 216, 0, 0, 0, 0, 216, 449, 0, 0, 0, 1991 0, 0, 214, 0, 0, 0, 0, 0, 1489, 0, 1992 0, 70, 0, 0, 0, 0, 260, 75, 0, 0, 1993 594, 0, 75, 0, 0, 0, 622, 56, 0, 0, 1994 0, 0, 520, 0, 0, 0, 0, 0, 113, 627, 1995 0, 0, 0, 627, 0, 0, 260, 0, 0, 107, 1996 0, 125, 128, 129, 0, 0, 0, 0, 0, 37, 1997 0, 184, 185, 40, 0, 0, 0, 216, 818, 0, 1998 41, 42, 0, 0, 0, 0, 113, 0, 0, 0, 1999 603, 216, 107, 0, 0, 0, 0, 0, 0, 0, 2000 48, 703, 0, 473, 1558, 48, 910, 78, 411, 0, 2001 1558, 0, 0, 0, 0, 45, 46, 0, 350, 704, 2002 0, 1558, 48, 473, 0, 1558, 223, 0, 0, 0, 2003 0, 473, 0, 214, 255, 0, 256, 0, 0, 78, 2004 0, 8, 9, 10, 11, 12, 0, 0, 0, 699, 2005 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, 2006 0, 214, 0, 0, 0, 0, 214, 713, 0, 66, 2007 31, 0, 1091, 0, 916, 0, 224, 431, 0, 0, 2008 0, 431, 0, 0, 0, 0, 0, 216, 0, 0, 2009 681, 0, 0, 75, 0, 107, 0, 80, 34, 0, 2010 0, 0, 113, 37, 603, 184, 185, 40, 353, 0, 2011 260, 350, 0, 75, 41, 42, 707, 396, 0, 107, 2012 0, 75, 0, 703, 0, 48, 107, 415, 416, 80, 2013 0, 0, 420, 703, 422, 423, 0, 0, 214, 353, 2014 910, 704, 411, 0, 0, 0, 0, 703, 0, 45, 2015 46, 704, 214, 520, 0, 0, 797, 353, 520, 75, 2016 0, 520, 0, 0, 355, 704, 225, 0, 113, 113, 2017 113, 0, 499, 0, 627, 809, 0, 0, 0, 107, 2018 0, 0, 8, 9, 10, 11, 12, 828, 0, 0, 2019 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2020 0, 353, 0, 0, 0, 594, 0, 413, 0, 0, 2021 594, 31, 0, 0, 421, 0, 627, 0, 0, 350, 2022 350, 350, 0, 0, 31, 0, 644, 0, 535, 536, 2023 537, 538, 539, 540, 541, 542, 543, 544, 350, 34, 2024 0, 0, 0, 0, 0, 0, 0, 927, 214, 0, 2025 0, 0, 34, 0, 356, 916, 699, 37, 0, 78, 2026 916, 40, 545, 0, 78, 353, 0, 473, 41, 42, 2027 0, 0, 0, 0, 0, 0, 0, 1504, 0, 1504, 2028 0, 752, 0, 411, 0, 0, 413, 0, 216, 0, 2029 45, 46, 0, 473, 43, 0, 350, 0, 0, 0, 2030 0, 48, 48, 45, 46, 942, 0, 0, 431, 353, 2031 353, 353, 113, 113, 1504, 0, 1504, 895, 0, 0, 2032 0, 0, 0, 0, 0, 0, 902, 0, 353, 0, 2033 904, 0, 260, 713, 0, 0, 0, 0, 974, 0, 2034 576, 993, 0, 0, 0, 0, 353, 0, 580, 80, 2035 113, 583, 0, 0, 80, 703, 703, 75, 224, 0, 2036 0, 0, 0, 0, 8, 9, 10, 11, 12, 0, 2037 0, 0, 0, 704, 704, 0, 0, 0, 699, 0, 2038 0, 0, 0, 75, 0, 0, 353, 0, 699, 0, 2039 350, 0, 627, 31, 0, 1010, 0, 627, 809, 0, 2040 0, 0, 699, 0, 8, 9, 10, 11, 12, 0, 2041 48, 113, 1021, 703, 703, 413, 0, 0, 1037, 421, 2042 113, 34, 0, 353, 0, 78, 37, 0, 184, 185, 2043 40, 704, 704, 31, 0, 48, 48, 41, 42, 0, 2044 355, 0, 0, 0, 0, 78, 0, 0, 225, 214, 2045 0, 0, 0, 78, 0, 0, 0, 0, 112, 0, 2046 48, 34, 927, 1528, 66, 411, 0, 0, 353, 0, 2047 0, 355, 45, 46, 0, 0, 0, 216, 353, 0, 2048 353, 0, 0, 0, 0, 223, 627, 0, 353, 355, 2049 0, 78, 353, 260, 713, 0, 413, 1093, 0, 0, 2050 0, 0, 0, 937, 0, 601, 0, 927, 0, 799, 2051 800, 0, 45, 46, 0, 80, 37, 0, 184, 185, 2052 40, 0, 0, 1107, 0, 0, 0, 41, 42, 0, 2053 356, 431, 118, 355, 896, 80, 0, 0, 833, 0, 2054 0, 836, 837, 80, 840, 1149, 842, 843, 0, 350, 2055 1087, 844, 845, 1528, 75, 411, 0, 0, 0, 0, 2056 0, 356, 45, 46, 1326, 0, 0, 0, 0, 0, 2057 0, 0, 0, 0, 0, 216, 0, 0, 0, 356, 2058 0, 80, 1327, 0, 353, 0, 0, 576, 576, 57, 2059 57, 0, 594, 0, 0, 0, 1037, 355, 0, 703, 2060 0, 0, 0, 0, 0, 429, 0, 703, 703, 703, 2061 699, 699, 0, 350, 350, 0, 0, 704, 0, 0, 2062 0, 57, 0, 356, 0, 704, 704, 704, 0, 0, 2063 0, 0, 0, 1199, 0, 0, 0, 0, 214, 353, 2064 0, 355, 355, 355, 0, 0, 0, 0, 0, 0, 2065 0, 0, 0, 0, 0, 57, 995, 0, 57, 0, 2066 355, 0, 0, 0, 0, 0, 1000, 0, 699, 699, 2067 0, 0, 0, 703, 0, 888, 927, 0, 355, 891, 2068 1012, 0, 0, 0, 0, 0, 0, 356, 0, 78, 2069 479, 704, 976, 977, 0, 0, 0, 0, 0, 0, 2070 353, 353, 0, 353, 353, 0, 1214, 0, 0, 0, 2071 465, 0, 0, 0, 0, 78, 0, 627, 355, 0, 2072 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 2073 0, 356, 356, 356, 0, 0, 214, 0, 0, 927, 2074 927, 0, 713, 0, 87, 0, 348, 0, 0, 0, 2075 356, 0, 0, 0, 0, 355, 0, 0, 353, 353, 2076 0, 0, 0, 0, 0, 0, 0, 0, 356, 8, 2077 9, 10, 11, 12, 0, 0, 87, 0, 0, 80, 2078 0, 0, 0, 0, 0, 1297, 0, 0, 0, 0, 2079 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2080 355, 0, 0, 260, 0, 80, 0, 66, 356, 0, 2081 355, 57, 355, 226, 576, 0, 0, 224, 0, 699, 2082 355, 713, 0, 0, 355, 118, 34, 0, 0, 0, 2083 0, 37, 353, 184, 185, 40, 0, 0, 0, 0, 2084 0, 57, 41, 42, 0, 356, 0, 0, 0, 0, 2085 0, 0, 0, 0, 699, 0, 1098, 0, 0, 0, 2086 0, 0, 699, 699, 699, 0, 0, 0, 186, 0, 2087 0, 0, 0, 350, 350, 223, 0, 45, 46, 0, 2088 0, 0, 0, 0, 0, 0, 78, 1199, 1177, 1178, 2089 356, 0, 0, 0, 0, 0, 0, 75, 0, 0, 2090 356, 363, 356, 0, 0, 0, 0, 225, 0, 353, 2091 356, 353, 0, 0, 356, 0, 355, 0, 0, 0, 2092 118, 0, 0, 0, 112, 0, 0, 0, 699, 0, 2093 0, 0, 0, 413, 0, 0, 0, 0, 0, 0, 2094 0, 0, 0, 0, 353, 0, 1227, 1228, 0, 0, 2095 927, 0, 353, 353, 353, 0, 0, 0, 1384, 0, 2096 0, 0, 0, 353, 353, 0, 0, 0, 927, 0, 2097 742, 355, 0, 0, 0, 0, 80, 75, 0, 0, 2098 0, 0, 0, 0, 0, 763, 0, 0, 742, 0, 2099 769, 742, 0, 0, 0, 0, 87, 0, 350, 0, 2100 0, 87, 127, 127, 127, 0, 356, 0, 0, 0, 2101 0, 0, 0, 1153, 0, 0, 0, 0, 353, 0, 2102 1229, 0, 348, 118, 0, 0, 0, 0, 0, 0, 2103 1165, 0, 355, 355, 0, 355, 355, 0, 0, 465, 2104 0, 927, 927, 0, 168, 0, 173, 1199, 0, 179, 2105 180, 181, 0, 183, 1199, 78, 0, 0, 0, 0, 2106 0, 356, 0, 0, 0, 0, 0, 0, 234, 0, 2107 0, 0, 0, 57, 0, 127, 0, 127, 0, 0, 2108 249, 250, 0, 0, 0, 0, 0, 0, 353, 0, 2109 355, 355, 0, 0, 0, 226, 0, 0, 0, 0, 2110 0, 0, 276, 0, 0, 0, 0, 1199, 413, 0, 2111 0, 883, 0, 885, 1553, 348, 0, 1501, 0, 1505, 2112 0, 0, 356, 356, 0, 356, 356, 0, 0, 0, 2113 0, 0, 1354, 0, 0, 0, 0, 75, 0, 0, 2114 1356, 1357, 1358, 0, 75, 80, 0, 0, 0, 0, 2115 1255, 0, 1318, 0, 1534, 0, 1536, 0, 127, 0, 2116 0, 0, 87, 932, 355, 0, 127, 0, 127, 127, 2117 0, 0, 0, 127, 0, 127, 127, 363, 0, 348, 2118 356, 356, 87, 0, 0, 0, 0, 0, 0, 0, 2119 87, 0, 0, 0, 0, 0, 0, 75, 0, 1565, 2120 0, 1566, 0, 0, 0, 0, 1404, 224, 363, 8, 2121 9, 10, 11, 12, 1573, 1574, 0, 0, 0, 0, 2122 0, 0, 0, 348, 348, 348, 363, 0, 87, 78, 2123 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2124 0, 355, 348, 355, 0, 127, 0, 0, 8, 9, 2125 10, 11, 12, 0, 356, 0, 0, 0, 0, 0, 2126 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2127 363, 37, 0, 184, 185, 40, 355, 31, 0, 0, 2128 0, 0, 41, 42, 355, 355, 355, 0, 0, 0, 2129 0, 0, 0, 0, 0, 355, 355, 225, 0, 0, 2130 348, 0, 0, 0, 0, 34, 0, 0, 266, 78, 2131 37, 0, 0, 0, 40, 0, 0, 45, 46, 80, 2132 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2133 0, 356, 0, 356, 363, 591, 0, 599, 0, 0, 2134 0, 0, 0, 0, 0, 0, 0, 719, 623, 624, 2135 355, 0, 0, 0, 0, 0, 45, 46, 0, 0, 2136 0, 0, 0, 0, 0, 0, 356, 0, 0, 0, 2137 0, 0, 0, 0, 356, 356, 356, 0, 363, 363, 2138 363, 0, 0, 0, 0, 356, 356, 0, 0, 0, 2139 0, 0, 0, 0, 348, 0, 0, 363, 0, 80, 2140 0, 0, 348, 0, 0, 1020, 0, 0, 8, 9, 2141 10, 11, 12, 0, 0, 363, 0, 0, 0, 1129, 2142 355, 0, 0, 0, 0, 0, 87, 0, 0, 0, 2143 0, 0, 0, 0, 0, 283, 284, 31, 285, 0, 2144 356, 0, 0, 1142, 0, 0, 742, 0, 1142, 0, 2145 0, 0, 87, 0, 0, 363, 0, 0, 0, 0, 2146 0, 0, 0, 0, 286, 34, 0, 0, 57, 78, 2147 287, 0, 0, 0, 288, 0, 78, 289, 290, 291, 2148 292, 41, 42, 0, 293, 294, 0, 0, 0, 0, 2149 0, 0, 363, 0, 0, 0, 0, 0, 1142, 0, 2150 0, 0, 0, 0, 0, 0, 0, 295, 0, 379, 2151 356, 0, 0, 0, 0, 0, 344, 46, 297, 298, 2152 299, 300, 0, 0, 0, 0, 0, 0, 0, 78, 2153 0, 0, 0, 0, 0, 0, 57, 363, 0, 0, 2154 0, 0, 0, 0, 0, 0, 0, 363, 0, 363, 2155 127, 127, 0, 348, 226, 0, 0, 363, 0, 80, 2156 0, 363, 283, 284, 0, 285, 80, 0, 0, 0, 2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 2158 0, 0, 127, 127, 0, 127, 0, 127, 127, 0, 2159 0, 286, 127, 127, 0, 0, 0, 640, 0, 140, 2160 141, 288, 0, 0, 289, 641, 291, 292, 41, 42, 2161 0, 293, 294, 0, 0, 0, 0, 348, 348, 80, 2162 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 2163 0, 0, 0, 0, 295, 0, 642, 57, 643, 380, 2164 0, 0, 0, 45, 46, 297, 298, 299, 300, 0, 2165 0, 0, 0, 363, 0, 0, 0, 0, 0, 206, 2166 2, 207, 4, 5, 6, 7, 8, 9, 10, 11, 2167 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2168 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2169 0, 930, 0, 931, 0, 31, 0, 0, 0, 0, 2170 934, 935, 0, 0, 0, 940, 0, 0, 363, 0, 2171 0, 0, 0, 0, 0, 0, 0, 945, 1142, 1142, 2172 1142, 0, 949, 34, 0, 35, 0, 36, 37, 0, 2173 208, 39, 40, 127, 127, 0, 0, 0, 0, 41, 2174 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2175 0, 0, 985, 0, 0, 0, 0, 0, 283, 284, 2176 0, 285, 0, 0, 0, 43, 0, 209, 0, 363, 2177 363, 0, 363, 363, 45, 46, 742, 0, 0, 0, 2178 0, 0, 0, 0, 0, 0, 0, 286, 57, 57, 2179 0, 0, 87, 287, 0, 0, 0, 288, 0, 0, 2180 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2181 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 2182 0, 0, 0, 0, 0, 0, 0, 363, 363, 57, 2183 295, 0, 379, 0, 0, 380, 0, 0, 0, 45, 2184 46, 297, 298, 299, 300, 0, 0, 166, 0, 0, 2185 0, 0, 1031, 1032, 1033, 1034, 0, 1036, 0, 0, 2186 0, 0, 1142, 1142, 219, 0, 0, 0, 0, 0, 2187 0, 0, 0, 1080, 0, 0, 0, 348, 348, 0, 2188 0, 0, 0, 0, 0, 0, 57, 1086, 0, 0, 2189 0, 57, 127, 0, 0, 0, 0, 127, 0, 0, 2190 1481, 363, 0, 0, 0, 0, 0, 0, 0, 0, 2191 0, 0, 166, 0, 0, 0, 273, 0, 0, 0, 2192 0, 0, 0, 0, 57, 0, 0, 1106, 0, 0, 1558 2193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559 354, 0, 77, 0, 0, 0, 0, 508, 0, 0, 1560 0, 702, 0, 0, 0, 74, 697, 0, 352, 702, 1561 702, 702, 0, 224, 0, 0, 697, 0, 349, 0, 1562 626, 0, 0, 1001, 0, 626, 804, 0, 0, 0, 1563 697, 0, 0, 0, 354, 0, 0, 126, 126, 0, 1564 1012, 0, 0, 352, 0, 0, 0, 0, 0, 0, 1565 0, 0, 0, 0, 0, 0, 0, 508, 508, 0, 1566 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 1567 0, 86, 0, 702, 0, 0, 0, 0, 0, 0, 1568 0, 0, 0, 282, 283, 0, 284, 352, 0, 0, 1569 0, 66, 0, 0, 0, 0, 0, 352, 354, 352, 1570 355, 0, 0, 86, 222, 0, 0, 352, 0, 0, 1571 0, 352, 285, 626, 0, 0, 0, 0, 286, 0, 1572 259, 711, 287, 0, 1084, 288, 289, 290, 291, 41, 1573 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 1574 225, 0, 354, 354, 354, 0, 0, 0, 0, 0, 1575 1098, 0, 0, 0, 0, 505, 0, 213, 430, 117, 1576 354, 0, 0, 45, 46, 296, 297, 298, 299, 0, 1577 0, 0, 74, 0, 0, 0, 0, 0, 354, 0, 1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 1579 0, 0, 0, 0, 126, 79, 0, 0, 0, 126, 1580 79, 0, 352, 0, 0, 0, 0, 794, 795, 0, 1581 0, 0, 0, 0, 0, 77, 593, 0, 354, 0, 1582 0, 0, 0, 0, 0, 0, 0, 362, 0, 428, 1583 0, 0, 0, 0, 697, 697, 828, 349, 349, 831, 1584 832, 0, 835, 0, 837, 838, 0, 0, 0, 839, 1585 840, 0, 0, 354, 0, 0, 0, 1187, 0, 0, 1586 0, 0, 508, 0, 57, 57, 0, 0, 0, 0, 1587 0, 0, 0, 0, 0, 0, 0, 0, 508, 0, 1588 0, 0, 0, 0, 8, 9, 10, 11, 12, 0, 1589 0, 0, 697, 697, 224, 0, 57, 354, 0, 0, 1590 0, 0, 0, 0, 0, 0, 0, 354, 0, 354, 1591 0, 0, 0, 31, 223, 352, 352, 354, 352, 352, 1592 0, 354, 86, 0, 0, 0, 0, 86, 0, 0, 1593 57, 0, 0, 57, 0, 0, 0, 0, 74, 626, 1594 0, 34, 0, 0, 0, 0, 37, 0, 508, 508, 1595 40, 0, 0, 0, 0, 0, 0, 41, 42, 0, 1596 126, 79, 0, 711, 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 352, 352, 0, 355, 0, 0, 0, 1598 0, 79, 77, 43, 0, 0, 0, 968, 969, 79, 1599 0, 45, 46, 0, 8, 9, 10, 11, 12, 0, 1600 0, 0, 0, 0, 0, 0, 1282, 355, 0, 0, 1601 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 1602 347, 225, 0, 31, 259, 355, 0, 79, 66, 0, 2194 0, 0, 0, 0, 226, 166, 0, 0, 0, 0, 2195 0, 0, 0, 0, 0, 369, 0, 0, 0, 375, 2196 0, 1532, 0, 0, 0, 0, 87, 0, 0, 0, 2197 1540, 0, 0, 0, 1139, 0, 0, 0, 363, 0, 2198 363, 1147, 0, 0, 0, 0, 1151, 0, 0, 0, 2199 0, 1155, 0, 1156, 0, 0, 0, 1158, 0, 1159, 2200 1160, 0, 348, 1163, 0, 0, 0, 0, 166, 0, 2201 0, 0, 1175, 363, 0, 0, 0, 0, 0, 0, 2202 219, 363, 363, 363, 0, 0, 0, 57, 0, 0, 2203 1190, 1191, 363, 363, 0, 0, 0, 0, 166, 0, 2204 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 2205 0, 57, 0, 0, 0, 0, 0, 1221, 57, 0, 2206 1223, 127, 0, 375, 0, 0, 0, 0, 0, 0, 2207 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2208 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 2209 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 2210 0, 0, 0, 1237, 0, 166, 0, 0, 0, 1241, 2211 1242, 57, 0, 0, 0, 0, 0, 0, 0, 0, 2212 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 2213 0, 1260, 0, 0, 1264, 0, 1265, 0, 0, 1267, 2214 0, 0, 0, 597, 0, 0, 0, 0, 621, 0, 2215 0, 0, 1275, 0, 0, 0, 0, 363, 0, 0, 2216 0, 0, 0, 0, 0, 1282, 0, 1284, 1285, 1286, 2217 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2218 0, 0, 0, 1294, 0, 1295, 0, 0, 0, 173, 2219 0, 0, 0, 127, 0, 212, 0, 0, 0, 0, 2220 0, 0, 0, 0, 0, 232, 87, 236, 0, 238, 2221 0, 0, 0, 87, 0, 0, 247, 0, 1323, 1324, 2222 0, 0, 0, 0, 166, 166, 0, 0, 0, 0, 2223 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 2224 0, 0, 0, 0, 0, 0, 0, 212, 0, 236, 2225 238, 247, 524, 0, 0, 0, 0, 0, 0, 0, 2226 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 2227 0, 1359, 1360, 0, 0, 0, 0, 0, 0, 0, 2228 716, 1370, 0, 0, 0, 0, 0, 0, 0, 0, 2229 212, 0, 166, 0, 0, 0, 0, 0, 0, 0, 2230 0, 0, 0, 0, 524, 0, 524, 0, 0, 524, 2231 0, 166, 524, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 369, 0, 0, 0, 0, 0, 2233 0, 0, 1402, 0, 0, 0, 0, 0, 0, 0, 2234 0, 0, 0, 0, 0, 1407, 0, 1408, 1409, 1410, 2235 0, 212, 0, 236, 238, 247, 0, 0, 0, 1414, 2236 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 2237 0, 0, 0, 0, 0, 0, 166, 0, 0, 0, 2238 0, 0, 0, 0, 0, 0, 0, 0, 369, 212, 2239 0, 0, 814, 0, 212, 1448, 0, 0, 0, 0, 2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 2241 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 2242 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, 2243 0, 0, 369, 369, 369, 0, 0, 0, 0, 0, 2244 1487, 1488, 0, 0, 0, 0, 0, 0, 0, 0, 2245 0, 369, 0, 1493, 0, 0, 0, 212, 0, 0, 2246 1493, 0, 0, 0, 157, 0, 0, 0, 0, 0, 2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 2248 0, 0, 0, 524, 236, 238, 0, 0, 0, 0, 2249 0, 0, 247, 1527, 0, 0, 0, 1533, 0, 0, 2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 2251 1173, 939, 252, 8, 9, 10, 11, 12, 0, 0, 2252 0, 0, 257, 0, 0, 0, 1555, 0, 1556, 0, 2253 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, 2254 283, 284, 31, 285, 0, 0, 716, 0, 0, 0, 2255 0, 0, 0, 212, 0, 0, 1571, 1572, 212, 0, 2256 212, 0, 0, 0, 1575, 1576, 0, 0, 0, 286, 2257 34, 0, 0, 0, 0, 287, 0, 212, 157, 288, 2258 212, 212, 289, 290, 291, 292, 41, 42, 212, 293, 2259 294, 0, 386, 0, 0, 0, 0, 0, 0, 0, 2260 0, 0, 212, 369, 0, 0, 0, 621, 0, 212, 2261 0, 369, 295, 0, 379, 418, 0, 0, 0, 0, 2262 0, 1174, 46, 297, 298, 299, 300, 0, 0, 433, 2263 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, 2264 0, 0, 0, 0, 0, 0, 0, 0, 446, 0, 2265 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 2266 284, 0, 285, 0, 0, 0, 0, 0, 0, 0, 2267 0, 0, 0, 464, 0, 0, 0, 0, 474, 0, 2268 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 2269 0, 482, 0, 0, 287, 0, 0, 492, 288, 496, 2270 0, 289, 290, 291, 292, 41, 42, 716, 293, 294, 2271 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, 2272 0, 0, 524, 212, 0, 0, 0, 0, 0, 0, 2273 0, 295, 0, 379, 0, 0, 0, 0, 0, 790, 2274 45, 46, 297, 298, 299, 300, 166, 0, 0, 0, 2275 0, 212, 0, 0, 0, 0, 212, 0, 585, 0, 2276 0, 0, 369, 590, 0, 0, 206, 2, 207, 4, 2277 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2278 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2279 25, 0, 635, 26, 27, 28, 636, 637, 0, 639, 2280 0, 0, 31, 0, 0, 597, 651, 652, 0, 653, 2281 654, 0, 655, 0, 656, 0, 0, 0, 0, 0, 2282 0, 0, 0, 0, 0, 0, 369, 369, 212, 0, 2283 34, 585, 35, 0, 36, 0, 0, 208, 39, 671, 2284 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 1603 2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604 697, 0, 711, 0, 352, 0, 117, 0, 0, 0, 1605 0, 34, 0, 0, 0, 0, 37, 0, 183, 184, 1606 40, 0, 0, 0, 0, 0, 0, 41, 42, 355, 1607 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 1608 697, 697, 697, 0, 0, 57, 0, 222, 86, 126, 1609 0, 349, 349, 599, 0, 600, 0, 0, 0, 0, 1610 0, 45, 46, 362, 0, 1187, 0, 0, 86, 74, 1611 0, 0, 0, 0, 0, 57, 86, 0, 0, 0, 1612 0, 352, 0, 352, 0, 354, 354, 0, 354, 354, 1613 0, 0, 0, 355, 362, 0, 0, 0, 117, 0, 1614 0, 0, 0, 0, 697, 0, 0, 0, 77, 1089, 1615 0, 0, 362, 352, 86, 0, 0, 0, 0, 0, 1616 0, 352, 352, 352, 0, 0, 0, 0, 0, 0, 1617 0, 0, 352, 352, 0, 0, 0, 355, 355, 355, 1618 0, 0, 0, 354, 354, 0, 74, 0, 0, 0, 1619 0, 0, 0, 0, 0, 355, 362, 0, 0, 0, 2286 283, 284, 497, 285, 682, 0, 0, 0, 0, 0, 2287 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 2288 0, 45, 46, 0, 0, 0, 524, 0, 0, 286, 2289 708, 0, 0, 0, 0, 287, 711, 0, 0, 288, 2290 0, 464, 289, 290, 291, 292, 41, 42, 0, 293, 2291 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 2293 0, 0, 295, 0, 379, 0, 0, 748, 212, 760, 2294 0, 45, 46, 297, 298, 299, 300, 0, 0, 0, 2295 0, 0, 767, 0, 0, 716, -519, 212, 0, 1, 2296 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2297 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2298 22, 23, 24, 25, 0, 0, 26, 27, 28, 29, 2299 793, 0, 30, 0, 0, 31, 32, 219, 0, 803, 2300 0, 341, 364, 0, 0, 0, 805, 0, 283, 284, 2301 0, 285, 813, 0, 0, 0, 0, 0, 0, 0, 2302 33, 827, 0, 34, 0, 35, 0, 36, 37, 0, 2303 38, 39, 40, 0, 716, 414, 0, 286, 0, 41, 2304 42, 0, 414, 287, 0, 0, 0, 288, 0, 0, 2305 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2306 0, 0, 867, 0, 0, 43, 0, 44, 0, 0, 2307 0, 212, 0, 0, 45, 46, 0, 0, 0, 0, 2308 295, 0, 379, 0, 0, 978, 369, 369, 0, 45, 2309 46, 297, 298, 299, 300, 219, 0, 0, 813, 0, 2310 0, 0, 0, 212, 0, 0, 909, 0, 0, 0, 2311 0, 0, 0, 0, 414, 8, 9, 10, 11, 12, 2312 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2313 23, 24, 25, -294, 0, 0, 0, 252, 0, 212, 2314 0, 0, 0, 0, 31, 0, 0, 946, 947, 0, 2315 212, 0, 0, 0, 0, 0, 283, 284, 0, 285, 2316 0, 964, 0, 0, 321, 0, 0, 0, 414, 0, 2317 0, 0, 34, 0, 346, 0, 414, 581, 0, 414, 2318 584, 0, 986, -294, 987, 286, 382, 382, 991, 0, 2319 364, 287, 0, 0, 613, 288, 0, 0, 289, 290, 2320 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2321 0, 369, 0, 631, 0, 0, 341, 0, 0, 0, 2322 0, 0, 212, 0, 0, 0, 0, 0, 295, 0, 2323 379, 0, 0, 0, 0, 0, 212, 45, 46, 297, 2324 298, 299, 300, 414, 0, 0, 0, 414, 0, 0, 2325 0, 0, 1025, 0, 0, 0, 0, 321, 0, 1026, 2326 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 2327 0, 524, 1028, 0, 1029, 0, 0, 0, 364, 0, 2328 0, 478, 0, 0, 0, 0, 0, 0, 1041, 0, 2329 0, 0, 0, 0, 0, 1045, 0, 0, 0, 0, 2330 0, 0, 0, 0, 0, 0, 524, 1083, 524, 0, 2331 1084, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 0, 0, 414, 0, 0, 364, 212, 0, 2333 0, 0, 0, 0, 0, 0, 166, 2, 207, 4, 2334 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2335 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2336 25, 0, 0, 26, 27, 28, 414, 0, 0, 0, 2337 341, 364, 31, 0, 0, 0, 0, 0, 0, 0, 2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 2339 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 2340 34, 0, 35, 0, 36, 0, 0, 38, 39, 0, 2341 0, 0, 0, 0, 0, 414, 414, 0, 0, 0, 2342 0, 0, 0, 0, 0, 1157, 212, 0, 0, 0, 2343 0, 0, 0, 0, 807, 364, 0, 0, 0, 0, 2344 0, 0, 0, -402, 678, 613, 0, 613, 613, 0, 2345 0, 45, 46, 0, 613, 0, 0, 0, 0, 0, 2346 0, 0, 0, 0, 846, 364, 0, 0, 0, 0, 2347 364, 0, 0, 0, 0, 0, 0, 0, 0, 364, 2348 364, 364, 0, 526, 0, 0, 0, 0, 0, 1222, 2349 0, 710, 0, 0, 0, 0, 0, 0, 364, 0, 2350 0, 0, 0, 414, 889, 0, 0, 414, 892, 0, 2351 0, 0, 0, 0, 894, 0, 0, 0, 0, 0, 2352 0, 0, 0, 1234, 0, 0, 0, 0, 1236, 0, 2353 744, 0, 0, 414, 0, 0, 1240, 0, 0, 0, 2354 0, 0, 0, 761, 0, 0, 0, 0, 744, 0, 2355 0, 744, 0, 0, 0, 0, 364, 613, 0, 0, 2356 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 2357 0, 0, 1269, 0, 0, 0, 0, 0, 0, 0, 2358 0, 0, 0, 0, 1277, 792, 0, 1278, 0, 1279, 2359 0, 0, 341, 364, 0, 801, 0, 414, 414, 0, 2360 0, 0, 346, 1288, 1289, 0, 0, 761, 0, 0, 1620 2361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621 0, 349, 0, 355, 0, 0, 0, 0, 0, 0, 1622 0, 0, 0, 0, 79, 352, 0, 8, 9, 10, 1623 11, 12, 0, 0, 0, 0, 117, 0, 0, 0, 2362 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 1624 2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1625 79, 0, 0, 355, 354, 0, 31, 0, 1187, 0, 1626 362, 0, 0, 0, 0, 1187, 0, 167, 0, 172, 1627 0, 0, 178, 179, 180, 0, 182, 0, 0, 0, 1628 0, 0, 0, 0, 34, 0, 0, 0, 355, 37, 1629 233, 0, 352, 40, 0, 0, 347, 223, 0, 0, 1630 41, 42, 248, 249, 362, 362, 362, 0, 0, 0, 1631 1217, 0, 0, 0, 0, 0, 1187, 0, 0, 77, 1632 0, 0, 362, 1529, 0, 0, 717, 0, 0, 0, 1633 0, 354, 355, 354, 45, 46, 0, 0, 0, 74, 1634 362, 0, 355, 0, 355, 0, 74, 57, 0, 224, 1635 0, 86, 355, 0, 0, 0, 355, 8, 9, 10, 1636 11, 12, 0, 354, 0, 0, 0, 0, 0, 0, 1637 0, 354, 354, 354, 0, 0, 0, 86, 0, 0, 1638 362, 0, 354, 354, 0, 0, 31, 0, 0, 347, 1639 0, 0, 0, 0, 0, 0, 77, 74, 0, 0, 2364 0, 0, 414, 0, 0, 0, 0, 0, 0, 0, 2365 364, 0, 0, 0, 0, 0, 866, 807, 364, 0, 2366 0, 613, 0, 613, 0, 382, 0, 0, 0, 0, 2367 0, 0, 0, 613, 1343, 0, 0, 0, 0, 0, 2368 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 2369 0, 0, 1, 2, 207, 4, 5, 6, 7, 8, 2370 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2371 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2372 27, 28, 29, 0, 0, 30, 0, 0, 31, 0, 1640 2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641 0, 0, 0, 0, 34, 362, 0, 79, 0, 37, 1642 0, 183, 184, 40, 0, 0, 0, 0, 0, 0, 1643 41, 42, 0, 0, 0, 354, 0, 0, 0, 1303, 1644 0, 0, 0, 0, 0, 0, 0, 355, 0, 0, 1645 0, 0, 0, 347, 0, 0, 904, 0, 410, 362, 1646 0, 0, 0, 0, 45, 46, 0, 0, 0, 362, 1647 0, 362, 0, 0, 0, 0, 225, 0, 0, 362, 1648 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 1649 0, 0, 0, 0, 0, 0, 0, 347, 347, 347, 1650 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 1651 0, 0, 0, 0, 0, 347, 0, 0, 1, 2, 1652 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2374 0, 0, 0, 0, 0, 0, 807, 0, 0, 0, 2375 1394, 0, 1395, 341, 364, 414, 34, 414, 35, 0, 2376 36, 414, 0, 38, 39, 761, 1405, 970, 1406, 0, 2377 0, 0, 0, 0, 0, 0, 0, 981, 0, 0, 2378 0, 0, 613, 613, 990, 0, 1413, 0, 0, 0, 2379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 44, 0, 1431, 1433, 0, 0, 0, 45, 46, 364, 2381 0, 0, 0, 1438, 0, 0, 1240, 0, 0, 414, 2382 0, 0, 0, 0, 0, 0, 1008, 1009, 0, 0, 2383 346, 0, 0, 0, 0, 0, 0, 0, 0, 1462, 2384 0, 414, 1154, 0, 346, 0, 0, 0, 1469, 0, 2385 0, 1471, 364, 1473, 1475, 1477, 0, 0, 414, 1166, 2386 0, 613, 613, 1171, 0, 0, 0, 0, 0, 507, 2387 0, 509, 512, 364, 364, 283, 284, 0, 285, 515, 2388 516, 0, 0, 0, 1039, 0, 0, 0, 382, 0, 2389 0, 0, 0, 509, 509, 1508, 0, 1510, 0, 1240, 2390 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 2391 287, 0, 0, 0, 288, 1522, 0, 289, 290, 291, 2392 292, 41, 42, 0, 293, 294, 346, 0, 0, 0, 2393 0, 509, 0, 0, 0, 0, 414, 0, 414, 0, 2394 0, 0, 0, 414, 0, 0, 0, 295, 0, 379, 2395 0, 0, 613, 0, 0, 0, 709, 46, 297, 298, 2396 299, 300, 0, 0, 0, 321, 0, 509, 0, 0, 2397 0, 0, 0, 0, 0, 0, 0, 807, 414, 1256, 2398 0, 1130, 1131, 0, 0, 0, 0, 0, 0, 0, 2399 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 2400 0, 981, 364, 0, 1145, 0, 744, 0, 8, 9, 2401 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2402 20, 21, 22, 23, 24, 25, -294, 1161, 26, 27, 2403 28, 0, 0, 0, 0, 0, 0, 31, 1176, 0, 2404 283, 284, 0, 285, 0, 0, 0, 0, 0, 0, 2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2406 382, 0, 1194, 341, 0, 34, 0, 0, 0, 286, 2407 0, 0, 38, 39, 0, 640, -294, 981, 981, 288, 2408 0, 364, 289, 290, 291, 292, 41, 42, 0, 293, 2409 294, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 2410 0, 0, 0, 0, 0, 0, 0, 634, 0, 338, 2411 0, 0, 295, 0, 764, 0, 45, 46, 0, 0, 2412 0, 45, 46, 297, 298, 299, 300, 0, 0, 0, 2413 0, 0, 0, 364, 364, 509, 509, 509, 509, 509, 2414 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 2415 509, 509, 509, 0, 0, 981, 0, 0, 0, 0, 2416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2417 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, 2418 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 2419 1281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2421 207, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1653 2422 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1654 23, 24, 25, 0, 86, 26, 27, 28, 29, 77, 1655 0, 30, 0, 0, 31, 32, 77, 590, 0, 598, 1656 355, 355, 0, 355, 355, 0, 0, 0, 0, 0, 1657 622, 623, 0, 347, 362, 0, 0, 0, 0, 33, 1658 0, 0, 34, 79, 35, 0, 36, 37, 0, 38, 1659 39, 40, 0, 8, 9, 10, 11, 12, 41, 42, 1660 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 1661 0, 0, 0, 0, 0, 0, 0, 0, 355, 355, 1662 0, 0, 31, 0, 43, 0, 44, 0, 211, 0, 1663 -518, 0, 45, 46, 0, 0, 0, 231, 0, 235, 1664 0, 237, 0, 0, 0, 0, 0, 0, 246, 0, 1665 34, 0, 165, 0, 0, 37, 0, 183, 184, 40, 1666 0, 0, 0, 0, 347, 0, 41, 42, 0, 218, 1667 0, 0, 347, 0, 8, 9, 10, 11, 12, 211, 1668 0, 235, 237, 246, 0, 0, 0, 362, 362, 355, 1669 362, 362, 1504, 0, 410, 0, 0, 0, 0, 0, 1670 45, 46, 0, 31, 0, 0, 0, 0, 0, 0, 1671 86, 0, 0, 0, 0, 0, 165, 0, 0, 0, 1672 272, 0, 211, 0, 0, 0, 0, 0, 0, 0, 1673 0, 34, 224, 0, 0, 0, 37, 57, 183, 184, 1674 40, 0, 0, 0, 0, 362, 362, 41, 42, 165, 1675 0, 0, 0, 0, 79, 0, 0, 0, 0, 368, 1676 0, 0, 0, 374, 0, 0, 355, 0, 355, 0, 1677 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 1678 0, 45, 46, 211, 0, 235, 237, 246, 0, 0, 1679 0, 0, 0, 0, 0, 0, 0, 0, 355, 0, 1680 0, 0, 0, 0, 0, 57, 355, 355, 355, 0, 1681 0, 0, 165, 0, 0, 0, 362, 355, 355, 0, 1682 0, 211, 0, 0, 218, 0, 211, 0, 0, 0, 1683 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 1684 0, 496, 165, 0, 0, 0, 0, 0, 0, 0, 1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 1686 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 1687 355, 0, 0, 0, 165, 0, 0, 0, 0, 0, 1688 0, 86, 0, 347, 347, 0, 0, 0, 0, 211, 1689 0, 0, 0, 362, 0, 362, 0, 523, 0, 0, 1690 0, 0, 0, 57, 0, 0, 0, 0, 0, 165, 1691 0, 211, 924, 0, 925, 0, 235, 237, 0, 0, 1692 0, 928, 929, 0, 246, 362, 934, 0, 0, 0, 1693 0, 0, 0, 362, 362, 362, 0, 355, 939, 0, 1694 0, 0, 0, 943, 362, 362, 0, 596, 0, 0, 1695 0, 0, 620, 0, 0, 0, 0, 0, 86, 0, 1696 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, 1697 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 1698 0, 0, 0, 0, 79, 211, 0, 0, 0, 0, 1699 211, 79, 211, 0, 0, 0, 0, 362, 0, 0, 1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 1701 0, 0, 211, 211, 0, 0, 0, 0, 0, 0, 1702 211, 0, 0, 0, 0, 0, 0, 0, 165, 165, 1703 0, 0, 0, 0, 211, 368, 0, 0, 0, 0, 1704 0, 211, 79, 0, 0, 0, 0, 0, 0, 0, 1705 0, 57, 57, 0, 0, 0, 523, 0, 0, 0, 1706 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 1707 1022, 1023, 1024, 1025, 57, 1027, 0, 0, 0, 0, 1708 0, 0, 0, 0, 714, 0, 0, 0, 0, 0, 1709 1071, 0, 57, 0, 0, 0, 165, 0, 0, 0, 1710 0, 0, 0, 0, 1077, 0, 0, 0, 523, 0, 1711 523, 86, 0, 523, 0, 165, 523, 0, 86, 0, 1712 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 1713 0, 0, 0, 0, 0, 0, 0, 347, 347, 0, 1714 0, 0, 0, 0, 1097, 0, 57, 0, 0, 0, 1715 0, 57, 0, 0, 0, 211, 0, 0, 0, 0, 1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 2423 23, 24, 25, 0, 0, 26, 27, 28, 29, 0, 2424 0, 30, 283, 284, 31, 285, 0, 0, 0, 0, 2425 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 981, 2427 0, 286, 34, 0, 35, 0, 36, 287, 0, 38, 2428 39, 288, 509, 0, 289, 290, 291, 292, 41, 42, 2429 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 1717 2430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718 165, 0, 0, 211, 57, 0, 0, 0, 211, 1128, 1719 0, 0, 368, 0, 0, 1135, 809, 0, 0, 0, 1720 1139, 0, 0, 0, 0, 1143, 0, 1144, 0, 0, 1721 0, 1146, 0, 1147, 1148, 0, 0, 1151, 0, 0, 1722 0, 0, 596, 0, 0, 0, 1163, 596, 0, 0, 1723 0, 0, 0, 0, 0, 0, 368, 368, 368, 0, 1724 0, 0, 0, 0, 1178, 1179, 0, 0, 0, 0, 1725 0, 0, 0, 0, 368, 0, 0, 347, 0, 211, 2431 0, 0, 0, 0, 295, 0, 1063, 0, 0, 0, 2432 0, 0, 0, 45, 46, 297, 298, 299, 300, 0, 2433 0, 0, 0, 1388, 0, 0, 744, -129, 0, 0, 2434 0, 0, 0, 0, 0, 509, 0, 0, 414, 8, 2435 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2436 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2437 27, 28, 0, 414, 414, 0, 509, 0, 31, 0, 1726 2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727 0, 1209, 0, 211, 1211, 0, 0, 0, 0, 0, 1728 0, 0, 57, 0, 0, 0, 523, 282, 283, 0, 1729 284, 0, 0, 496, 0, 0, 0, 0, 0, 0, 1730 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 1731 0, 57, 368, 0, 933, 0, 285, 1225, 0, 0, 1732 0, 0, 286, 1229, 1230, 0, 287, 0, 0, 288, 1733 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 1734 0, 0, 0, 1246, 0, 0, 1250, 714, 0, 0, 1735 1252, 0, 0, 0, 211, 0, 0, 0, 156, 294, 1736 0, 378, 57, 1260, 379, 0, 211, 45, 46, 296, 1737 297, 298, 299, 0, 0, 0, 1267, 0, 1269, 1270, 1738 1271, 1272, 0, 0, 0, 211, 0, 0, 0, 0, 1739 0, 0, 0, 0, 1279, 0, 1280, 0, 0, 0, 1740 172, 0, 0, 368, 0, 251, 0, 620, 0, 0, 1741 0, 368, 0, 0, 0, 256, 0, 0, 0, 0, 1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 1743 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1744 0, 205, 2, 206, 4, 5, 6, 7, 8, 9, 1745 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1746 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 1747 28, 156, 0, 0, 0, 0, 0, 31, 0, 1341, 1748 1342, 0, 0, 0, 0, 385, 0, 0, 0, 1352, 1749 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 1750 0, 0, 0, 0, 0, 34, 714, 35, 417, 36, 1751 0, 0, 207, 39, 0, 0, 0, 0, 0, 0, 1752 0, 523, 432, 0, 0, 0, 0, 0, 211, 0, 1753 0, 437, 0, 282, 283, 0, 284, 0, 0, 0, 1754 0, 445, 0, 0, 0, 165, 0, 0, 0, 208, 1755 1387, 0, 1388, 1389, 1390, 45, 46, 0, 0, 0, 1756 0, 0, 285, 211, 1394, 0, 463, 0, 286, 0, 1757 0, 473, 287, 1405, 211, 288, 289, 290, 291, 41, 1758 42, 0, 292, 293, 481, 0, 0, 0, 0, 0, 1759 491, 0, 495, 0, 0, 0, 0, 0, 1426, 0, 1760 0, 596, 0, 0, 0, 294, 0, 378, 0, 525, 1761 0, 0, 0, 45, 46, 296, 297, 298, 299, 0, 1762 0, 0, 368, 368, 0, 0, 785, 0, 0, 0, 1763 0, 0, 0, 0, 282, 283, 0, 284, 0, 0, 1764 0, 1464, 1465, 0, 0, 0, 211, 0, 0, 0, 1765 0, 584, 0, 0, 1470, 0, 589, 0, 0, 0, 1766 211, 1470, 0, 285, 0, 0, 0, 0, 0, 639, 1767 0, 139, 140, 287, 0, 0, 288, 289, 290, 291, 1768 41, 42, 523, 292, 293, 634, 0, 0, 0, 635, 1769 636, 0, 638, 1503, 0, 0, 0, 1509, 0, 649, 1770 650, 0, 651, 652, 0, 653, 294, 654, 640, 0, 1771 641, 379, 0, 0, 45, 46, 296, 297, 298, 299, 1772 0, 0, 0, 0, 584, 1531, 0, 1532, 0, 0, 1773 0, 0, 669, 0, 0, 0, 0, 0, 0, 0, 1774 0, 340, 363, 0, 0, 0, 0, 0, 714, 211, 1775 0, 0, 0, 0, 0, 1547, 1548, 680, 0, 0, 1776 0, 0, 0, 1551, 1552, 0, 0, 0, 0, 0, 1777 0, 0, 0, 0, 0, 413, 0, 0, 0, 0, 1778 0, 0, 413, 706, 0, 0, 0, 0, 0, 709, 1779 218, 0, 0, 0, 463, 466, 2, 206, 4, 5, 2439 0, 0, 0, 0, 0, 0, 0, 0, 414, 0, 2440 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2441 0, 0, 0, 208, 39, 0, 0, 0, 0, 0, 2442 1447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2443 0, 0, 1, 2, 207, 4, 5, 6, 7, 8, 2444 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2445 19, 20, 21, 22, 23, 24, 25, 45, 46, 26, 2446 27, 28, 29, 0, 0, 30, 283, 284, 31, 1048, 2447 1049, 0, 1050, 0, 0, 1051, 1052, 1053, 1054, 1055, 2448 1056, 1057, 1058, 0, 0, 0, 1059, 0, 0, 0, 2449 1060, 1061, 0, 33, 0, 286, 34, 509, 35, 0, 2450 36, 1062, 1514, 38, 39, 288, 0, 0, 289, 290, 2451 291, 292, 41, 42, 0, 293, 294, 8, 9, 10, 2452 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2453 21, 22, 23, 24, 25, -295, 0, 0, 295, 0, 2454 1063, 0, 509, 172, 0, 0, 31, 45, 46, 297, 2455 298, 299, 300, 0, 0, 321, 0, 1064, 0, 0, 2456 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 2457 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2458 509, 0, 0, 0, 0, -295, 0, 0, 0, 0, 2459 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 2460 0, 0, 1, 2, 207, 4, 5, 6, 7, 8, 2461 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2462 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2463 27, 28, 29, 0, 509, 30, 283, 284, 31, 285, 2464 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2465 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2466 26, 27, 28, 0, 0, 286, 34, 0, 35, 31, 2467 36, 287, 0, 38, 39, 288, 0, 0, 289, 290, 2468 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2469 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2470 0, 0, 111, 0, 38, 39, 0, 0, 295, 0, 2471 44, 509, 0, 41, 42, 0, 0, 45, 46, 297, 2472 298, 299, 300, 2, 207, 4, 5, 6, 7, 8, 2473 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2474 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2475 27, 28, 0, 0, 0, 0, 283, 284, 31, 285, 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2477 0, 0, 0, 0, 509, 509, 0, 0, 0, 0, 2478 0, 0, 0, 0, 0, 286, 34, 0, 35, 0, 2479 36, 287, 0, 38, 39, 288, 0, 0, 289, 290, 2480 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 2483 343, 0, 0, 0, 0, 760, 0, 344, 46, 297, 2484 298, 299, 300, 2, 207, 4, 5, 6, 7, 8, 2485 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2486 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2487 27, 28, 0, 0, 0, 0, 283, 284, 31, 285, 2488 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2489 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2490 26, 27, 28, 0, 0, 286, 34, 0, 35, 31, 2491 36, 287, 0, 38, 39, 288, 0, 0, 289, 290, 2492 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2493 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2494 0, 0, 37, 0, 38, 39, 40, 0, 295, 0, 2495 969, 0, 0, 41, 42, 760, 0, 344, 46, 297, 2496 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, 2497 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 2498 0, 158, 0, 0, 0, 509, 0, 0, 45, 46, 2499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2500 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 2501 0, 0, 0, 0, 0, 0, 2, 207, 4, 5, 1780 2502 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1781 2503 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1782 0, 0, 26, 27, 28, 0, 0, 714, 0, 0, 1783 744, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1784 0, 0, 0, 0, 211, 762, 0, 0, 0, 0, 1785 0, 0, 0, 0, 413, 0, 0, 0, 0, 34, 1786 0, 35, 0, 36, 0, 0, 38, 39, 0, 0, 1787 0, 0, 0, 0, 0, 0, 368, 368, 0, 0, 1788 0, 0, 0, 788, 0, 218, 0, 0, 0, 0, 1789 0, 0, 798, 0, 0, 0, 0, 0, 0, 800, 1790 320, 0, 0, 0, 0, 808, -3, 0, 413, 0, 1791 345, 0, 0, 0, 822, 0, 413, 580, 0, 413, 1792 583, 0, 381, 381, 0, 0, 0, 0, 0, 0, 1793 363, 0, 1011, 0, 612, 8, 9, 10, 11, 12, 2504 0, 0, 26, 27, 28, 0, 0, 0, 0, 283, 2505 284, 31, 285, 8, 9, 10, 11, 12, 13, 14, 2506 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2507 25, 0, 0, 26, 27, 28, 509, 509, 286, 34, 2508 0, 35, 31, 36, 287, 0, 38, 39, 288, 0, 2509 0, 289, 290, 291, 292, 41, 42, 0, 293, 294, 1794 2510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795 0, 0, 0, 630, 862, 0, 340, 0, 0, 0, 1796 0, 0, 282, 283, 31, 284, 0, 0, 0, 0, 2511 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2512 0, 295, 0, 969, 0, 0, 0, 0, 760, 0, 2513 45, 46, 297, 298, 299, 300, 2, 207, 4, 5, 2514 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2515 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2516 0, 0, 26, 27, 28, 0, 0, 0, 0, 283, 2517 284, 31, 285, 8, 9, 10, 11, 12, 13, 14, 2518 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2519 25, 0, 0, 26, 27, 28, 0, 0, 286, 34, 2520 0, 35, 31, 36, 287, 0, 38, 39, 288, 0, 2521 0, 289, 290, 291, 292, 41, 42, 0, 293, 294, 1797 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798 0, 0, 0, 413, 0, 0, 0, 413, 0, 0, 1799 808, 285, 34, 320, 0, 0, 368, 286, 903, 0, 1800 0, 287, 0, 0, 288, 289, 290, 291, 41, 42, 1801 0, 292, 293, 0, 0, 0, 0, 477, 363, 0, 1802 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 1803 0, 0, 0, 0, 294, 0, 378, 0, 0, 940, 1804 941, 0, 343, 46, 296, 297, 298, 299, 0, 0, 1805 0, 0, 523, 0, 523, 0, 0, 0, 0, 0, 1806 0, 0, 0, 0, 413, 0, 0, 363, 0, 0, 1807 0, 0, 978, 0, 0, 0, 0, 982, 0, 0, 1808 0, 0, 0, 0, 0, 0, 0, 0, 523, 0, 1809 523, 211, 0, 0, 0, 0, 0, 0, 0, 0, 1810 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 1811 340, 363, 0, 0, 0, 0, 0, 165, 0, 0, 2523 34, 0, 0, 0, 0, 0, 0, 208, 39, 0, 2524 0, 295, 0, 343, 0, 0, 0, 0, 0, 0, 2525 344, 46, 297, 298, 299, 300, 2, 207, 4, 5, 2526 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2527 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2528 0, 0, 26, 27, 28, 0, 0, 0, 0, 283, 2529 284, 31, 285, 8, 9, 10, 11, 12, 13, 14, 2530 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2531 25, 0, 0, 0, 0, 0, 0, 0, 286, 34, 2532 0, 35, 31, 36, 287, 0, 208, 39, 288, 0, 2533 0, 289, 290, 291, 292, 41, 42, 0, 293, 294, 1812 2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 1814 0, 1016, 0, 0, 0, 0, 0, 0, 1017, 0, 1815 0, 0, 0, 0, 0, 413, 413, 0, 0, 0, 1816 0, 1019, 0, 1020, 0, 0, 0, 0, 0, 0, 1817 0, 0, 0, 0, 802, 363, 0, 1032, 0, 0, 1818 0, 0, 0, 1036, 0, 612, 0, 612, 612, 0, 1819 0, 0, 0, 0, 612, 1074, 0, 0, 1075, 0, 1820 0, 0, 0, 0, 841, 363, 0, 0, 0, 0, 1821 363, 0, 0, 0, 0, 0, 0, 0, 0, 363, 1822 363, 363, 0, 0, 0, 0, 0, 708, 0, 0, 1823 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 1824 0, 0, 413, 883, 0, 0, 413, 886, 0, 0, 1825 0, 0, 0, 888, 0, 0, 0, 0, 0, 0, 1826 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 1827 0, 0, 413, 0, 0, 589, 0, 0, 0, 757, 1828 0, 0, 0, 0, 740, 0, 0, 740, 0, 0, 1829 0, 0, 0, 0, 0, 363, 612, 0, 0, 766, 2535 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2536 0, 295, 0, 1005, 0, 0, 0, 0, 0, 0, 2537 1006, 46, 297, 298, 299, 300, 2, 207, 4, 5, 2538 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2539 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2540 0, 0, 26, 27, 28, 0, 0, 0, 0, 283, 2541 284, 31, 285, 0, 0, 0, 0, 0, 0, 0, 1830 2542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1831 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832 0, 787, 0, 0, 0, 0, 0, 0, 0, 340, 1833 363, 796, 0, 0, 413, 413, 0, 0, 345, 0, 1834 0, 0, 0, 757, 0, 0, 0, 0, 0, 0, 1835 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1836 18, 19, 20, 21, 22, 23, 24, 25, 525, 0, 1837 26, 27, 28, 0, 1210, 0, 0, 0, 413, 31, 1838 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 1839 0, 0, 861, 802, 363, 0, 0, 612, 0, 612, 1840 381, 0, 0, 0, 0, 0, 0, 34, 1222, 612, 1841 0, 0, 37, 1224, 38, 39, 40, 0, 0, 0, 1842 0, 1228, 0, 41, 42, 0, 8, 9, 10, 11, 1843 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1844 22, 23, 24, 25, -291, 0, 0, 0, 0, 43, 1845 0, 157, 0, 0, 1254, 31, 0, 45, 46, 0, 1846 0, 0, 0, 0, 0, 0, 1262, 0, 0, 1263, 1847 0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 1848 0, 802, 0, 34, 0, 1273, 1274, 0, 340, 363, 1849 413, 0, 413, 0, -291, 0, 413, 0, 757, 0, 1850 962, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 1851 973, 0, 0, 0, 0, 0, 981, 612, 612, 0, 1852 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1853 18, 19, 20, 21, 22, 23, 24, 25, 1161, 0, 1854 0, 8, 9, 10, 11, 12, 0, 0, 0, 31, 1855 0, 0, 413, 0, 1326, 0, 0, 0, 999, 1000, 1856 0, 0, 345, 0, 0, 0, 0, 0, 282, 283, 1857 31, 284, 0, 413, 1142, 0, 345, 34, 0, 0, 1858 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 1859 413, 1154, 0, 612, 612, 1159, 0, 285, 34, 0, 1860 0, 0, 0, 286, 0, 363, 363, 287, 0, 0, 1861 288, 289, 290, 291, 41, 42, 1030, 292, 293, 0, 1862 381, 0, 0, 0, 0, 0, 0, 0, 0, 1376, 1863 0, 1377, 0, 0, 0, 0, 0, 0, 0, 0, 1864 294, 0, 378, 1385, 0, 1386, 0, 0, 1162, 46, 1865 296, 297, 298, 299, 0, 0, 0, 345, 0, 0, 1866 0, 0, 1393, 0, 0, 0, 0, 0, 413, 0, 1867 413, 0, 0, 0, 0, 413, 0, 0, 1411, 1413, 1868 0, 0, 0, 0, 612, 0, 0, 0, 0, 1418, 1869 0, 0, 1228, 0, 0, 0, 320, 0, 0, 0, 1870 0, 0, 0, 0, 0, 0, 0, 802, 413, 1242, 1871 0, 0, 0, 1440, 0, 282, 283, 0, 284, 0, 1872 0, 0, 1447, 0, 381, 1449, 0, 1451, 1453, 1455, 1873 973, 363, 0, 0, 740, 0, 0, 0, 0, 0, 1874 0, 0, 0, 0, 285, 0, 0, 0, 0, 0, 1875 286, 0, 0, 0, 287, 1149, 0, 288, 289, 290, 1876 291, 41, 42, 0, 292, 293, 1164, 1485, 0, 1487, 1877 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 1878 0, 0, 0, 0, 0, 0, 1498, 294, 381, 378, 1879 1182, 0, 340, 0, 756, 45, 46, 296, 297, 298, 1880 299, 0, 0, 0, 0, 973, 973, 0, 0, 0, 1881 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1882 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 1883 0, 0, 0, 0, 1, 2, 206, 4, 5, 6, 1884 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1885 17, 18, 19, 20, 21, 22, 23, 24, 25, 363, 1886 363, 26, 27, 28, 29, 0, 0, 30, 0, 0, 1887 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1888 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 1889 0, 0, 0, 0, 0, 0, 0, 0, 34, 861, 1890 35, 0, 36, 0, 0, 38, 39, 0, 0, 0, 1891 0, 0, 0, 0, 1265, 1266, 0, 1, 2, 206, 1892 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1893 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1894 24, 25, 44, 0, 26, 27, 28, 29, 45, 46, 1895 30, 282, 283, 31, 1039, 1040, 0, 1041, 0, 0, 1896 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 1897 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 363, 1898 285, 34, 0, 35, 0, 36, 1053, 0, 38, 39, 1899 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 1900 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1902 0, 0, 0, 294, 0, 1054, 0, 0, 171, 0, 1903 0, 45, 46, 296, 297, 298, 299, 0, 0, 0, 1904 0, 1055, 0, 0, 0, 0, -126, 0, 0, 0, 1905 0, 0, 0, 0, 0, 1370, 0, 0, 740, 0, 1906 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 2543 0, 0, 0, 0, 0, 0, 0, 0, 286, 34, 2544 0, 35, 0, 36, 287, 0, 38, 39, 288, 0, 2545 0, 289, 290, 291, 292, 41, 42, 0, 293, 294, 1907 2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1908 2547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1909 413, 413, 0, 0, 0, 0, 0, 0, 0, 0, 2548 0, 295, 0, 969, 0, 0, 0, 0, 0, 0, 2549 344, 46, 297, 298, 299, 300, 2, 207, 4, 5, 2550 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2551 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2552 0, 0, 26, 27, 28, 0, 0, 0, 0, 283, 2553 284, 31, 285, 0, 0, 0, 0, 0, 0, 0, 1910 2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1911 0, 0, 0, 0, 0, 413, 1, 2, 206, 4, 2555 0, 0, 0, 0, 0, 0, 0, 0, 286, 34, 2556 0, 35, 0, 36, 287, 0, 208, 39, 288, 0, 2557 0, 289, 290, 291, 292, 41, 42, 0, 293, 294, 2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 295, 0, 379, 0, 0, 0, 0, 0, 0, 2561 45, 46, 297, 298, 299, 300, 1, 2, 3, 4, 1912 2562 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1913 2563 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1914 2564 25, 0, 0, 26, 27, 28, 29, 0, 0, 30, 1915 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 1916 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1917 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 1918 34, 0, 35, 31, 36, 286, 0, 38, 39, 287, 1919 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 1920 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1921 0, 34, 0, 0, 0, 0, 37, 0, 38, 39, 1922 40, 0, 294, 0, 1054, 0, 0, 41, 42, 0, 1923 45, 46, 296, 297, 298, 299, 0, 0, 0, 0, 1924 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 1925 0, 0, 0, 43, 0, 44, 0, 0, 0, 0, 1926 0, 45, 46, 0, 0, 0, 0, 0, 320, 1, 1927 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 1928 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1929 22, 23, 24, 25, 0, 0, 26, 27, 28, 29, 1930 0, 0, 30, 282, 283, 31, 284, 8, 9, 10, 2565 0, 0, 31, 32, 0, 0, 0, 0, 0, 0, 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2567 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 2568 34, 0, 35, 0, 36, 37, 0, 38, 39, 40, 2569 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2572 0, 0, 43, 0, 44, 0, 0, 0, -523, 0, 2573 0, 45, 46, 1, 2, 3, 4, 5, 6, 7, 2574 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2575 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2576 26, 27, 28, 29, 0, 0, 30, 0, 0, 31, 2577 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579 0, 0, 0, 0, 33, 0, 0, 34, 0, 35, 2580 0, 36, 37, 0, 38, 39, 40, 0, 0, 0, 2581 0, 0, 0, 41, 42, 0, 0, 0, 0, 0, 2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 2584 0, 44, 0, 0, 0, 0, 0, 0, 45, 46, 2585 1, 2, 207, 4, 5, 6, 7, 8, 9, 10, 1931 2586 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1932 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 1933 0, 0, 285, 34, 0, 35, 31, 36, 286, 0, 1934 38, 39, 287, 0, 0, 288, 289, 290, 291, 41, 1935 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 1936 0, 0, 0, 0, 34, 0, 0, 0, 0, 110, 1937 0, 38, 39, 0, 0, 294, 0, 44, 0, 0, 1938 41, 42, 0, 45, 46, 296, 297, 298, 299, 2, 1939 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1940 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1941 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 1942 0, 0, 282, 283, 31, 284, 0, 0, 0, 8, 1943 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 1944 19, 20, 21, 22, 23, 24, 25, -292, 0, 0, 1945 0, 285, 34, 0, 35, 0, 36, 286, 31, 38, 1946 39, 287, 0, 0, 288, 289, 290, 291, 41, 42, 1947 0, 292, 293, 0, 0, 0, 0, 0, 0, 0, 1948 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 1949 0, 0, 0, 0, 294, 0, 342, -292, 0, 0, 1950 0, 756, 343, 46, 296, 297, 298, 299, 2, 206, 1951 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1952 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1953 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 1954 0, 282, 283, 31, 284, 8, 9, 10, 11, 12, 1955 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1956 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 1957 285, 34, 0, 35, 31, 36, 286, 0, 38, 39, 1958 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 1959 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 1960 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 1961 39, 0, 0, 294, 0, 961, 0, 0, 0, 0, 1962 756, 343, 46, 296, 297, 298, 299, 2, 206, 4, 1963 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1964 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1965 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 1966 282, 283, 31, 284, 8, 9, 10, 11, 12, 13, 1967 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1968 24, 25, 0, 0, 26, 27, 28, 0, 0, 285, 1969 34, 0, 35, 31, 36, 286, 0, 38, 39, 287, 1970 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 1971 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1972 0, 34, 0, 0, 0, 0, 0, 0, 207, 39, 1973 0, 0, 294, 0, 961, 0, 0, 0, 0, 756, 1974 45, 46, 296, 297, 298, 299, 2, 206, 4, 5, 2587 21, 22, 23, 24, 25, -294, 0, 26, 27, 28, 2588 29, 0, 0, 30, 0, 0, 31, 0, 0, 0, 2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 0, 0, 34, 0, 35, 0, 36, 0, 2592 0, 38, 39, 0, 0, -294, 2, 207, 4, 5, 1975 2593 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1976 2594 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1977 0, 0, 26, 27, 28, 0, 0, 0, 0, 282,1978 283, 31, 284, 0, 0, 0, 0, 0, 0, 0,2595 0, 0, 26, 27, 28, 0, 0, 0, 44, 0, 2596 0, 31, 0, 0, 0, 45, 46, 0, 0, 0, 1979 2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1980 0, 0, 0, 0, 0, 0, 0, 0, 285, 34, 1981 0, 35, 0, 36, 286, 0, 38, 39, 287, 0, 1982 0, 288, 289, 290, 291, 41, 42, 0, 292, 293, 1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1985 0, 294, 0, 342, 0, 0, 0, 0, 0, 343, 1986 46, 296, 297, 298, 299, 2, 206, 4, 5, 6, 1987 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1988 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 1989 0, 26, 27, 28, 0, 0, 0, 0, 282, 283, 1990 31, 284, 0, 0, 0, 0, 0, 0, 0, 0, 1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1992 0, 0, 0, 0, 0, 0, 0, 285, 34, 0, 1993 35, 0, 36, 286, 0, 207, 39, 287, 0, 0, 1994 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1997 294, 0, 996, 0, 0, 0, 0, 0, 997, 46, 1998 296, 297, 298, 299, 2, 206, 4, 5, 6, 7, 1999 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2000 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2001 26, 27, 28, 0, 0, 0, 0, 282, 283, 31, 2002 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2004 0, 0, 0, 0, 0, 0, 285, 34, 0, 35, 2005 0, 36, 286, 0, 38, 39, 287, 0, 0, 288, 2006 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2009 0, 961, 0, 0, 0, 0, 0, 343, 46, 296, 2010 297, 298, 299, 2, 206, 4, 5, 6, 7, 8, 2011 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2012 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2013 27, 28, 0, 0, 0, 0, 282, 283, 31, 284, 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016 0, 0, 0, 0, 0, 285, 34, 0, 35, 0, 2017 36, 286, 0, 207, 39, 287, 0, 0, 288, 289, 2018 290, 291, 41, 42, 0, 292, 293, 0, 0, 0, 2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2020 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 2021 378, 0, 0, 0, 0, 0, 45, 46, 296, 297, 2022 298, 299, -514, 0, 0, 1, 2, 3, 4, 5, 2023 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2024 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2025 0, 0, 26, 27, 28, 29, 0, 0, 30, 0, 2026 0, 31, 32, 0, 0, 0, 0, 0, 0, 0, 2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2028 0, 0, 0, 0, 0, 0, 33, 0, 0, 34, 2029 0, 35, 0, 36, 37, 0, 38, 39, 40, 0, 2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2599 0, 35, 0, 36, 37, 0, 208, 39, 40, 0, 2030 2600 0, 0, 0, 0, 0, 41, 42, 0, 0, 0, 2031 2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032 2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2033 0, 43, 0, 44, 0, 0, 0, 0, 0, 45, 2034 46, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2035 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2036 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2037 28, 29, 0, 0, 30, 0, 0, 31, 32, 0, 2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2040 0, 0, 33, 0, 0, 34, 0, 35, 0, 36, 2041 37, 0, 38, 39, 40, 0, 0, 0, 0, 0, 2042 0, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2044 0, 0, 0, 0, 0, 0, 0, 43, 0, 44, 2045 0, 0, 0, 0, 0, 45, 46, 205, 2, 206, 2046 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2047 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2048 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2049 0, 0, 0, 31, 0, 8, 9, 10, 11, 12, 2050 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2051 23, 24, 25, 0, 0, 26, 27, 28, 484, 485, 2052 486, 34, 0, 35, 31, 36, 37, 0, 207, 39, 2053 40, 0, 0, 0, 0, 0, 0, 41, 42, 0, 2054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2055 0, 0, 34, 0, 0, 0, 0, 0, 0, 38, 2056 39, 0, 0, 43, 0, 208, 0, 0, 0, 0, 2057 0, 45, 46, 1, 2, 206, 4, 5, 6, 7, 2058 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2059 18, 19, 20, 21, 22, 23, 24, 25, -291, 0, 2060 26, 27, 28, 29, 0, 0, 30, 0, 0, 31, 2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2063 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 2064 0, 36, 0, 0, 38, 39, 0, 0, -291, 2, 2065 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2066 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2067 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2068 0, 44, 0, 0, 31, 0, 0, 45, 46, 0, 2069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2071 0, 0, 34, 0, 35, 0, 36, 37, 0, 207, 2072 39, 40, 0, 0, 0, 0, 0, 0, 41, 42, 2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2075 0, 0, 0, 0, 43, 0, 208, 0, 0, 0, 2076 0, 0, 45, 46, 2, 206, 4, 5, 6, 7, 2077 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2078 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2079 26, 27, 28, 0, 0, 0, 0, 0, 0, 31, 2080 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2081 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2082 24, 25, 0, 0, 26, 27, 28, 34, 0, 35, 2083 0, 36, 0, 31, 38, 39, 0, 2, 206, 4, 2084 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2085 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2086 25, 34, 0, 26, 27, 28, 0, 0, 38, 39, 2087 -398, 676, 31, 0, 0, 0, 0, 45, 46, 0, 2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2090 34, 0, 35, 633, 36, 337, 0, 38, 39, 0, 2091 0, 45, 46, 0, 0, 0, 0, 0, 0, 0, 2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, 2093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2094 0, 0, 0, 0, 676, 0, 0, 0, 0, 0, 2095 45, 46, 2, 206, 4, 5, 6, 7, 8, 9, 2603 0, 43, 0, 209, 0, 0, 0, 0, 0, 0, 2604 45, 46, 2, 207, 4, 5, 6, 7, 8, 9, 2096 2605 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2097 2606 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, … … 2100 2609 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2101 2610 0, 26, 27, 28, 0, 34, 0, 35, 0, 36, 2102 31, 683, 38, 39, 0, 0, 0, 0, 0, 0,2611 31, 0, 38, 39, 0, 0, 0, 0, 0, 0, 2103 2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2104 0, 0, 0, 0, 1351, 0, 0, 0, 34, 0, 2105 0, 0, 0, 0, 0, 38, 39, 0, 0, 676, 2106 0, 0, 0, 0, 0, 45, 46, 2, 206, 4, 2107 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2108 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2109 25, 0, 684, 26, 27, 28, 685, 0, 45, 46, 2110 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 2613 0, 0, 0, 0, 1367, 0, 0, 0, 34, 0, 2614 0, 0, 0, 37, 0, 336, 337, 40, 0, 678, 2615 0, 0, 0, 0, 41, 42, 45, 46, 2, 207, 2616 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2617 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2618 24, 25, 338, 0, 26, 27, 28, 0, 0, 45, 2619 46, 0, 0, 31, 0, 0, 0, 8, 9, 10, 2620 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2621 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2622 0, 34, 0, 35, 0, 36, 31, 0, 38, 39, 2111 2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112 2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2113 34, 0, 35, 0, 36, 0, 0, 207, 39, 0, 2114 2, 206, 4, 5, 6, 7, 8, 9, 10, 11, 2115 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2116 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2117 0, 0, 0, 0, 270, 31, 0, 0, 0, 0, 2118 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2120 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2121 38, 39, 0, 2, 206, 4, 5, 6, 7, 8, 2122 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2123 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2124 27, 28, 0, 0, 0, 0, 0, 676, 31, 0, 2125 0, 0, 0, 45, 46, 0, 0, 0, 0, 0, 2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2128 36, 0, 0, 38, 39, 0, 2, 206, 4, 5, 2129 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2130 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2131 0, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2132 591, 31, 0, 0, 0, 0, 45, 46, 0, 0, 2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2135 0, 35, 0, 36, 0, 0, 207, 39, 8, 9, 2136 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2137 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2138 28, 0, 0, 0, 0, 282, 283, 31, 284, 0, 2139 0, 0, 0, 208, 0, 0, 0, 0, 0, 45, 2140 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141 0, 0, 0, 0, 285, 34, 0, 0, 0, 0, 2142 286, 0, 38, 39, 287, 0, 0, 288, 289, 290, 2143 291, 41, 42, 0, 292, 293, 0, 0, 0, 0, 2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2145 0, 0, 0, 0, 0, 0, 0, 294, 0, 516, 2146 0, 0, 171, 0, 0, 45, 46, 296, 297, 298, 2147 299, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2148 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2149 0, 26, 27, 28, 0, 0, 0, 0, 282, 283, 2150 31, 284, 8, 9, 10, 11, 12, 13, 14, 15, 2151 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2152 0, 0, 26, 27, 28, 0, 0, 285, 34, 0, 2153 0, 31, 0, 286, 0, 38, 39, 287, 0, 0, 2154 288, 289, 290, 291, 41, 42, 0, 292, 293, 0, 2155 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2156 0, 0, 0, 0, 37, 0, 335, 336, 40, 0, 2157 294, -35, 295, 0, 0, 41, 42, 0, 45, 46, 2158 296, 297, 298, 299, 8, 9, 10, 11, 12, 13, 2159 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2160 24, 25, 0, 337, 26, 27, 28, 0, 0, 45, 2161 46, 282, 283, 31, 284, 8, 9, 10, 11, 12, 2162 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2163 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2164 285, 34, 0, 0, 31, 0, 286, 0, 38, 39, 2165 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2166 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2167 0, 0, 34, 0, 0, 0, 0, 110, 0, 38, 2168 39, 0, 0, 294, 0, 295, 0, 0, 41, 42, 2169 0, 45, 46, 296, 297, 298, 299, 8, 9, 10, 2170 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2171 21, 22, 23, 24, 25, 0, 44, 26, 27, 28, 2172 0, 0, 45, 46, 282, 283, 31, 284, 8, 9, 2173 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2174 20, 21, 22, 23, 24, 25, 0, 0, 26, 27, 2175 28, 0, 0, 285, 34, 0, 0, 31, 683, 286, 2176 0, 38, 39, 287, 0, 0, 288, 289, 290, 291, 2177 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2178 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2179 0, 0, 38, 39, 0, 0, 294, 0, 157, 0, 2180 0, 0, 0, 0, 45, 46, 296, 297, 298, 299, 2625 1369, 0, 0, 0, 34, 0, 0, 0, 0, 111, 2626 0, 38, 39, 0, 0, 678, 0, 0, 0, 0, 2627 41, 42, 45, 46, 2, 207, 4, 5, 6, 7, 2181 2628 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2182 18, 19, 20, 21, 22, 23, 24, 25, 0, 684, 2183 26, 27, 28, 1090, 0, 45, 46, 282, 283, 31, 2184 284, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2185 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2186 0, 26, 27, 28, 0, 0, 285, 34, 0, 0, 2187 31, 683, 286, 0, 38, 39, 287, 0, 0, 288, 2188 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2189 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2190 0, 0, 0, 0, 0, 38, 39, 0, 0, 294, 2191 0, 591, 0, 0, 0, 0, 0, 45, 46, 296, 2192 297, 298, 299, 8, 9, 10, 11, 12, 13, 14, 2193 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2194 25, 0, 684, 26, 27, 28, 1219, 0, 45, 46, 2195 282, 283, 31, 284, 0, 8, 9, 10, 11, 12, 2196 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2197 23, 24, 25, -291, 0, 26, 27, 28, 0, 285, 2198 34, 0, 0, 0, 31, 286, 0, 38, 39, 287, 2199 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2200 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201 0, 0, 34, 0, 0, 0, 0, 37, 0, 335, 2202 336, 40, 294, -291, 378, 0, 0, 0, 41, 42, 2203 45, 46, 296, 297, 298, 299, 0, 0, 0, 0, 2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2205 0, 0, 0, 0, 633, 0, 337, 0, 0, 0, 2206 0, 0, 45, 46, 8, 9, 10, 11, 12, 13, 2207 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2208 24, 25, -291, 0, 26, 27, 28, 0, 0, 0, 2209 0, 0, 0, 31, 8, 9, 10, 11, 12, 13, 2210 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2211 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2212 0, 34, 0, 31, 0, 0, 37, 0, 335, 336, 2213 40, 0, -291, 0, 0, 0, 0, 41, 42, 0, 2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2215 0, 34, 0, 0, 0, 0, 37, 0, 207, 39, 2216 40, 0, 0, 0, 0, 337, 0, 41, 42, 0, 2217 0, 45, 46, 0, 0, 0, 0, 0, 0, 0, 2218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2219 0, 0, 0, 43, 0, 270, 0, 0, 0, 0, 2220 0, 45, 46, 8, 9, 10, 11, 12, 13, 14, 2221 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2222 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2223 0, 0, 31, 8, 9, 10, 11, 12, 13, 14, 2224 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2225 25, -291, 0, 26, 27, 28, 0, 0, 0, 0, 2226 34, 0, 31, 0, 0, 37, 0, 335, 336, 40, 2227 0, 0, 0, 0, 0, 0, 41, 42, 0, 0, 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2229 34, 0, 0, 0, 0, 0, 0, 38, 39, 0, 2230 0, -291, 633, 0, 337, 0, 0, 0, 0, 0, 2231 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2233 0, 0, 633, 0, 337, 0, 0, 0, 0, 0, 2234 45, 46, 8, 9, 10, 11, 12, 13, 14, 15, 2235 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2236 -291, 0, 26, 27, 28, 0, 0, 0, 0, 0, 2237 0, 31, 8, 9, 10, 11, 12, 13, 14, 15, 2238 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2239 0, 0, 26, 27, 28, 0, 0, 0, 0, 34, 2240 0, 31, 0, 0, 0, 0, 38, 39, 0, 0, 2241 -291, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2242 17, 18, 19, 20, 21, 22, 23, 24, 25, 34, 2243 0, 26, 27, 28, 0, 0, 38, 39, 0, 0, 2244 31, 0, 0, 337, 0, 0, 0, 0, 0, 45, 2245 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2246 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2247 0, 0, 0, 257, 0, 38, 39, 0, 0, 45, 2248 46, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2249 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2250 0, 26, 27, 28, 0, 0, 0, 0, 0, 0, 2251 31, 0, 157, 0, 0, 0, 0, 0, 45, 46, 2252 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2253 18, 19, 20, 21, 22, 23, 24, 25, 34, 0, 2254 26, 27, 28, 0, 0, 207, 39, 0, 0, 31, 2255 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2256 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2257 26, 27, 28, 0, 0, 0, 0, 34, 0, 31, 2258 0, 0, 270, 0, 38, 39, 0, 0, 45, 46, 2259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2260 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2261 0, 0, 0, 0, 38, 39, 0, 0, 0, 0, 2262 0, 337, 0, 0, 0, 0, 0, 45, 46, 0, 2263 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2264 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2265 0, 684, 26, 27, 28, 0, 0, 45, 46, 0, 2266 0, 31, 8, 9, 10, 11, 12, 13, 14, 15, 2267 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2268 0, 0, 26, 27, 28, 0, 0, 0, 0, 34, 2269 0, 31, 0, 0, 0, 0, 38, 39, 0, 0, 2270 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2271 18, 19, 20, 21, 22, 23, 24, 25, 0, 34, 2272 26, 27, 28, 0, 0, 0, 38, 39, 0, 31, 2273 0, 0, 0, 591, 0, 0, 0, 0, 0, 45, 2274 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 2276 0, 0, 0, 44, 207, 39, 0, 0, 0, 45, 2277 46, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2278 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2279 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2280 0, 0, 0, 0, 0, 0, 31, 45, 46, 0, 2629 18, 19, 20, 21, 22, 23, 24, 25, 44, 0, 2630 26, 27, 28, 0, 0, 45, 46, 0, 0, 31, 2281 2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282 2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2283 0, 0, 0, 0, 34, 0, 35, 0, 36, 0, 2284 0, 38, 39, 282, 283, 0, 284, 1040, 0, 1041, 2285 0, 0, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 2286 0, 0, 1523, 1050, 0, 0, 0, 1051, 1052, 0, 2287 33, 0, 285, 0, 0, 0, 0, -411, 1053, 0, 2288 0, 0, 287, 0, 0, 288, 289, 290, 291, 41, 2289 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291 0, 0, 0, 0, 0, 294, 0, 378, 0, 0, 2292 171, 0, 0, 45, 46, 296, 297, 298, 299, 0, 2293 0, 282, 283, 1055, 284, 1040, 0, 1041, -126, 0, 2294 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 2295 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 0, 2296 285, 0, 0, 0, 0, 0, 1053, 0, 0, 0, 2297 287, 0, 0, 288, 289, 290, 291, 41, 42, 0, 2298 292, 293, 0, 0, 0, 0, 0, 0, 0, 0, 2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300 0, 0, 0, 294, 0, 378, 0, 0, 171, 0, 2301 0, 45, 46, 296, 297, 298, 299, 0, 0, 0, 2302 0, 1055, 0, 0, 0, 0, -126, 2, 206, 4, 2633 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 2634 0, 36, 0, 0, 208, 39, 0, 2, 207, 4, 2303 2635 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2304 2636 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2305 2637 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2306 0, 0, 31, 0, 282, 283, 0, 284, 1040, 0, 2307 1041, 1397, 1398, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 2308 1049, 0, 0, 1523, 1050, 0, 0, 0, 1051, 1052, 2309 34, 33, 35, 285, 36, 0, 0, 38, 39, 1053, 2310 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2311 41, 42, 0, 292, 293, 0, 0, 0, 0, 1310, 2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2313 0, 0, 0, 0, 0, 0, 294, 0, 378, 0, 2314 0, 171, 0, 0, 45, 46, 296, 297, 298, 299, 2315 0, 0, 282, 283, 1055, 284, 1040, 0, 1041, 1397, 2316 1398, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 2317 0, 0, 1050, 0, 0, 0, 1051, 1052, 0, 33, 2318 0, 285, 0, 0, 0, 0, 0, 1053, 0, 0, 2319 0, 287, 0, 0, 288, 289, 290, 291, 41, 42, 2320 0, 292, 293, 0, 0, 0, 0, 0, 0, 0, 2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2322 0, 0, 0, 0, 294, 0, 378, 0, 0, 171, 2323 0, 0, 45, 46, 296, 297, 298, 299, 0, 0, 2324 282, 283, 1055, 284, 1040, 0, 1041, 0, 0, 1042, 2325 1043, 1044, 1045, 1046, 1047, 1048, 1049, 0, 0, 0, 2326 1050, 0, 0, 0, 1051, 1052, 0, 33, 0, 285, 2327 0, 0, 0, 0, 0, 1053, 0, 0, 0, 287, 2328 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2329 293, 0, 0, 0, 0, 0, 0, 282, 283, 0, 2330 284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2331 0, 0, 294, 0, 378, 0, 0, 171, 0, 0, 2332 45, 46, 296, 297, 298, 299, 285, 0, 0, 0, 2333 1055, 0, 286, 0, 0, 0, 287, 0, 0, 288, 2334 289, 290, 291, 41, 42, 0, 292, 293, 0, 0, 2335 0, 0, 0, 0, 282, 283, 0, 284, 0, 0, 2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 2337 0, 378, 0, 0, 970, 0, 0, 45, 46, 296, 2338 297, 298, 299, 285, 0, 0, 0, 0, 0, 286, 2339 0, 0, 0, 287, 0, 0, 288, 289, 290, 291, 2340 41, 42, 0, 292, 293, 0, 0, 0, 0, 0, 2341 0, 282, 283, 0, 284, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 0, 294, 0, 378, 0, 2343 282, 283, 0, 284, 45, 46, 296, 297, 298, 299, 2344 285, 0, 0, 0, 0, 0, 286, 0, 0, 0, 2345 287, 0, 0, 288, 289, 290, 291, 41, 42, 285, 2346 292, 293, 0, 0, 0, 286, 0, 0, 0, 287, 2347 0, 0, 288, 289, 290, 291, 41, 42, 0, 292, 2348 293, 0, 0, 294, 0, 378, 0, 282, 283, 0, 2349 284, 707, 46, 296, 297, 298, 299, 0, 0, 0, 2350 0, 0, 294, 0, 378, 0, 282, 283, 0, 284, 2351 343, 46, 296, 297, 298, 299, 285, 0, 0, 0, 2352 0, 0, 286, 0, 0, 0, 287, 0, 0, 288, 2353 289, 290, 291, 41, 42, 285, 292, 293, 0, 0, 2354 0, 286, 0, 0, 0, 287, 0, 0, 288, 289, 2355 290, 291, 41, 42, 0, 292, 293, 0, 0, 294, 2356 0, 0, 0, 282, 283, 0, 284, 45, 46, 296, 2357 297, 298, 299, 0, 0, 0, 0, 0, 510, 0, 2358 0, 0, 0, 0, 0, 0, 45, 46, 296, 297, 2359 298, 299, 285, 0, 0, 0, 0, 0, 286, 0, 2360 0, 0, 287, 0, 0, 288, 289, 290, 291, 41, 2361 42, 0, 292, 293, 0, 0, 0, 0, 0, 0, 2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363 0, 0, 0, 0, 0, 513, 0, 0, 0, 0, 2364 0, 0, 0, 45, 46, 296, 297, 298, 299, 2, 2365 206, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2366 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2367 23, 24, 25, 0, 0, 0, 0, 0, 0, 0, 2368 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 2638 0, 271, 31, 0, 0, 0, 0, 0, 45, 46, 2369 2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370 2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2371 0, 0, 34, 0, 35, 0, 36, 37, 0, 174, 2372 175, 40, 0, 0, 0, 0, 0, 0, 41, 42, 2373 205, 2, 206, 4, 5, 6, 7, 8, 9, 10, 2641 34, 0, 35, 0, 36, 0, 0, 38, 39, 0, 2642 2, 207, 4, 5, 6, 7, 8, 9, 10, 11, 2643 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2644 22, 23, 24, 25, 0, 0, 26, 27, 28, 0, 2645 0, 0, 0, 0, 678, 31, 0, 0, 0, 0, 2646 0, 45, 46, 0, 0, 0, 0, 0, 0, 0, 2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2648 0, 0, 0, 34, 0, 35, 0, 36, 0, 0, 2649 38, 39, 0, 2, 207, 4, 5, 6, 7, 8, 2650 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2651 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2652 27, 28, 0, 0, 0, 0, 0, 592, 31, 0, 2653 0, 0, 0, 0, 45, 46, 0, 0, 0, 0, 2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2656 36, 0, 0, 208, 39, 8, 9, 10, 11, 12, 2657 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2658 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2659 0, 0, 283, 284, 31, 285, 0, 0, 0, 0, 2660 209, 0, 0, 0, 0, 0, 0, 45, 46, 0, 2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2662 0, 286, 34, 0, 0, 0, 0, 287, 0, 38, 2663 39, 288, 0, 0, 289, 290, 291, 292, 41, 42, 2664 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 295, 0, 517, 0, 0, 172, 2667 0, 0, 0, 45, 46, 297, 298, 299, 300, 8, 2668 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2669 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2670 27, 28, 0, 0, 0, 0, 283, 284, 31, 285, 2671 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 2672 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2673 21, 22, 23, 24, 25, 286, 34, 26, 27, 28, 2674 0, 640, 0, 38, 39, 288, 31, 0, 289, 290, 2675 291, 292, 41, 42, 0, 293, 294, 0, 0, 0, 2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2677 0, 0, 0, 0, 34, 0, 0, 0, 295, -35, 2678 741, 38, 39, 0, 0, 0, 0, 45, 46, 297, 2679 298, 299, 300, 8, 9, 10, 11, 12, 13, 14, 2680 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2681 25, 0, 0, 26, 27, 28, 634, 0, 338, 0, 2682 283, 284, 31, 285, 0, 45, 46, 0, 0, 0, 2683 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2684 17, 18, 19, 20, 21, 22, 23, 24, 25, 286, 2685 34, 26, 27, 28, 0, 287, 0, 38, 39, 288, 2686 31, 0, 289, 290, 291, 292, 41, 42, 0, 293, 2687 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2688 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 2689 0, 0, 295, 0, 296, 38, 39, 0, 0, 0, 2690 0, 45, 46, 297, 298, 299, 300, 8, 9, 10, 2374 2691 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2375 2692 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2693 0, 0, 258, 0, 283, 284, 31, 285, 0, 45, 2694 46, 0, 0, 0, 0, 8, 9, 10, 11, 12, 2695 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2696 23, 24, 25, 286, 34, 26, 27, 28, 0, 287, 2697 0, 38, 39, 288, 31, 0, 289, 290, 291, 292, 2698 41, 42, 0, 293, 294, 0, 0, 0, 0, 0, 2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2700 0, 0, 34, 0, 0, 0, 295, 0, 158, 38, 2701 39, 0, 0, 0, 0, 45, 46, 297, 298, 299, 2702 300, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2703 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2704 0, 26, 27, 28, 0, 0, 158, 0, 283, 284, 2705 31, 285, 0, 45, 46, 0, 0, 0, 0, 8, 2706 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2707 19, 20, 21, 22, 23, 24, 25, 286, 34, 26, 2708 27, 28, 0, 287, 0, 38, 39, 288, 31, 0, 2709 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2711 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2712 295, 0, 592, 208, 39, 0, 0, 0, 0, 45, 2713 46, 297, 298, 299, 300, 8, 9, 10, 11, 12, 2714 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2715 23, 24, 25, 0, 0, 26, 27, 28, 0, 0, 2716 271, 0, 283, 284, 31, 285, 0, 45, 46, 0, 2717 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2718 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2719 25, 286, 34, 26, 27, 28, 0, 287, 0, 38, 2720 39, 288, 31, 0, 289, 290, 291, 292, 41, 42, 2721 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2723 34, 0, 0, 0, 295, 0, 379, 38, 39, 0, 2724 0, 0, 0, 45, 46, 297, 298, 299, 300, 467, 2725 2, 207, 4, 5, 6, 7, 8, 9, 10, 11, 2726 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2727 22, 23, 24, 25, 338, 0, 26, 27, 28, 0, 2728 0, 45, 46, 0, 0, 31, 0, 0, 0, 8, 2729 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2730 19, 20, 21, 22, 23, 24, 25, -294, 0, 26, 2731 27, 28, 0, 34, 0, 35, 0, 36, 31, 0, 2732 38, 39, 0, 0, 0, 0, 0, 8, 9, 10, 2733 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2734 21, 22, 23, 24, 25, -294, 34, 26, 27, 28, 2735 0, 37, 0, 336, 337, 40, 31, -294, 0, 0, 2736 -3, 0, 41, 42, 0, 8, 9, 10, 11, 12, 2737 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2738 23, 24, 25, 0, 34, 26, 27, 28, 634, 37, 2739 338, 336, 337, 40, 31, -294, 0, 45, 46, 0, 2740 41, 42, 0, 8, 9, 10, 11, 12, 13, 14, 2741 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2742 25, 0, 34, 26, 27, 28, 0, 37, 338, 38, 2743 39, 40, 31, 0, 0, 45, 46, 0, 41, 42, 2744 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2745 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2746 34, 26, 27, 28, 43, 37, 44, 208, 39, 40, 2747 31, 0, 0, 45, 46, 0, 41, 42, 0, 8, 2748 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2749 19, 20, 21, 22, 23, 24, 25, 0, 34, 26, 2750 27, 28, 43, 37, 271, 336, 337, 40, 31, 685, 2751 0, 45, 46, 0, 41, 42, 0, 8, 9, 10, 2752 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2753 21, 22, 23, 24, 25, -294, 34, 26, 27, 28, 2754 634, 0, 338, 38, 39, 0, 31, 0, 0, 45, 2755 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2758 686, 38, 39, 0, 687, -294, 0, 45, 46, 0, 2759 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2760 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2761 26, 27, 28, 0, 0, 0, 0, 0, 338, 31, 2762 685, 0, 0, 0, 0, 45, 46, 0, 8, 9, 2763 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2764 20, 21, 22, 23, 24, 25, 0, 34, 26, 27, 2765 28, 0, 0, 0, 38, 39, 0, 31, 685, 8, 2766 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2767 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2768 27, 28, 0, 0, 0, 34, 0, 0, 31, 0, 2769 0, 686, 38, 39, 0, 1099, 0, 0, 45, 46, 2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2771 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2772 0, 0, 0, 38, 39, 0, 0, 0, 0, 686, 2773 0, 0, 0, 1231, 0, 0, 45, 46, 0, 0, 2774 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2775 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2776 686, 26, 27, 28, 0, 0, 0, 45, 46, 0, 2777 31, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2778 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2779 0, 26, 27, 28, 0, 0, 0, 0, 34, 0, 2780 31, 0, 0, 0, 0, 38, 39, 0, 0, 8, 2781 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2782 19, 20, 21, 22, 23, 24, 25, 0, 34, 26, 2783 27, 28, 485, 486, 487, 38, 39, 0, 31, 0, 2784 0, 0, 592, 0, 0, 0, 0, 0, 0, 45, 2785 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2786 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2787 0, 0, 44, 38, 39, 0, 0, 0, 0, 45, 2788 46, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2789 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2790 21, 22, 23, 24, 25, 0, 0, 26, 27, 28, 2791 0, 0, 0, 0, 0, 0, 31, 0, 283, 284, 2792 0, 285, 1049, 0, 1050, 0, 0, 1051, 1052, 1053, 2793 1054, 1055, 1056, 1057, 1058, 0, 0, 1547, 1059, 0, 2794 0, 0, 1060, 1061, 34, 33, 35, 286, 36, 0, 2795 0, 38, 39, 1062, 0, 0, 0, 288, 0, 0, 2796 289, 290, 291, 292, 41, 42, 0, 293, 294, 0, 2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2798 0, 0, 0, 0, 0, 0, 0, -415, 0, 0, 2799 295, 0, 379, 0, 0, 172, 0, 0, 0, 45, 2800 46, 297, 298, 299, 300, 0, 0, 0, 0, 1064, 2801 0, 283, 284, -129, 285, 1049, 0, 1050, 0, 0, 2802 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 0, 0, 2803 0, 1059, 0, 0, 0, 1060, 1061, 0, 33, 0, 2804 286, 0, 0, 0, 0, 0, 1062, 0, 0, 0, 2805 288, 0, 0, 289, 290, 291, 292, 41, 42, 0, 2806 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, 2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808 0, 0, 0, 295, 0, 379, 0, 0, 172, 0, 2809 0, 0, 45, 46, 297, 298, 299, 300, 0, 0, 2810 0, 0, 1064, 0, 0, 0, -129, 2, 207, 4, 2811 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2812 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2813 25, 0, 0, 26, 27, 28, 0, 0, 0, 0, 2814 0, 0, 31, 0, 283, 284, 0, 285, 1049, 0, 2815 1050, 1417, 1418, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 2816 1058, 0, 0, 1547, 1059, 0, 0, 0, 1060, 1061, 2817 34, 33, 35, 286, 36, 0, 0, 38, 39, 1062, 2818 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2819 41, 42, 0, 293, 294, 0, 0, 0, 0, 1325, 2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2821 0, 0, 0, 0, 0, 0, 295, 0, 379, 0, 2822 0, 172, 0, 0, 0, 45, 46, 297, 298, 299, 2823 300, 0, 0, 283, 284, 1064, 285, 1049, 0, 1050, 2824 1417, 1418, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 2825 0, 0, 0, 1059, 0, 0, 0, 1060, 1061, 0, 2826 33, 0, 286, 0, 0, 0, 0, 0, 1062, 0, 2827 0, 0, 288, 0, 0, 289, 290, 291, 292, 41, 2828 42, 0, 293, 294, 0, 0, 0, 0, 0, 0, 2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2830 0, 0, 0, 0, 0, 295, 0, 379, 0, 0, 2831 172, 0, 0, 0, 45, 46, 297, 298, 299, 300, 2832 0, 0, 283, 284, 1064, 285, 1049, 0, 1050, 0, 2833 0, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 0, 2834 0, 0, 1059, 0, 0, 0, 1060, 1061, 0, 33, 2835 0, 286, 0, 0, 0, 0, 0, 1062, 0, 0, 2836 0, 288, 0, 0, 289, 290, 291, 292, 41, 42, 2837 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 2838 283, 284, 0, 285, 0, 0, 0, 0, 0, 0, 2839 0, 0, 0, 0, 295, 0, 379, 0, 0, 172, 2840 0, 0, 0, 45, 46, 297, 298, 299, 300, 286, 2841 0, 0, 0, 1064, 0, 287, 0, 0, 0, 288, 2842 0, 0, 289, 290, 291, 292, 41, 42, 0, 293, 2843 294, 0, 0, 0, 0, 0, 0, 0, 283, 284, 2844 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2845 0, 0, 295, 0, 379, 0, 0, 283, 284, 0, 2846 285, 344, 46, 297, 298, 299, 300, 286, 0, 0, 2847 0, 0, 0, 287, 0, 0, 0, 288, 0, 0, 2848 289, 290, 291, 292, 41, 42, 286, 293, 294, 0, 2849 0, 0, 287, 0, 0, 0, 288, 0, 0, 289, 2850 290, 291, 292, 41, 42, 0, 293, 294, 0, 0, 2851 506, 0, 0, 0, 0, 283, 284, 0, 285, 45, 2852 46, 297, 298, 299, 300, 0, 0, 0, 0, 295, 2853 0, 0, 0, 0, 283, 284, 0, 285, 45, 46, 2854 297, 298, 299, 300, 286, 0, 0, 0, 0, 0, 2855 287, 0, 0, 0, 288, 0, 0, 289, 290, 291, 2856 292, 41, 42, 286, 293, 294, 0, 0, 0, 287, 2857 0, 0, 0, 288, 0, 0, 289, 290, 291, 292, 2858 41, 42, 0, 293, 294, 0, 0, 511, 0, 0, 2859 0, 0, 0, 0, 0, 0, 45, 46, 297, 298, 2860 299, 300, 0, 0, 0, 0, 514, 0, 0, 0, 2861 0, 0, 0, 0, 0, 45, 46, 297, 298, 299, 2862 300, 2, 207, 4, 5, 6, 7, 8, 9, 10, 2863 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2864 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 2376 2865 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 2377 2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2378 2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379 0, 0, 0, 0, 34, 0, 35, 0, 36, 0, 2380 0, 207, 39, 466, 2, 206, 4, 5, 6, 7, 2381 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2382 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 2383 26, 27, 28, 0, 0, 0, 0, 0, 0, 31, 2868 0, 0, 0, 0, 34, 0, 35, 0, 36, 37, 2869 0, 175, 176, 40, 0, 0, 0, 0, 0, 0, 2870 41, 42, 206, 2, 207, 4, 5, 6, 7, 8, 2871 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2872 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 2873 27, 28, 0, 0, 0, 0, 0, 0, 31, 0, 2384 2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2385 2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2386 0, 0, 0, 0, 0, 0, 0, 34, 0, 35,2387 0, 36, 0, 0, 38, 39, 2, 206, 4, 5,2876 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 2877 36, 0, 0, 208, 39, 467, 2, 207, 4, 5, 2388 2878 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2389 2879 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, … … 2392 2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2393 2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 2394 0, 35, 0, 36, 0, 0, 207, 39 2884 0, 35, 0, 36, 0, 0, 38, 39, 2, 207, 2885 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2886 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2887 24, 25, 0, 0, 26, 27, 28, 0, 0, 0, 2888 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2891 0, 34, 0, 35, 0, 36, 0, 0, 208, 39 2395 2892 }; 2893 2894 #define yypact_value_is_default(yystate) \ 2895 ((yystate) == (-1315)) 2896 2897 #define yytable_value_is_error(yytable_value) \ 2898 YYID (0) 2396 2899 2397 2900 static const yytype_int16 yycheck[] = 2398 2901 { 2399 0, 1, 43, 43, 185, 185, 204, 0, 43, 1, 2400 185, 239, 105, 185, 520, 533, 116, 187, 748, 0, 2401 1, 748, 185, 168, 169, 748, 732, 185, 0, 1, 2402 512, 186, 32, 344, 645, 185, 219, 1020, 601, 32, 2403 156, 602, 256, 43, 873, 873, 57, 608, 491, 49, 2404 0, 32, 495, 755, 691, 348, 49, 619, 72, 601, 2405 32, 489, 155, 63, 348, 32, 66, 1320, 599, 69, 2406 63, 570, 982, 66, 599, 72, 69, 69, 281, 82, 2407 43, 1397, 32, 72, 265, 265, 599, 1039, 69, 63, 2408 265, 261, 262, 265, 66, 106, 43, 69, 109, 599, 2409 43, 201, 265, 425, 426, 105, 82, 265, 599, 599, 2410 51, 266, 39, 113, 599, 265, 116, 117, 132, 39, 2411 39, 0, 1032, 417, 634, 635, 28, 0, 117, 0, 2412 1019, 1020, 109, 39, 110, 132, 363, 0, 1051, 1052, 2413 367, 651, 107, 437, 185, 185, 146, 147, 39, 82, 2414 185, 445, 1468, 32, 147, 155, 156, 186, 132, 32, 2415 160, 32, 114, 39, 39, 1418, 131, 160, 109, 32, 2416 481, 493, 43, 1, 904, 603, 78, 904, 49, 607, 2417 686, 904, 109, 228, 111, 185, 186, 44, 45, 109, 2418 512, 111, 63, 186, 487, 66, 156, 130, 69, 709, 2419 628, 201, 247, 417, 632, 111, 95, 218, 49, 209, 2420 1039, 44, 45, 109, 1127, 82, 209, 717, 109, 1500, 2421 111, 221, 185, 437, 265, 265, 409, 717, 221, 64, 2422 265, 445, 717, 109, 109, 111, 111, 266, 185, 239, 2423 129, 1224, 185, 694, 111, 55, 1527, 340, 82, 221, 2424 405, 251, 813, 109, 110, 577, 109, 114, 251, 259, 2425 823, 272, 899, 112, 264, 265, 266, 116, 279, 116, 2426 251, 271, 113, 266, 109, 109, 147, 370, 131, 251, 2427 811, 823, 115, 985, 251, 132, 811, 97, 11, 160, 2428 800, 1274, 96, 792, 294, 395, 0, 82, 811, 112, 2429 503, 251, 1401, 44, 45, 146, 306, 294, 619, 85, 2430 109, 811, 923, 624, 185, 186, 432, 601, 122, 72, 2431 811, 811, 322, 423, 479, 110, 811, 327, 32, 429, 2432 83, 84, 110, 1471, 327, 1287, 347, 113, 209, 1477, 2433 340, 111, 1048, 113, 344, 130, 3, 82, 348, 349, 2434 221, 116, 130, 364, 72, 110, 1451, 368, 111, 1497, 2435 130, 588, 66, 363, 1502, 83, 84, 367, 209, 932, 2436 370, 96, 251, 114, 109, 130, 405, 256, 251, 3, 2437 251, 1210, 1210, 193, 1273, 1274, 680, 109, 251, 111, 2438 1485, 109, 1487, 256, 265, 395, 1495, 122, 239, 116, 2439 931, 1500, 72, 630, 116, 405, 216, 90, 91, 525, 2440 1393, 116, 405, 83, 84, 132, 226, 845, 931, 116, 2441 132, 1520, 0, 423, 252, 425, 426, 49, 1527, 429, 2442 271, 524, 432, 744, 128, 132, 998, 131, 425, 426, 2443 931, 111, 125, 126, 119, 120, 1007, 1008, 116, 116, 2444 479, 116, 131, 453, 905, 109, 327, 72, 1287, 111, 2445 966, 113, 665, 130, 132, 306, 680, 132, 83, 84, 2446 112, 471, 432, 589, 116, 1385, 1386, 348, 130, 479, 2447 116, 481, 109, 483, 294, 655, 479, 487, 1440, 0, 2448 483, 113, 706, 493, 130, 1447, 111, 940, 980, 950, 2449 116, 646, 483, 344, 1393, 505, 116, 507, 109, 937, 2450 510, 483, 512, 513, 130, 1126, 72, 221, 505, 109, 2451 520, 481, 132, 510, 524, 525, 513, 83, 84, 109, 2452 823, 686, 735, 483, 405, 1098, 1500, 109, 417, 823, 2453 4, 5, 6, 7, 8, 9, 1498, 251, 116, 72, 2454 110, 74, 75, 653, 417, 111, 1520, 116, 437, 109, 2455 83, 84, 110, 1527, 132, 525, 445, 112, 116, 569, 2456 570, 116, 112, 132, 437, 802, 116, 577, 1084, 566, 2457 807, 1287, 445, 1089, 425, 426, 109, 209, 588, 589, 2458 116, 114, 903, 593, 110, 88, 89, 116, 116, 599, 2459 116, 601, 481, 110, 483, 69, 132, 71, 110, 620, 2460 483, 1440, 483, 132, 132, 110, 487, 112, 1447, 619, 2461 483, 116, 112, 112, 624, 636, 626, 116, 116, 589, 2462 630, 116, 442, 633, 634, 635, 131, 132, 466, 650, 2463 66, 110, 1114, 936, 132, 349, 1118, 132, 72, 271, 2464 743, 651, 493, 653, 110, 1361, 82, 686, 468, 83, 2465 84, 109, 110, 111, 72, 1116, 74, 75, 895, 1498, 2466 110, 512, 294, 92, 93, 83, 84, 860, 10, 11, 2467 12, 13, 14, 683, 306, 115, 686, 998, 110, 109, 2468 57, 117, 808, 109, 116, 505, 110, 880, 694, 527, 2469 510, 109, 116, 513, 532, 109, 114, 39, 109, 709, 2470 710, 711, 64, 110, 942, 132, 589, 717, 718, 116, 2471 731, 866, 109, 904, 904, 1176, 1177, 110, 599, 904, 2472 601, 110, 904, 116, 160, 67, 577, 116, 1444, 106, 2473 1446, 904, 109, 743, 744, 109, 904, 111, 748, 749, 2474 110, 906, 132, 581, 904, 72, 116, 74, 75, 115, 2475 116, 10, 11, 12, 13, 14, 83, 84, 472, 117, 2476 85, 86, 87, 112, 1504, 123, 124, 1504, 619, 483, 2477 109, 1504, 111, 624, 744, 110, 1304, 114, 155, 785, 2478 39, 116, 792, 1499, 109, 221, 111, 114, 113, 114, 2479 800, 680, 802, 109, 804, 111, 114, 807, 808, 902, 2480 110, 811, 109, 1011, 111, 686, 116, 680, 67, 110, 2481 117, 118, 110, 823, 652, 116, 654, 706, 116, 132, 2482 109, 453, 111, 259, 1145, 85, 86, 87, 264, 132, 2483 109, 72, 111, 706, 110, 76, 717, 718, 808, 110, 2484 116, 218, 83, 84, 109, 116, 111, 114, 668, 109, 2485 109, 111, 111, 113, 114, 744, 862, 677, 117, 118, 2486 66, 681, 109, 873, 111, 110, 704, 906, 109, 109, 2487 111, 116, 82, 505, 110, 507, 117, 118, 510, 1034, 2488 116, 513, 873, 110, 1121, 895, 0, 1, 109, 116, 2489 111, 873, 902, 903, 904, 272, 906, 112, 110, 905, 2490 109, 1114, 279, 1224, 116, 1118, 1119, 621, 918, 110, 2491 111, 117, 109, 349, 82, 29, 30, 110, 32, 1084, 2492 1381, 931, 932, 116, 1089, 808, 936, 58, 59, 43, 2493 811, 941, 942, 903, 118, 49, 1397, 127, 109, 941, 2494 111, 128, 823, 57, 950, 94, 117, 118, 131, 63, 2495 941, 909, 66, 911, 160, 69, 966, 111, 109, 941, 2496 111, 109, 110, 111, 1480, 109, 117, 118, 82, 83, 2497 347, 109, 4, 5, 6, 7, 8, 9, 112, 985, 2498 109, 110, 111, 697, 873, 115, 116, 364, 998, 112, 2499 873, 368, 106, 112, 430, 109, 1106, 711, 44, 45, 2500 873, 110, 116, 505, 110, 507, 1467, 1468, 510, 1019, 2501 1020, 513, 110, 1529, 903, 221, 109, 110, 111, 1, 2502 110, 1234, 110, 904, 110, 906, 1247, 1248, 1249, 1039, 2503 1036, 109, 72, 147, 74, 75, 472, 69, 112, 71, 2504 111, 155, 114, 83, 84, 1084, 160, 116, 1039, 1019, 2505 1089, 683, 131, 259, 431, 936, 114, 1039, 264, 114, 2506 4, 5, 6, 7, 8, 9, 109, 49, 112, 1079, 2507 112, 185, 186, 110, 1084, 551, 552, 897, 112, 1089, 2508 553, 554, 72, 110, 74, 75, 76, 201, 1098, 33, 2509 804, 942, 112, 83, 84, 209, 1106, 58, 59, 60, 2510 132, 112, 130, 1206, 218, 559, 560, 221, 1321, 72, 2511 1116, 1121, 1325, 76, 228, 130, 130, 116, 956, 109, 2512 83, 84, 29, 105, 110, 69, 110, 71, 115, 243, 2513 115, 113, 112, 247, 110, 1145, 114, 251, 252, 112, 2514 978, 115, 109, 349, 982, 116, 109, 998, 110, 132, 2515 1039, 265, 266, 110, 117, 118, 1039, 593, 272, 873, 2516 555, 556, 557, 558, 146, 279, 1039, 116, 110, 110, 2517 1176, 1177, 110, 155, 110, 1145, 116, 1187, 1188, 110, 2518 110, 110, 110, 110, 110, 621, 1188, 110, 110, 110, 2519 626, 110, 1189, 1190, 1032, 1192, 1206, 1188, 110, 110, 2520 1210, 110, 1199, 1084, 1201, 1187, 1188, 115, 1089, 1422, 2521 29, 588, 130, 327, 1224, 131, 110, 116, 1228, 1210, 2522 112, 112, 110, 205, 430, 110, 1228, 209, 1210, 72, 2523 1050, 74, 75, 347, 348, 110, 116, 1228, 116, 112, 2524 83, 84, 114, 620, 130, 110, 1228, 110, 110, 116, 2525 364, 112, 110, 110, 368, 110, 1145, 239, 109, 636, 2526 116, 697, 116, 1273, 1274, 379, 472, 1377, 111, 109, 2527 112, 109, 1282, 650, 109, 711, 1514, 1287, 109, 112, 2528 130, 395, 873, 132, 110, 115, 918, 1001, 110, 271, 2529 115, 405, 274, 110, 128, 72, 1287, 74, 75, 76, 2530 1282, 115, 114, 1273, 112, 1287, 83, 84, 132, 423, 2531 1320, 110, 294, 1504, 1504, 429, 112, 431, 1320, 1504, 2532 112, 1210, 1504, 116, 306, 1039, 110, 1210, 110, 1320, 2533 110, 1504, 109, 112, 112, 1224, 1504, 1210, 1320, 72, 2534 1505, 74, 75, 76, 1504, 112, 110, 112, 47, 112, 2535 83, 84, 466, 112, 731, 1376, 132, 471, 340, 132, 2536 1357, 132, 344, 132, 1529, 479, 132, 1377, 804, 483, 2537 1480, 30, 115, 487, 110, 1381, 490, 115, 492, 130, 2538 110, 363, 110, 1393, 115, 367, 463, 593, 370, 112, 2539 72, 1397, 74, 75, 76, 112, 112, 112, 1287, 112, 2540 112, 83, 84, 284, 1287, 110, 112, 109, 1418, 1247, 2541 1248, 1249, 112, 527, 1287, 621, 1418, 109, 532, 109, 2542 626, 60, 110, 82, 83, 306, 307, 1418, 114, 110, 2543 1440, 132, 112, 112, 110, 112, 1418, 1447, 110, 1449, 2544 96, 1451, 96, 425, 426, 109, 109, 1079, 132, 1440, 2545 115, 1042, 110, 1504, 1504, 110, 1447, 110, 1440, 1504, 2546 110, 1467, 1468, 344, 116, 1447, 1505, 581, 42, 130, 2547 1480, 453, 132, 1187, 588, 1485, 1296, 1487, 110, 110, 2548 96, 132, 96, 132, 466, 599, 110, 601, 1498, 132, 2549 1529, 697, 110, 110, 1504, 1505, 1210, 132, 110, 380, 2550 115, 112, 1505, 112, 1514, 711, 620, 1498, 109, 491, 2551 132, 493, 132, 495, 110, 115, 1498, 115, 895, 1529, 2552 110, 110, 636, 505, 132, 507, 1529, 641, 510, 110, 2553 512, 513, 1055, 562, 564, 561, 650, 976, 652, 653, 2554 654, 563, 524, 1468, 565, 1210, 49, 1385, 1386, 1539, 2555 1363, 1440, 1119, 1297, 1325, 1447, 1070, 1440, 1447, 683, 2556 63, 66, 683, 66, 1447, 1001, 69, 1440, 1282, 1089, 2557 75, 911, 686, 1287, 1447, 919, 690, 581, 692, 696, 2558 866, 647, 696, 970, 243, 1423, 721, 938, 1228, 731, 2559 704, -1, 669, 483, 569, 577, -1, 569, 804, 569, 2560 -1, -1, -1, 717, 718, 70, 588, -1, 73, 1498, 2561 -1, 76, 117, 78, -1, 1498, -1, 731, -1, 1210, 2562 85, -1, -1, 1504, 3, 1498, -1, -1, 1448, -1, 2563 1450, 10, 11, 12, 13, 14, -1, 619, -1, -1, 2564 -1, -1, 624, 1481, 147, -1, -1, 72, 630, 74, 2565 75, 76, 1490, -1, -1, 160, -1, 160, 83, 84, 2566 39, -1, -1, 1514, 1484, 189, 1486, 548, 549, 550, 2567 -1, -1, 196, -1, -1, -1, -1, -1, -1, -1, 2568 -1, -1, -1, 186, 109, -1, 111, -1, 67, -1, 2569 -1, -1, 117, 118, -1, -1, -1, 811, -1, -1, 2570 -1, 683, -1, 72, -1, 130, 209, 76, 1528, 823, 2571 1530, 788, 1303, -1, 83, 84, 221, -1, 221, -1, 2572 379, 798, -1, 1543, 1544, 72, 1440, 74, 75, 76, 2573 -1, -1, 669, 1447, -1, 812, 83, 84, -1, 721, 2574 109, -1, -1, -1, 268, -1, -1, 212, 117, 118, 2575 -1, 1187, 866, -1, 259, -1, -1, -1, 872, 264, 2576 -1, 743, 109, -1, 1355, -1, -1, 1358, 3, -1, 2577 117, 118, -1, -1, 279, 10, 11, 12, 13, 14, 2578 -1, 895, -1, 282, 1498, 284, 285, -1, -1, -1, 2579 904, -1, 906, 292, 293, 1001, -1, -1, 322, 913, 2580 -1, -1, -1, -1, 39, -1, 330, 306, 307, 333, 2581 1401, -1, -1, -1, 279, 1406, -1, 1449, -1, 1451, 2582 802, -1, 936, -1, 327, 807, -1, -1, -1, 1206, 2583 463, 490, 67, 492, -1, -1, -1, -1, 0, 1, 2584 -1, -1, 956, 1434, 349, 344, 1282, -1, -1, -1, 2585 -1, 788, -1, 1485, -1, 1487, 970, -1, -1, -1, 2586 -1, 798, -1, -1, 978, -1, -1, -1, 982, -1, 2587 32, -1, -1, 397, 755, 812, -1, 401, -1, -1, 2588 -1, 380, -1, -1, -1, 3, 351, 49, 353, -1, 2589 -1, -1, 10, 11, 12, 13, 14, -1, -1, -1, 2590 -1, -1, 405, -1, -1, -1, -1, 69, -1, -1, 2591 -1, -1, -1, 895, -1, -1, -1, -1, 1032, 0, 2592 902, 39, -1, -1, -1, 430, -1, 1518, -1, -1, 2593 26, 27, 28, 1524, -1, -1, 918, -1, -1, 1016, 2594 1017, -1, 447, 105, 1535, -1, -1, -1, 1539, 67, 2595 -1, 32, -1, -1, 478, -1, 1070, -1, 940, 941, 2596 942, -1, -1, -1, -1, -1, -1, 472, -1, -1, 2597 1084, -1, -1, -1, -1, 1089, 441, -1, -1, -1, 2598 -1, 1187, 641, -1, -1, 147, -1, -1, 69, -1, 2599 -1, -1, 1106, 155, 156, -1, -1, 1074, 1075, 1376, 2600 -1, -1, 98, -1, 100, -1, 97, 98, 99, 100, 2601 101, 102, 103, 104, 105, 106, 998, -1, -1, -1, 2602 -1, -1, -1, -1, 186, -1, -1, -1, -1, 125, 2603 -1, 690, -1, 692, -1, -1, 669, 696, -1, 201, 2604 131, -1, 204, 205, -1, 569, 570, 209, -1, 548, 2605 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 2606 559, 560, 561, 562, 563, 564, 565, -1, 230, 1183, 2607 -1, -1, 234, -1, 236, 156, 1282, -1, -1, 1016, 2608 1017, -1, -1, 245, -1, 181, -1, -1, 593, 251, 2609 -1, -1, 1206, 189, 256, 191, 192, 1079, -1, -1, 2610 196, -1, 198, 199, 266, -1, -1, -1, -1, -1, 2611 -1, 72, 274, 74, 75, 76, 621, 998, -1, -1, 2612 -1, 626, 83, 84, -1, -1, -1, -1, -1, 0, 2613 -1, -1, 656, 1247, 1248, 1249, 660, 1074, 1075, 1121, 2614 10, 11, 12, 13, 14, 1222, -1, -1, 109, 230, 2615 111, -1, -1, -1, -1, 788, 117, 118, 1039, -1, 2616 -1, 32, -1, -1, -1, 798, -1, -1, -1, 39, 2617 251, -1, 268, -1, -1, 256, -1, 1254, 340, 812, 2618 -1, -1, 344, -1, -1, 1262, 1263, 1264, 350, -1, 2619 -1, -1, 697, -1, -1, 694, -1, 67, 69, -1, 2620 -1, 363, -1, -1, -1, 367, 711, 866, 370, -1, 2621 -1, -1, -1, 872, -1, -1, -1, -1, -1, -1, 2622 -1, -1, -1, -1, 1206, -1, 731, -1, -1, -1, 2623 -1, -1, 10, 11, 12, 13, 14, -1, -1, 109, 2624 -1, 111, -1, -1, -1, -1, 1228, 117, 118, 1326, 2625 -1, -1, -1, -1, 913, 417, 755, -1, -1, -1, 2626 -1, 39, 1376, 1377, -1, -1, 731, -1, 792, 350, 2627 432, 1385, 1386, -1, -1, 437, -1, -1, -1, -1, 2628 26, 27, 28, 445, -1, 156, 785, -1, -1, 67, 2629 -1, -1, -1, -1, 72, -1, 74, 75, 76, 804, 2630 -1, 463, -1, -1, 466, 83, 84, -1, -1, 1423, 2631 -1, 970, 72, -1, 74, 75, 76, 1254, -1, 481, 2632 -1, 483, -1, 83, 84, 1262, 1263, 1264, -1, 491, 2633 -1, 109, -1, 495, -1, -1, 417, -1, 1320, 117, 2634 118, -1, -1, -1, -1, -1, -1, -1, -1, 109, 2635 -1, 432, 98, -1, 100, -1, 437, 117, 118, -1, 2636 -1, -1, 524, 525, 445, -1, 1480, 1481, -1, -1, 2637 -1, -1, -1, -1, -1, -1, 1490, -1, -1, -1, 2638 251, -1, 463, 1016, 1017, 256, 910, -1, -1, 1326, 2639 1504, 1505, -1, -1, -1, -1, -1, -1, -1, -1, 2640 481, -1, 483, -1, -1, -1, 905, -1, 570, -1, 2641 72, 1070, 74, 75, 76, 1529, -1, -1, -1, -1, 2642 -1, 83, 84, -1, -1, -1, 588, 589, -1, -1, 2643 10, 11, 12, 13, 14, 181, 1418, -1, -1, 601, 2644 -1, 1074, 1075, -1, 525, 191, 192, 109, -1, 111, 2645 196, 950, 198, 199, -1, 117, 118, 619, -1, 39, 2646 -1, -1, 624, 987, -1, -1, -1, 1449, 630, 1451, 2647 -1, 633, 634, 635, -1, -1, -1, 573, 574, 350, 2648 1004, -1, -1, -1, -1, -1, 985, 67, -1, 651, 2649 -1, -1, -1, -1, -1, -1, 1001, -1, -1, 998, 2650 -1, -1, -1, 1485, -1, 1487, 602, 669, 589, 605, 2651 606, -1, 608, -1, 610, 611, -1, -1, 680, 615, 2652 616, -1, -1, 72, 1183, 74, 75, 76, -1, 109, 2653 -1, 111, 1514, -1, 83, 84, -1, 117, 118, -1, 2654 1039, -1, -1, -1, 706, -1, 417, 709, -1, -1, 2655 -1, -1, 633, 634, 635, -1, 718, -1, 1082, 721, 2656 109, 432, 111, -1, 0, -1, 437, -1, 117, 118, 2657 651, -1, -1, -1, 445, -1, -1, -1, -1, -1, 2658 -1, 743, 744, -1, -1, -1, -1, 749, 669, 1222, 2659 -1, -1, 463, -1, -1, -1, 32, -1, 1122, 680, 2902 0, 1, 240, 186, 205, 0, 734, 0, 43, 43, 2903 43, 534, 752, 186, 1, 752, 752, 187, 106, 186, 2904 117, 280, 169, 170, 513, 364, 349, 186, 220, 368, 2905 186, 349, 32, 186, 620, 186, 991, 32, 1029, 32, 2906 521, 345, 602, 43, 187, 879, 984, 759, 647, 49, 2907 492, 418, 0, 0, 496, 879, 49, 600, 188, 571, 2908 602, 43, 600, 63, 600, 600, 66, 32, 156, 69, 2909 63, 438, 600, 66, 600, 282, 69, 693, 49, 446, 2910 600, 72, 69, 266, 32, 32, 1041, 696, 39, 1335, 2911 634, 635, 636, 266, 426, 427, 57, 267, 43, 266, 2912 1028, 1029, 0, 1417, 43, 202, 106, 266, 1048, 653, 2913 266, 1060, 1061, 266, 114, 266, 39, 117, 118, 603, 2914 72, 635, 636, 482, 267, 609, 39, 51, 95, 44, 2915 45, 85, 262, 263, 32, 229, 39, 96, 64, 653, 2916 28, 132, 39, 114, 63, 72, 107, 147, 148, 110, 2917 257, 186, 186, 186, 248, 148, 156, 157, 109, 113, 2918 111, 161, 494, 130, 123, 488, 118, 711, 161, 110, 2919 910, 82, 39, 910, 910, 116, 147, 1491, 482, 44, 2920 45, 513, 82, 109, 719, 109, 186, 187, 111, 1138, 2921 78, 719, 1438, 719, 187, 156, 109, 711, 111, 490, 2922 115, 30, 202, 82, 186, 132, 109, 688, 111, 72, 2923 210, 111, 109, 132, 111, 1123, 82, 210, 410, 1127, 2924 83, 84, 222, 72, 1048, 74, 75, 107, 82, 222, 2925 11, 266, 266, 266, 83, 84, 406, 82, 117, 210, 2926 240, 186, 109, 109, 111, 1236, 578, 186, 111, 114, 2927 589, 131, 252, 341, 83, 84, 110, 252, 219, 252, 2928 260, 805, 111, 406, 109, 265, 266, 267, 828, 240, 2929 1, 1473, 272, 816, 267, 634, 635, 636, 816, 1421, 2930 816, 816, 994, 371, 602, 797, 828, 252, 816, 905, 2931 816, 805, 631, 96, 653, 295, 816, 504, 1289, 396, 2932 109, 272, 911, 109, 252, 252, 1508, 307, 1510, 257, 2933 480, 418, 273, 604, 1252, 682, 620, 608, 49, 280, 2934 123, 625, 131, 323, 1524, 44, 45, 424, 328, 1057, 2935 929, 438, 116, 430, 818, 328, 307, 480, 629, 446, 2936 1494, 341, 633, 109, 1544, 345, 1500, 956, 132, 349, 2937 350, 1551, 711, 39, 252, 90, 91, 285, 72, 257, 2938 1288, 1289, 1302, 1524, 364, 82, 109, 1521, 368, 83, 2939 84, 371, 1526, 72, 345, 106, 112, 1519, 938, 307, 2940 308, 57, 1524, 114, 83, 84, 114, 348, 1222, 748, 2941 1551, 126, 127, 110, 937, 114, 396, 111, 1222, 937, 2942 117, 937, 1544, 110, 365, 110, 406, 110, 369, 1551, 2943 117, 116, 111, 406, 117, 244, 147, 345, 116, 115, 2944 116, 1007, 1413, 3, 424, 156, 426, 427, 131, 116, 2945 430, 107, 116, 433, 110, 131, 116, 525, 10, 11, 2946 12, 13, 14, 3, 748, 132, 805, 72, 132, 0, 2947 1405, 1406, 132, 381, 454, 426, 427, 118, 83, 84, 2948 667, 116, 110, 124, 125, 0, 1, 39, 807, 117, 2949 418, 432, 472, 812, 733, 206, 116, 132, 1302, 210, 2950 480, 32, 482, 116, 484, 1413, 111, 480, 488, 484, 2951 438, 484, 132, 974, 494, 67, 116, 32, 446, 132, 2952 989, 648, 116, 116, 946, 828, 506, 0, 508, 240, 2953 828, 511, 132, 513, 514, 66, 1125, 0, 688, 132, 2954 418, 521, 1462, 494, 112, 525, 526, 657, 116, 1469, 2955 737, 66, 1016, 1017, 69, 109, 484, 484, 1137, 116, 2956 438, 272, 513, 219, 275, 688, 131, 1107, 446, 110, 2957 909, 380, 116, 116, 72, 132, 74, 75, 655, 850, 2958 110, 72, 901, 109, 295, 83, 84, 116, 132, 132, 2959 570, 571, 83, 84, 1302, 682, 307, 109, 578, 1188, 2960 1189, 112, 1522, 132, 482, 116, 484, 116, 112, 589, 2961 590, 109, 116, 80, 594, 590, 114, 273, 109, 109, 2962 600, 708, 602, 132, 280, 909, 109, 578, 111, 109, 2963 341, 80, 1093, 109, 345, 118, 119, 1098, 109, 942, 2964 620, 549, 550, 551, 111, 625, 113, 627, 589, 110, 2965 117, 631, 110, 364, 634, 635, 636, 368, 1462, 112, 2966 371, 112, 111, 116, 113, 1469, 72, 110, 117, 620, 2967 110, 1379, 943, 653, 625, 655, 116, 83, 84, 747, 2968 621, 110, 491, 72, 493, 74, 75, 116, 129, 1028, 2969 131, 222, 348, 865, 83, 84, 637, 110, 66, 4, 2970 5, 6, 7, 8, 9, 685, 110, 222, 688, 365, 2971 109, 652, 116, 369, 886, 426, 427, 109, 1522, 111, 2972 109, 252, 112, 1007, 109, 114, 116, 0, 1, 110, 2973 948, 711, 712, 713, 109, 116, 110, 252, 115, 719, 2974 720, 132, 116, 454, 871, 295, 110, 910, 64, 110, 2975 118, 109, 116, 111, 682, 116, 467, 910, 1466, 32, 2976 1468, 109, 912, 910, 69, 109, 71, 747, 748, 110, 2977 110, 910, 752, 753, 910, 116, 116, 910, 112, 910, 2978 708, 492, 110, 494, 110, 496, 112, 132, 116, 912, 2979 116, 114, 733, 161, 114, 506, 69, 508, 109, 110, 2980 511, 110, 513, 514, 682, 131, 132, 116, 1528, 109, 2981 1399, 1528, 1528, 1132, 525, 1523, 1319, 797, 1157, 350, 2982 110, 556, 557, 558, 559, 805, 116, 807, 1417, 809, 2983 708, 132, 812, 813, 643, 109, 816, 111, 813, 1020, 2984 908, 110, 114, 110, 118, 119, 70, 116, 828, 116, 2985 74, 759, 110, 77, 222, 79, 132, 72, 116, 74, 2986 75, 76, 86, 72, 82, 74, 75, 578, 83, 84, 2987 748, 120, 121, 1157, 83, 84, 426, 427, 589, 72, 2988 109, 74, 75, 692, 72, 694, 74, 75, 76, 698, 2989 83, 84, 260, 109, 109, 83, 84, 265, 109, 879, 2990 111, 1490, 1491, 82, 879, 114, 110, 118, 119, 620, 2991 112, 109, 116, 111, 625, 72, 1043, 74, 75, 76, 2992 631, 901, 109, 110, 111, 49, 83, 84, 908, 909, 2993 910, 109, 912, 111, 119, 72, 1123, 74, 75, 76, 2994 1127, 1128, 473, 1093, 924, 128, 83, 84, 1098, 1288, 2995 94, 879, 1236, 484, 88, 89, 506, 937, 938, 129, 2996 901, 511, 942, 131, 514, 621, 111, 947, 948, 484, 2997 1093, 109, 109, 111, 685, 1098, 109, 0, 1, 252, 2998 947, 637, 350, 506, 964, 508, 112, 110, 511, 213, 2999 114, 514, 109, 116, 974, 110, 652, 948, 109, 110, 3000 111, 879, 92, 93, 72, 49, 29, 30, 76, 32, 3001 112, 109, 723, 111, 110, 83, 84, 567, 112, 63, 3002 43, 109, 66, 111, 110, 69, 49, 1007, 109, 110, 3003 111, 909, 110, 72, 57, 110, 747, 76, 1115, 110, 3004 63, 109, 1503, 66, 83, 84, 69, 109, 1028, 1029, 3005 118, 119, 109, 110, 111, 109, 1007, 111, 111, 1246, 3006 83, 84, 871, 431, 58, 59, 60, 112, 1048, 878, 3007 109, 114, 111, 1048, 85, 86, 87, 733, 116, 118, 3008 119, 1261, 1262, 1263, 107, 131, 210, 110, 109, 114, 3009 111, 622, 1553, 915, 117, 917, 807, 114, 109, 1007, 3010 111, 812, 113, 114, 148, 473, 115, 116, 1088, 109, 3011 919, 116, 117, 1093, 110, 111, 117, 161, 1098, 112, 3012 1048, 58, 59, 115, 116, 148, 110, 1107, 352, 110, 3013 354, 116, 117, 156, 112, 1115, 116, 117, 161, 112, 3014 1048, 44, 45, 187, 552, 553, 560, 561, 272, 1336, 3015 1218, 112, 1132, 1340, 554, 555, 112, 4, 5, 6, 3016 7, 8, 9, 186, 187, 117, 210, 117, 699, 978, 3017 1048, 295, 116, 29, 85, 86, 87, 1157, 222, 202, 3018 110, 110, 713, 307, 112, 112, 132, 210, 114, 110, 3019 901, 115, 115, 115, 110, 109, 219, 908, 109, 222, 3020 111, 116, 113, 114, 110, 110, 229, 116, 110, 117, 3021 110, 484, 110, 924, 110, 116, 110, 110, 442, 1199, 3022 1200, 244, 69, 110, 71, 248, 594, 110, 110, 252, 3023 253, 110, 0, 1200, 110, 946, 947, 948, 1218, 110, 3024 110, 110, 1222, 266, 267, 110, 110, 1222, 115, 29, 3025 273, 131, 110, 116, 622, 1442, 1236, 280, 117, 627, 3026 1240, 112, 112, 116, 32, 110, 110, 110, 117, 117, 3027 1079, 112, 112, 1240, 116, 43, 114, 1218, 809, 1157, 3028 110, 49, 110, 110, 328, 132, 4, 5, 6, 7, 3029 8, 9, 116, 110, 1222, 63, 1007, 116, 66, 110, 3030 116, 69, 110, 112, 109, 328, 109, 109, 1288, 1289, 3031 109, 109, 112, 110, 132, 33, 110, 1297, 1395, 115, 3032 1538, 110, 1302, 115, 72, 348, 349, 1302, 76, 115, 3033 454, 699, 114, 112, 129, 83, 84, 10, 11, 12, 3034 13, 14, 365, 110, 1222, 713, 369, 132, 879, 112, 3035 116, 69, 116, 71, 112, 1335, 110, 380, 1236, 110, 3036 110, 109, 406, 112, 879, 1528, 39, 112, 1335, 112, 3037 118, 119, 110, 396, 1302, 1528, 112, 1088, 112, 1529, 3038 148, 1528, 506, 406, 508, 112, 1195, 511, 47, 1528, 3039 514, 132, 1528, 161, 67, 1528, 115, 1528, 110, 132, 3040 132, 424, 132, 1553, 132, 115, 1529, 430, 117, 432, 3041 110, 879, 115, 112, 66, 1395, 112, 112, 186, 187, 3042 112, 1132, 112, 112, 1302, 112, 1503, 112, 110, 110, 3043 1553, 83, 947, 1413, 112, 112, 109, 109, 111, 109, 3044 109, 809, 210, 60, 467, 118, 119, 110, 110, 472, 3045 114, 117, 132, 1394, 222, 112, 112, 480, 1438, 110, 3046 96, 484, 112, 110, 96, 488, 118, 3, 491, 109, 3047 493, 1438, 109, 115, 10, 11, 12, 13, 14, 1010, 3048 110, 112, 1462, 132, 252, 110, 110, 1462, 110, 1469, 3049 513, 1471, 42, 1473, 1469, 116, 110, 117, 266, 132, 3050 110, 96, 96, 39, 132, 528, 132, 1218, 531, 161, 3051 533, 534, 110, 1528, 1528, 1528, 132, 1048, 117, 110, 3052 132, 110, 110, 1503, 132, 115, 112, 112, 1508, 1240, 3053 1510, 67, 109, 1048, 1462, 132, 115, 115, 110, 110, 3054 132, 1469, 1522, 110, 110, 1064, 562, 1522, 1528, 1529, 3055 563, 565, 564, 1222, 1491, 1381, 1529, 1563, 1538, 582, 3056 328, 685, 566, 1312, 1128, 1340, 589, 1469, 917, 1079, 3057 222, 685, 685, 1553, 1098, 66, 698, 600, 925, 602, 3058 1553, 349, 978, 1051, 1462, 76, 871, 1538, 649, 944, 3059 1240, 1469, 582, 723, 1522, 484, 570, 733, 621, 570, 3060 72, 570, 74, 75, 76, -1, 879, -1, 260, -1, 3061 -1, 83, 84, 265, 637, -1, -1, -1, -1, -1, 3062 643, -1, -1, -1, 1335, -1, -1, 118, -1, 652, 3063 -1, 654, 655, 656, -1, -1, -1, 109, 406, 111, 3064 -1, -1, 1010, -1, 1522, 117, 118, 119, -1, -1, 3065 -1, 1201, 1202, -1, 1204, 0, 1, -1, -1, -1, 3066 -1, 1211, -1, 1213, -1, 688, -1, -1, 1199, 692, 3067 161, 694, -1, -1, 947, 698, -1, 10, 11, 12, 3068 13, 14, -1, 706, 1199, 1200, -1, 32, -1, -1, 3069 -1, 1222, 3, -1, -1, -1, 719, 720, 350, 10, 3070 11, 12, 13, 14, 49, -1, 39, 1222, -1, -1, 3071 733, 72, -1, 74, 75, 76, 484, -1, -1, -1, 3072 488, -1, 83, 84, 69, 1240, -1, 1438, 39, -1, 3073 -1, 222, -1, -1, 67, -1, -1, -1, 1394, 72, 3074 -1, 74, 75, 76, -1, 0, -1, -1, 109, -1, 3075 83, 84, -1, -1, 1222, -1, 67, 118, 119, -1, 3076 1471, 106, 1473, -1, -1, -1, 1297, -1, -1, 260, 3077 -1, 1302, 55, -1, 265, 1048, 109, 32, 111, 431, 3078 -1, -1, 1297, -1, -1, 118, 119, 1302, -1, 280, 3079 -1, -1, -1, 816, -1, -1, -1, 1508, -1, 1510, 3080 924, -1, -1, 148, -1, 828, 72, -1, 74, 75, 3081 76, 156, 157, -1, 69, 98, -1, 83, 84, -1, 3082 1335, 473, -1, -1, -1, 1375, -1, 1538, -1, -1, 3083 3, 1199, 600, -1, 602, -1, -1, 10, 11, 12, 3084 13, 14, 187, 109, -1, 111, -1, -1, 871, -1, 3085 1318, -1, 118, 119, -1, 878, -1, 202, -1, 350, 3086 205, 206, -1, -1, 464, 210, 39, -1, -1, 72, 3087 -1, 74, 75, 76, -1, -1, -1, -1, 901, -1, 3088 83, 84, 464, -1, -1, -1, 231, 910, -1, 912, 3089 235, -1, 237, -1, 67, -1, 919, -1, -1, -1, 3090 -1, 246, 157, -1, -1, 1373, 109, 252, 1376, -1, 3091 -1, 194, 257, -1, -1, 118, 119, -1, -1, 942, 3092 688, -1, 267, 1438, -1, -1, -1, 1200, -1, 1297, 3093 275, 1462, -1, -1, 217, -1, -1, -1, 1469, 962, 3094 431, -1, 594, -1, 227, -1, -1, 1462, -1, 1222, 3095 -1, 719, 720, 1421, 1469, 978, -1, 448, 1426, -1, 3096 -1, -1, -1, 986, 1088, -1, 989, 1240, 991, -1, 3097 622, -1, -1, -1, -1, 627, 231, -1, -1, -1, 3098 -1, -1, 473, -1, -1, -1, -1, -1, 1456, -1, 3099 -1, 1522, -1, -1, -1, -1, 341, 252, -1, -1, 3100 345, -1, 257, -1, -1, -1, 351, 1522, -1, -1, 3101 -1, -1, 295, -1, -1, -1, -1, -1, 1041, 364, 3102 -1, -1, -1, 368, -1, -1, 371, -1, -1, 1302, 3103 -1, 26, 27, 28, -1, -1, -1, -1, -1, 72, 3104 -1, 74, 75, 76, -1, -1, -1, 699, 816, -1, 3105 83, 84, -1, -1, -1, -1, 1079, -1, -1, -1, 3106 828, 713, 1335, -1, -1, -1, -1, -1, -1, -1, 3107 1093, 671, -1, 418, 1542, 1098, 109, 0, 111, -1, 3108 1548, -1, -1, -1, -1, 118, 119, -1, 433, 671, 3109 -1, 1559, 1115, 438, -1, 1563, 351, -1, -1, -1, 3110 -1, 446, -1, 594, 99, -1, 101, -1, -1, 32, 3111 -1, 10, 11, 12, 13, 14, -1, -1, -1, 464, 3112 -1, -1, 467, -1, -1, -1, -1, -1, -1, -1, 3113 -1, 622, -1, -1, -1, -1, 627, 482, -1, 484, 3114 39, -1, 910, -1, 912, -1, 69, 492, -1, -1, 3115 -1, 496, -1, -1, -1, -1, -1, 809, -1, -1, 3116 443, -1, -1, 418, -1, 1438, -1, 0, 67, -1, 3117 -1, -1, 1195, 72, 942, 74, 75, 76, 433, -1, 3118 525, 526, -1, 438, 83, 84, 469, 182, -1, 1462, 3119 -1, 446, -1, 793, -1, 1218, 1469, 192, 193, 32, 3120 -1, -1, 197, 803, 199, 200, -1, -1, 699, 464, 3121 109, 793, 111, -1, -1, -1, -1, 817, -1, 118, 3122 119, 803, 713, 506, -1, -1, 571, 482, 511, 484, 3123 -1, 514, -1, -1, 157, 817, 69, -1, 1261, 1262, 3124 1263, -1, 733, -1, 589, 590, -1, -1, -1, 1522, 3125 -1, -1, 10, 11, 12, 13, 14, 602, -1, -1, 3126 -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3127 -1, 526, -1, -1, -1, 620, -1, 190, -1, -1, 3128 625, 39, -1, -1, 197, -1, 631, -1, -1, 634, 3129 635, 636, -1, -1, 39, -1, 1319, -1, 97, 98, 3130 99, 100, 101, 102, 103, 104, 105, 106, 653, 67, 3131 -1, -1, -1, -1, -1, -1, -1, 696, 809, -1, 3132 -1, -1, 67, -1, 157, 1093, 671, 72, -1, 252, 3133 1098, 76, 131, -1, 257, 590, -1, 682, 83, 84, 3134 -1, -1, -1, -1, -1, -1, -1, 1471, -1, 1473, 3135 -1, 109, -1, 111, -1, -1, 269, -1, 1010, -1, 3136 118, 119, -1, 708, 109, -1, 711, -1, -1, -1, 3137 -1, 1394, 1395, 118, 119, 720, -1, -1, 723, 634, 3138 635, 636, 1405, 1406, 1508, -1, 1510, 670, -1, -1, 3139 -1, -1, -1, -1, -1, -1, 679, -1, 653, -1, 3140 683, -1, 747, 748, -1, -1, -1, -1, 753, -1, 3141 323, 790, -1, -1, -1, -1, 671, -1, 331, 252, 3142 1443, 334, -1, -1, 257, 1025, 1026, 682, 351, -1, 3143 -1, -1, -1, -1, 10, 11, 12, 13, 14, -1, 3144 -1, -1, -1, 1025, 1026, -1, -1, -1, 793, -1, 3145 -1, -1, -1, 708, -1, -1, 711, -1, 803, -1, 3146 805, -1, 807, 39, -1, 810, -1, 812, 813, -1, 3147 -1, -1, 817, -1, 10, 11, 12, 13, 14, -1, 3148 1503, 1504, 827, 1083, 1084, 398, -1, -1, 867, 402, 3149 1513, 67, -1, 748, -1, 418, 72, -1, 74, 75, 3150 76, 1083, 1084, 39, -1, 1528, 1529, 83, 84, -1, 3151 433, -1, -1, -1, -1, 438, -1, -1, 351, 1010, 3152 -1, -1, -1, 446, -1, -1, -1, -1, 1, -1, 3153 1553, 67, 911, 109, 879, 111, -1, -1, 793, -1, 3154 -1, 464, 118, 119, -1, -1, -1, 1199, 803, -1, 3155 805, -1, -1, -1, -1, 810, 901, -1, 813, 482, 3156 -1, 484, 817, 908, 909, -1, 479, 912, -1, -1, 3157 -1, -1, -1, 109, -1, 111, -1, 956, -1, 574, 3158 575, -1, 118, 119, -1, 418, 72, -1, 74, 75, 3159 76, -1, -1, 938, -1, -1, -1, 83, 84, -1, 3160 433, 946, 947, 526, 671, 438, -1, -1, 603, -1, 3161 -1, 606, 607, 446, 609, 994, 611, 612, -1, 964, 3162 903, 616, 617, 109, 879, 111, -1, -1, -1, -1, 3163 -1, 464, 118, 119, 1234, -1, -1, -1, -1, -1, 3164 -1, -1, -1, -1, -1, 1297, -1, -1, -1, 482, 3165 -1, 484, 1234, -1, 909, -1, -1, 570, 571, 0, 3166 1, -1, 1007, -1, -1, -1, 1045, 590, -1, 1269, 3167 -1, -1, -1, -1, -1, 1020, -1, 1277, 1278, 1279, 3168 1025, 1026, -1, 1028, 1029, -1, -1, 1269, -1, -1, 3169 -1, 32, -1, 526, -1, 1277, 1278, 1279, -1, -1, 3170 -1, -1, -1, 1048, -1, -1, -1, -1, 1199, 964, 3171 -1, 634, 635, 636, -1, -1, -1, -1, -1, -1, 3172 -1, -1, -1, -1, -1, 66, 793, -1, 69, -1, 3173 653, -1, -1, -1, -1, -1, 803, -1, 1083, 1084, 3174 -1, -1, -1, 1343, -1, 658, 1125, -1, 671, 662, 3175 817, -1, -1, -1, -1, -1, -1, 590, -1, 682, 3176 1528, 1343, 757, 758, -1, -1, -1, -1, -1, -1, 3177 1025, 1026, -1, 1028, 1029, -1, 1059, -1, -1, -1, 3178 253, -1, -1, -1, -1, 708, -1, 1132, 711, -1, 3179 -1, -1, -1, 1048, -1, -1, -1, -1, -1, -1, 3180 -1, 634, 635, 636, -1, -1, 1297, -1, -1, 1188, 3181 1189, -1, 1157, -1, 0, -1, 157, -1, -1, -1, 3182 653, -1, -1, -1, -1, 748, -1, -1, 1083, 1084, 3183 -1, -1, -1, -1, -1, -1, -1, -1, 671, 10, 3184 11, 12, 13, 14, -1, -1, 32, -1, -1, 682, 3185 -1, -1, -1, -1, -1, 1200, -1, -1, -1, -1, 3186 -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, 3187 793, -1, -1, 1218, -1, 708, -1, 1222, 711, -1, 3188 803, 222, 805, 69, 797, -1, -1, 810, -1, 1234, 3189 813, 1236, -1, -1, 817, 1240, 67, -1, -1, -1, 3190 -1, 72, 1157, 74, 75, 76, -1, -1, -1, -1, 3191 -1, 252, 83, 84, -1, 748, -1, -1, -1, -1, 3192 -1, -1, -1, -1, 1269, -1, 921, -1, -1, -1, 3193 -1, -1, 1277, 1278, 1279, -1, -1, -1, 109, -1, 3194 -1, -1, -1, 1288, 1289, 1200, -1, 118, 119, -1, 3195 -1, -1, -1, -1, -1, -1, 879, 1302, 1025, 1026, 3196 793, -1, -1, -1, -1, -1, -1, 1222, -1, -1, 3197 803, 157, 805, -1, -1, -1, -1, 810, -1, 1234, 3198 813, 1236, -1, -1, 817, -1, 909, -1, -1, -1, 3199 1335, -1, -1, -1, 467, -1, -1, -1, 1343, -1, 3200 -1, -1, -1, 916, -1, -1, -1, -1, -1, -1, 3201 -1, -1, -1, -1, 1269, -1, 1083, 1084, -1, -1, 3202 1399, -1, 1277, 1278, 1279, -1, -1, -1, 1311, -1, 3203 -1, -1, -1, 1288, 1289, -1, -1, -1, 1417, -1, 3204 513, 964, -1, -1, -1, -1, 879, 1302, -1, -1, 3205 -1, -1, -1, -1, -1, 528, -1, -1, 531, -1, 3206 533, 534, -1, -1, -1, -1, 252, -1, 1413, -1, 3207 -1, 257, 26, 27, 28, -1, 909, -1, -1, -1, 3208 -1, -1, -1, 996, -1, -1, -1, -1, 1343, -1, 3209 1085, -1, 433, 1438, -1, -1, -1, -1, -1, -1, 3210 1013, -1, 1025, 1026, -1, 1028, 1029, -1, -1, 582, 3211 -1, 1490, 1491, -1, 53, -1, 55, 1462, -1, 58, 3212 59, 60, -1, 62, 1469, 1048, -1, -1, -1, -1, 3213 -1, 964, -1, -1, -1, -1, -1, -1, 77, -1, 3214 -1, -1, -1, 484, -1, 99, -1, 101, -1, -1, 3215 89, 90, -1, -1, -1, -1, -1, -1, 1413, -1, 3216 1083, 1084, -1, -1, -1, 351, -1, -1, -1, -1, 3217 -1, -1, 126, -1, -1, -1, -1, 1522, 1091, -1, 3218 -1, 654, -1, 656, 1529, 526, -1, 1470, -1, 1472, 3219 -1, -1, 1025, 1026, -1, 1028, 1029, -1, -1, -1, 3220 -1, -1, 1269, -1, -1, -1, -1, 1462, -1, -1, 3221 1277, 1278, 1279, -1, 1469, 1048, -1, -1, -1, -1, 3222 1133, -1, 1217, -1, 1507, -1, 1509, -1, 182, -1, 3223 -1, -1, 418, 706, 1157, -1, 190, -1, 192, 193, 3224 -1, -1, -1, 197, -1, 199, 200, 433, -1, 590, 3225 1083, 1084, 438, -1, -1, -1, -1, -1, -1, -1, 3226 446, -1, -1, -1, -1, -1, -1, 1522, -1, 1552, 3227 -1, 1554, -1, -1, -1, -1, 1343, 1200, 464, 10, 3228 11, 12, 13, 14, 1567, 1568, -1, -1, -1, -1, 3229 -1, -1, -1, 634, 635, 636, 482, -1, 484, 1222, 3230 -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, 3231 -1, 1234, 653, 1236, -1, 269, -1, -1, 10, 11, 3232 12, 13, 14, -1, 1157, -1, -1, -1, -1, -1, 3233 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3234 526, 72, -1, 74, 75, 76, 1269, 39, -1, -1, 3235 -1, -1, 83, 84, 1277, 1278, 1279, -1, -1, -1, 3236 -1, -1, -1, -1, -1, 1288, 1289, 1200, -1, -1, 3237 711, -1, -1, -1, -1, 67, -1, -1, 109, 1302, 3238 72, -1, -1, -1, 76, -1, -1, 118, 119, 1222, 3239 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, 3240 -1, 1234, -1, 1236, 590, 344, -1, 346, -1, -1, 3241 -1, -1, -1, -1, -1, -1, -1, 109, 357, 358, 3242 1343, -1, -1, -1, -1, -1, 118, 119, -1, -1, 3243 -1, -1, -1, -1, -1, -1, 1269, -1, -1, -1, 3244 -1, -1, -1, -1, 1277, 1278, 1279, -1, 634, 635, 3245 636, -1, -1, -1, -1, 1288, 1289, -1, -1, -1, 3246 -1, -1, -1, -1, 805, -1, -1, 653, -1, 1302, 3247 -1, -1, 813, -1, -1, 7, -1, -1, 10, 11, 3248 12, 13, 14, -1, -1, 671, -1, -1, -1, 962, 3249 1413, -1, -1, -1, -1, -1, 682, -1, -1, -1, 3250 -1, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3251 1343, -1, -1, 986, -1, -1, 989, -1, 991, -1, 3252 -1, -1, 708, -1, -1, 711, -1, -1, -1, -1, 3253 -1, -1, -1, -1, 66, 67, -1, -1, 879, 1462, 3254 72, -1, -1, -1, 76, -1, 1469, 79, 80, 81, 3255 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 3256 -1, -1, 748, -1, -1, -1, -1, -1, 1041, -1, 3257 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3258 1413, -1, -1, -1, -1, -1, 118, 119, 120, 121, 3259 122, 123, -1, -1, -1, -1, -1, -1, -1, 1522, 3260 -1, -1, -1, -1, -1, -1, 947, 793, -1, -1, 3261 -1, -1, -1, -1, -1, -1, -1, 803, -1, 805, 3262 574, 575, -1, 964, 810, -1, -1, 813, -1, 1462, 3263 -1, 817, 37, 38, -1, 40, 1469, -1, -1, -1, 3264 -1, -1, -1, -1, -1, -1, -1, -1, -1, 603, 3265 -1, -1, 606, 607, -1, 609, -1, 611, 612, -1, 3266 -1, 66, 616, 617, -1, -1, -1, 72, -1, 74, 3267 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3268 -1, 86, 87, -1, -1, -1, -1, 1028, 1029, 1522, 3269 -1, -1, -1, 879, -1, -1, -1, -1, -1, -1, 3270 -1, -1, -1, -1, 109, -1, 111, 1048, 113, 114, 3271 -1, -1, -1, 118, 119, 120, 121, 122, 123, -1, 3272 -1, -1, -1, 909, -1, -1, -1, -1, -1, 3, 3273 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3274 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3275 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3276 -1, 700, -1, 702, -1, 39, -1, -1, -1, -1, 3277 709, 710, -1, -1, -1, 714, -1, -1, 964, -1, 3278 -1, -1, -1, -1, -1, -1, -1, 726, 1261, 1262, 3279 1263, -1, 731, 67, -1, 69, -1, 71, 72, -1, 3280 74, 75, 76, 757, 758, -1, -1, -1, -1, 83, 3281 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3282 -1, -1, 761, -1, -1, -1, -1, -1, 37, 38, 3283 -1, 40, -1, -1, -1, 109, -1, 111, -1, 1025, 3284 1026, -1, 1028, 1029, 118, 119, 1319, -1, -1, -1, 3285 -1, -1, -1, -1, -1, -1, -1, 66, 1199, 1200, 3286 -1, -1, 1048, 72, -1, -1, -1, 76, -1, -1, 3287 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3288 -1, 1222, -1, -1, -1, -1, -1, -1, -1, -1, 3289 -1, -1, -1, -1, -1, -1, -1, 1083, 1084, 1240, 3290 109, -1, 111, -1, -1, 114, -1, -1, -1, 118, 3291 119, 120, 121, 122, 123, -1, -1, 49, -1, -1, 3292 -1, -1, 861, 862, 863, 864, -1, 866, -1, -1, 3293 -1, -1, 1405, 1406, 66, -1, -1, -1, -1, -1, 3294 -1, -1, -1, 882, -1, -1, -1, 1288, 1289, -1, 3295 -1, -1, -1, -1, -1, -1, 1297, 896, -1, -1, 3296 -1, 1302, 916, -1, -1, -1, -1, 921, -1, -1, 3297 1443, 1157, -1, -1, -1, -1, -1, -1, -1, -1, 3298 -1, -1, 114, -1, -1, -1, 118, -1, -1, -1, 3299 -1, -1, -1, -1, 1335, -1, -1, 936, -1, -1, 2660 3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2661 481, -1, 483, -1, -1, -1, -1, 1116, -1, -1, 2662 -1, 1254, -1, -1, -1, 706, 788, -1, 709, 1262, 2663 1263, 1264, -1, 69, -1, -1, 798, -1, 800, -1, 2664 802, -1, -1, 805, -1, 807, 808, -1, -1, -1, 2665 812, -1, -1, -1, 525, -1, -1, 753, 754, -1, 2666 822, -1, -1, 744, -1, -1, -1, -1, -1, -1, 2667 -1, -1, -1, -1, -1, -1, -1, 1176, 1177, -1, 2668 -1, -1, 1187, -1, -1, -1, -1, -1, -1, -1, 2669 -1, 0, -1, 1326, -1, -1, -1, -1, -1, -1, 2670 -1, -1, -1, 37, 38, -1, 40, 788, -1, -1, 2671 -1, 873, -1, -1, -1, -1, -1, 798, 589, 800, 2672 156, -1, -1, 32, 805, -1, -1, 808, -1, -1, 2673 -1, 812, 66, 895, -1, -1, -1, -1, 72, -1, 2674 902, 903, 76, -1, 906, 79, 80, 81, 82, 83, 2675 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 2676 69, -1, 633, 634, 635, -1, -1, -1, -1, -1, 2677 932, -1, -1, -1, -1, 109, -1, 1282, 940, 941, 2678 651, -1, -1, 117, 118, 119, 120, 121, 122, -1, 2679 -1, -1, 873, -1, -1, -1, -1, -1, 669, -1, 2680 -1, -1, -1, -1, -1, -1, -1, -1, -1, 680, 2681 -1, -1, -1, -1, 910, 251, -1, -1, -1, 915, 2682 256, -1, 903, -1, -1, -1, -1, 573, 574, -1, 2683 -1, -1, -1, -1, -1, 706, 998, -1, 709, -1, 2684 -1, -1, -1, -1, -1, -1, -1, 156, -1, 1011, 2685 -1, -1, -1, -1, 1016, 1017, 602, 1019, 1020, 605, 2686 606, -1, 608, -1, 610, 611, -1, -1, -1, 615, 2687 616, -1, -1, 744, -1, -1, -1, 1039, -1, -1, 2688 -1, -1, 1381, -1, 0, 1, -1, -1, -1, -1, 2689 -1, -1, -1, -1, -1, -1, -1, -1, 1397, -1, 2690 -1, -1, -1, -1, 10, 11, 12, 13, 14, -1, 2691 -1, -1, 1074, 1075, 350, -1, 32, 788, -1, -1, 2692 -1, -1, -1, -1, -1, -1, -1, 798, -1, 800, 2693 -1, -1, -1, 39, 805, 1016, 1017, 808, 1019, 1020, 2694 -1, 812, 251, -1, -1, -1, -1, 256, -1, -1, 2695 66, -1, -1, 69, -1, -1, -1, -1, 1039, 1121, 2696 -1, 67, -1, -1, -1, -1, 72, -1, 1467, 1468, 2697 76, -1, -1, -1, -1, -1, -1, 83, 84, -1, 2698 1076, 417, -1, 1145, -1, -1, -1, -1, -1, -1, 2699 -1, -1, -1, 1074, 1075, -1, 432, -1, -1, -1, 2700 -1, 437, 873, 109, -1, -1, -1, 753, 754, 445, 2701 -1, 117, 118, -1, 10, 11, 12, 13, 14, -1, 2702 -1, -1, -1, -1, -1, -1, 1188, 463, -1, -1, 2703 -1, -1, 903, -1, -1, -1, -1, -1, -1, -1, 2704 156, 350, -1, 39, 1206, 481, -1, 483, 1210, -1, 2705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2706 1222, -1, 1224, -1, 1145, -1, 1228, -1, -1, -1, 2707 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 2708 76, -1, -1, -1, -1, -1, -1, 83, 84, 525, 2709 -1, -1, 1254, -1, -1, -1, -1, -1, -1, -1, 2710 1262, 1263, 1264, -1, -1, 221, -1, 1188, 417, 1205, 2711 -1, 1273, 1274, 109, -1, 111, -1, -1, -1, -1, 2712 -1, 117, 118, 432, -1, 1287, -1, -1, 437, 1210, 2713 -1, -1, -1, -1, -1, 251, 445, -1, -1, -1, 2714 -1, 1222, -1, 1224, -1, 1016, 1017, -1, 1019, 1020, 2715 -1, -1, -1, 589, 463, -1, -1, -1, 1320, -1, 2716 -1, -1, -1, -1, 1326, -1, -1, -1, 1039, 915, 2717 -1, -1, 481, 1254, 483, -1, -1, -1, -1, -1, 2718 -1, 1262, 1263, 1264, -1, -1, -1, -1, -1, -1, 2719 -1, -1, 1273, 1274, -1, -1, -1, 633, 634, 635, 2720 -1, -1, -1, 1074, 1075, -1, 1287, -1, -1, -1, 2721 -1, -1, -1, -1, -1, 651, 525, -1, -1, -1, 2722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2723 -1, 1393, -1, 669, -1, -1, -1, -1, -1, -1, 2724 -1, -1, -1, -1, 680, 1326, -1, 10, 11, 12, 2725 13, 14, -1, -1, -1, -1, 1418, -1, -1, -1, 2726 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2727 706, -1, -1, 709, 1145, -1, 39, -1, 1440, -1, 2728 589, -1, -1, -1, -1, 1447, -1, 53, -1, 55, 2729 -1, -1, 58, 59, 60, -1, 62, -1, -1, -1, 2730 -1, -1, -1, -1, 67, -1, -1, -1, 744, 72, 2731 76, -1, 1393, 76, -1, -1, 432, 1188, -1, -1, 2732 83, 84, 88, 89, 633, 634, 635, -1, -1, -1, 2733 1076, -1, -1, -1, -1, -1, 1498, -1, -1, 1210, 2734 -1, -1, 651, 1505, -1, -1, 109, -1, -1, -1, 2735 -1, 1222, 788, 1224, 117, 118, -1, -1, -1, 1440, 2736 669, -1, 798, -1, 800, -1, 1447, 483, -1, 805, 2737 -1, 680, 808, -1, -1, -1, 812, 10, 11, 12, 2738 13, 14, -1, 1254, -1, -1, -1, -1, -1, -1, 2739 -1, 1262, 1263, 1264, -1, -1, -1, 706, -1, -1, 2740 709, -1, 1273, 1274, -1, -1, 39, -1, -1, 525, 2741 -1, -1, -1, -1, -1, -1, 1287, 1498, -1, -1, 2742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2743 -1, -1, -1, -1, 67, 744, -1, 873, -1, 72, 2744 -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, 2745 83, 84, -1, -1, -1, 1326, -1, -1, -1, 1205, 2746 -1, -1, -1, -1, -1, -1, -1, 903, -1, -1, 2747 -1, -1, -1, 589, -1, -1, 109, -1, 111, 788, 2748 -1, -1, -1, -1, 117, 118, -1, -1, -1, 798, 2749 -1, 800, -1, -1, -1, -1, 805, -1, -1, 808, 2750 -1, -1, -1, 812, -1, -1, -1, -1, -1, -1, 2751 -1, -1, -1, -1, -1, -1, -1, 633, 634, 635, 2752 -1, -1, 1393, -1, -1, -1, -1, -1, -1, -1, 2753 -1, -1, -1, -1, -1, 651, -1, -1, 3, 4, 2754 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2755 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2756 25, 26, 27, -1, 873, 30, 31, 32, 33, 1440, 2757 -1, 36, -1, -1, 39, 40, 1447, 343, -1, 345, 2758 1016, 1017, -1, 1019, 1020, -1, -1, -1, -1, -1, 2759 356, 357, -1, 709, 903, -1, -1, -1, -1, 64, 2760 -1, -1, 67, 1039, 69, -1, 71, 72, -1, 74, 2761 75, 76, -1, 10, 11, 12, 13, 14, 83, 84, 2762 -1, -1, -1, -1, -1, -1, -1, 1498, -1, -1, 2763 -1, -1, -1, -1, -1, -1, -1, -1, 1074, 1075, 2764 -1, -1, 39, -1, 109, -1, 111, -1, 66, -1, 2765 115, -1, 117, 118, -1, -1, -1, 75, -1, 77, 2766 -1, 79, -1, -1, -1, -1, -1, -1, 86, -1, 2767 67, -1, 49, -1, -1, 72, -1, 74, 75, 76, 2768 -1, -1, -1, -1, 800, -1, 83, 84, -1, 66, 2769 -1, -1, 808, -1, 10, 11, 12, 13, 14, 117, 2770 -1, 119, 120, 121, -1, -1, -1, 1016, 1017, 1145, 2771 1019, 1020, 109, -1, 111, -1, -1, -1, -1, -1, 2772 117, 118, -1, 39, -1, -1, -1, -1, -1, -1, 2773 1039, -1, -1, -1, -1, -1, 113, -1, -1, -1, 2774 117, -1, 160, -1, -1, -1, -1, -1, -1, -1, 2775 -1, 67, 1188, -1, -1, -1, 72, 873, 74, 75, 2776 76, -1, -1, -1, -1, 1074, 1075, 83, 84, 146, 2777 -1, -1, -1, -1, 1210, -1, -1, -1, -1, 156, 2778 -1, -1, -1, 160, -1, -1, 1222, -1, 1224, -1, 2779 -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, 2780 -1, 117, 118, 221, -1, 223, 224, 225, -1, -1, 2781 -1, -1, -1, -1, -1, -1, -1, -1, 1254, -1, 2782 -1, -1, -1, -1, -1, 941, 1262, 1263, 1264, -1, 2783 -1, -1, 209, -1, -1, -1, 1145, 1273, 1274, -1, 2784 -1, 259, -1, -1, 221, -1, 264, -1, -1, -1, 2785 -1, 1287, -1, -1, -1, -1, -1, -1, -1, -1, 2786 -1, 279, 239, -1, -1, -1, -1, -1, -1, -1, 2787 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1188, 2788 -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, 2789 1326, -1, -1, -1, 271, -1, -1, -1, -1, -1, 2790 -1, 1210, -1, 1019, 1020, -1, -1, -1, -1, 327, 2791 -1, -1, -1, 1222, -1, 1224, -1, 294, -1, -1, 2792 -1, -1, -1, 1039, -1, -1, -1, -1, -1, 306, 2793 -1, 349, 698, -1, 700, -1, 354, 355, -1, -1, 2794 -1, 707, 708, -1, 362, 1254, 712, -1, -1, -1, 2795 -1, -1, -1, 1262, 1263, 1264, -1, 1393, 724, -1, 2796 -1, -1, -1, 729, 1273, 1274, -1, 344, -1, -1, 2797 -1, -1, 349, -1, -1, -1, -1, -1, 1287, -1, 2798 -1, -1, -1, -1, -1, -1, -1, 405, -1, -1, 2799 -1, 757, -1, -1, -1, -1, -1, -1, -1, -1, 2800 -1, -1, -1, -1, 1440, 423, -1, -1, -1, -1, 2801 428, 1447, 430, -1, -1, -1, -1, 1326, -1, -1, 2802 -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, 2803 -1, -1, 450, 451, -1, -1, -1, -1, -1, -1, 2804 458, -1, -1, -1, -1, -1, -1, -1, 425, 426, 2805 -1, -1, -1, -1, 472, 432, -1, -1, -1, -1, 2806 -1, 479, 1498, -1, -1, -1, -1, -1, -1, -1, 2807 -1, 1187, 1188, -1, -1, -1, 453, -1, -1, -1, 2808 -1, -1, -1, -1, 1393, -1, -1, -1, -1, -1, 2809 856, 857, 858, 859, 1210, 861, -1, -1, -1, -1, 2810 -1, -1, -1, -1, 481, -1, -1, -1, -1, -1, 2811 876, -1, 1228, -1, -1, -1, 493, -1, -1, -1, 2812 -1, -1, -1, -1, 890, -1, -1, -1, 505, -1, 2813 507, 1440, -1, 510, -1, 512, 513, -1, 1447, -1, 2814 -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, 2815 -1, -1, -1, -1, -1, -1, -1, 1273, 1274, -1, 2816 -1, -1, -1, -1, 930, -1, 1282, -1, -1, -1, 2817 -1, 1287, -1, -1, -1, 593, -1, -1, -1, -1, 2818 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1498, 2819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2820 577, -1, -1, 621, 1320, -1, -1, -1, 626, 975, 2821 -1, -1, 589, -1, -1, 981, 593, -1, -1, -1, 2822 986, -1, -1, -1, -1, 991, -1, 993, -1, -1, 2823 -1, 997, -1, 999, 1000, -1, -1, 1003, -1, -1, 2824 -1, -1, 619, -1, -1, -1, 1012, 624, -1, -1, 2825 -1, -1, -1, -1, -1, -1, 633, 634, 635, -1, 2826 -1, -1, -1, -1, 1030, 1031, -1, -1, -1, -1, 2827 -1, -1, -1, -1, 651, -1, -1, 1393, -1, 697, 2828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2829 -1, 1057, -1, 711, 1060, -1, -1, -1, -1, -1, 2830 -1, -1, 1418, -1, -1, -1, 683, 37, 38, -1, 2831 40, -1, -1, 731, -1, -1, -1, -1, -1, -1, 2832 -1, -1, -1, -1, 1440, -1, -1, -1, -1, -1, 2833 -1, 1447, 709, -1, 711, -1, 66, 1103, -1, -1, 2834 -1, -1, 72, 1109, 1110, -1, 76, -1, -1, 79, 2835 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 2836 -1, -1, -1, 1129, -1, -1, 1132, 744, -1, -1, 2837 1136, -1, -1, -1, 792, -1, -1, -1, 44, 109, 2838 -1, 111, 1498, 1149, 114, -1, 804, 117, 118, 119, 2839 120, 121, 122, -1, -1, -1, 1162, -1, 1164, 1165, 2840 1166, 1167, -1, -1, -1, 823, -1, -1, -1, -1, 2841 -1, -1, -1, -1, 1180, -1, 1182, -1, -1, -1, 2842 1186, -1, -1, 800, -1, 91, -1, 804, -1, -1, 2843 -1, 808, -1, -1, -1, 101, -1, -1, -1, -1, 2844 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1215, 2845 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2846 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2847 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2848 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 2849 32, 157, -1, -1, -1, -1, -1, 39, -1, 1265, 2850 1266, -1, -1, -1, -1, 171, -1, -1, -1, 1275, 2851 -1, -1, -1, -1, -1, -1, -1, -1, 936, -1, 2852 -1, -1, -1, -1, -1, 67, 903, 69, 194, 71, 2853 -1, -1, 74, 75, -1, -1, -1, -1, -1, -1, 2854 -1, 918, 208, -1, -1, -1, -1, -1, 966, -1, 2855 -1, 217, -1, 37, 38, -1, 40, -1, -1, -1, 2856 -1, 227, -1, -1, -1, 942, -1, -1, -1, 111, 2857 1336, -1, 1338, 1339, 1340, 117, 118, -1, -1, -1, 2858 -1, -1, 66, 1001, 1350, -1, 252, -1, 72, -1, 2859 -1, 257, 76, 1359, 1012, 79, 80, 81, 82, 83, 2860 84, -1, 86, 87, 270, -1, -1, -1, -1, -1, 2861 276, -1, 278, -1, -1, -1, -1, -1, 1384, -1, 2862 -1, 998, -1, -1, -1, 109, -1, 111, -1, 295, 2863 -1, -1, -1, 117, 118, 119, 120, 121, 122, -1, 2864 -1, -1, 1019, 1020, -1, -1, 130, -1, -1, -1, 2865 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, 2866 -1, 1427, 1428, -1, -1, -1, 1084, -1, -1, -1, 2867 -1, 337, -1, -1, 1440, -1, 342, -1, -1, -1, 2868 1098, 1447, -1, 66, -1, -1, -1, -1, -1, 72, 2869 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 2870 83, 84, 1079, 86, 87, 371, -1, -1, -1, 375, 2871 376, -1, 378, 1479, -1, -1, -1, 1483, -1, 385, 2872 386, -1, 388, 389, -1, 391, 109, 393, 111, -1, 2873 113, 114, -1, -1, 117, 118, 119, 120, 121, 122, 2874 -1, -1, -1, -1, 410, 1511, -1, 1513, -1, -1, 2875 -1, -1, 418, -1, -1, -1, -1, -1, -1, -1, 2876 -1, 155, 156, -1, -1, -1, -1, -1, 1145, 1187, 2877 -1, -1, -1, -1, -1, 1541, 1542, 443, -1, -1, 2878 -1, -1, -1, 1549, 1550, -1, -1, -1, -1, -1, 2879 -1, -1, -1, -1, -1, 189, -1, -1, -1, -1, 2880 -1, -1, 196, 469, -1, -1, -1, -1, -1, 475, 2881 1187, -1, -1, -1, 480, 3, 4, 5, 6, 7, 2882 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2883 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2884 -1, -1, 30, 31, 32, -1, -1, 1224, -1, -1, 2885 516, 39, -1, -1, -1, -1, -1, -1, -1, -1, 2886 -1, -1, -1, -1, 1282, 531, -1, -1, -1, -1, 2887 -1, -1, -1, -1, 268, -1, -1, -1, -1, 67, 2888 -1, 69, -1, 71, -1, -1, 74, 75, -1, -1, 2889 -1, -1, -1, -1, -1, -1, 1273, 1274, -1, -1, 2890 -1, -1, -1, 569, -1, 1282, -1, -1, -1, -1, 2891 -1, -1, 578, -1, -1, -1, -1, -1, -1, 585, 2892 146, -1, -1, -1, -1, 591, 114, -1, 322, -1, 2893 156, -1, -1, -1, 600, -1, 330, 331, -1, 333, 2894 334, -1, 168, 169, -1, -1, -1, -1, -1, -1, 2895 344, -1, 7, -1, 348, 10, 11, 12, 13, 14, 2896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2897 -1, -1, -1, 367, 640, -1, 370, -1, -1, -1, 2898 -1, -1, 37, 38, 39, 40, -1, -1, -1, -1, 2899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2900 -1, -1, -1, 397, -1, -1, -1, 401, -1, -1, 2901 676, 66, 67, 239, -1, -1, 1393, 72, 684, -1, 2902 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 2903 -1, 86, 87, -1, -1, -1, -1, 263, 432, -1, 2904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 715, 2905 -1, -1, -1, -1, 109, -1, 111, -1, -1, 725, 2906 726, -1, 117, 118, 119, 120, 121, 122, -1, -1, 2907 -1, -1, 1449, -1, 1451, -1, -1, -1, -1, -1, 2908 -1, -1, -1, -1, 478, -1, -1, 481, -1, -1, 2909 -1, -1, 758, -1, -1, -1, -1, 763, -1, -1, 2910 -1, -1, -1, -1, -1, -1, -1, -1, 1485, -1, 2911 1487, 1529, -1, -1, -1, -1, -1, -1, -1, -1, 2912 -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, 2913 524, 525, -1, -1, -1, -1, -1, 1514, -1, -1, 2914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2915 -1, -1, -1, 379, -1, -1, -1, -1, -1, -1, 2916 -1, 827, -1, -1, -1, -1, -1, -1, 834, -1, 2917 -1, -1, -1, -1, -1, 569, 570, -1, -1, -1, 2918 -1, 847, -1, 849, -1, -1, -1, -1, -1, -1, 2919 -1, -1, -1, -1, 588, 589, -1, 863, -1, -1, 2920 -1, -1, -1, 869, -1, 599, -1, 601, 602, -1, 2921 -1, -1, -1, -1, 608, 881, -1, -1, 884, -1, 2922 -1, -1, -1, -1, 618, 619, -1, -1, -1, -1, 2923 624, -1, -1, -1, -1, -1, -1, -1, -1, 633, 2924 634, 635, -1, -1, -1, -1, -1, 473, -1, -1, 2925 -1, -1, -1, -1, -1, -1, -1, 651, -1, -1, 2926 -1, -1, 656, 657, -1, -1, 660, 661, -1, -1, 2927 -1, -1, -1, 667, -1, -1, -1, -1, -1, -1, 2928 -1, -1, -1, -1, -1, -1, 512, -1, -1, -1, 2929 -1, -1, 686, -1, -1, 961, -1, -1, -1, 525, 2930 -1, -1, -1, -1, 530, -1, -1, 533, -1, -1, 2931 -1, -1, -1, -1, -1, 709, 710, -1, -1, 545, 2932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2933 996, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2934 -1, 567, -1, -1, -1, -1, -1, -1, -1, 743, 2935 744, 577, -1, -1, 748, 749, -1, -1, 584, -1, 2936 -1, -1, -1, 589, -1, -1, -1, -1, -1, -1, 2937 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2938 20, 21, 22, 23, 24, 25, 26, 27, 1054, -1, 2939 30, 31, 32, -1, 1060, -1, -1, -1, 792, 39, 2940 -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, 2941 -1, -1, 638, 807, 808, -1, -1, 811, -1, 813, 2942 646, -1, -1, -1, -1, -1, -1, 67, 1094, 823, 2943 -1, -1, 72, 1099, 74, 75, 76, -1, -1, -1, 2944 -1, 1107, -1, 83, 84, -1, 10, 11, 12, 13, 2945 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2946 24, 25, 26, 27, 28, -1, -1, -1, -1, 109, 2947 -1, 111, -1, -1, 1140, 39, -1, 117, 118, -1, 2948 -1, -1, -1, -1, -1, -1, 1152, -1, -1, 1155, 2949 -1, 1157, -1, -1, -1, -1, -1, -1, -1, -1, 2950 -1, 895, -1, 67, -1, 1171, 1172, -1, 902, 903, 2951 904, -1, 906, -1, 78, -1, 910, -1, 744, -1, 2952 746, -1, -1, -1, -1, -1, -1, 1193, -1, -1, 2953 756, -1, -1, -1, -1, -1, 762, 931, 932, -1, 2954 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2955 20, 21, 22, 23, 24, 25, 26, 27, 7, -1, 2956 -1, 10, 11, 12, 13, 14, -1, -1, -1, 39, 2957 -1, -1, 966, -1, 1240, -1, -1, -1, 804, 805, 2958 -1, -1, 808, -1, -1, -1, -1, -1, 37, 38, 2959 39, 40, -1, 987, 988, -1, 822, 67, -1, -1, 2960 -1, -1, -1, -1, 998, -1, -1, -1, -1, -1, 2961 1004, 1005, -1, 1007, 1008, 1009, -1, 66, 67, -1, 2962 -1, -1, -1, 72, -1, 1019, 1020, 76, -1, -1, 2963 79, 80, 81, 82, 83, 84, 862, 86, 87, -1, 2964 866, -1, -1, -1, -1, -1, -1, -1, -1, 1315, 2965 -1, 1317, -1, -1, -1, -1, -1, -1, -1, -1, 2966 109, -1, 111, 1329, -1, 1331, -1, -1, 117, 118, 2967 119, 120, 121, 122, -1, -1, -1, 903, -1, -1, 2968 -1, -1, 1348, -1, -1, -1, -1, -1, 1082, -1, 2969 1084, -1, -1, -1, -1, 1089, -1, -1, 1364, 1365, 2970 -1, -1, -1, -1, 1098, -1, -1, -1, -1, 1375, 2971 -1, -1, 1378, -1, -1, -1, 942, -1, -1, -1, 2972 -1, -1, -1, -1, -1, -1, -1, 1121, 1122, 1123, 2973 -1, -1, -1, 1399, -1, 37, 38, -1, 40, -1, 2974 -1, -1, 1408, -1, 970, 1411, -1, 1413, 1414, 1415, 2975 976, 1145, -1, -1, 980, -1, -1, -1, -1, -1, 2976 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 2977 72, -1, -1, -1, 76, 1001, -1, 79, 80, 81, 2978 82, 83, 84, -1, 86, 87, 1012, 1453, -1, 1455, 2979 -1, 1457, -1, -1, -1, -1, -1, -1, -1, -1, 2980 -1, -1, -1, -1, -1, -1, 1472, 109, 1034, 111, 2981 1036, -1, 1206, -1, 116, 117, 118, 119, 120, 121, 2982 122, -1, -1, -1, -1, 1051, 1052, -1, -1, -1, 2983 1224, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2984 -1, -1, -1, -1, -1, -1, 1072, -1, -1, -1, 2985 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 2986 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2987 19, 20, 21, 22, 23, 24, 25, 26, 27, 1273, 2988 1274, 30, 31, 32, 33, -1, -1, 36, -1, -1, 2989 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2990 -1, 1127, -1, -1, -1, -1, -1, -1, -1, -1, 2991 -1, -1, -1, -1, -1, -1, -1, -1, 67, 1145, 2992 69, -1, 71, -1, -1, 74, 75, -1, -1, -1, 2993 -1, -1, -1, -1, 1160, 1161, -1, 3, 4, 5, 2994 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2995 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2996 26, 27, 111, -1, 30, 31, 32, 33, 117, 118, 2997 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, 2998 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 2999 -1, 57, -1, -1, -1, 61, 62, -1, 64, 1393, 3000 66, 67, -1, 69, -1, 71, 72, -1, 74, 75, 3001 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3002 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3004 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1, 3005 -1, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3006 -1, 127, -1, -1, -1, -1, 132, -1, -1, -1, 3007 -1, -1, -1, -1, -1, 1301, -1, -1, 1304, -1, 3008 -1, -1, -1, -1, -1, -1, 1480, -1, -1, -1, 3009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3011 1504, 1505, -1, -1, -1, -1, -1, -1, -1, -1, 3012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3013 -1, -1, -1, -1, -1, 1529, 3, 4, 5, 6, 3301 -1, -1, -1, -1, 1200, 147, -1, -1, -1, -1, 3302 -1, -1, -1, -1, -1, 157, -1, -1, -1, 161, 3303 -1, 1504, -1, -1, -1, -1, 1222, -1, -1, -1, 3304 1513, -1, -1, -1, 983, -1, -1, -1, 1234, -1, 3305 1236, 990, -1, -1, -1, -1, 995, -1, -1, -1, 3306 -1, 1000, -1, 1002, -1, -1, -1, 1006, -1, 1008, 3307 1009, -1, 1413, 1012, -1, -1, -1, -1, 210, -1, 3308 -1, -1, 1021, 1269, -1, -1, -1, -1, -1, -1, 3309 222, 1277, 1278, 1279, -1, -1, -1, 1438, -1, -1, 3310 1039, 1040, 1288, 1289, -1, -1, -1, -1, 240, -1, 3311 -1, -1, -1, -1, -1, -1, 1302, -1, -1, -1, 3312 -1, 1462, -1, -1, -1, -1, -1, 1066, 1469, -1, 3313 1069, 1085, -1, 265, -1, -1, -1, -1, -1, -1, 3314 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3315 -1, -1, -1, -1, -1, -1, -1, 1343, -1, -1, 3316 -1, -1, -1, 295, -1, -1, -1, -1, -1, -1, 3317 -1, -1, -1, 1112, -1, 307, -1, -1, -1, 1118, 3318 1119, 1522, -1, -1, -1, -1, -1, -1, -1, -1, 3319 -1, 1130, -1, -1, -1, -1, -1, -1, -1, -1, 3320 -1, 1140, -1, -1, 1143, -1, 1145, -1, -1, 1148, 3321 -1, -1, -1, 345, -1, -1, -1, -1, 350, -1, 3322 -1, -1, 1161, -1, -1, -1, -1, 1413, -1, -1, 3323 -1, -1, -1, -1, -1, 1174, -1, 1176, 1177, 1178, 3324 1179, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3325 -1, -1, -1, 1192, -1, 1194, -1, -1, -1, 1198, 3326 -1, -1, -1, 1217, -1, 66, -1, -1, -1, -1, 3327 -1, -1, -1, -1, -1, 76, 1462, 78, -1, 80, 3328 -1, -1, -1, 1469, -1, -1, 87, -1, 1227, 1228, 3329 -1, -1, -1, -1, 426, 427, -1, -1, -1, -1, 3330 -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, 3331 -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, 3332 121, 122, 454, -1, -1, -1, -1, -1, -1, -1, 3333 -1, -1, -1, -1, -1, -1, 1522, -1, -1, -1, 3334 -1, 1280, 1281, -1, -1, -1, -1, -1, -1, -1, 3335 482, 1290, -1, -1, -1, -1, -1, -1, -1, -1, 3336 161, -1, 494, -1, -1, -1, -1, -1, -1, -1, 3337 -1, -1, -1, -1, 506, -1, 508, -1, -1, 511, 3338 -1, 513, 514, -1, -1, -1, -1, -1, -1, -1, 3339 -1, -1, -1, -1, 526, -1, -1, -1, -1, -1, 3340 -1, -1, 1341, -1, -1, -1, -1, -1, -1, -1, 3341 -1, -1, -1, -1, -1, 1354, -1, 1356, 1357, 1358, 3342 -1, 222, -1, 224, 225, 226, -1, -1, -1, 1368, 3343 -1, -1, -1, -1, -1, -1, -1, -1, 1377, -1, 3344 -1, -1, -1, -1, -1, -1, 578, -1, -1, -1, 3345 -1, -1, -1, -1, -1, -1, -1, -1, 590, 260, 3346 -1, -1, 594, -1, 265, 1404, -1, -1, -1, -1, 3347 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280, 3348 -1, -1, -1, -1, -1, -1, -1, -1, 620, -1, 3349 -1, -1, -1, 625, -1, -1, -1, -1, -1, -1, 3350 -1, -1, 634, 635, 636, -1, -1, -1, -1, -1, 3351 1449, 1450, -1, -1, -1, -1, -1, -1, -1, -1, 3352 -1, 653, -1, 1462, -1, -1, -1, 328, -1, -1, 3353 1469, -1, -1, -1, 44, -1, -1, -1, -1, -1, 3354 -1, -1, -1, -1, -1, -1, -1, -1, -1, 350, 3355 -1, -1, -1, 685, 355, 356, -1, -1, -1, -1, 3356 -1, -1, 363, 1502, -1, -1, -1, 1506, -1, -1, 3357 -1, -1, -1, -1, -1, -1, -1, -1, -1, 711, 3358 7, 713, 92, 10, 11, 12, 13, 14, -1, -1, 3359 -1, -1, 102, -1, -1, -1, 1535, -1, 1537, -1, 3360 -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, 3361 37, 38, 39, 40, -1, -1, 748, -1, -1, -1, 3362 -1, -1, -1, 424, -1, -1, 1565, 1566, 429, -1, 3363 431, -1, -1, -1, 1573, 1574, -1, -1, -1, 66, 3364 67, -1, -1, -1, -1, 72, -1, 448, 158, 76, 3365 451, 452, 79, 80, 81, 82, 83, 84, 459, 86, 3366 87, -1, 172, -1, -1, -1, -1, -1, -1, -1, 3367 -1, -1, 473, 805, -1, -1, -1, 809, -1, 480, 3368 -1, 813, 109, -1, 111, 195, -1, -1, -1, -1, 3369 -1, 118, 119, 120, 121, 122, 123, -1, -1, 209, 3370 -1, -1, -1, -1, -1, -1, -1, -1, 218, -1, 3371 -1, -1, -1, -1, -1, -1, -1, -1, 228, -1, 3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 3373 38, -1, 40, -1, -1, -1, -1, -1, -1, -1, 3374 -1, -1, -1, 253, -1, -1, -1, -1, 258, -1, 3375 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1, 3376 -1, 271, -1, -1, 72, -1, -1, 277, 76, 279, 3377 -1, 79, 80, 81, 82, 83, 84, 909, 86, 87, 3378 -1, -1, -1, -1, -1, -1, 296, -1, -1, -1, 3379 -1, -1, 924, 594, -1, -1, -1, -1, -1, -1, 3380 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117, 3381 118, 119, 120, 121, 122, 123, 948, -1, -1, -1, 3382 -1, 622, -1, -1, -1, -1, 627, -1, 338, -1, 3383 -1, -1, 964, 343, -1, -1, 3, 4, 5, 6, 3014 3384 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3015 3385 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3016 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 3017 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3018 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3019 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3020 67, -1, 69, 39, 71, 72, -1, 74, 75, 76, 3021 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3386 27, -1, 372, 30, 31, 32, 376, 377, -1, 379, 3387 -1, -1, 39, -1, -1, 1007, 386, 387, -1, 389, 3388 390, -1, 392, -1, 394, -1, -1, -1, -1, -1, 3389 -1, -1, -1, -1, -1, -1, 1028, 1029, 699, -1, 3390 67, 411, 69, -1, 71, -1, -1, 74, 75, 419, 3391 -1, -1, 713, -1, -1, -1, -1, -1, -1, -1, 3392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3393 37, 38, 733, 40, 444, -1, -1, -1, -1, -1, 3394 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3395 -1, 118, 119, -1, -1, -1, 1088, -1, -1, 66, 3396 470, -1, -1, -1, -1, 72, 476, -1, -1, 76, 3397 -1, 481, 79, 80, 81, 82, 83, 84, -1, 86, 3022 3398 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3023 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3024 76, -1, 109, -1, 111, -1, -1, 83, 84, -1, 3025 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 3026 -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 3027 -1, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3028 -1, 117, 118, -1, -1, -1, -1, -1, 1514, 3, 3399 -1, -1, -1, -1, -1, -1, 797, -1, -1, -1, 3400 -1, -1, 109, -1, 111, -1, -1, 517, 809, 116, 3401 -1, 118, 119, 120, 121, 122, 123, -1, -1, -1, 3402 -1, -1, 532, -1, -1, 1157, 0, 828, -1, 3, 3029 3403 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3030 3404 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3031 3405 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 3032 -1, -1, 36, 37, 38, 39, 40, 10, 11, 12, 3033 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3034 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3035 -1, -1, 66, 67, -1, 69, 39, 71, 72, -1, 3036 74, 75, 76, -1, -1, 79, 80, 81, 82, 83, 3037 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3038 -1, -1, -1, -1, 67, -1, -1, -1, -1, 72, 3039 -1, 74, 75, -1, -1, 109, -1, 111, -1, -1, 3040 83, 84, -1, 117, 118, 119, 120, 121, 122, 4, 3406 570, -1, 36, -1, -1, 39, 40, 1199, -1, 579, 3407 -1, 156, 157, -1, -1, -1, 586, -1, 37, 38, 3408 -1, 40, 592, -1, -1, -1, -1, -1, -1, -1, 3409 64, 601, -1, 67, -1, 69, -1, 71, 72, -1, 3410 74, 75, 76, -1, 1236, 190, -1, 66, -1, 83, 3411 84, -1, 197, 72, -1, -1, -1, 76, -1, -1, 3412 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3413 -1, -1, 642, -1, -1, 109, -1, 111, -1, -1, 3414 -1, 942, -1, -1, 118, 119, -1, -1, -1, -1, 3415 109, -1, 111, -1, -1, 114, 1288, 1289, -1, 118, 3416 119, 120, 121, 122, 123, 1297, -1, -1, 678, -1, 3417 -1, -1, -1, 974, -1, -1, 686, -1, -1, -1, 3418 -1, -1, -1, -1, 269, 10, 11, 12, 13, 14, 3419 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3420 25, 26, 27, 28, -1, -1, -1, 717, -1, 1010, 3421 -1, -1, -1, -1, 39, -1, -1, 727, 728, -1, 3422 1021, -1, -1, -1, -1, -1, 37, 38, -1, 40, 3423 -1, 741, -1, -1, 147, -1, -1, -1, 323, -1, 3424 -1, -1, 67, -1, 157, -1, 331, 332, -1, 334, 3425 335, -1, 762, 78, 764, 66, 169, 170, 768, -1, 3426 345, 72, -1, -1, 349, 76, -1, -1, 79, 80, 3427 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3428 -1, 1413, -1, 368, -1, -1, 371, -1, -1, -1, 3429 -1, -1, 1093, -1, -1, -1, -1, -1, 109, -1, 3430 111, -1, -1, -1, -1, -1, 1107, 118, 119, 120, 3431 121, 122, 123, 398, -1, -1, -1, 402, -1, -1, 3432 -1, -1, 832, -1, -1, -1, -1, 240, -1, 839, 3433 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1471, 3434 -1, 1473, 852, -1, 854, -1, -1, -1, 433, -1, 3435 -1, 264, -1, -1, -1, -1, -1, -1, 868, -1, 3436 -1, -1, -1, -1, -1, 875, -1, -1, -1, -1, 3437 -1, -1, -1, -1, -1, -1, 1508, 887, 1510, -1, 3438 890, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3439 -1, -1, -1, -1, 479, -1, -1, 482, 1199, -1, 3440 -1, -1, -1, -1, -1, -1, 1538, 4, 5, 6, 3441 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3442 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3443 27, -1, -1, 30, 31, 32, 521, -1, -1, -1, 3444 525, 526, 39, -1, -1, -1, -1, -1, -1, -1, 3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, 969, 3446 -1, -1, -1, -1, -1, -1, -1, 380, -1, -1, 3447 67, -1, 69, -1, 71, -1, -1, 74, 75, -1, 3448 -1, -1, -1, -1, -1, 570, 571, -1, -1, -1, 3449 -1, -1, -1, -1, -1, 1005, 1297, -1, -1, -1, 3450 -1, -1, -1, -1, 589, 590, -1, -1, -1, -1, 3451 -1, -1, -1, 110, 111, 600, -1, 602, 603, -1, 3452 -1, 118, 119, -1, 609, -1, -1, -1, -1, -1, 3453 -1, -1, -1, -1, 619, 620, -1, -1, -1, -1, 3454 625, -1, -1, -1, -1, -1, -1, -1, -1, 634, 3455 635, 636, -1, 1063, -1, -1, -1, -1, -1, 1069, 3456 -1, 474, -1, -1, -1, -1, -1, -1, 653, -1, 3457 -1, -1, -1, 658, 659, -1, -1, 662, 663, -1, 3458 -1, -1, -1, -1, 669, -1, -1, -1, -1, -1, 3459 -1, -1, -1, 1103, -1, -1, -1, -1, 1108, -1, 3460 513, -1, -1, 688, -1, -1, 1116, -1, -1, -1, 3461 -1, -1, -1, 526, -1, -1, -1, -1, 531, -1, 3462 -1, 534, -1, -1, -1, -1, 711, 712, -1, -1, 3463 -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, 3464 -1, -1, 1152, -1, -1, -1, -1, -1, -1, -1, 3465 -1, -1, -1, -1, 1164, 568, -1, 1167, -1, 1169, 3466 -1, -1, 747, 748, -1, 578, -1, 752, 753, -1, 3467 -1, -1, 585, 1183, 1184, -1, -1, 590, -1, -1, 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3469 -1, -1, -1, -1, -1, 1205, -1, -1, -1, -1, 3470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3471 -1, -1, 797, -1, -1, -1, -1, -1, -1, -1, 3472 805, -1, -1, -1, -1, -1, 639, 812, 813, -1, 3473 -1, 816, -1, 818, -1, 648, -1, -1, -1, -1, 3474 -1, -1, -1, 828, 1254, -1, -1, -1, -1, -1, 3475 -1, -1, 1553, -1, -1, -1, -1, -1, -1, -1, 3476 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3477 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3478 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3479 31, 32, 33, -1, -1, 36, -1, -1, 39, -1, 3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, -1, -1, 901, -1, -1, -1, 3482 1330, -1, 1332, 908, 909, 910, 67, 912, 69, -1, 3483 71, 916, -1, 74, 75, 748, 1346, 750, 1348, -1, 3484 -1, -1, -1, -1, -1, -1, -1, 760, -1, -1, 3485 -1, -1, 937, 938, 767, -1, 1366, -1, -1, -1, 3486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3487 111, -1, 1382, 1383, -1, -1, -1, 118, 119, 964, 3488 -1, -1, -1, 1393, -1, -1, 1396, -1, -1, 974, 3489 -1, -1, -1, -1, -1, -1, 809, 810, -1, -1, 3490 813, -1, -1, -1, -1, -1, -1, -1, -1, 1419, 3491 -1, 996, 997, -1, 827, -1, -1, -1, 1428, -1, 3492 -1, 1431, 1007, 1433, 1434, 1435, -1, -1, 1013, 1014, 3493 -1, 1016, 1017, 1018, -1, -1, -1, -1, -1, 283, 3494 -1, 285, 286, 1028, 1029, 37, 38, -1, 40, 293, 3495 294, -1, -1, -1, 867, -1, -1, -1, 871, -1, 3496 -1, -1, -1, 307, 308, 1475, -1, 1477, -1, 1479, 3497 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, 3498 72, -1, -1, -1, 76, 1495, -1, 79, 80, 81, 3499 82, 83, 84, -1, 86, 87, 909, -1, -1, -1, 3500 -1, 345, -1, -1, -1, -1, 1091, -1, 1093, -1, 3501 -1, -1, -1, 1098, -1, -1, -1, 109, -1, 111, 3502 -1, -1, 1107, -1, -1, -1, 118, 119, 120, 121, 3503 122, 123, -1, -1, -1, 948, -1, 381, -1, -1, 3504 -1, -1, -1, -1, -1, -1, -1, 1132, 1133, 1134, 3505 -1, 964, 965, -1, -1, -1, -1, -1, -1, -1, 3506 -1, -1, -1, -1, -1, 978, -1, -1, -1, -1, 3507 -1, 984, 1157, -1, 987, -1, 989, -1, 10, 11, 3508 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3509 22, 23, 24, 25, 26, 27, 28, 1010, 30, 31, 3510 32, -1, -1, -1, -1, -1, -1, 39, 1021, -1, 3511 37, 38, -1, 40, -1, -1, -1, -1, -1, -1, 3512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3513 1043, -1, 1045, 1218, -1, 67, -1, -1, -1, 66, 3514 -1, -1, 74, 75, -1, 72, 78, 1060, 1061, 76, 3515 -1, 1236, 79, 80, 81, 82, 83, 84, -1, 86, 3516 87, -1, -1, -1, -1, -1, -1, -1, 1081, -1, 3517 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3518 -1, -1, 109, -1, 111, -1, 118, 119, -1, -1, 3519 -1, 118, 119, 120, 121, 122, 123, -1, -1, -1, 3520 -1, -1, -1, 1288, 1289, 549, 550, 551, 552, 553, 3521 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 3522 564, 565, 566, -1, -1, 1138, -1, -1, -1, -1, 3523 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, -1, 1157, -1, -1, -1, -1, -1, 3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1172, 3526 1173, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3527 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 3041 3528 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3042 3529 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3043 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3044 -1, -1, 37, 38, 39, 40, -1, -1, -1, 10, 3530 25, 26, 27, -1, -1, 30, 31, 32, 33, -1, 3531 -1, 36, 37, 38, 39, 40, -1, -1, -1, -1, 3532 -1, -1, -1, -1, -1, -1, -1, -1, 1413, -1, 3533 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1252, 3534 -1, 66, 67, -1, 69, -1, 71, 72, -1, 74, 3535 75, 76, 696, -1, 79, 80, 81, 82, 83, 84, 3536 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3538 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3539 -1, -1, -1, 118, 119, 120, 121, 122, 123, -1, 3540 -1, -1, -1, 1316, -1, -1, 1319, 132, -1, -1, 3541 -1, -1, -1, -1, -1, 759, -1, -1, 1503, 10, 3045 3542 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3046 21, 22, 23, 24, 25, 26, 27, 28, -1, -1,3047 -1, 66, 67, -1, 69, -1, 71, 72, 39, 74,3048 75, 76, -1, -1, 79, 80, 81, 82, 83, 84,3049 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1,3543 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3544 31, 32, -1, 1528, 1529, -1, 790, -1, 39, -1, 3545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3546 -1, -1, -1, -1, -1, -1, -1, -1, 1553, -1, 3050 3547 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3051 -1, -1, -1, -1, 109, -1, 111, 78, -1, -1, 3052 -1, 116, 117, 118, 119, 120, 121, 122, 4, 5, 3053 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3054 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3055 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3056 -1, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3057 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3058 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3059 66, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3060 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3061 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3062 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3063 75, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3064 116, 117, 118, 119, 120, 121, 122, 4, 5, 6, 3065 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3548 -1, -1, -1, 74, 75, -1, -1, -1, -1, -1, 3549 1403, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3550 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3551 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3552 21, 22, 23, 24, 25, 26, 27, 118, 119, 30, 3553 31, 32, 33, -1, -1, 36, 37, 38, 39, 40, 3554 41, -1, 43, -1, -1, 46, 47, 48, 49, 50, 3555 51, 52, 53, -1, -1, -1, 57, -1, -1, -1, 3556 61, 62, -1, 64, -1, 66, 67, 911, 69, -1, 3557 71, 72, 1485, 74, 75, 76, -1, -1, 79, 80, 3558 81, 82, 83, 84, -1, 86, 87, 10, 11, 12, 3559 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3560 23, 24, 25, 26, 27, 28, -1, -1, 109, -1, 3561 111, -1, 956, 114, -1, -1, 39, 118, 119, 120, 3562 121, 122, 123, -1, -1, 1538, -1, 128, -1, -1, 3563 -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 3564 -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, 3565 994, -1, -1, -1, -1, 78, -1, -1, -1, -1, 3566 -1, -1, -1, 1007, -1, -1, -1, -1, -1, -1, 3567 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 3568 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3569 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3570 31, 32, 33, -1, 1048, 36, 37, 38, 39, 40, 3571 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3572 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3573 30, 31, 32, -1, -1, 66, 67, -1, 69, 39, 3574 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3575 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3576 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3577 -1, -1, 72, -1, 74, 75, -1, -1, 109, -1, 3578 111, 1125, -1, 83, 84, -1, -1, 118, 119, 120, 3579 121, 122, 123, 4, 5, 6, 7, 8, 9, 10, 3580 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3581 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3582 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3584 -1, -1, -1, -1, 1188, 1189, -1, -1, -1, -1, 3585 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, 3586 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3587 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3589 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3590 111, -1, -1, -1, -1, 116, -1, 118, 119, 120, 3591 121, 122, 123, 4, 5, 6, 7, 8, 9, 10, 3592 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3593 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3594 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3595 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3596 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3597 30, 31, 32, -1, -1, 66, 67, -1, 69, 39, 3598 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3599 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3600 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, 3601 -1, -1, 72, -1, 74, 75, 76, -1, 109, -1, 3602 111, -1, -1, 83, 84, 116, -1, 118, 119, 120, 3603 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, 3604 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3605 -1, 111, -1, -1, -1, 1399, -1, -1, 118, 119, 3606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3607 -1, -1, -1, 1417, -1, -1, -1, -1, -1, -1, 3608 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, 3609 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3610 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3611 -1, -1, 30, 31, 32, -1, -1, -1, -1, 37, 3612 38, 39, 40, 10, 11, 12, 13, 14, 15, 16, 3066 3613 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3067 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3068 37, 38, 39, 40, 10, 11, 12, 13, 14, 15, 3069 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3070 26, 27, -1, -1, 30, 31, 32, -1, -1, 66, 3071 67, -1, 69, 39, 71, 72, -1, 74, 75, 76, 3072 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3073 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3074 -1, 67, -1, -1, -1, -1, -1, -1, 74, 75, 3075 -1, -1, 109, -1, 111, -1, -1, -1, -1, 116, 3076 117, 118, 119, 120, 121, 122, 4, 5, 6, 7, 3614 27, -1, -1, 30, 31, 32, 1490, 1491, 66, 67, 3615 -1, 69, 39, 71, 72, -1, 74, 75, 76, -1, 3616 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3618 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3619 -1, 109, -1, 111, -1, -1, -1, -1, 116, -1, 3620 118, 119, 120, 121, 122, 123, 4, 5, 6, 7, 3621 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3622 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3623 -1, -1, 30, 31, 32, -1, -1, -1, -1, 37, 3624 38, 39, 40, 10, 11, 12, 13, 14, 15, 16, 3625 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3626 27, -1, -1, 30, 31, 32, -1, -1, 66, 67, 3627 -1, 69, 39, 71, 72, -1, 74, 75, 76, -1, 3628 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3629 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3630 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3631 -1, 109, -1, 111, -1, -1, -1, -1, -1, -1, 3632 118, 119, 120, 121, 122, 123, 4, 5, 6, 7, 3633 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3634 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3635 -1, -1, 30, 31, 32, -1, -1, -1, -1, 37, 3636 38, 39, 40, 10, 11, 12, 13, 14, 15, 16, 3637 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3638 27, -1, -1, -1, -1, -1, -1, -1, 66, 67, 3639 -1, 69, 39, 71, 72, -1, 74, 75, 76, -1, 3640 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3642 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3643 -1, 109, -1, 111, -1, -1, -1, -1, -1, -1, 3644 118, 119, 120, 121, 122, 123, 4, 5, 6, 7, 3077 3645 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3078 3646 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, … … 3085 3653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3086 3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3087 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117,3088 118, 119, 120, 121, 122, 4, 5, 6, 7, 8,3089 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,3090 1 9, 20, 21, 22, 23, 24, 25, 26, 27, -1,3091 -1, 30, 31, 32, -1, -1, -1, -1, 37, 38,3092 3 9, 40, -1, -1, -1, -1, -1, -1, -1, -1,3655 -1, 109, -1, 111, -1, -1, -1, -1, -1, -1, 3656 118, 119, 120, 121, 122, 123, 4, 5, 6, 7, 3657 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3658 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3659 -1, -1, 30, 31, 32, -1, -1, -1, -1, 37, 3660 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, 3093 3661 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3094 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,3095 69, -1, 71, 72, -1, 74, 75, 76, -1, -1,3096 79, 80, 81, 82, 83, 84, -1, 86, 87, -1,3662 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, 3663 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1, 3664 -1, 79, 80, 81, 82, 83, 84, -1, 86, 87, 3097 3665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3098 3666 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3099 109, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3100 119, 120, 121, 122, 4, 5, 6, 7, 8, 9, 3667 -1, 109, -1, 111, -1, -1, -1, -1, -1, -1, 3668 118, 119, 120, 121, 122, 123, 3, 4, 5, 6, 3669 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3670 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3671 27, -1, -1, 30, 31, 32, 33, -1, -1, 36, 3672 -1, -1, 39, 40, -1, -1, -1, -1, -1, -1, 3673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3674 -1, -1, -1, -1, -1, -1, -1, 64, -1, -1, 3675 67, -1, 69, -1, 71, 72, -1, 74, 75, 76, 3676 -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, 3677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3679 -1, -1, 109, -1, 111, -1, -1, -1, 115, -1, 3680 -1, 118, 119, 3, 4, 5, 6, 7, 8, 9, 3101 3681 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3102 3682 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3103 30, 31, 32, -1, -1, -1, -1, 37, 38, 39,3683 30, 31, 32, 33, -1, -1, 36, -1, -1, 39, 3104 3684 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3105 3685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3106 -1, -1, -1, -1, -1, -1, 66, 67, -1, 69,3107 -1, 71, 72, -1, 74, 75, 76, -1, -1, 79,3108 80, 81, 82, 83, 84, -1, 86, 87, -1, -1,3686 -1, -1, -1, -1, 64, -1, -1, 67, -1, 69, 3687 -1, 71, 72, -1, 74, 75, 76, -1, -1, -1, 3688 -1, -1, -1, 83, 84, -1, -1, -1, -1, -1, 3109 3689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3110 3690 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3111 -1, 111, -1, -1, -1, -1, -1, 117, 118, 119,3112 120, 121, 122, 4, 5, 6, 7, 8, 9, 10,3113 1 1, 12, 13, 14, 15, 16, 17, 18, 19, 20,3114 2 1, 22, 23, 24, 25, 26, 27, -1, -1, 30,3115 3 1, 32, -1, -1, -1, -1, 37, 38, 39, 40,3691 -1, 111, -1, -1, -1, -1, -1, -1, 118, 119, 3692 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3693 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3694 23, 24, 25, 26, 27, 28, -1, 30, 31, 32, 3695 33, -1, -1, 36, -1, -1, 39, -1, -1, -1, 3116 3696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3117 3697 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3118 -1, -1, -1, -1, -1, 66, 67, -1, 69, -1, 3119 71, 72, -1, 74, 75, 76, -1, -1, 79, 80, 3120 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3122 -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 3123 111, -1, -1, -1, -1, -1, 117, 118, 119, 120, 3124 121, 122, 0, -1, -1, 3, 4, 5, 6, 7, 3698 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1, 3699 -1, 74, 75, -1, -1, 78, 4, 5, 6, 7, 3125 3700 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3126 3701 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3127 -1, -1, 30, 31, 32, 33, -1, -1, 36, -1,3128 -1, 39, 40, -1, -1, -1, -1, -1, -1, -1,3702 -1, -1, 30, 31, 32, -1, -1, -1, 111, -1, 3703 -1, 39, -1, -1, -1, 118, 119, -1, -1, -1, 3129 3704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3130 -1, -1, -1, -1, -1, -1, 64, -1, -1, 67,3705 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3131 3706 -1, 69, -1, 71, 72, -1, 74, 75, 76, -1, 3132 3707 -1, -1, -1, -1, -1, 83, 84, -1, -1, -1, 3133 3708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3134 3709 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3135 -1, 109, -1, 111, -1, -1, -1, -1, -1, 117, 3136 118, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3137 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3138 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3139 32, 33, -1, -1, 36, -1, -1, 39, 40, -1, 3140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3142 -1, -1, 64, -1, -1, 67, -1, 69, -1, 71, 3143 72, -1, 74, 75, 76, -1, -1, -1, -1, -1, 3144 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1, 3145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3146 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3147 -1, -1, -1, -1, -1, 117, 118, 3, 4, 5, 3148 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3149 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3150 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3151 -1, -1, -1, 39, -1, 10, 11, 12, 13, 14, 3152 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3153 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, 3154 35, 67, -1, 69, 39, 71, 72, -1, 74, 75, 3155 76, -1, -1, -1, -1, -1, -1, 83, 84, -1, 3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3157 -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 3158 75, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3159 -1, 117, 118, 3, 4, 5, 6, 7, 8, 9, 3160 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3161 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, 3162 30, 31, 32, 33, -1, -1, 36, -1, -1, 39, 3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3165 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, 3166 -1, 71, -1, -1, 74, 75, -1, -1, 78, 4, 3167 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3168 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3169 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3170 -1, 111, -1, -1, 39, -1, -1, 117, 118, -1, 3171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3173 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, 3174 75, 76, -1, -1, -1, -1, -1, -1, 83, 84, 3175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3177 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3178 -1, -1, 117, 118, 4, 5, 6, 7, 8, 9, 3179 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3180 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3181 30, 31, 32, -1, -1, -1, -1, -1, -1, 39, 3182 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3183 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3184 26, 27, -1, -1, 30, 31, 32, 67, -1, 69, 3185 -1, 71, -1, 39, 74, 75, -1, 4, 5, 6, 3186 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3187 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3188 27, 67, -1, 30, 31, 32, -1, -1, 74, 75, 3189 110, 111, 39, -1, -1, -1, -1, 117, 118, -1, 3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3192 67, -1, 69, 109, 71, 111, -1, 74, 75, -1, 3193 -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3194 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, 3195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3196 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, 3197 117, 118, 4, 5, 6, 7, 8, 9, 10, 11, 3710 -1, 109, -1, 111, -1, -1, -1, -1, -1, -1, 3711 118, 119, 4, 5, 6, 7, 8, 9, 10, 11, 3198 3712 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3199 3713 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, … … 3202 3716 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3203 3717 -1, 30, 31, 32, -1, 67, -1, 69, -1, 71, 3204 39, 40, 74, 75, -1, -1, -1, -1, -1, -1,3718 39, -1, 74, 75, -1, -1, -1, -1, -1, -1, 3205 3719 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3206 3720 -1, -1, -1, -1, 96, -1, -1, -1, 67, -1, 3207 -1, -1, -1, -1, -1, 74, 75, -1, -1, 111, 3208 -1, -1, -1, -1, -1, 117, 118, 4, 5, 6, 3721 -1, -1, -1, 72, -1, 74, 75, 76, -1, 111, 3722 -1, -1, -1, -1, 83, 84, 118, 119, 4, 5, 3723 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3724 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3725 26, 27, 111, -1, 30, 31, 32, -1, -1, 118, 3726 119, -1, -1, 39, -1, -1, -1, 10, 11, 12, 3727 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3728 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3729 -1, 67, -1, 69, -1, 71, 39, -1, 74, 75, 3730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3731 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3732 96, -1, -1, -1, 67, -1, -1, -1, -1, 72, 3733 -1, 74, 75, -1, -1, 111, -1, -1, -1, -1, 3734 83, 84, 118, 119, 4, 5, 6, 7, 8, 9, 3735 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3736 20, 21, 22, 23, 24, 25, 26, 27, 111, -1, 3737 30, 31, 32, -1, -1, 118, 119, -1, -1, 39, 3738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3740 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, 3741 -1, 71, -1, -1, 74, 75, -1, 4, 5, 6, 3209 3742 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3210 3743 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3211 27, -1, 111, 30, 31, 32, 115, -1, 117, 118,3212 -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,3744 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3745 -1, 111, 39, -1, -1, -1, -1, -1, 118, 119, 3213 3746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3214 3747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, … … 3218 3751 24, 25, 26, 27, -1, -1, 30, 31, 32, -1, 3219 3752 -1, -1, -1, -1, 111, 39, -1, -1, -1, -1, 3220 117, 118, -1, -1, -1, -1, -1, -1, -1, -1,3753 -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, 3221 3754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222 3755 -1, -1, -1, 67, -1, 69, -1, 71, -1, -1, … … 3225 3758 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3226 3759 31, 32, -1, -1, -1, -1, -1, 111, 39, -1, 3227 -1, -1, -1, 117, 118, -1, -1, -1, -1, -1,3760 -1, -1, -1, -1, 118, 119, -1, -1, -1, -1, 3228 3761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3229 3762 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3230 71, -1, -1, 74, 75, -1, 4, 5, 6, 7, 3231 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3232 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3233 -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3234 111, 39, -1, -1, -1, -1, 117, 118, -1, -1, 3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3236 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3237 -1, 69, -1, 71, -1, -1, 74, 75, 10, 11, 3238 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3239 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3240 32, -1, -1, -1, -1, 37, 38, 39, 40, -1, 3241 -1, -1, -1, 111, -1, -1, -1, -1, -1, 117, 3242 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3243 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1, 3244 72, -1, 74, 75, 76, -1, -1, 79, 80, 81, 3245 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3247 -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, 3248 -1, -1, 114, -1, -1, 117, 118, 119, 120, 121, 3249 122, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3250 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3251 -1, 30, 31, 32, -1, -1, -1, -1, 37, 38, 3252 39, 40, 10, 11, 12, 13, 14, 15, 16, 17, 3253 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3254 -1, -1, 30, 31, 32, -1, -1, 66, 67, -1, 3255 -1, 39, -1, 72, -1, 74, 75, 76, -1, -1, 3256 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3257 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3258 -1, -1, -1, -1, 72, -1, 74, 75, 76, -1, 3259 109, 110, 111, -1, -1, 83, 84, -1, 117, 118, 3260 119, 120, 121, 122, 10, 11, 12, 13, 14, 15, 3261 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3262 26, 27, -1, 111, 30, 31, 32, -1, -1, 117, 3263 118, 37, 38, 39, 40, 10, 11, 12, 13, 14, 3763 71, -1, -1, 74, 75, 10, 11, 12, 13, 14, 3264 3764 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3265 3765 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3266 66, 67, -1, -1, 39, -1, 72, -1, 74, 75, 3267 76, -1, -1, 79, 80, 81, 82, 83, 84, -1, 3268 86, 87, -1, -1, -1, -1, -1, -1, -1, -1, 3269 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74, 3270 75, -1, -1, 109, -1, 111, -1, -1, 83, 84, 3271 -1, 117, 118, 119, 120, 121, 122, 10, 11, 12, 3766 -1, -1, 37, 38, 39, 40, -1, -1, -1, -1, 3767 111, -1, -1, -1, -1, -1, -1, 118, 119, -1, 3768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3769 -1, 66, 67, -1, -1, -1, -1, 72, -1, 74, 3770 75, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3771 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3773 -1, -1, -1, -1, 109, -1, 111, -1, -1, 114, 3774 -1, -1, -1, 118, 119, 120, 121, 122, 123, 10, 3775 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3776 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3777 31, 32, -1, -1, -1, -1, 37, 38, 39, 40, 3778 -1, -1, -1, -1, -1, -1, -1, 10, 11, 12, 3272 3779 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3273 23, 24, 25, 26, 27, -1, 111, 30, 31, 32, 3274 -1, -1, 117, 118, 37, 38, 39, 40, 10, 11, 3275 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3276 22, 23, 24, 25, 26, 27, -1, -1, 30, 31, 3277 32, -1, -1, 66, 67, -1, -1, 39, 40, 72, 3278 -1, 74, 75, 76, -1, -1, 79, 80, 81, 82, 3780 23, 24, 25, 26, 27, 66, 67, 30, 31, 32, 3781 -1, 72, -1, 74, 75, 76, 39, -1, 79, 80, 3782 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, 3783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3784 -1, -1, -1, -1, 67, -1, -1, -1, 109, 110, 3785 111, 74, 75, -1, -1, -1, -1, 118, 119, 120, 3786 121, 122, 123, 10, 11, 12, 13, 14, 15, 16, 3787 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3788 27, -1, -1, 30, 31, 32, 109, -1, 111, -1, 3789 37, 38, 39, 40, -1, 118, 119, -1, -1, -1, 3790 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3791 19, 20, 21, 22, 23, 24, 25, 26, 27, 66, 3792 67, 30, 31, 32, -1, 72, -1, 74, 75, 76, 3793 39, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3794 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3795 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3796 -1, -1, 109, -1, 111, 74, 75, -1, -1, -1, 3797 -1, 118, 119, 120, 121, 122, 123, 10, 11, 12, 3798 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3799 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3800 -1, -1, 111, -1, 37, 38, 39, 40, -1, 118, 3801 119, -1, -1, -1, -1, 10, 11, 12, 13, 14, 3802 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3803 25, 26, 27, 66, 67, 30, 31, 32, -1, 72, 3804 -1, 74, 75, 76, 39, -1, 79, 80, 81, 82, 3279 3805 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3280 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, 3281 -1, -1, 74, 75, -1, -1, 109, -1, 111, -1, 3282 -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, 3283 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3284 20, 21, 22, 23, 24, 25, 26, 27, -1, 111, 3285 30, 31, 32, 115, -1, 117, 118, 37, 38, 39, 3286 40, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807 -1, -1, 67, -1, -1, -1, 109, -1, 111, 74, 3808 75, -1, -1, -1, -1, 118, 119, 120, 121, 122, 3809 123, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3287 3810 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3288 -1, 30, 31, 32, -1, -1, 66, 67, -1, -1, 3289 39, 40, 72, -1, 74, 75, 76, -1, -1, 79, 3290 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3291 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3292 -1, -1, -1, -1, -1, 74, 75, -1, -1, 109, 3293 -1, 111, -1, -1, -1, -1, -1, 117, 118, 119, 3294 120, 121, 122, 10, 11, 12, 13, 14, 15, 16, 3811 -1, 30, 31, 32, -1, -1, 111, -1, 37, 38, 3812 39, 40, -1, 118, 119, -1, -1, -1, -1, 10, 3813 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3814 21, 22, 23, 24, 25, 26, 27, 66, 67, 30, 3815 31, 32, -1, 72, -1, 74, 75, 76, 39, -1, 3816 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3818 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3819 109, -1, 111, 74, 75, -1, -1, -1, -1, 118, 3820 119, 120, 121, 122, 123, 10, 11, 12, 13, 14, 3821 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3822 25, 26, 27, -1, -1, 30, 31, 32, -1, -1, 3823 111, -1, 37, 38, 39, 40, -1, 118, 119, -1, 3824 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3295 3825 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3296 27, -1, 111, 30, 31, 32, 115, -1, 117, 118, 3297 37, 38, 39, 40, -1, 10, 11, 12, 13, 14, 3826 27, 66, 67, 30, 31, 32, -1, 72, -1, 74, 3827 75, 76, 39, -1, 79, 80, 81, 82, 83, 84, 3828 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3830 67, -1, -1, -1, 109, -1, 111, 74, 75, -1, 3831 -1, -1, -1, 118, 119, 120, 121, 122, 123, 3, 3832 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3833 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3834 24, 25, 26, 27, 111, -1, 30, 31, 32, -1, 3835 -1, 118, 119, -1, -1, 39, -1, -1, -1, 10, 3836 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3837 21, 22, 23, 24, 25, 26, 27, 28, -1, 30, 3838 31, 32, -1, 67, -1, 69, -1, 71, 39, -1, 3839 74, 75, -1, -1, -1, -1, -1, 10, 11, 12, 3840 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3841 23, 24, 25, 26, 27, 28, 67, 30, 31, 32, 3842 -1, 72, -1, 74, 75, 76, 39, 78, -1, -1, 3843 114, -1, 83, 84, -1, 10, 11, 12, 13, 14, 3298 3844 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3299 25, 26, 27, 28, -1, 30, 31, 32, -1, 66, 3300 67, -1, -1, -1, 39, 72, -1, 74, 75, 76, 3301 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3302 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3303 -1, -1, 67, -1, -1, -1, -1, 72, -1, 74, 3304 75, 76, 109, 78, 111, -1, -1, -1, 83, 84, 3305 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 3845 25, 26, 27, -1, 67, 30, 31, 32, 109, 72, 3846 111, 74, 75, 76, 39, 78, -1, 118, 119, -1, 3847 83, 84, -1, 10, 11, 12, 13, 14, 15, 16, 3848 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3849 27, -1, 67, 30, 31, 32, -1, 72, 111, 74, 3850 75, 76, 39, -1, -1, 118, 119, -1, 83, 84, 3851 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3852 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3853 67, 30, 31, 32, 109, 72, 111, 74, 75, 76, 3854 39, -1, -1, 118, 119, -1, 83, 84, -1, 10, 3855 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3856 21, 22, 23, 24, 25, 26, 27, -1, 67, 30, 3857 31, 32, 109, 72, 111, 74, 75, 76, 39, 40, 3858 -1, 118, 119, -1, 83, 84, -1, 10, 11, 12, 3859 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3860 23, 24, 25, 26, 27, 28, 67, 30, 31, 32, 3861 109, -1, 111, 74, 75, -1, 39, -1, -1, 118, 3862 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3306 3863 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3307 -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, 3308 -1, -1, 117, 118, 10, 11, 12, 13, 14, 15, 3309 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3310 26, 27, 28, -1, 30, 31, 32, -1, -1, -1, 3311 -1, -1, -1, 39, 10, 11, 12, 13, 14, 15, 3312 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3313 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3314 -1, 67, -1, 39, -1, -1, 72, -1, 74, 75, 3315 76, -1, 78, -1, -1, -1, -1, 83, 84, -1, 3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3317 -1, 67, -1, -1, -1, -1, 72, -1, 74, 75, 3318 76, -1, -1, -1, -1, 111, -1, 83, 84, -1, 3319 -1, 117, 118, -1, -1, -1, -1, -1, -1, -1, 3320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3321 -1, -1, -1, 109, -1, 111, -1, -1, -1, -1, 3322 -1, 117, 118, 10, 11, 12, 13, 14, 15, 16, 3323 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3324 27, -1, -1, 30, 31, 32, -1, -1, -1, -1, 3325 -1, -1, 39, 10, 11, 12, 13, 14, 15, 16, 3326 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3327 27, 28, -1, 30, 31, 32, -1, -1, -1, -1, 3328 67, -1, 39, -1, -1, 72, -1, 74, 75, 76, 3329 -1, -1, -1, -1, -1, -1, 83, 84, -1, -1, 3330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3331 67, -1, -1, -1, -1, -1, -1, 74, 75, -1, 3332 -1, 78, 109, -1, 111, -1, -1, -1, -1, -1, 3333 117, 118, -1, -1, -1, -1, -1, -1, -1, -1, 3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3335 -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, 3336 117, 118, 10, 11, 12, 13, 14, 15, 16, 17, 3337 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3338 28, -1, 30, 31, 32, -1, -1, -1, -1, -1, 3339 -1, 39, 10, 11, 12, 13, 14, 15, 16, 17, 3340 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3341 -1, -1, 30, 31, 32, -1, -1, -1, -1, 67, 3342 -1, 39, -1, -1, -1, -1, 74, 75, -1, -1, 3343 78, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3344 19, 20, 21, 22, 23, 24, 25, 26, 27, 67, 3345 -1, 30, 31, 32, -1, -1, 74, 75, -1, -1, 3346 39, -1, -1, 111, -1, -1, -1, -1, -1, 117, 3347 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 3349 -1, -1, -1, 111, -1, 74, 75, -1, -1, 117, 3350 118, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3351 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3352 -1, 30, 31, 32, -1, -1, -1, -1, -1, -1, 3353 39, -1, 111, -1, -1, -1, -1, -1, 117, 118, 3354 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3355 20, 21, 22, 23, 24, 25, 26, 27, 67, -1, 3356 30, 31, 32, -1, -1, 74, 75, -1, -1, 39, 3864 -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, 3865 111, 74, 75, -1, 115, 78, -1, 118, 119, -1, 3357 3866 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3358 3867 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3359 30, 31, 32, -1, -1, -1, -1, 67, -1, 39, 3360 -1, -1, 111, -1, 74, 75, -1, -1, 117, 118, 3868 30, 31, 32, -1, -1, -1, -1, -1, 111, 39, 3869 40, -1, -1, -1, -1, 118, 119, -1, 10, 11, 3870 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3871 22, 23, 24, 25, 26, 27, -1, 67, 30, 31, 3872 32, -1, -1, -1, 74, 75, -1, 39, 40, 10, 3873 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3874 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3875 31, 32, -1, -1, -1, 67, -1, -1, 39, -1, 3876 -1, 111, 74, 75, -1, 115, -1, -1, 118, 119, 3361 3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3362 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,3363 -1, -1, -1, -1, 74, 75, -1, -1, -1, -1,3364 -1, 111, -1, -1, -1, -1, -1, 117, 118, -1,3365 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17,3366 1 8, 19, 20, 21, 22, 23, 24, 25, 26, 27,3367 -1, 111, 30, 31, 32, -1, -1, 117, 118, -1,3368 -1, 39, 10, 11, 12, 13, 14, 15, 16, 17,3369 1 8, 19, 20, 21, 22, 23, 24, 25, 26, 27,3370 -1, -1, 30, 31, 32, -1, -1, -1, -1, 67,3371 -1, 39, -1, -1, -1, -1, 74, 75, -1, -1,3372 1 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,3373 2 0, 21, 22, 23, 24, 25, 26, 27, -1, 67,3374 3 0, 31, 32, -1, -1, -1, 74, 75, -1, 39,3375 -1, -1, -1, 111, -1, -1, -1, -1, -1, 117,3376 11 8, -1, -1, -1, -1, -1, -1, -1, -1, -1,3377 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,3378 -1, -1, -1, 111, 74, 75, -1, -1, -1, 117,3379 11 8, 4, 5, 6, 7, 8, 9, 10, 11, 12,3878 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3879 -1, -1, -1, 74, 75, -1, -1, -1, -1, 111, 3880 -1, -1, -1, 115, -1, -1, 118, 119, -1, -1, 3881 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3882 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3883 111, 30, 31, 32, -1, -1, -1, 118, 119, -1, 3884 39, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3885 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 3886 -1, 30, 31, 32, -1, -1, -1, -1, 67, -1, 3887 39, -1, -1, -1, -1, 74, 75, -1, -1, 10, 3888 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3889 21, 22, 23, 24, 25, 26, 27, -1, 67, 30, 3890 31, 32, 33, 34, 35, 74, 75, -1, 39, -1, 3891 -1, -1, 111, -1, -1, -1, -1, -1, -1, 118, 3892 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3893 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, 3894 -1, -1, 111, 74, 75, -1, -1, -1, -1, 118, 3895 119, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3380 3896 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3381 3897 23, 24, 25, 26, 27, -1, -1, 30, 31, 32, 3382 -1, -1, -1, -1, -1, -1, 39, 117, 118, -1, 3898 -1, -1, -1, -1, -1, -1, 39, -1, 37, 38, 3899 -1, 40, 41, -1, 43, -1, -1, 46, 47, 48, 3900 49, 50, 51, 52, 53, -1, -1, 56, 57, -1, 3901 -1, -1, 61, 62, 67, 64, 69, 66, 71, -1, 3902 -1, 74, 75, 72, -1, -1, -1, 76, -1, -1, 3903 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, 3383 3904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3385 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1, 3386 -1, 74, 75, 37, 38, -1, 40, 41, -1, 43, 3387 -1, -1, 46, 47, 48, 49, 50, 51, 52, 53, 3388 -1, -1, 56, 57, -1, -1, -1, 61, 62, -1, 3389 64, -1, 66, -1, -1, -1, -1, 110, 72, -1, 3390 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3391 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3393 -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, 3394 114, -1, -1, 117, 118, 119, 120, 121, 122, -1, 3395 -1, 37, 38, 127, 40, 41, -1, 43, 132, -1, 3905 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, 3906 109, -1, 111, -1, -1, 114, -1, -1, -1, 118, 3907 119, 120, 121, 122, 123, -1, -1, -1, -1, 128, 3908 -1, 37, 38, 132, 40, 41, -1, 43, -1, -1, 3396 3909 46, 47, 48, 49, 50, 51, 52, 53, -1, -1, 3397 3910 -1, 57, -1, -1, -1, 61, 62, -1, 64, -1, … … 3401 3914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3402 3915 -1, -1, -1, 109, -1, 111, -1, -1, 114, -1, 3403 -1, 117, 118, 119, 120, 121, 122, -1, -1, -1,3404 -1, 127, -1, -1, -1, -1, 132, 4, 5, 6,3916 -1, -1, 118, 119, 120, 121, 122, 123, -1, -1, 3917 -1, -1, 128, -1, -1, -1, 132, 4, 5, 6, 3405 3918 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3406 3919 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, … … 3414 3927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3415 3928 -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 3416 -1, 114, -1, -1, 117, 118, 119, 120, 121, 122, 3417 -1, -1, 37, 38, 127, 40, 41, -1, 43, 44, 3418 45, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3929 -1, 114, -1, -1, -1, 118, 119, 120, 121, 122, 3930 123, -1, -1, 37, 38, 128, 40, 41, -1, 43, 3931 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 3932 -1, -1, -1, 57, -1, -1, -1, 61, 62, -1, 3933 64, -1, 66, -1, -1, -1, -1, -1, 72, -1, 3934 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3935 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3937 -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, 3938 114, -1, -1, -1, 118, 119, 120, 121, 122, 123, 3939 -1, -1, 37, 38, 128, 40, 41, -1, 43, -1, 3940 -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, 3419 3941 -1, -1, 57, -1, -1, -1, 61, 62, -1, 64, 3420 3942 -1, 66, -1, -1, -1, -1, -1, 72, -1, -1, 3421 3943 -1, 76, -1, -1, 79, 80, 81, 82, 83, 84, 3422 3944 -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 3423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3945 37, 38, -1, 40, -1, -1, -1, -1, -1, -1, 3424 3946 -1, -1, -1, -1, 109, -1, 111, -1, -1, 114, 3425 -1, -1, 117, 118, 119, 120, 121, 122, -1, -1, 3426 37, 38, 127, 40, 41, -1, 43, -1, -1, 46, 3427 47, 48, 49, 50, 51, 52, 53, -1, -1, -1, 3428 57, -1, -1, -1, 61, 62, -1, 64, -1, 66, 3429 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 3947 -1, -1, -1, 118, 119, 120, 121, 122, 123, 66, 3948 -1, -1, -1, 128, -1, 72, -1, -1, -1, 76, 3430 3949 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3431 87, -1, -1, -1, -1, -1, -1, 37, 38, -1, 3432 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3433 -1, -1, 109, -1, 111, -1, -1, 114, -1, -1, 3434 117, 118, 119, 120, 121, 122, 66, -1, -1, -1, 3435 127, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3950 87, -1, -1, -1, -1, -1, -1, -1, 37, 38, 3951 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, 3952 -1, -1, 109, -1, 111, -1, -1, 37, 38, -1, 3953 40, 118, 119, 120, 121, 122, 123, 66, -1, -1, 3954 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, 3955 79, 80, 81, 82, 83, 84, 66, 86, 87, -1, 3956 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3436 3957 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, 3437 -1, -1, -1, -1, 37, 38, -1, 40, -1, -1, 3438 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 3439 -1, 111, -1, -1, 114, -1, -1, 117, 118, 119, 3440 120, 121, 122, 66, -1, -1, -1, -1, -1, 72, 3958 109, -1, -1, -1, -1, 37, 38, -1, 40, 118, 3959 119, 120, 121, 122, 123, -1, -1, -1, -1, 109, 3960 -1, -1, -1, -1, 37, 38, -1, 40, 118, 119, 3961 120, 121, 122, 123, 66, -1, -1, -1, -1, -1, 3962 72, -1, -1, -1, 76, -1, -1, 79, 80, 81, 3963 82, 83, 84, 66, 86, 87, -1, -1, -1, 72, 3441 3964 -1, -1, -1, 76, -1, -1, 79, 80, 81, 82, 3442 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 3443 -1, 37, 38, -1, 40, -1, -1, -1, -1, -1, 3444 -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 3445 37, 38, -1, 40, 117, 118, 119, 120, 121, 122, 3446 66, -1, -1, -1, -1, -1, 72, -1, -1, -1, 3447 76, -1, -1, 79, 80, 81, 82, 83, 84, 66, 3448 86, 87, -1, -1, -1, 72, -1, -1, -1, 76, 3449 -1, -1, 79, 80, 81, 82, 83, 84, -1, 86, 3450 87, -1, -1, 109, -1, 111, -1, 37, 38, -1, 3451 40, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3452 -1, -1, 109, -1, 111, -1, 37, 38, -1, 40, 3453 117, 118, 119, 120, 121, 122, 66, -1, -1, -1, 3454 -1, -1, 72, -1, -1, -1, 76, -1, -1, 79, 3455 80, 81, 82, 83, 84, 66, 86, 87, -1, -1, 3456 -1, 72, -1, -1, -1, 76, -1, -1, 79, 80, 3457 81, 82, 83, 84, -1, 86, 87, -1, -1, 109, 3458 -1, -1, -1, 37, 38, -1, 40, 117, 118, 119, 3459 120, 121, 122, -1, -1, -1, -1, -1, 109, -1, 3460 -1, -1, -1, -1, -1, -1, 117, 118, 119, 120, 3461 121, 122, 66, -1, -1, -1, -1, -1, 72, -1, 3462 -1, -1, 76, -1, -1, 79, 80, 81, 82, 83, 3463 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, 3464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1, 3466 -1, -1, -1, 117, 118, 119, 120, 121, 122, 4, 3467 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3468 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3469 25, 26, 27, -1, -1, -1, -1, -1, -1, -1, 3470 -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, 3471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3473 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74, 3474 75, 76, -1, -1, -1, -1, -1, -1, 83, 84, 3475 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3965 83, 84, -1, 86, 87, -1, -1, 109, -1, -1, 3966 -1, -1, -1, -1, -1, -1, 118, 119, 120, 121, 3967 122, 123, -1, -1, -1, -1, 109, -1, -1, -1, 3968 -1, -1, -1, -1, -1, 118, 119, 120, 121, 122, 3969 123, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3476 3970 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3477 23, 24, 25, 26, 27, -1, -1, 30, 31, 32,3971 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, 3478 3972 -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, 3479 3973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3480 3974 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1, 3482 -1, 74, 75, 3, 4, 5, 6, 7, 8, 9, 3483 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3484 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 3485 30, 31, 32, -1, -1, -1, -1, -1, -1, 39, 3975 -1, -1, -1, -1, 67, -1, 69, -1, 71, 72, 3976 -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, 3977 83, 84, 3, 4, 5, 6, 7, 8, 9, 10, 3978 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3979 21, 22, 23, 24, 25, 26, 27, -1, -1, 30, 3980 31, 32, -1, -1, -1, -1, -1, -1, 39, -1, 3486 3981 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3487 3982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3488 -1, -1, -1, -1, -1, -1, -1, 67, -1, 69,3489 -1, 71, -1, -1, 74, 75, 4, 5, 6, 7,3983 -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, 3984 71, -1, -1, 74, 75, 3, 4, 5, 6, 7, 3490 3985 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3491 3986 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, … … 3494 3989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3495 3990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3496 -1, 69, -1, 71, -1, -1, 74, 75 3991 -1, 69, -1, 71, -1, -1, 74, 75, 4, 5, 3992 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3993 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3994 26, 27, -1, -1, 30, 31, 32, -1, -1, -1, 3995 -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 3996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3998 -1, 67, -1, 69, -1, 71, -1, -1, 74, 75 3497 3999 }; 3498 4000 3499 3500 4001 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 4002 symbol of state STATE-NUM. */ 3501 4003 static const yytype_uint16 yystos[] = 3502 4004 { … … 3505 4007 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 3506 4008 36, 39, 40, 64, 67, 69, 71, 72, 74, 75, 3507 76, 83, 84, 109, 111, 11 7, 118, 137, 140, 149,4009 76, 83, 84, 109, 111, 118, 119, 137, 140, 149, 3508 4010 198, 212, 213, 214, 215, 216, 217, 218, 219, 220, 3509 4011 221, 222, 223, 224, 225, 226, 227, 228, 229, 231, 3510 232, 233, 234, 235, 236, 237, 239, 240, 241, 242, 3511 243, 244, 246, 254, 255, 282, 283, 284, 292, 295, 3512 301, 302, 304, 306, 307, 313, 318, 322, 323, 324, 3513 325, 326, 327, 328, 329, 349, 366, 367, 368, 369, 3514 72, 139, 140, 149, 215, 217, 225, 227, 236, 240, 3515 242, 283, 82, 109, 311, 312, 313, 311, 311, 72, 3516 74, 75, 76, 138, 139, 272, 273, 293, 294, 74, 3517 75, 273, 109, 304, 11, 199, 109, 149, 318, 323, 3518 324, 325, 327, 328, 329, 112, 134, 111, 218, 225, 3519 227, 322, 326, 365, 366, 369, 370, 135, 107, 131, 3520 276, 114, 135, 173, 74, 75, 137, 271, 135, 135, 3521 135, 116, 135, 74, 75, 109, 149, 308, 317, 318, 3522 319, 320, 321, 322, 326, 330, 331, 332, 333, 334, 3523 340, 3, 28, 78, 238, 3, 5, 74, 111, 149, 3524 217, 228, 232, 234, 243, 284, 322, 326, 369, 215, 3525 217, 227, 236, 240, 242, 283, 322, 326, 33, 233, 3526 233, 228, 234, 135, 233, 228, 233, 228, 75, 109, 3527 114, 273, 284, 114, 273, 233, 228, 116, 135, 135, 3528 0, 134, 109, 173, 311, 311, 134, 111, 225, 227, 3529 367, 271, 271, 131, 227, 109, 149, 308, 318, 322, 3530 111, 149, 369, 305, 230, 313, 109, 289, 109, 109, 3531 51, 109, 37, 38, 40, 66, 72, 76, 79, 80, 3532 81, 82, 86, 87, 109, 111, 119, 120, 121, 122, 3533 136, 140, 141, 142, 143, 148, 149, 150, 151, 152, 3534 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 3535 164, 167, 225, 275, 291, 365, 370, 227, 110, 110, 3536 110, 110, 110, 110, 110, 74, 75, 111, 225, 271, 3537 349, 367, 111, 117, 149, 164, 217, 218, 224, 227, 3538 231, 232, 236, 239, 240, 242, 261, 262, 266, 267, 3539 268, 269, 283, 349, 361, 362, 363, 364, 369, 370, 3540 112, 109, 322, 326, 369, 109, 116, 132, 111, 114, 3541 149, 164, 277, 277, 115, 134, 116, 132, 109, 116, 3542 132, 116, 132, 116, 132, 311, 132, 318, 319, 320, 3543 321, 331, 332, 333, 334, 227, 317, 330, 64, 310, 3544 111, 311, 348, 349, 311, 311, 173, 134, 109, 311, 3545 348, 311, 311, 227, 308, 109, 109, 226, 227, 225, 3546 227, 112, 134, 225, 365, 370, 173, 134, 271, 276, 3547 217, 232, 322, 326, 173, 134, 293, 227, 236, 132, 3548 227, 227, 291, 247, 245, 257, 273, 256, 227, 293, 3549 132, 132, 304, 134, 139, 270, 3, 135, 207, 208, 3550 222, 224, 227, 134, 310, 109, 310, 164, 318, 227, 3551 109, 134, 271, 114, 33, 34, 35, 225, 285, 286, 3552 288, 134, 128, 131, 290, 134, 228, 233, 234, 271, 3553 314, 315, 316, 109, 141, 109, 148, 109, 148, 151, 3554 109, 148, 109, 109, 148, 148, 111, 164, 169, 173, 3555 225, 274, 365, 369, 112, 134, 82, 85, 86, 87, 3556 109, 111, 113, 114, 97, 98, 99, 100, 101, 102, 3557 103, 104, 105, 106, 131, 166, 151, 151, 117, 123, 3558 124, 119, 120, 88, 89, 90, 91, 125, 126, 92, 3559 93, 118, 127, 128, 94, 95, 129, 131, 372, 109, 3560 149, 344, 345, 346, 347, 348, 110, 116, 109, 348, 3561 349, 109, 348, 349, 134, 109, 225, 367, 112, 134, 3562 135, 111, 225, 227, 360, 361, 369, 370, 135, 109, 3563 111, 149, 318, 335, 336, 337, 338, 339, 340, 341, 3564 342, 343, 349, 350, 351, 352, 353, 354, 355, 149, 3565 369, 227, 135, 135, 149, 225, 227, 362, 271, 225, 3566 349, 362, 271, 109, 134, 134, 134, 112, 134, 72, 3567 111, 113, 140, 273, 277, 278, 279, 280, 281, 134, 3568 134, 134, 134, 134, 134, 308, 110, 110, 110, 110, 3569 110, 110, 110, 317, 330, 109, 276, 112, 207, 134, 3570 308, 169, 275, 169, 275, 308, 111, 207, 310, 173, 3571 134, 207, 110, 40, 111, 115, 225, 248, 249, 250, 3572 365, 114, 116, 371, 131, 258, 114, 227, 263, 264, 3573 265, 268, 269, 110, 116, 173, 134, 117, 164, 134, 3574 224, 227, 262, 361, 369, 302, 303, 109, 149, 335, 3575 110, 116, 372, 273, 285, 109, 114, 273, 275, 285, 3576 110, 116, 109, 141, 110, 130, 274, 274, 274, 145, 3577 164, 275, 274, 112, 134, 110, 116, 110, 109, 149, 3578 348, 356, 357, 358, 359, 110, 116, 164, 111, 139, 3579 144, 145, 134, 111, 139, 144, 164, 151, 151, 151, 3580 152, 152, 153, 153, 154, 154, 154, 154, 155, 155, 3581 156, 157, 158, 159, 160, 130, 169, 164, 134, 345, 3582 346, 347, 227, 344, 311, 311, 164, 275, 134, 270, 3583 134, 225, 349, 362, 227, 231, 112, 112, 134, 369, 3584 112, 109, 134, 318, 336, 337, 338, 341, 351, 352, 3585 353, 112, 134, 227, 335, 339, 350, 109, 311, 354, 3586 372, 311, 311, 372, 109, 311, 354, 311, 311, 311, 3587 311, 349, 225, 360, 370, 271, 112, 116, 112, 116, 3588 372, 225, 362, 372, 259, 260, 261, 262, 259, 259, 3589 271, 164, 134, 111, 273, 130, 116, 371, 277, 111, 3590 130, 281, 29, 209, 210, 271, 259, 139, 308, 139, 3591 310, 109, 348, 349, 109, 348, 349, 141, 349, 173, 3592 263, 110, 110, 110, 110, 112, 173, 207, 173, 114, 3593 249, 250, 112, 134, 109, 130, 149, 251, 253, 317, 3594 318, 330, 356, 116, 132, 116, 132, 273, 247, 273, 3595 115, 162, 163, 257, 135, 135, 139, 222, 135, 135, 3596 259, 109, 149, 369, 135, 115, 227, 286, 287, 135, 3597 134, 134, 109, 135, 110, 315, 169, 170, 130, 132, 3598 111, 141, 200, 201, 202, 110, 116, 110, 110, 110, 3599 110, 111, 164, 357, 358, 359, 227, 356, 311, 311, 3600 114, 151, 167, 164, 165, 168, 116, 135, 134, 110, 3601 116, 164, 134, 115, 162, 130, 263, 110, 110, 110, 3602 344, 263, 110, 259, 225, 362, 111, 117, 149, 164, 3603 164, 227, 341, 263, 110, 110, 110, 110, 110, 110, 3604 110, 7, 227, 335, 339, 350, 134, 134, 372, 134, 3605 134, 110, 135, 135, 135, 135, 276, 135, 162, 163, 3606 164, 309, 134, 277, 279, 115, 134, 211, 273, 40, 3607 41, 43, 46, 47, 48, 49, 50, 51, 52, 53, 3608 57, 61, 62, 72, 111, 127, 170, 171, 172, 173, 3609 174, 175, 177, 178, 190, 192, 193, 198, 212, 307, 3610 29, 135, 131, 276, 134, 134, 110, 135, 173, 247, 3611 132, 132, 318, 163, 227, 252, 253, 252, 273, 311, 3612 115, 258, 371, 110, 116, 112, 112, 135, 227, 116, 3613 372, 289, 110, 285, 215, 217, 225, 297, 298, 299, 3614 300, 291, 110, 110, 130, 163, 109, 110, 130, 116, 3615 139, 112, 110, 110, 110, 356, 278, 116, 135, 168, 3616 112, 139, 146, 147, 145, 135, 146, 162, 167, 135, 3617 109, 348, 349, 135, 135, 134, 135, 135, 135, 164, 3618 110, 135, 109, 348, 349, 109, 354, 109, 354, 349, 3619 226, 7, 117, 135, 164, 263, 263, 262, 266, 266, 3620 267, 116, 116, 110, 110, 112, 96, 122, 135, 135, 3621 146, 277, 164, 116, 132, 212, 216, 227, 231, 109, 3622 109, 171, 109, 109, 72, 132, 72, 132, 72, 117, 3623 170, 109, 173, 165, 165, 130, 112, 143, 132, 135, 3624 134, 135, 211, 110, 164, 263, 263, 311, 110, 115, 3625 251, 115, 134, 110, 134, 135, 308, 115, 134, 135, 3626 135, 110, 114, 200, 112, 163, 132, 200, 202, 110, 3627 109, 348, 349, 371, 165, 112, 135, 85, 113, 116, 3628 135, 112, 135, 110, 134, 110, 110, 112, 112, 112, 3629 135, 110, 134, 134, 134, 164, 164, 135, 112, 135, 3630 135, 135, 135, 134, 134, 163, 163, 112, 112, 135, 3631 135, 273, 227, 169, 169, 47, 169, 134, 132, 132, 3632 132, 169, 132, 169, 58, 59, 60, 194, 195, 196, 3633 132, 63, 132, 311, 114, 175, 115, 132, 135, 135, 3634 96, 268, 269, 110, 298, 116, 132, 116, 132, 115, 3635 296, 130, 141, 110, 110, 130, 134, 115, 112, 111, 3636 147, 111, 147, 147, 112, 112, 263, 112, 263, 263, 3637 263, 135, 135, 112, 112, 110, 110, 112, 116, 96, 3638 262, 96, 135, 112, 112, 110, 110, 109, 110, 170, 3639 191, 212, 132, 110, 109, 109, 173, 196, 58, 59, 3640 164, 171, 144, 110, 110, 114, 134, 134, 297, 141, 3641 203, 109, 132, 203, 263, 134, 134, 135, 135, 135, 4012 232, 233, 234, 235, 236, 237, 238, 240, 241, 242, 4013 243, 244, 245, 247, 255, 256, 283, 284, 285, 293, 4014 296, 302, 303, 305, 307, 308, 314, 319, 323, 324, 4015 325, 326, 327, 328, 329, 330, 350, 367, 368, 369, 4016 370, 72, 139, 140, 149, 215, 217, 225, 227, 237, 4017 241, 243, 284, 82, 109, 312, 313, 314, 312, 312, 4018 72, 74, 75, 76, 138, 139, 273, 274, 294, 295, 4019 74, 75, 274, 109, 305, 11, 199, 109, 149, 319, 4020 324, 325, 326, 328, 329, 330, 112, 134, 111, 218, 4021 225, 227, 323, 327, 366, 367, 370, 371, 135, 107, 4022 131, 277, 114, 135, 173, 74, 75, 137, 272, 135, 4023 135, 135, 116, 135, 74, 75, 109, 149, 309, 318, 4024 319, 320, 321, 322, 323, 327, 331, 332, 333, 334, 4025 335, 341, 3, 28, 78, 239, 3, 5, 74, 111, 4026 149, 217, 228, 232, 235, 244, 285, 323, 327, 370, 4027 215, 217, 227, 237, 241, 243, 284, 323, 327, 33, 4028 233, 233, 228, 235, 135, 233, 228, 233, 228, 75, 4029 109, 114, 274, 285, 114, 274, 233, 228, 116, 135, 4030 135, 0, 134, 109, 173, 312, 312, 134, 111, 225, 4031 227, 368, 272, 272, 131, 227, 109, 149, 309, 319, 4032 323, 111, 149, 370, 306, 230, 314, 109, 290, 109, 4033 109, 51, 109, 37, 38, 40, 66, 72, 76, 79, 4034 80, 81, 82, 86, 87, 109, 111, 120, 121, 122, 4035 123, 136, 140, 141, 142, 143, 148, 149, 150, 151, 4036 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 4037 162, 164, 167, 225, 276, 292, 366, 371, 227, 110, 4038 110, 110, 110, 110, 110, 110, 74, 75, 111, 225, 4039 272, 350, 368, 111, 118, 149, 164, 217, 218, 224, 4040 227, 231, 232, 237, 240, 241, 243, 262, 263, 267, 4041 268, 269, 270, 284, 350, 362, 363, 364, 365, 370, 4042 371, 112, 109, 323, 327, 370, 109, 116, 132, 111, 4043 114, 149, 164, 278, 278, 115, 134, 116, 132, 109, 4044 116, 132, 116, 132, 116, 132, 312, 132, 319, 320, 4045 321, 322, 332, 333, 334, 335, 227, 318, 331, 64, 4046 311, 111, 312, 349, 350, 312, 312, 173, 134, 109, 4047 312, 349, 312, 312, 227, 309, 109, 109, 226, 227, 4048 225, 227, 112, 134, 225, 366, 371, 173, 134, 272, 4049 277, 217, 232, 323, 327, 173, 134, 294, 227, 237, 4050 132, 227, 227, 292, 248, 246, 258, 274, 257, 227, 4051 294, 132, 132, 305, 134, 139, 271, 3, 135, 207, 4052 208, 222, 224, 227, 134, 311, 109, 311, 164, 319, 4053 227, 109, 134, 272, 114, 33, 34, 35, 225, 286, 4054 287, 289, 134, 129, 131, 291, 134, 228, 234, 235, 4055 272, 315, 316, 317, 109, 141, 109, 148, 109, 148, 4056 151, 109, 148, 109, 109, 148, 148, 111, 164, 169, 4057 173, 225, 275, 366, 370, 112, 134, 82, 85, 86, 4058 87, 109, 111, 113, 114, 97, 98, 99, 100, 101, 4059 102, 103, 104, 105, 106, 131, 166, 151, 151, 118, 4060 124, 125, 120, 121, 88, 89, 90, 91, 126, 127, 4061 92, 93, 119, 128, 129, 94, 95, 130, 131, 373, 4062 109, 149, 345, 346, 347, 348, 349, 110, 116, 109, 4063 349, 350, 109, 349, 350, 134, 109, 225, 368, 112, 4064 134, 135, 111, 225, 227, 361, 362, 370, 371, 135, 4065 109, 111, 149, 319, 336, 337, 338, 339, 340, 341, 4066 342, 343, 344, 350, 351, 352, 353, 354, 355, 356, 4067 149, 370, 227, 135, 135, 149, 225, 227, 363, 272, 4068 225, 350, 363, 272, 109, 134, 134, 134, 112, 134, 4069 72, 80, 111, 113, 140, 274, 278, 279, 280, 281, 4070 282, 134, 134, 134, 134, 134, 134, 309, 110, 110, 4071 110, 110, 110, 110, 110, 318, 331, 109, 277, 112, 4072 207, 134, 309, 169, 276, 169, 276, 309, 111, 207, 4073 311, 173, 134, 207, 110, 40, 111, 115, 225, 249, 4074 250, 251, 366, 114, 116, 372, 131, 259, 114, 227, 4075 264, 265, 266, 269, 270, 110, 116, 173, 134, 118, 4076 164, 134, 224, 227, 263, 362, 370, 303, 304, 109, 4077 149, 336, 110, 116, 373, 274, 286, 109, 114, 274, 4078 276, 286, 110, 116, 109, 141, 110, 117, 275, 275, 4079 275, 111, 139, 145, 164, 276, 275, 112, 134, 110, 4080 116, 110, 109, 149, 349, 357, 358, 359, 360, 110, 4081 116, 164, 111, 139, 111, 144, 145, 134, 111, 139, 4082 144, 164, 151, 151, 151, 152, 152, 153, 153, 154, 4083 154, 154, 154, 155, 155, 156, 157, 158, 159, 160, 4084 117, 169, 164, 134, 346, 347, 348, 227, 345, 312, 4085 312, 164, 276, 134, 271, 134, 225, 350, 363, 227, 4086 231, 112, 112, 134, 370, 112, 109, 134, 319, 337, 4087 338, 339, 342, 352, 353, 354, 112, 134, 227, 336, 4088 340, 351, 109, 312, 355, 373, 312, 312, 373, 109, 4089 312, 355, 312, 312, 312, 312, 350, 225, 361, 371, 4090 272, 112, 116, 112, 116, 373, 225, 363, 373, 260, 4091 261, 262, 263, 260, 260, 272, 164, 134, 111, 274, 4092 117, 116, 372, 278, 80, 111, 117, 282, 29, 209, 4093 210, 272, 260, 139, 309, 139, 311, 109, 349, 350, 4094 109, 349, 350, 141, 350, 173, 264, 110, 110, 110, 4095 110, 112, 173, 207, 173, 114, 250, 251, 112, 134, 4096 109, 117, 149, 252, 254, 318, 319, 331, 357, 116, 4097 132, 116, 132, 274, 248, 274, 115, 162, 163, 258, 4098 135, 135, 139, 222, 135, 135, 260, 109, 149, 370, 4099 135, 115, 227, 287, 288, 135, 134, 134, 109, 135, 4100 110, 316, 169, 170, 117, 132, 111, 141, 200, 201, 4101 202, 110, 116, 110, 134, 117, 110, 110, 110, 111, 4102 164, 358, 359, 360, 227, 357, 312, 312, 114, 151, 4103 167, 164, 165, 168, 116, 135, 134, 134, 110, 116, 4104 164, 134, 115, 162, 117, 264, 110, 110, 110, 345, 4105 264, 110, 260, 225, 363, 111, 118, 149, 164, 164, 4106 227, 342, 264, 110, 110, 110, 110, 110, 110, 110, 4107 7, 227, 336, 340, 351, 134, 134, 373, 134, 134, 4108 110, 135, 135, 135, 135, 277, 135, 162, 163, 164, 4109 310, 134, 278, 280, 115, 134, 211, 274, 40, 41, 4110 43, 46, 47, 48, 49, 50, 51, 52, 53, 57, 4111 61, 62, 72, 111, 128, 170, 171, 172, 173, 174, 4112 175, 177, 178, 190, 192, 193, 198, 212, 308, 29, 4113 135, 131, 277, 134, 134, 110, 135, 173, 248, 132, 4114 132, 319, 163, 227, 253, 254, 253, 274, 312, 115, 4115 259, 372, 110, 116, 112, 112, 135, 227, 116, 373, 4116 290, 110, 286, 215, 217, 225, 298, 299, 300, 301, 4117 292, 110, 110, 117, 163, 109, 110, 117, 116, 139, 4118 164, 164, 112, 110, 110, 110, 357, 279, 116, 135, 4119 168, 112, 139, 146, 147, 164, 145, 135, 146, 162, 4120 167, 135, 109, 349, 350, 135, 135, 134, 135, 135, 4121 135, 164, 110, 135, 109, 349, 350, 109, 355, 109, 4122 355, 350, 226, 7, 118, 135, 164, 264, 264, 263, 4123 267, 267, 268, 116, 116, 110, 110, 112, 96, 123, 4124 135, 135, 146, 278, 164, 116, 132, 212, 216, 227, 4125 231, 109, 109, 171, 109, 109, 72, 132, 72, 132, 4126 72, 118, 170, 109, 173, 165, 165, 117, 112, 143, 4127 132, 135, 134, 135, 211, 110, 164, 264, 264, 312, 4128 110, 115, 252, 115, 134, 110, 134, 135, 309, 115, 4129 134, 135, 135, 110, 114, 200, 112, 163, 132, 200, 4130 202, 110, 116, 135, 109, 349, 350, 372, 165, 112, 4131 135, 85, 113, 116, 135, 135, 112, 135, 110, 134, 4132 110, 110, 112, 112, 112, 135, 110, 134, 134, 134, 4133 164, 164, 135, 112, 135, 135, 135, 135, 134, 134, 4134 163, 163, 112, 112, 135, 135, 274, 227, 169, 169, 4135 47, 169, 134, 132, 132, 132, 169, 132, 169, 58, 4136 59, 60, 194, 195, 196, 132, 63, 132, 312, 114, 4137 175, 115, 132, 135, 135, 96, 269, 270, 110, 299, 4138 116, 132, 116, 132, 115, 297, 117, 141, 110, 110, 4139 117, 168, 112, 134, 115, 112, 111, 147, 111, 147, 4140 147, 112, 112, 112, 264, 112, 264, 264, 264, 135, 4141 135, 112, 112, 110, 110, 112, 116, 96, 263, 96, 4142 135, 112, 112, 110, 110, 109, 110, 170, 191, 212, 4143 132, 110, 109, 109, 173, 196, 58, 59, 164, 171, 4144 144, 110, 110, 114, 134, 134, 298, 141, 203, 109, 4145 132, 203, 135, 117, 264, 134, 134, 135, 135, 135, 3642 4146 135, 112, 112, 134, 135, 112, 171, 44, 45, 114, 3643 4147 181, 182, 183, 169, 171, 135, 110, 170, 114, 183, 3644 96, 134, 96, 134, 109, 109, 132, 115, 134, 27 1,3645 30 8, 115, 116, 130, 163, 110, 135, 146, 146, 110,3646 1 10, 110, 110, 266, 42, 163, 179, 180, 309, 130,3647 134, 171, 181, 110, 132, 171, 132, 134, 110, 134,3648 110, 134, 96, 134, 96, 134, 132, 297, 141, 139,3649 204, 110, 132, 110, 135, 135, 171, 96, 116, 130,3650 135, 205, 206, 212, 132, 170, 170, 205, 173, 197,3651 2 25, 365, 173, 197, 110, 134, 110, 134, 115, 110,3652 1 16, 112, 112, 163, 179, 182, 184, 185, 134, 132,3653 18 2, 186, 187, 135, 109, 149, 308, 356, 139, 135,3654 173, 197, 173, 197, 109, 132, 139, 171, 176, 115,3655 1 82, 212, 170, 56, 176, 189, 115, 182, 110, 227,3656 11 0, 135, 135, 291, 171, 176, 132, 188, 189, 176,3657 1 89, 173, 173, 110, 110, 110, 188, 135, 135, 173,3658 1 73, 135, 1354148 96, 134, 96, 134, 109, 109, 132, 115, 134, 272, 4149 309, 115, 116, 117, 163, 110, 112, 164, 135, 146, 4150 146, 110, 110, 110, 110, 267, 42, 163, 179, 180, 4151 310, 117, 134, 171, 181, 110, 132, 171, 132, 134, 4152 110, 134, 110, 134, 96, 134, 96, 134, 132, 298, 4153 141, 139, 204, 110, 132, 117, 110, 135, 135, 171, 4154 96, 116, 117, 135, 205, 206, 212, 132, 170, 170, 4155 205, 173, 197, 225, 366, 173, 197, 110, 134, 110, 4156 134, 115, 110, 116, 164, 112, 112, 163, 179, 182, 4157 184, 185, 134, 132, 182, 186, 187, 135, 109, 149, 4158 309, 357, 139, 135, 173, 197, 173, 197, 109, 132, 4159 139, 171, 176, 115, 182, 212, 170, 56, 176, 189, 4160 115, 182, 110, 227, 110, 135, 135, 292, 171, 176, 4161 132, 188, 189, 176, 189, 173, 173, 110, 110, 110, 4162 188, 135, 135, 173, 173, 135, 135 3659 4163 }; 3660 4164 3661 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 3662 static const yytype_uint16 yyr1[] = 3663 { 3664 0, 133, 134, 135, 136, 136, 136, 137, 137, 137, 3665 138, 138, 139, 139, 140, 140, 141, 141, 142, 142, 3666 142, 142, 143, 143, 143, 143, 143, 143, 143, 143, 3667 143, 143, 143, 144, 144, 145, 145, 146, 146, 147, 3668 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, 3669 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 3670 149, 149, 150, 150, 150, 150, 151, 151, 151, 152, 3671 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 3672 155, 155, 155, 155, 156, 156, 156, 157, 157, 158, 3673 158, 159, 159, 160, 160, 161, 161, 162, 162, 162, 3674 162, 163, 164, 164, 164, 165, 165, 166, 166, 166, 3675 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, 3676 167, 167, 168, 168, 169, 169, 170, 170, 171, 171, 3677 171, 171, 171, 171, 171, 171, 171, 172, 173, 173, 3678 174, 174, 175, 175, 175, 175, 176, 176, 177, 178, 3679 178, 178, 178, 178, 178, 179, 179, 179, 180, 180, 3680 181, 181, 182, 182, 183, 184, 184, 185, 185, 186, 3681 186, 187, 187, 187, 187, 188, 188, 189, 189, 190, 3682 190, 190, 191, 191, 192, 192, 192, 192, 192, 192, 3683 192, 192, 192, 192, 193, 193, 193, 194, 194, 194, 3684 194, 194, 195, 195, 195, 195, 196, 197, 197, 197, 3685 197, 197, 198, 198, 198, 198, 198, 199, 199, 200, 3686 200, 201, 201, 202, 202, 203, 203, 203, 204, 204, 3687 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 3688 210, 210, 211, 211, 212, 212, 213, 213, 213, 213, 3689 213, 214, 214, 214, 215, 215, 215, 216, 216, 216, 3690 216, 216, 217, 217, 217, 218, 218, 219, 219, 219, 3691 220, 220, 220, 220, 220, 221, 221, 222, 222, 222, 3692 222, 223, 223, 224, 224, 224, 224, 225, 225, 225, 3693 225, 226, 226, 227, 227, 228, 228, 229, 229, 229, 3694 229, 229, 230, 229, 231, 231, 231, 232, 232, 233, 3695 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 3696 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 3697 235, 235, 235, 235, 235, 236, 236, 237, 237, 237, 3698 237, 238, 238, 238, 238, 239, 239, 239, 239, 240, 3699 240, 240, 241, 241, 241, 241, 242, 242, 242, 243, 3700 243, 244, 244, 245, 244, 244, 244, 246, 246, 247, 3701 247, 248, 248, 248, 248, 249, 249, 249, 249, 250, 3702 250, 251, 251, 251, 251, 251, 252, 252, 253, 254, 3703 255, 255, 256, 255, 257, 257, 258, 258, 259, 259, 3704 260, 260, 260, 260, 260, 261, 261, 261, 261, 262, 3705 262, 263, 263, 264, 264, 265, 265, 265, 265, 266, 3706 266, 266, 266, 266, 267, 267, 267, 267, 267, 268, 3707 268, 269, 269, 270, 270, 271, 271, 271, 272, 272, 3708 272, 273, 273, 273, 274, 274, 274, 275, 275, 275, 3709 275, 276, 276, 276, 277, 277, 278, 278, 278, 278, 3710 278, 279, 279, 280, 280, 281, 281, 281, 281, 281, 3711 282, 282, 282, 282, 283, 283, 283, 284, 285, 285, 3712 287, 286, 286, 288, 288, 288, 289, 289, 290, 290, 3713 290, 291, 291, 291, 291, 292, 292, 292, 293, 293, 3714 294, 294, 295, 296, 295, 297, 297, 298, 298, 299, 3715 299, 299, 300, 300, 301, 301, 302, 302, 303, 303, 3716 304, 304, 304, 305, 304, 304, 306, 306, 306, 307, 3717 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 3718 308, 309, 310, 310, 311, 311, 312, 312, 313, 314, 3719 314, 315, 315, 315, 316, 316, 316, 316, 317, 317, 3720 317, 317, 318, 318, 319, 319, 319, 320, 320, 320, 3721 320, 321, 321, 322, 322, 322, 323, 323, 323, 324, 3722 324, 324, 325, 325, 325, 326, 326, 326, 327, 327, 3723 327, 328, 328, 328, 329, 329, 329, 330, 330, 330, 3724 330, 331, 331, 332, 332, 332, 333, 333, 333, 333, 3725 334, 334, 334, 335, 335, 335, 335, 336, 336, 336, 3726 337, 337, 337, 337, 338, 338, 338, 339, 339, 339, 3727 339, 340, 340, 341, 341, 341, 342, 342, 343, 343, 3728 344, 344, 344, 345, 345, 345, 345, 345, 346, 346, 3729 346, 346, 347, 347, 347, 348, 348, 348, 349, 349, 3730 349, 349, 350, 350, 350, 351, 351, 351, 351, 351, 3731 352, 352, 352, 352, 353, 353, 353, 354, 354, 354, 3732 355, 355, 355, 355, 355, 355, 356, 356, 356, 357, 3733 357, 357, 357, 357, 358, 358, 358, 358, 359, 359, 3734 360, 360, 360, 361, 361, 362, 362, 362, 362, 362, 3735 362, 363, 363, 363, 363, 363, 363, 363, 363, 363, 3736 363, 364, 364, 364, 364, 365, 365, 365, 366, 366, 3737 367, 367, 367, 367, 367, 367, 368, 368, 368, 368, 3738 368, 368, 369, 370, 370, 370, 371, 371, 372, 372 3739 }; 3740 3741 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 3742 static const yytype_uint8 yyr2[] = 3743 { 3744 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 3745 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3746 3, 3, 1, 6, 4, 3, 7, 3, 7, 2, 3747 2, 7, 4, 1, 3, 0, 1, 1, 3, 1, 3748 3, 7, 3, 7, 1, 1, 1, 2, 2, 2, 3749 2, 2, 2, 4, 2, 4, 6, 1, 4, 4, 3750 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 3751 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3752 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3753 3, 1, 3, 1, 3, 1, 3, 1, 5, 4, 3754 5, 1, 1, 3, 2, 0, 1, 1, 1, 1, 3755 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 3756 6, 7, 1, 3, 1, 3, 0, 1, 1, 1, 3757 1, 1, 1, 1, 1, 1, 6, 4, 2, 7, 3758 1, 3, 1, 2, 1, 2, 1, 2, 2, 5, 3759 7, 5, 9, 5, 9, 1, 3, 1, 1, 3, 3760 3, 2, 1, 2, 2, 0, 1, 2, 3, 0, 3761 1, 2, 3, 3, 4, 0, 1, 1, 2, 5, 3762 7, 6, 6, 4, 3, 4, 2, 3, 2, 3, 3763 3, 3, 3, 5, 3, 3, 4, 1, 5, 6, 3764 5, 6, 9, 10, 9, 10, 2, 1, 2, 2, 3765 2, 1, 6, 8, 10, 12, 14, 0, 1, 0, 3766 1, 1, 3, 4, 7, 0, 1, 3, 1, 3, 3767 1, 1, 1, 3, 1, 1, 1, 3, 0, 1, 3768 3, 4, 1, 3, 1, 1, 3, 3, 3, 3, 3769 3, 2, 3, 6, 3, 3, 4, 1, 2, 2, 3770 3, 5, 8, 7, 7, 5, 9, 2, 2, 5, 3771 3, 5, 4, 3, 4, 4, 7, 3, 3, 3, 3772 3, 4, 6, 1, 1, 1, 1, 1, 1, 1, 3773 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 3774 1, 1, 0, 5, 1, 2, 3, 1, 2, 1, 3775 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3776 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3777 1, 2, 2, 3, 3, 1, 3, 1, 2, 2, 3778 2, 4, 4, 4, 4, 1, 2, 2, 3, 1, 3779 2, 2, 1, 2, 2, 3, 1, 2, 2, 1, 3780 1, 4, 2, 0, 6, 7, 2, 2, 2, 0, 3781 2, 2, 3, 2, 3, 1, 2, 3, 2, 2, 3782 4, 0, 1, 2, 2, 1, 0, 1, 2, 2, 3783 5, 2, 0, 7, 2, 4, 0, 2, 0, 1, 3784 1, 1, 5, 5, 5, 1, 5, 5, 9, 1, 3785 5, 0, 1, 1, 5, 1, 1, 5, 5, 1, 3786 3, 3, 4, 1, 1, 1, 1, 2, 1, 3, 3787 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 3788 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3789 2, 0, 2, 2, 1, 4, 0, 1, 2, 3, 3790 4, 2, 2, 1, 2, 2, 5, 5, 7, 6, 3791 1, 2, 2, 3, 1, 2, 2, 4, 2, 4, 3792 0, 4, 2, 1, 1, 1, 0, 2, 5, 5, 3793 13, 1, 1, 3, 3, 2, 3, 3, 2, 4, 3794 1, 6, 9, 0, 11, 1, 3, 3, 3, 1, 3795 1, 5, 2, 5, 0, 1, 1, 3, 0, 1, 3796 1, 1, 1, 0, 6, 2, 1, 2, 4, 2, 3797 3, 3, 3, 4, 5, 5, 5, 6, 1, 1, 3798 1, 3, 0, 5, 0, 1, 1, 2, 6, 1, 3799 3, 0, 1, 4, 1, 1, 1, 1, 2, 1, 3800 2, 2, 1, 3, 2, 3, 3, 2, 4, 4, 3801 3, 8, 3, 2, 1, 2, 6, 8, 3, 2, 3802 3, 3, 4, 4, 3, 1, 1, 1, 4, 6, 3803 3, 2, 3, 3, 4, 4, 3, 2, 1, 2, 3804 2, 1, 3, 2, 3, 3, 2, 4, 4, 3, 3805 6, 8, 3, 2, 1, 2, 2, 2, 3, 3, 3806 2, 4, 4, 3, 6, 8, 3, 2, 1, 2, 3807 2, 1, 1, 2, 3, 3, 2, 4, 6, 8, 3808 1, 2, 2, 1, 2, 2, 3, 3, 1, 4, 3809 4, 3, 5, 8, 3, 2, 3, 1, 5, 5, 3810 6, 6, 1, 2, 2, 1, 2, 2, 3, 3, 3811 1, 4, 4, 3, 5, 8, 3, 1, 2, 1, 3812 2, 6, 5, 6, 7, 7, 1, 2, 2, 1, 3813 2, 2, 3, 3, 1, 4, 4, 3, 8, 3, 3814 1, 1, 2, 1, 1, 2, 3, 2, 3, 2, 3815 3, 3, 2, 4, 3, 2, 3, 2, 4, 3, 3816 2, 6, 6, 6, 7, 1, 2, 1, 1, 1, 3817 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 3818 4, 2, 5, 5, 6, 6, 0, 1, 0, 2 3819 }; 3820 3821 3822 #define yyerrok (yyerrstatus = 0) 3823 #define yyclearin (yychar = YYEMPTY) 3824 #define YYEMPTY (-2) 3825 #define YYEOF 0 3826 3827 #define YYACCEPT goto yyacceptlab 3828 #define YYABORT goto yyabortlab 3829 #define YYERROR goto yyerrorlab 3830 4165 #define yyerrok (yyerrstatus = 0) 4166 #define yyclearin (yychar = YYEMPTY) 4167 #define YYEMPTY (-2) 4168 #define YYEOF 0 4169 4170 #define YYACCEPT goto yyacceptlab 4171 #define YYABORT goto yyabortlab 4172 #define YYERROR goto yyerrorlab 4173 4174 4175 /* Like YYERROR except do call yyerror. This remains here temporarily 4176 to ease the transition to the new meaning of YYERROR, for GCC. 4177 Once GCC version 2 has supplanted version 1, this can go. However, 4178 YYFAIL appears to be in use. Nevertheless, it is formally deprecated 4179 in Bison 2.4.2's NEWS entry, where a plan to phase it out is 4180 discussed. */ 4181 4182 #define YYFAIL goto yyerrlab 4183 #if defined YYFAIL 4184 /* This is here to suppress warnings from the GCC cpp's 4185 -Wunused-macros. Normally we don't worry about that warning, but 4186 some users do, and we want to make it easy for users to remove 4187 YYFAIL uses, which will produce warnings from Bison 2.5. */ 4188 #endif 3831 4189 3832 4190 #define YYRECOVERING() (!!yyerrstatus) 3833 4191 3834 #define YYBACKUP(Token, Value) \ 3835 do \ 3836 if (yychar == YYEMPTY) \ 3837 { \ 3838 yychar = (Token); \ 3839 yylval = (Value); \ 3840 YYPOPSTACK (yylen); \ 3841 yystate = *yyssp; \ 3842 goto yybackup; \ 3843 } \ 3844 else \ 3845 { \ 4192 #define YYBACKUP(Token, Value) \ 4193 do \ 4194 if (yychar == YYEMPTY && yylen == 1) \ 4195 { \ 4196 yychar = (Token); \ 4197 yylval = (Value); \ 4198 YYPOPSTACK (1); \ 4199 goto yybackup; \ 4200 } \ 4201 else \ 4202 { \ 3846 4203 yyerror (YY_("syntax error: cannot back up")); \ 3847 YYERROR; \ 3848 } \ 3849 while (0) 3850 3851 /* Error token number */ 3852 #define YYTERROR 1 3853 #define YYERRCODE 256 3854 3855 4204 YYERROR; \ 4205 } \ 4206 while (YYID (0)) 4207 4208 4209 #define YYTERROR 1 4210 #define YYERRCODE 256 4211 4212 4213 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 4214 If N is 0, then set CURRENT to the empty location which ends 4215 the previous symbol: RHS[0] (always defined). */ 4216 4217 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 4218 #ifndef YYLLOC_DEFAULT 4219 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 4220 do \ 4221 if (YYID (N)) \ 4222 { \ 4223 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 4224 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 4225 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 4226 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 4227 } \ 4228 else \ 4229 { \ 4230 (Current).first_line = (Current).last_line = \ 4231 YYRHSLOC (Rhs, 0).last_line; \ 4232 (Current).first_column = (Current).last_column = \ 4233 YYRHSLOC (Rhs, 0).last_column; \ 4234 } \ 4235 while (YYID (0)) 4236 #endif 4237 4238 4239 /* This macro is provided for backward compatibility. */ 4240 4241 #ifndef YY_LOCATION_PRINT 4242 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 4243 #endif 4244 4245 4246 /* YYLEX -- calling `yylex' with the right arguments. */ 4247 4248 #ifdef YYLEX_PARAM 4249 # define YYLEX yylex (YYLEX_PARAM) 4250 #else 4251 # define YYLEX yylex () 4252 #endif 3856 4253 3857 4254 /* Enable debugging if requested. */ … … 3863 4260 # endif 3864 4261 3865 # define YYDPRINTF(Args) \ 3866 do { \ 3867 if (yydebug) \ 3868 YYFPRINTF Args; \ 3869 } while (0) 3870 3871 /* This macro is provided for backward compatibility. */ 3872 #ifndef YY_LOCATION_PRINT 3873 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 3874 #endif 3875 3876 3877 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 3878 do { \ 3879 if (yydebug) \ 3880 { \ 3881 YYFPRINTF (stderr, "%s ", Title); \ 3882 yy_symbol_print (stderr, \ 3883 Type, Value); \ 3884 YYFPRINTF (stderr, "\n"); \ 3885 } \ 3886 } while (0) 3887 3888 3889 /*----------------------------------------. 3890 | Print this symbol's value on YYOUTPUT. | 3891 `----------------------------------------*/ 3892 4262 # define YYDPRINTF(Args) \ 4263 do { \ 4264 if (yydebug) \ 4265 YYFPRINTF Args; \ 4266 } while (YYID (0)) 4267 4268 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 4269 do { \ 4270 if (yydebug) \ 4271 { \ 4272 YYFPRINTF (stderr, "%s ", Title); \ 4273 yy_symbol_print (stderr, \ 4274 Type, Value); \ 4275 YYFPRINTF (stderr, "\n"); \ 4276 } \ 4277 } while (YYID (0)) 4278 4279 4280 /*--------------------------------. 4281 | Print this symbol on YYOUTPUT. | 4282 `--------------------------------*/ 4283 4284 /*ARGSUSED*/ 4285 #if (defined __STDC__ || defined __C99__FUNC__ \ 4286 || defined __cplusplus || defined _MSC_VER) 3893 4287 static void 3894 4288 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4289 #else 4290 static void 4291 yy_symbol_value_print (yyoutput, yytype, yyvaluep) 4292 FILE *yyoutput; 4293 int yytype; 4294 YYSTYPE const * const yyvaluep; 4295 #endif 3895 4296 { 3896 FILE *yyo = yyoutput;3897 YYUSE (yyo);3898 4297 if (!yyvaluep) 3899 4298 return; … … 3901 4300 if (yytype < YYNTOKENS) 3902 4301 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 4302 # else 4303 YYUSE (yyoutput); 3903 4304 # endif 3904 YYUSE (yytype); 4305 switch (yytype) 4306 { 4307 default: 4308 break; 4309 } 3905 4310 } 3906 4311 … … 3910 4315 `--------------------------------*/ 3911 4316 4317 #if (defined __STDC__ || defined __C99__FUNC__ \ 4318 || defined __cplusplus || defined _MSC_VER) 3912 4319 static void 3913 4320 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 4321 #else 4322 static void 4323 yy_symbol_print (yyoutput, yytype, yyvaluep) 4324 FILE *yyoutput; 4325 int yytype; 4326 YYSTYPE const * const yyvaluep; 4327 #endif 3914 4328 { 3915 YYFPRINTF (yyoutput, "%s %s (", 3916 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 4329 if (yytype < YYNTOKENS) 4330 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 4331 else 4332 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 3917 4333 3918 4334 yy_symbol_value_print (yyoutput, yytype, yyvaluep); … … 3925 4341 `------------------------------------------------------------------*/ 3926 4342 4343 #if (defined __STDC__ || defined __C99__FUNC__ \ 4344 || defined __cplusplus || defined _MSC_VER) 3927 4345 static void 3928 4346 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 4347 #else 4348 static void 4349 yy_stack_print (yybottom, yytop) 4350 yytype_int16 *yybottom; 4351 yytype_int16 *yytop; 4352 #endif 3929 4353 { 3930 4354 YYFPRINTF (stderr, "Stack now"); … … 3937 4361 } 3938 4362 3939 # define YY_STACK_PRINT(Bottom, Top) 3940 do { 3941 if (yydebug) 3942 yy_stack_print ((Bottom), (Top)); 3943 } while ( 0)4363 # define YY_STACK_PRINT(Bottom, Top) \ 4364 do { \ 4365 if (yydebug) \ 4366 yy_stack_print ((Bottom), (Top)); \ 4367 } while (YYID (0)) 3944 4368 3945 4369 … … 3948 4372 `------------------------------------------------*/ 3949 4373 4374 #if (defined __STDC__ || defined __C99__FUNC__ \ 4375 || defined __cplusplus || defined _MSC_VER) 3950 4376 static void 3951 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 4377 yy_reduce_print (YYSTYPE *yyvsp, int yyrule) 4378 #else 4379 static void 4380 yy_reduce_print (yyvsp, yyrule) 4381 YYSTYPE *yyvsp; 4382 int yyrule; 4383 #endif 3952 4384 { 3953 unsigned long int yylno = yyrline[yyrule];3954 4385 int yynrhs = yyr2[yyrule]; 3955 4386 int yyi; 4387 unsigned long int yylno = yyrline[yyrule]; 3956 4388 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 3957 4389 yyrule - 1, yylno); 3958 4390 /* The symbols being reduced. */ 3959 4391 for (yyi = 0; yyi < yynrhs; yyi++) 3960 4392 { 3961 4393 YYFPRINTF (stderr, " $%d = ", yyi + 1); 3962 yy_symbol_print (stderr, 3963 yystos[yyssp[yyi + 1 - yynrhs]], 3964 &(yyvsp[(yyi + 1) - (yynrhs)]) 3965 ); 4394 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 4395 &(yyvsp[(yyi + 1) - (yynrhs)]) 4396 ); 3966 4397 YYFPRINTF (stderr, "\n"); 3967 4398 } 3968 4399 } 3969 4400 3970 # define YY_REDUCE_PRINT(Rule) 3971 do { 3972 if (yydebug) 3973 yy_reduce_print (yy ssp, yyvsp, Rule); \3974 } while ( 0)4401 # define YY_REDUCE_PRINT(Rule) \ 4402 do { \ 4403 if (yydebug) \ 4404 yy_reduce_print (yyvsp, Rule); \ 4405 } while (YYID (0)) 3975 4406 3976 4407 /* Nonzero means print parse trace. It is left uninitialized so that … … 3986 4417 3987 4418 /* YYINITDEPTH -- initial size of the parser's stacks. */ 3988 #ifndef 4419 #ifndef YYINITDEPTH 3989 4420 # define YYINITDEPTH 200 3990 4421 #endif … … 4009 4440 # else 4010 4441 /* Return the length of YYSTR. */ 4442 #if (defined __STDC__ || defined __C99__FUNC__ \ 4443 || defined __cplusplus || defined _MSC_VER) 4011 4444 static YYSIZE_T 4012 4445 yystrlen (const char *yystr) 4446 #else 4447 static YYSIZE_T 4448 yystrlen (yystr) 4449 const char *yystr; 4450 #endif 4013 4451 { 4014 4452 YYSIZE_T yylen; … … 4026 4464 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 4027 4465 YYDEST. */ 4466 #if (defined __STDC__ || defined __C99__FUNC__ \ 4467 || defined __cplusplus || defined _MSC_VER) 4028 4468 static char * 4029 4469 yystpcpy (char *yydest, const char *yysrc) 4470 #else 4471 static char * 4472 yystpcpy (yydest, yysrc) 4473 char *yydest; 4474 const char *yysrc; 4475 #endif 4030 4476 { 4031 4477 char *yyd = yydest; … … 4057 4503 4058 4504 for (;;) 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4505 switch (*++yyp) 4506 { 4507 case '\'': 4508 case ',': 4509 goto do_not_strip_quotes; 4510 4511 case '\\': 4512 if (*++yyp != '\\') 4513 goto do_not_strip_quotes; 4514 /* Fall through. */ 4515 default: 4516 if (yyres) 4517 yyres[yyn] = *yyp; 4518 yyn++; 4519 break; 4520 4521 case '"': 4522 if (yyres) 4523 yyres[yyn] = '\0'; 4524 return yyn; 4525 } 4080 4526 do_not_strip_quotes: ; 4081 4527 } … … 4100 4546 yytype_int16 *yyssp, int yytoken) 4101 4547 { 4102 YYSIZE_T yysize0 = yytnamerr ( YY_NULLPTR, yytname[yytoken]);4548 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); 4103 4549 YYSIZE_T yysize = yysize0; 4550 YYSIZE_T yysize1; 4104 4551 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 4105 4552 /* Internationalized format string. */ 4106 const char *yyformat = YY_NULLPTR;4553 const char *yyformat = 0; 4107 4554 /* Arguments of yyformat. */ 4108 4555 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; … … 4112 4559 4113 4560 /* There are many possibilities here to consider: 4561 - Assume YYFAIL is not used. It's too flawed to consider. See 4562 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 4563 for details. YYERROR is fine as it does not invoke this 4564 function. 4114 4565 - If this state is a consistent state with a default action, then 4115 4566 the only way this function was invoked is if the default action … … 4160 4611 } 4161 4612 yyarg[yycount++] = yytname[yyx]; 4162 { 4163 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 4164 if (! (yysize <= yysize1 4165 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4166 return 2; 4167 yysize = yysize1; 4168 } 4613 yysize1 = yysize + yytnamerr (0, yytname[yyx]); 4614 if (! (yysize <= yysize1 4615 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4616 return 2; 4617 yysize = yysize1; 4169 4618 } 4170 4619 } … … 4186 4635 } 4187 4636 4188 { 4189 YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 4190 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4191 return 2; 4192 yysize = yysize1; 4193 } 4637 yysize1 = yysize + yystrlen (yyformat); 4638 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 4639 return 2; 4640 yysize = yysize1; 4194 4641 4195 4642 if (*yymsg_alloc < yysize) … … 4228 4675 `-----------------------------------------------*/ 4229 4676 4677 /*ARGSUSED*/ 4678 #if (defined __STDC__ || defined __C99__FUNC__ \ 4679 || defined __cplusplus || defined _MSC_VER) 4230 4680 static void 4231 4681 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 4682 #else 4683 static void 4684 yydestruct (yymsg, yytype, yyvaluep) 4685 const char *yymsg; 4686 int yytype; 4687 YYSTYPE *yyvaluep; 4688 #endif 4232 4689 { 4233 4690 YYUSE (yyvaluep); 4691 4234 4692 if (!yymsg) 4235 4693 yymsg = "Deleting"; 4236 4694 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 4237 4695 4238 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4239 YYUSE (yytype); 4240 YY_IGNORE_MAYBE_UNINITIALIZED_END 4696 switch (yytype) 4697 { 4698 4699 default: 4700 break; 4701 } 4241 4702 } 4242 4703 4243 4704 4705 /* Prevent warnings from -Wmissing-prototypes. */ 4706 #ifdef YYPARSE_PARAM 4707 #if defined __STDC__ || defined __cplusplus 4708 int yyparse (void *YYPARSE_PARAM); 4709 #else 4710 int yyparse (); 4711 #endif 4712 #else /* ! YYPARSE_PARAM */ 4713 #if defined __STDC__ || defined __cplusplus 4714 int yyparse (void); 4715 #else 4716 int yyparse (); 4717 #endif 4718 #endif /* ! YYPARSE_PARAM */ 4244 4719 4245 4720 … … 4249 4724 /* The semantic value of the lookahead symbol. */ 4250 4725 YYSTYPE yylval; 4726 4251 4727 /* Number of syntax errors so far. */ 4252 4728 int yynerrs; … … 4257 4733 `----------*/ 4258 4734 4735 #ifdef YYPARSE_PARAM 4736 #if (defined __STDC__ || defined __C99__FUNC__ \ 4737 || defined __cplusplus || defined _MSC_VER) 4738 int 4739 yyparse (void *YYPARSE_PARAM) 4740 #else 4741 int 4742 yyparse (YYPARSE_PARAM) 4743 void *YYPARSE_PARAM; 4744 #endif 4745 #else /* ! YYPARSE_PARAM */ 4746 #if (defined __STDC__ || defined __C99__FUNC__ \ 4747 || defined __cplusplus || defined _MSC_VER) 4259 4748 int 4260 4749 yyparse (void) 4750 #else 4751 int 4752 yyparse () 4753 4754 #endif 4755 #endif 4261 4756 { 4262 4757 int yystate; … … 4265 4760 4266 4761 /* The stacks and their tools: 4267 'yyss': related to states.4268 'yyvs': related to semantic values.4269 4270 Refer to the stacks thr oughseparate pointers, to allow yyoverflow4762 `yyss': related to states. 4763 `yyvs': related to semantic values. 4764 4765 Refer to the stacks thru separate pointers, to allow yyoverflow 4271 4766 to reallocate them elsewhere. */ 4272 4767 … … 4286 4781 int yyresult; 4287 4782 /* Lookahead token as an internal (translated) token number. */ 4288 int yytoken = 0;4783 int yytoken; 4289 4784 /* The variables used to return semantic value and location from the 4290 4785 action routines. */ … … 4304 4799 int yylen = 0; 4305 4800 4306 yyssp = yyss = yyssa; 4307 yyvsp = yyvs = yyvsa; 4801 yytoken = 0; 4802 yyss = yyssa; 4803 yyvs = yyvsa; 4308 4804 yystacksize = YYINITDEPTH; 4309 4805 … … 4314 4810 yynerrs = 0; 4315 4811 yychar = YYEMPTY; /* Cause a token to be read. */ 4812 4813 /* Initialize stack pointers. 4814 Waste one element of value and location stack 4815 so that they stay on the same level as the state stack. 4816 The wasted elements are never initialized. */ 4817 yyssp = yyss; 4818 yyvsp = yyvs; 4819 4316 4820 goto yysetstate; 4317 4821 … … 4334 4838 #ifdef yyoverflow 4335 4839 { 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4840 /* Give user a chance to reallocate the stack. Use copies of 4841 these so that the &'s don't force the real ones into 4842 memory. */ 4843 YYSTYPE *yyvs1 = yyvs; 4844 yytype_int16 *yyss1 = yyss; 4845 4846 /* Each stack pointer address is followed by the size of the 4847 data in use in that stack, in bytes. This used to be a 4848 conditional around just the two extra args, but that might 4849 be undefined if yyoverflow is a macro. */ 4850 yyoverflow (YY_("memory exhausted"), 4851 &yyss1, yysize * sizeof (*yyssp), 4852 &yyvs1, yysize * sizeof (*yyvsp), 4853 &yystacksize); 4854 4855 yyss = yyss1; 4856 yyvs = yyvs1; 4353 4857 } 4354 4858 #else /* no yyoverflow */ … … 4358 4862 /* Extend the stack our own way. */ 4359 4863 if (YYMAXDEPTH <= yystacksize) 4360 4864 goto yyexhaustedlab; 4361 4865 yystacksize *= 2; 4362 4866 if (YYMAXDEPTH < yystacksize) 4363 4867 yystacksize = YYMAXDEPTH; 4364 4868 4365 4869 { 4366 4367 4368 4369 4370 4371 4372 4870 yytype_int16 *yyss1 = yyss; 4871 union yyalloc *yyptr = 4872 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 4873 if (! yyptr) 4874 goto yyexhaustedlab; 4875 YYSTACK_RELOCATE (yyss_alloc, yyss); 4876 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 4373 4877 # undef YYSTACK_RELOCATE 4374 4375 4878 if (yyss1 != yyssa) 4879 YYSTACK_FREE (yyss1); 4376 4880 } 4377 4881 # endif … … 4382 4886 4383 4887 YYDPRINTF ((stderr, "Stack size increased to %lu\n", 4384 4888 (unsigned long int) yystacksize)); 4385 4889 4386 4890 if (yyss + yystacksize - 1 <= yyssp) 4387 4891 YYABORT; 4388 4892 } 4389 4893 … … 4414 4918 { 4415 4919 YYDPRINTF ((stderr, "Reading a token: ")); 4416 yychar = yylex ();4920 yychar = YYLEX; 4417 4921 } 4418 4922 … … 4454 4958 4455 4959 yystate = yyn; 4456 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN4457 4960 *++yyvsp = yylval; 4458 YY_IGNORE_MAYBE_UNINITIALIZED_END4459 4961 4460 4962 goto yynewstate; … … 4479 4981 4480 4982 /* If YYLEN is nonzero, implement the default value of the action: 4481 '$$ = $1'.4983 `$$ = $1'. 4482 4984 4483 4985 Otherwise, the following line sets YYVAL to garbage. … … 4493 4995 { 4494 4996 case 2: 4495 #line 298 "parser.yy" /* yacc.c:1646 */ 4997 4998 /* Line 1806 of yacc.c */ 4999 #line 296 "parser.yy" 4496 5000 { 4497 5001 typedefTable.enterScope(); 4498 5002 } 4499 #line 4500 "Parser/parser.cc" /* yacc.c:1646 */4500 5003 break; 4501 5004 4502 5005 case 3: 4503 #line 304 "parser.yy" /* yacc.c:1646 */ 5006 5007 /* Line 1806 of yacc.c */ 5008 #line 302 "parser.yy" 4504 5009 { 4505 5010 typedefTable.leaveScope(); 4506 5011 } 4507 #line 4508 "Parser/parser.cc" /* yacc.c:1646 */4508 5012 break; 4509 5013 4510 5014 case 4: 4511 #line 313 "parser.yy" /* yacc.c:1646 */ 4512 { (yyval.en) = new ExpressionNode( build_constantInteger( assign_strptr((yyvsp[0].tok)) ) ); } 4513 #line 4514 "Parser/parser.cc" /* yacc.c:1646 */ 5015 5016 /* Line 1806 of yacc.c */ 5017 #line 311 "parser.yy" 5018 { (yyval.constant) = build_constantInteger( *(yyvsp[(1) - (1)].tok) ); } 4514 5019 break; 4515 5020 4516 5021 case 5: 4517 #line 314 "parser.yy" /* yacc.c:1646 */ 4518 { (yyval.en) = new ExpressionNode( build_constantFloat( assign_strptr((yyvsp[0].tok)) ) ); } 4519 #line 4520 "Parser/parser.cc" /* yacc.c:1646 */ 5022 5023 /* Line 1806 of yacc.c */ 5024 #line 312 "parser.yy" 5025 { (yyval.constant) = build_constantFloat( *(yyvsp[(1) - (1)].tok) ); } 4520 5026 break; 4521 5027 4522 5028 case 6: 4523 #line 315 "parser.yy" /* yacc.c:1646 */ 4524 { (yyval.en) = new ExpressionNode( build_constantChar( assign_strptr((yyvsp[0].tok)) ) ); } 4525 #line 4526 "Parser/parser.cc" /* yacc.c:1646 */ 5029 5030 /* Line 1806 of yacc.c */ 5031 #line 313 "parser.yy" 5032 { (yyval.constant) = build_constantChar( *(yyvsp[(1) - (1)].tok) ); } 4526 5033 break; 4527 5034 4528 5035 case 16: 4529 #line 340 "parser.yy" /* yacc.c:1646 */ 4530 { (yyval.constant) = build_constantStr( assign_strptr((yyvsp[0].tok)) ); } 4531 #line 4532 "Parser/parser.cc" /* yacc.c:1646 */ 5036 5037 /* Line 1806 of yacc.c */ 5038 #line 338 "parser.yy" 5039 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].tok) ); } 4532 5040 break; 4533 5041 4534 5042 case 17: 4535 #line 342 "parser.yy" /* yacc.c:1646 */ 5043 5044 /* Line 1806 of yacc.c */ 5045 #line 340 "parser.yy" 4536 5046 { 4537 appendStr( (yyvsp[ -1].constant)->get_constant()->get_value(), (yyvsp[0].tok) );4538 delete (yyvsp[ 0].tok); // allocated by lexer4539 (yyval.constant) = (yyvsp[ -1].constant);5047 appendStr( (yyvsp[(1) - (2)].constant)->get_expr()->get_constant()->get_value(), (yyvsp[(2) - (2)].tok) ); 5048 delete (yyvsp[(2) - (2)].tok); // allocated by lexer 5049 (yyval.constant) = (yyvsp[(1) - (2)].constant); 4540 5050 } 4541 #line 4542 "Parser/parser.cc" /* yacc.c:1646 */4542 5051 break; 4543 5052 4544 5053 case 18: 4545 #line 353 "parser.yy" /* yacc.c:1646 */ 4546 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4547 #line 4548 "Parser/parser.cc" /* yacc.c:1646 */ 5054 5055 /* Line 1806 of yacc.c */ 5056 #line 351 "parser.yy" 5057 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 4548 5058 break; 4549 5059 4550 5060 case 19: 4551 #line 355 "parser.yy" /* yacc.c:1646 */ 4552 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4553 #line 4554 "Parser/parser.cc" /* yacc.c:1646 */ 5061 5062 /* Line 1806 of yacc.c */ 5063 #line 353 "parser.yy" 5064 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 4554 5065 break; 4555 5066 4556 5067 case 20: 4557 #line 357 "parser.yy" /* yacc.c:1646 */ 4558 { (yyval.en) = (yyvsp[-1].en); } 4559 #line 4560 "Parser/parser.cc" /* yacc.c:1646 */ 5068 5069 /* Line 1806 of yacc.c */ 5070 #line 355 "parser.yy" 5071 { (yyval.en) = (yyvsp[(2) - (3)].en); } 4560 5072 break; 4561 5073 4562 5074 case 21: 4563 #line 359 "parser.yy" /* yacc.c:1646 */ 4564 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[-1].sn) ) ); } 4565 #line 4566 "Parser/parser.cc" /* yacc.c:1646 */ 5075 5076 /* Line 1806 of yacc.c */ 5077 #line 357 "parser.yy" 5078 { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); } 4566 5079 break; 4567 5080 4568 5081 case 23: 4569 #line 369 "parser.yy" /* yacc.c:1646 */ 4570 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[-5].en), (yyvsp[-2].en) ) ); } 4571 #line 4572 "Parser/parser.cc" /* yacc.c:1646 */ 5082 5083 /* Line 1806 of yacc.c */ 5084 #line 367 "parser.yy" 5085 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 4572 5086 break; 4573 5087 4574 5088 case 24: 4575 #line 371 "parser.yy" /* yacc.c:1646 */ 4576 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[-3].en), (yyvsp[-1].en) ) ); } 4577 #line 4578 "Parser/parser.cc" /* yacc.c:1646 */ 5089 5090 /* Line 1806 of yacc.c */ 5091 #line 369 "parser.yy" 5092 { (yyval.en) = new CompositeExprNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 4578 5093 break; 4579 5094 4580 5095 case 25: 4581 #line 375 "parser.yy" /* yacc.c:1646 */ 4582 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4583 #line 4584 "Parser/parser.cc" /* yacc.c:1646 */ 5096 5097 /* Line 1806 of yacc.c */ 5098 #line 373 "parser.yy" 5099 { (yyval.en) = new CompositeExprNode( build_fieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) ) ); } 4584 5100 break; 4585 5101 4586 5102 case 27: 4587 #line 378 "parser.yy" /* yacc.c:1646 */ 4588 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[0].tok) ) ) ); } 4589 #line 4590 "Parser/parser.cc" /* yacc.c:1646 */ 5103 5104 /* Line 1806 of yacc.c */ 5105 #line 376 "parser.yy" 5106 { (yyval.en) = new CompositeExprNode( build_pfieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) ) ); } 4590 5107 break; 4591 5108 4592 5109 case 29: 4593 #line 381 "parser.yy" /* yacc.c:1646 */ 4594 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[-1].en) ) ); } 4595 #line 4596 "Parser/parser.cc" /* yacc.c:1646 */ 5110 5111 /* Line 1806 of yacc.c */ 5112 #line 379 "parser.yy" 5113 { (yyval.en) = new CompositeExprNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 4596 5114 break; 4597 5115 4598 5116 case 30: 4599 #line 383 "parser.yy" /* yacc.c:1646 */ 4600 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[-1].en) ) ); } 4601 #line 4602 "Parser/parser.cc" /* yacc.c:1646 */ 5117 5118 /* Line 1806 of yacc.c */ 5119 #line 381 "parser.yy" 5120 { (yyval.en) = new CompositeExprNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 4602 5121 break; 4603 5122 4604 5123 case 31: 4605 #line 385 "parser.yy" /* yacc.c:1646 */ 4606 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[-5].decl), new InitializerNode( (yyvsp[-2].in), true ) ) ); } 4607 #line 4608 "Parser/parser.cc" /* yacc.c:1646 */ 5124 5125 /* Line 1806 of yacc.c */ 5126 #line 383 "parser.yy" 5127 { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); } 4608 5128 break; 4609 5129 4610 5130 case 32: 4611 #line 387 "parser.yy" /* yacc.c:1646 */ 5131 5132 /* Line 1806 of yacc.c */ 5133 #line 385 "parser.yy" 4612 5134 { 4613 5135 Token fn; 4614 5136 fn.str = new std::string( "?{}" ); // location undefined 4615 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-3].en) )->set_last( (yyvsp[-1].en) ) ) );5137 (yyval.en) = new CompositeExprNode( build_func( new VarRefNode( fn ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_link( (yyvsp[(3) - (4)].en) ) ) ); 4616 5138 } 4617 #line 4618 "Parser/parser.cc" /* yacc.c:1646 */4618 5139 break; 4619 5140 4620 5141 case 34: 4621 #line 397 "parser.yy" /* yacc.c:1646 */ 4622 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); } 4623 #line 4624 "Parser/parser.cc" /* yacc.c:1646 */ 5142 5143 /* Line 1806 of yacc.c */ 5144 #line 395 "parser.yy" 5145 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 4624 5146 break; 4625 5147 4626 5148 case 35: 4627 #line 402 "parser.yy" /* yacc.c:1646 */ 5149 5150 /* Line 1806 of yacc.c */ 5151 #line 400 "parser.yy" 4628 5152 { (yyval.en) = 0; } 4629 #line 4630 "Parser/parser.cc" /* yacc.c:1646 */ 5153 break; 5154 5155 case 37: 5156 5157 /* Line 1806 of yacc.c */ 5158 #line 403 "parser.yy" 5159 { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); } 4630 5160 break; 4631 5161 4632 5162 case 38: 4633 #line 408 "parser.yy" /* yacc.c:1646 */ 4634 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 4635 #line 4636 "Parser/parser.cc" /* yacc.c:1646 */ 5163 5164 /* Line 1806 of yacc.c */ 5165 #line 408 "parser.yy" 5166 { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); } 4636 5167 break; 4637 5168 4638 5169 case 39: 4639 #line 413 "parser.yy" /* yacc.c:1646 */ 4640 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 4641 #line 4642 "Parser/parser.cc" /* yacc.c:1646 */ 4642 break; 4643 4644 case 40: 4645 #line 417 "parser.yy" /* yacc.c:1646 */ 4646 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4647 #line 4648 "Parser/parser.cc" /* yacc.c:1646 */ 5170 5171 /* Line 1806 of yacc.c */ 5172 #line 410 "parser.yy" 5173 { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( (yyvsp[(5) - (9)].en) ) ) ) ); } 4648 5174 break; 4649 5175 4650 5176 case 41: 4651 #line 419 "parser.yy" /* yacc.c:1646 */ 4652 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4653 #line 4654 "Parser/parser.cc" /* yacc.c:1646 */ 5177 5178 /* Line 1806 of yacc.c */ 5179 #line 415 "parser.yy" 5180 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 4654 5181 break; 4655 5182 4656 5183 case 42: 4657 #line 421 "parser.yy" /* yacc.c:1646 */ 4658 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[0].en), build_varref( (yyvsp[-2].tok) ) ) ); } 4659 #line 4660 "Parser/parser.cc" /* yacc.c:1646 */ 5184 5185 /* Line 1806 of yacc.c */ 5186 #line 420 "parser.yy" 5187 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 4660 5188 break; 4661 5189 4662 5190 case 43: 4663 #line 423 "parser.yy" /* yacc.c:1646 */ 4664 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[-2].en), build_varref( (yyvsp[-6].tok) ) ) ); } 4665 #line 4666 "Parser/parser.cc" /* yacc.c:1646 */ 5191 5192 /* Line 1806 of yacc.c */ 5193 #line 424 "parser.yy" 5194 { (yyval.en) = new CompositeExprNode( build_fieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) ) ) ); } 5195 break; 5196 5197 case 44: 5198 5199 /* Line 1806 of yacc.c */ 5200 #line 426 "parser.yy" 5201 { (yyval.en) = new CompositeExprNode( build_fieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) ) ) ); } 4666 5202 break; 4667 5203 4668 5204 case 45: 4669 #line 431 "parser.yy" /* yacc.c:1646 */ 4670 { (yyval.en) = (yyvsp[0].en); } 4671 #line 4672 "Parser/parser.cc" /* yacc.c:1646 */ 5205 5206 /* Line 1806 of yacc.c */ 5207 #line 428 "parser.yy" 5208 { (yyval.en) = new CompositeExprNode( build_pfieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) ) ) ); } 4672 5209 break; 4673 5210 4674 5211 case 46: 4675 #line 433 "parser.yy" /* yacc.c:1646 */ 4676 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 4677 #line 4678 "Parser/parser.cc" /* yacc.c:1646 */ 4678 break; 4679 4680 case 47: 4681 #line 435 "parser.yy" /* yacc.c:1646 */ 4682 { (yyval.en) = (yyvsp[0].en)->set_extension( true ); } 4683 #line 4684 "Parser/parser.cc" /* yacc.c:1646 */ 5212 5213 /* Line 1806 of yacc.c */ 5214 #line 430 "parser.yy" 5215 { (yyval.en) = new CompositeExprNode( build_pfieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) ) ) ); } 4684 5216 break; 4685 5217 4686 5218 case 48: 4687 #line 440 "parser.yy" /* yacc.c:1646 */ 5219 5220 /* Line 1806 of yacc.c */ 5221 #line 438 "parser.yy" 5222 { (yyval.en) = (yyvsp[(1) - (1)].constant); } 5223 break; 5224 5225 case 49: 5226 5227 /* Line 1806 of yacc.c */ 5228 #line 440 "parser.yy" 5229 { (yyval.en) = (yyvsp[(1) - (1)].constant); } 5230 break; 5231 5232 case 50: 5233 5234 /* Line 1806 of yacc.c */ 5235 #line 442 "parser.yy" 5236 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5237 break; 5238 5239 case 51: 5240 5241 /* Line 1806 of yacc.c */ 5242 #line 447 "parser.yy" 4688 5243 { 4689 switch ( (yyvsp[ -1].op) ) {5244 switch ( (yyvsp[(1) - (2)].op) ) { 4690 5245 case OperKinds::AddressOf: 4691 (yyval.en) = new ExpressionNode( build_addressOf( (yyvsp[0].en) ) );5246 (yyval.en) = new CompositeExprNode( build_addressOf( (yyvsp[(2) - (2)].en) ) ); 4692 5247 break; 4693 5248 case OperKinds::PointTo: 4694 (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) );5249 (yyval.en) = new CompositeExprNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); 4695 5250 break; 4696 5251 default: … … 4698 5253 } 4699 5254 } 4700 #line 4701 "Parser/parser.cc" /* yacc.c:1646 */4701 break;4702 4703 case 49:4704 #line 453 "parser.yy" /* yacc.c:1646 */4705 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[-1].op), (yyvsp[0].en) ) ); }4706 #line 4707 "Parser/parser.cc" /* yacc.c:1646 */4707 break;4708 4709 case 50:4710 #line 455 "parser.yy" /* yacc.c:1646 */4711 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[0].en) ) ); }4712 #line 4713 "Parser/parser.cc" /* yacc.c:1646 */4713 break;4714 4715 case 51:4716 #line 457 "parser.yy" /* yacc.c:1646 */4717 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[0].en) ) ); }4718 #line 4719 "Parser/parser.cc" /* yacc.c:1646 */4719 5255 break; 4720 5256 4721 5257 case 52: 4722 #line 459 "parser.yy" /* yacc.c:1646 */ 4723 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[0].en) ) ); } 4724 #line 4725 "Parser/parser.cc" /* yacc.c:1646 */ 5258 5259 /* Line 1806 of yacc.c */ 5260 #line 460 "parser.yy" 5261 { (yyval.en) = new CompositeExprNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 4725 5262 break; 4726 5263 4727 5264 case 53: 4728 #line 461 "parser.yy" /* yacc.c:1646 */ 4729 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[-1].decl) ) ); } 4730 #line 4731 "Parser/parser.cc" /* yacc.c:1646 */ 5265 5266 /* Line 1806 of yacc.c */ 5267 #line 462 "parser.yy" 5268 { (yyval.en) = new CompositeExprNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 4731 5269 break; 4732 5270 4733 5271 case 54: 4734 #line 463 "parser.yy" /* yacc.c:1646 */ 4735 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[0].en) ) ); } 4736 #line 4737 "Parser/parser.cc" /* yacc.c:1646 */ 5272 5273 /* Line 1806 of yacc.c */ 5274 #line 464 "parser.yy" 5275 { (yyval.en) = new CompositeExprNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 4737 5276 break; 4738 5277 4739 5278 case 55: 4740 #line 465 "parser.yy" /* yacc.c:1646 */ 4741 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[-1].decl) ) ); } 4742 #line 4743 "Parser/parser.cc" /* yacc.c:1646 */ 5279 5280 /* Line 1806 of yacc.c */ 5281 #line 466 "parser.yy" 5282 { (yyval.en) = new CompositeExprNode( build_sizeOf( (yyvsp[(2) - (2)].en) ) ); } 4743 5283 break; 4744 5284 4745 5285 case 56: 4746 #line 467 "parser.yy" /* yacc.c:1646 */ 4747 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[-3].decl), build_varref( (yyvsp[-1].tok) ) ) ); } 4748 #line 4749 "Parser/parser.cc" /* yacc.c:1646 */ 5286 5287 /* Line 1806 of yacc.c */ 5288 #line 468 "parser.yy" 5289 { (yyval.en) = new CompositeExprNode( build_sizeOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); } 4749 5290 break; 4750 5291 4751 5292 case 57: 4752 #line 469 "parser.yy" /* yacc.c:1646 */ 4753 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[0].tok) ), nullptr ) ); } 4754 #line 4755 "Parser/parser.cc" /* yacc.c:1646 */ 5293 5294 /* Line 1806 of yacc.c */ 5295 #line 470 "parser.yy" 5296 { (yyval.en) = new CompositeExprNode( build_offsetOf( new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) ) ) ); } 4755 5297 break; 4756 5298 4757 5299 case 58: 4758 #line 471 "parser.yy" /* yacc.c:1646 */ 4759 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].en) ) ); } 4760 #line 4761 "Parser/parser.cc" /* yacc.c:1646 */ 5300 5301 /* Line 1806 of yacc.c */ 5302 #line 472 "parser.yy" 5303 { (yyval.en) = new CompositeExprNode( build_attr( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ) ); } 4761 5304 break; 4762 5305 4763 5306 case 59: 4764 #line 473 "parser.yy" /* yacc.c:1646 */ 4765 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[-3].tok) ), (yyvsp[-1].decl) ) ); } 4766 #line 4767 "Parser/parser.cc" /* yacc.c:1646 */ 5307 5308 /* Line 1806 of yacc.c */ 5309 #line 474 "parser.yy" 5310 { (yyval.en) = new CompositeExprNode( build_attr( new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); } 4767 5311 break; 4768 5312 4769 5313 case 60: 4770 #line 479 "parser.yy" /* yacc.c:1646 */ 5314 5315 /* Line 1806 of yacc.c */ 5316 #line 476 "parser.yy" 5317 { (yyval.en) = new CompositeExprNode( build_attr( new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5318 break; 5319 5320 case 61: 5321 5322 /* Line 1806 of yacc.c */ 5323 #line 478 "parser.yy" 5324 { (yyval.en) = new CompositeExprNode( build_alignOf( (yyvsp[(2) - (2)].en) ) ); } 5325 break; 5326 5327 case 62: 5328 5329 /* Line 1806 of yacc.c */ 5330 #line 480 "parser.yy" 5331 { (yyval.en) = new CompositeExprNode( build_alignOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); } 5332 break; 5333 5334 case 63: 5335 5336 /* Line 1806 of yacc.c */ 5337 #line 486 "parser.yy" 4771 5338 { (yyval.op) = OperKinds::PointTo; } 4772 #line 4773 "Parser/parser.cc" /* yacc.c:1646 */ 4773 break; 4774 4775 case 61: 4776 #line 480 "parser.yy" /* yacc.c:1646 */ 5339 break; 5340 5341 case 64: 5342 5343 /* Line 1806 of yacc.c */ 5344 #line 487 "parser.yy" 4777 5345 { (yyval.op) = OperKinds::AddressOf; } 4778 #line 4779 "Parser/parser.cc" /* yacc.c:1646 */ 4779 break; 4780 4781 case 62: 4782 #line 486 "parser.yy" /* yacc.c:1646 */ 5346 break; 5347 5348 case 65: 5349 5350 /* Line 1806 of yacc.c */ 5351 #line 493 "parser.yy" 4783 5352 { (yyval.op) = OperKinds::UnPlus; } 4784 #line 4785 "Parser/parser.cc" /* yacc.c:1646 */ 4785 break; 4786 4787 case 63: 4788 #line 487 "parser.yy" /* yacc.c:1646 */ 5353 break; 5354 5355 case 66: 5356 5357 /* Line 1806 of yacc.c */ 5358 #line 494 "parser.yy" 4789 5359 { (yyval.op) = OperKinds::UnMinus; } 4790 #line 4791 "Parser/parser.cc" /* yacc.c:1646 */ 4791 break; 4792 4793 case 64: 4794 #line 488 "parser.yy" /* yacc.c:1646 */ 5360 break; 5361 5362 case 67: 5363 5364 /* Line 1806 of yacc.c */ 5365 #line 495 "parser.yy" 4795 5366 { (yyval.op) = OperKinds::Neg; } 4796 #line 4797 "Parser/parser.cc" /* yacc.c:1646 */ 4797 break; 4798 4799 case 65: 4800 #line 489 "parser.yy" /* yacc.c:1646 */ 5367 break; 5368 5369 case 68: 5370 5371 /* Line 1806 of yacc.c */ 5372 #line 496 "parser.yy" 4801 5373 { (yyval.op) = OperKinds::BitNeg; } 4802 #line 4803 "Parser/parser.cc" /* yacc.c:1646 */4803 break;4804 4805 case 67:4806 #line 495 "parser.yy" /* yacc.c:1646 */4807 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); }4808 #line 4809 "Parser/parser.cc" /* yacc.c:1646 */4809 break;4810 4811 case 68:4812 #line 497 "parser.yy" /* yacc.c:1646 */4813 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[-2].decl), (yyvsp[0].en) ) ); }4814 #line 4815 "Parser/parser.cc" /* yacc.c:1646 */4815 5374 break; 4816 5375 4817 5376 case 70: 4818 #line 503 "parser.yy" /* yacc.c:1646 */ 4819 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4820 #line 4821 "Parser/parser.cc" /* yacc.c:1646 */ 5377 5378 /* Line 1806 of yacc.c */ 5379 #line 502 "parser.yy" 5380 { (yyval.en) = new CompositeExprNode( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); } 4821 5381 break; 4822 5382 4823 5383 case 71: 4824 #line 505 "parser.yy" /* yacc.c:1646 */ 4825 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4826 #line 4827 "Parser/parser.cc" /* yacc.c:1646 */ 4827 break; 4828 4829 case 72: 4830 #line 507 "parser.yy" /* yacc.c:1646 */ 4831 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4832 #line 4833 "Parser/parser.cc" /* yacc.c:1646 */ 5384 5385 /* Line 1806 of yacc.c */ 5386 #line 504 "parser.yy" 5387 { (yyval.en) = new CompositeExprNode( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); } 5388 break; 5389 5390 case 73: 5391 5392 /* Line 1806 of yacc.c */ 5393 #line 510 "parser.yy" 5394 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4833 5395 break; 4834 5396 4835 5397 case 74: 4836 #line 513 "parser.yy" /* yacc.c:1646 */ 4837 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4838 #line 4839 "Parser/parser.cc" /* yacc.c:1646 */ 5398 5399 /* Line 1806 of yacc.c */ 5400 #line 512 "parser.yy" 5401 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4839 5402 break; 4840 5403 4841 5404 case 75: 4842 #line 515 "parser.yy" /* yacc.c:1646 */ 4843 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4844 #line 4845 "Parser/parser.cc" /* yacc.c:1646 */ 5405 5406 /* Line 1806 of yacc.c */ 5407 #line 514 "parser.yy" 5408 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4845 5409 break; 4846 5410 4847 5411 case 77: 4848 #line 521 "parser.yy" /* yacc.c:1646 */ 4849 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4850 #line 4851 "Parser/parser.cc" /* yacc.c:1646 */ 5412 5413 /* Line 1806 of yacc.c */ 5414 #line 520 "parser.yy" 5415 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4851 5416 break; 4852 5417 4853 5418 case 78: 4854 #line 523 "parser.yy" /* yacc.c:1646 */ 4855 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4856 #line 4857 "Parser/parser.cc" /* yacc.c:1646 */ 5419 5420 /* Line 1806 of yacc.c */ 5421 #line 522 "parser.yy" 5422 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4857 5423 break; 4858 5424 4859 5425 case 80: 4860 #line 529 "parser.yy" /* yacc.c:1646 */ 4861 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4862 #line 4863 "Parser/parser.cc" /* yacc.c:1646 */ 5426 5427 /* Line 1806 of yacc.c */ 5428 #line 528 "parser.yy" 5429 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4863 5430 break; 4864 5431 4865 5432 case 81: 4866 #line 531 "parser.yy" /* yacc.c:1646 */ 4867 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4868 #line 4869 "Parser/parser.cc" /* yacc.c:1646 */ 4869 break; 4870 4871 case 82: 4872 #line 533 "parser.yy" /* yacc.c:1646 */ 4873 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4874 #line 4875 "Parser/parser.cc" /* yacc.c:1646 */ 5433 5434 /* Line 1806 of yacc.c */ 5435 #line 530 "parser.yy" 5436 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4875 5437 break; 4876 5438 4877 5439 case 83: 4878 #line 535 "parser.yy" /* yacc.c:1646 */ 4879 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4880 #line 4881 "Parser/parser.cc" /* yacc.c:1646 */ 5440 5441 /* Line 1806 of yacc.c */ 5442 #line 536 "parser.yy" 5443 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5444 break; 5445 5446 case 84: 5447 5448 /* Line 1806 of yacc.c */ 5449 #line 538 "parser.yy" 5450 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4881 5451 break; 4882 5452 4883 5453 case 85: 4884 #line 541 "parser.yy" /* yacc.c:1646 */ 4885 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4886 #line 4887 "Parser/parser.cc" /* yacc.c:1646 */ 5454 5455 /* Line 1806 of yacc.c */ 5456 #line 540 "parser.yy" 5457 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4887 5458 break; 4888 5459 4889 5460 case 86: 4890 #line 543 "parser.yy" /* yacc.c:1646 */ 4891 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4892 #line 4893 "Parser/parser.cc" /* yacc.c:1646 */ 5461 5462 /* Line 1806 of yacc.c */ 5463 #line 542 "parser.yy" 5464 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4893 5465 break; 4894 5466 4895 5467 case 88: 4896 #line 549 "parser.yy" /* yacc.c:1646 */ 4897 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4898 #line 4899 "Parser/parser.cc" /* yacc.c:1646 */ 4899 break; 4900 4901 case 90: 4902 #line 555 "parser.yy" /* yacc.c:1646 */ 4903 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4904 #line 4905 "Parser/parser.cc" /* yacc.c:1646 */ 4905 break; 4906 4907 case 92: 4908 #line 561 "parser.yy" /* yacc.c:1646 */ 4909 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4910 #line 4911 "Parser/parser.cc" /* yacc.c:1646 */ 4911 break; 4912 4913 case 94: 4914 #line 567 "parser.yy" /* yacc.c:1646 */ 4915 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), true ) ); } 4916 #line 4917 "Parser/parser.cc" /* yacc.c:1646 */ 4917 break; 4918 4919 case 96: 4920 #line 573 "parser.yy" /* yacc.c:1646 */ 4921 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[-2].en), (yyvsp[0].en), false ) ); } 4922 #line 4923 "Parser/parser.cc" /* yacc.c:1646 */ 4923 break; 4924 4925 case 98: 4926 #line 579 "parser.yy" /* yacc.c:1646 */ 4927 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4928 #line 4929 "Parser/parser.cc" /* yacc.c:1646 */ 5468 5469 /* Line 1806 of yacc.c */ 5470 #line 548 "parser.yy" 5471 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5472 break; 5473 5474 case 89: 5475 5476 /* Line 1806 of yacc.c */ 5477 #line 550 "parser.yy" 5478 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5479 break; 5480 5481 case 91: 5482 5483 /* Line 1806 of yacc.c */ 5484 #line 556 "parser.yy" 5485 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5486 break; 5487 5488 case 93: 5489 5490 /* Line 1806 of yacc.c */ 5491 #line 562 "parser.yy" 5492 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5493 break; 5494 5495 case 95: 5496 5497 /* Line 1806 of yacc.c */ 5498 #line 568 "parser.yy" 5499 { (yyval.en) = new CompositeExprNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5500 break; 5501 5502 case 97: 5503 5504 /* Line 1806 of yacc.c */ 5505 #line 574 "parser.yy" 5506 { (yyval.en) = new CompositeExprNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 4929 5507 break; 4930 5508 4931 5509 case 99: 4932 #line 582 "parser.yy" /* yacc.c:1646 */ 4933 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-3].en), (yyvsp[-3].en), (yyvsp[0].en) ) ); } 4934 #line 4935 "Parser/parser.cc" /* yacc.c:1646 */ 4935 break; 4936 4937 case 100: 4938 #line 584 "parser.yy" /* yacc.c:1646 */ 4939 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[-4].en), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4940 #line 4941 "Parser/parser.cc" /* yacc.c:1646 */ 5510 5511 /* Line 1806 of yacc.c */ 5512 #line 580 "parser.yy" 5513 { (yyval.en) = new CompositeExprNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5514 break; 5515 5516 case 101: 5517 5518 /* Line 1806 of yacc.c */ 5519 #line 586 "parser.yy" 5520 { (yyval.en) = new CompositeExprNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5521 break; 5522 5523 case 102: 5524 5525 /* Line 1806 of yacc.c */ 5526 #line 589 "parser.yy" 5527 { (yyval.en) = new CompositeExprNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 4941 5528 break; 4942 5529 4943 5530 case 103: 4944 #line 595 "parser.yy" /* yacc.c:1646 */ 4945 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[-1].op), (yyvsp[-2].en), (yyvsp[0].en) ) ); } 4946 #line 4947 "Parser/parser.cc" /* yacc.c:1646 */ 4947 break; 4948 4949 case 104: 4950 #line 597 "parser.yy" /* yacc.c:1646 */ 4951 { (yyval.en) = ( (yyvsp[0].en) == 0 ) ? (yyvsp[-1].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[-1].en), (yyvsp[0].en) ) ); } 4952 #line 4953 "Parser/parser.cc" /* yacc.c:1646 */ 4953 break; 4954 4955 case 105: 4956 #line 602 "parser.yy" /* yacc.c:1646 */ 4957 { (yyval.en) = nullptr; } 4958 #line 4959 "Parser/parser.cc" /* yacc.c:1646 */ 5531 5532 /* Line 1806 of yacc.c */ 5533 #line 591 "parser.yy" 5534 { (yyval.en) = new CompositeExprNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5535 break; 5536 5537 case 106: 5538 5539 /* Line 1806 of yacc.c */ 5540 #line 602 "parser.yy" 5541 { (yyval.en) = new CompositeExprNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 4959 5542 break; 4960 5543 4961 5544 case 107: 4962 #line 607 "parser.yy" /* yacc.c:1646 */ 5545 5546 /* Line 1806 of yacc.c */ 5547 #line 604 "parser.yy" 5548 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 5549 break; 5550 5551 case 108: 5552 5553 /* Line 1806 of yacc.c */ 5554 #line 609 "parser.yy" 5555 { (yyval.en) = new NullExprNode; } 5556 break; 5557 5558 case 110: 5559 5560 /* Line 1806 of yacc.c */ 5561 #line 614 "parser.yy" 4963 5562 { (yyval.op) = OperKinds::Assign; } 4964 #line 4965 "Parser/parser.cc" /* yacc.c:1646 */ 4965 break; 4966 4967 case 108: 4968 #line 608 "parser.yy" /* yacc.c:1646 */ 5563 break; 5564 5565 case 111: 5566 5567 /* Line 1806 of yacc.c */ 5568 #line 615 "parser.yy" 4969 5569 { (yyval.op) = OperKinds::MulAssn; } 4970 #line 4971 "Parser/parser.cc" /* yacc.c:1646 */ 4971 break; 4972 4973 case 109: 4974 #line 609 "parser.yy" /* yacc.c:1646 */ 5570 break; 5571 5572 case 112: 5573 5574 /* Line 1806 of yacc.c */ 5575 #line 616 "parser.yy" 4975 5576 { (yyval.op) = OperKinds::DivAssn; } 4976 #line 4977 "Parser/parser.cc" /* yacc.c:1646 */ 4977 break; 4978 4979 case 110: 4980 #line 610 "parser.yy" /* yacc.c:1646 */ 5577 break; 5578 5579 case 113: 5580 5581 /* Line 1806 of yacc.c */ 5582 #line 617 "parser.yy" 4981 5583 { (yyval.op) = OperKinds::ModAssn; } 4982 #line 4983 "Parser/parser.cc" /* yacc.c:1646 */ 4983 break; 4984 4985 case 111: 4986 #line 611 "parser.yy" /* yacc.c:1646 */ 5584 break; 5585 5586 case 114: 5587 5588 /* Line 1806 of yacc.c */ 5589 #line 618 "parser.yy" 4987 5590 { (yyval.op) = OperKinds::PlusAssn; } 4988 #line 4989 "Parser/parser.cc" /* yacc.c:1646 */ 4989 break; 4990 4991 case 112: 4992 #line 612 "parser.yy" /* yacc.c:1646 */ 5591 break; 5592 5593 case 115: 5594 5595 /* Line 1806 of yacc.c */ 5596 #line 619 "parser.yy" 4993 5597 { (yyval.op) = OperKinds::MinusAssn; } 4994 #line 4995 "Parser/parser.cc" /* yacc.c:1646 */ 4995 break; 4996 4997 case 113: 4998 #line 613 "parser.yy" /* yacc.c:1646 */ 5598 break; 5599 5600 case 116: 5601 5602 /* Line 1806 of yacc.c */ 5603 #line 620 "parser.yy" 4999 5604 { (yyval.op) = OperKinds::LSAssn; } 5000 #line 5001 "Parser/parser.cc" /* yacc.c:1646 */ 5001 break; 5002 5003 case 114: 5004 #line 614 "parser.yy" /* yacc.c:1646 */ 5605 break; 5606 5607 case 117: 5608 5609 /* Line 1806 of yacc.c */ 5610 #line 621 "parser.yy" 5005 5611 { (yyval.op) = OperKinds::RSAssn; } 5006 #line 5007 "Parser/parser.cc" /* yacc.c:1646 */ 5007 break; 5008 5009 case 115: 5010 #line 615 "parser.yy" /* yacc.c:1646 */ 5612 break; 5613 5614 case 118: 5615 5616 /* Line 1806 of yacc.c */ 5617 #line 622 "parser.yy" 5011 5618 { (yyval.op) = OperKinds::AndAssn; } 5012 #line 5013 "Parser/parser.cc" /* yacc.c:1646 */ 5013 break; 5014 5015 case 116: 5016 #line 616 "parser.yy" /* yacc.c:1646 */ 5619 break; 5620 5621 case 119: 5622 5623 /* Line 1806 of yacc.c */ 5624 #line 623 "parser.yy" 5017 5625 { (yyval.op) = OperKinds::ERAssn; } 5018 #line 5019 "Parser/parser.cc" /* yacc.c:1646 */ 5019 break; 5020 5021 case 117: 5022 #line 617 "parser.yy" /* yacc.c:1646 */ 5626 break; 5627 5628 case 120: 5629 5630 /* Line 1806 of yacc.c */ 5631 #line 624 "parser.yy" 5023 5632 { (yyval.op) = OperKinds::OrAssn; } 5024 #line 5025 "Parser/parser.cc" /* yacc.c:1646 */5025 break;5026 5027 case 118:5028 #line 624 "parser.yy" /* yacc.c:1646 */5029 { (yyval.en) = new ExpressionNode( build_tuple() ); }5030 #line 5031 "Parser/parser.cc" /* yacc.c:1646 */5031 break;5032 5033 case 119:5034 #line 626 "parser.yy" /* yacc.c:1646 */5035 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[-2].en) ) ); }5036 #line 5037 "Parser/parser.cc" /* yacc.c:1646 */5037 break;5038 5039 case 120:5040 #line 628 "parser.yy" /* yacc.c:1646 */5041 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[-2].en) ) ) ); }5042 #line 5043 "Parser/parser.cc" /* yacc.c:1646 */5043 5633 break; 5044 5634 5045 5635 case 121: 5046 #line 630 "parser.yy" /* yacc.c:1646 */ 5047 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[-4].en)->set_last( (yyvsp[-2].en) ) ) ); } 5048 #line 5049 "Parser/parser.cc" /* yacc.c:1646 */ 5636 5637 /* Line 1806 of yacc.c */ 5638 #line 631 "parser.yy" 5639 { (yyval.en) = new CompositeExprNode( build_tuple() ); } 5640 break; 5641 5642 case 122: 5643 5644 /* Line 1806 of yacc.c */ 5645 #line 633 "parser.yy" 5646 { (yyval.en) = new CompositeExprNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5049 5647 break; 5050 5648 5051 5649 case 123: 5052 #line 636 "parser.yy" /* yacc.c:1646 */ 5053 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); } 5054 #line 5055 "Parser/parser.cc" /* yacc.c:1646 */ 5055 break; 5056 5057 case 125: 5058 #line 642 "parser.yy" /* yacc.c:1646 */ 5059 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 5060 #line 5061 "Parser/parser.cc" /* yacc.c:1646 */ 5650 5651 /* Line 1806 of yacc.c */ 5652 #line 635 "parser.yy" 5653 { (yyval.en) = new CompositeExprNode( build_tuple( (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ) ); } 5654 break; 5655 5656 case 124: 5657 5658 /* Line 1806 of yacc.c */ 5659 #line 637 "parser.yy" 5660 { (yyval.en) = new CompositeExprNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( (yyvsp[(5) - (7)].en) ) ) ); } 5061 5661 break; 5062 5662 5063 5663 case 126: 5064 #line 647 "parser.yy" /* yacc.c:1646 */ 5664 5665 /* Line 1806 of yacc.c */ 5666 #line 643 "parser.yy" 5667 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5668 break; 5669 5670 case 128: 5671 5672 /* Line 1806 of yacc.c */ 5673 #line 649 "parser.yy" 5674 { (yyval.en) = new CompositeExprNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5675 break; 5676 5677 case 129: 5678 5679 /* Line 1806 of yacc.c */ 5680 #line 654 "parser.yy" 5065 5681 { (yyval.en) = 0; } 5066 #line 5067 "Parser/parser.cc" /* yacc.c:1646 */ 5067 break; 5068 5069 case 130: 5070 #line 656 "parser.yy" /* yacc.c:1646 */ 5071 { (yyval.sn) = (yyvsp[0].sn); } 5072 #line 5073 "Parser/parser.cc" /* yacc.c:1646 */ 5073 break; 5074 5075 case 136: 5076 #line 663 "parser.yy" /* yacc.c:1646 */ 5682 break; 5683 5684 case 133: 5685 5686 /* Line 1806 of yacc.c */ 5687 #line 663 "parser.yy" 5688 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5689 break; 5690 5691 case 139: 5692 5693 /* Line 1806 of yacc.c */ 5694 #line 670 "parser.yy" 5077 5695 { 5078 5696 Token fn; 5079 5697 fn.str = new std::string( "^?{}" ); // location undefined 5080 (yyval.sn) = new StatementNode( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[-4].en) )->set_last( (yyvsp[-2].en) ) ) ) ));5698 (yyval.sn) = new StatementNode( StatementNode::Exp, new CompositeExprNode( build_func( new VarRefNode( fn ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ) ), 0 ); 5081 5699 } 5082 #line 5083 "Parser/parser.cc" /* yacc.c:1646 */ 5083 break; 5084 5085 case 137: 5086 #line 673 "parser.yy" /* yacc.c:1646 */ 5700 break; 5701 5702 case 140: 5703 5704 /* Line 1806 of yacc.c */ 5705 #line 680 "parser.yy" 5087 5706 { 5088 (yyval.sn) = (yyvsp[ 0].sn)->add_label( (yyvsp[-3].tok) );5707 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); 5089 5708 } 5090 #line 5091 "Parser/parser.cc" /* yacc.c:1646 */5091 break;5092 5093 case 138:5094 #line 680 "parser.yy" /* yacc.c:1646 */5095 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }5096 #line 5097 "Parser/parser.cc" /* yacc.c:1646 */5097 break;5098 5099 case 139:5100 #line 687 "parser.yy" /* yacc.c:1646 */5101 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[-2].sn) ) ); }5102 #line 5103 "Parser/parser.cc" /* yacc.c:1646 */5103 5709 break; 5104 5710 5105 5711 case 141: 5106 #line 693 "parser.yy" /* yacc.c:1646 */ 5107 { if ( (yyvsp[-2].sn) != 0 ) { (yyvsp[-2].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-2].sn); } } 5108 #line 5109 "Parser/parser.cc" /* yacc.c:1646 */ 5712 5713 /* Line 1806 of yacc.c */ 5714 #line 687 "parser.yy" 5715 { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); } 5109 5716 break; 5110 5717 5111 5718 case 142: 5112 #line 698 "parser.yy" /* yacc.c:1646 */ 5113 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); } 5114 #line 5115 "Parser/parser.cc" /* yacc.c:1646 */ 5115 break; 5116 5117 case 143: 5118 #line 700 "parser.yy" /* yacc.c:1646 */ 5719 5720 /* Line 1806 of yacc.c */ 5721 #line 694 "parser.yy" 5722 { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); } 5723 break; 5724 5725 case 144: 5726 5727 /* Line 1806 of yacc.c */ 5728 #line 700 "parser.yy" 5729 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5730 break; 5731 5732 case 145: 5733 5734 /* Line 1806 of yacc.c */ 5735 #line 705 "parser.yy" 5736 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5737 break; 5738 5739 case 146: 5740 5741 /* Line 1806 of yacc.c */ 5742 #line 707 "parser.yy" 5119 5743 { // mark all fields in list 5120 for ( DeclarationNode *iter = (yyvsp[ 0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )5744 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 5121 5745 iter->set_extension( true ); 5122 (yyval.sn) = new StatementNode( (yyvsp[ 0].decl) );5746 (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); 5123 5747 } 5124 #line 5125 "Parser/parser.cc" /* yacc.c:1646 */5125 break;5126 5127 case 144:5128 #line 706 "parser.yy" /* yacc.c:1646 */5129 { (yyval.sn) = new StatementNode( (yyvsp[0].decl) ); }5130 #line 5131 "Parser/parser.cc" /* yacc.c:1646 */5131 5748 break; 5132 5749 5133 5750 case 147: 5134 #line 713 "parser.yy" /* yacc.c:1646 */ 5135 { if ( (yyvsp[-1].sn) != 0 ) { (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ); (yyval.sn) = (yyvsp[-1].sn); } } 5136 #line 5137 "Parser/parser.cc" /* yacc.c:1646 */ 5137 break; 5138 5139 case 148: 5140 #line 718 "parser.yy" /* yacc.c:1646 */ 5141 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[-1].en) ) ); } 5142 #line 5143 "Parser/parser.cc" /* yacc.c:1646 */ 5143 break; 5144 5145 case 149: 5146 #line 724 "parser.yy" /* yacc.c:1646 */ 5147 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-2].en), (yyvsp[0].sn), nullptr ) ); } 5148 #line 5149 "Parser/parser.cc" /* yacc.c:1646 */ 5751 5752 /* Line 1806 of yacc.c */ 5753 #line 713 "parser.yy" 5754 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5149 5755 break; 5150 5756 5151 5757 case 150: 5152 #line 726 "parser.yy" /* yacc.c:1646 */ 5153 { (yyval.sn) = new StatementNode( build_if( (yyvsp[-4].en), (yyvsp[-2].sn), (yyvsp[0].sn) ) ); } 5154 #line 5155 "Parser/parser.cc" /* yacc.c:1646 */ 5758 5759 /* Line 1806 of yacc.c */ 5760 #line 720 "parser.yy" 5761 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5155 5762 break; 5156 5763 5157 5764 case 151: 5158 #line 728 "parser.yy" /* yacc.c:1646 */ 5159 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5160 #line 5161 "Parser/parser.cc" /* yacc.c:1646 */ 5765 5766 /* Line 1806 of yacc.c */ 5767 #line 725 "parser.yy" 5768 { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); } 5161 5769 break; 5162 5770 5163 5771 case 152: 5164 #line 730 "parser.yy" /* yacc.c:1646 */ 5772 5773 /* Line 1806 of yacc.c */ 5774 #line 731 "parser.yy" 5775 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5776 break; 5777 5778 case 153: 5779 5780 /* Line 1806 of yacc.c */ 5781 #line 733 "parser.yy" 5782 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); } 5783 break; 5784 5785 case 154: 5786 5787 /* Line 1806 of yacc.c */ 5788 #line 735 "parser.yy" 5789 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5790 break; 5791 5792 case 155: 5793 5794 /* Line 1806 of yacc.c */ 5795 #line 737 "parser.yy" 5165 5796 { 5166 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn)) );5797 StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); 5167 5798 // The semantics of the declaration list is changed to include associated initialization, which is performed 5168 5799 // *before* the transfer to the appropriate case clause by hoisting the declarations into a compound … … 5170 5801 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5171 5802 // statement. 5172 (yyval.sn) = (yyvsp[ -2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw ))) ) : sw;5803 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw; 5173 5804 } 5174 #line 5175 "Parser/parser.cc" /* yacc.c:1646 */ 5175 break; 5176 5177 case 153: 5178 #line 740 "parser.yy" /* yacc.c:1646 */ 5179 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[-2].en), (yyvsp[0].sn) ) ); } 5180 #line 5181 "Parser/parser.cc" /* yacc.c:1646 */ 5181 break; 5182 5183 case 154: 5184 #line 742 "parser.yy" /* yacc.c:1646 */ 5805 break; 5806 5807 case 156: 5808 5809 /* Line 1806 of yacc.c */ 5810 #line 747 "parser.yy" 5811 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5812 break; 5813 5814 case 157: 5815 5816 /* Line 1806 of yacc.c */ 5817 #line 749 "parser.yy" 5185 5818 { 5186 StatementNode *sw = new StatementNode( build_switch( (yyvsp[-6].en), (yyvsp[-1].sn)) );5187 (yyval.sn) = (yyvsp[ -2].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[-2].decl) ))->set_last( sw ))) ) : sw;5819 StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); 5820 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw; 5188 5821 } 5189 #line 5190 "Parser/parser.cc" /* yacc.c:1646 */5190 break;5191 5192 case 155:5193 #line 752 "parser.yy" /* yacc.c:1646 */5194 { (yyval.en) = (yyvsp[0].en); }5195 #line 5196 "Parser/parser.cc" /* yacc.c:1646 */5196 break;5197 5198 case 156:5199 #line 754 "parser.yy" /* yacc.c:1646 */5200 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); }5201 #line 5202 "Parser/parser.cc" /* yacc.c:1646 */5202 5822 break; 5203 5823 5204 5824 case 158: 5205 #line 759 "parser.yy" /* yacc.c:1646 */ 5206 { (yyval.sn) = new StatementNode( build_case( (yyvsp[0].en) ) ); } 5207 #line 5208 "Parser/parser.cc" /* yacc.c:1646 */ 5825 5826 /* Line 1806 of yacc.c */ 5827 #line 759 "parser.yy" 5828 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5208 5829 break; 5209 5830 5210 5831 case 159: 5211 #line 761 "parser.yy" /* yacc.c:1646 */ 5212 { (yyval.sn) = (StatementNode *)((yyvsp[-2].sn)->set_last( new StatementNode( build_case( (yyvsp[0].en) ) ) ) ); } 5213 #line 5214 "Parser/parser.cc" /* yacc.c:1646 */ 5214 break; 5215 5216 case 160: 5217 #line 765 "parser.yy" /* yacc.c:1646 */ 5218 { (yyval.sn) = (yyvsp[-1].sn); } 5219 #line 5220 "Parser/parser.cc" /* yacc.c:1646 */ 5832 5833 /* Line 1806 of yacc.c */ 5834 #line 761 "parser.yy" 5835 { (yyval.en) = new CompositeExprNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5220 5836 break; 5221 5837 5222 5838 case 161: 5223 #line 766 "parser.yy" /* yacc.c:1646 */ 5224 { (yyval.sn) = new StatementNode( build_default() ); } 5225 #line 5226 "Parser/parser.cc" /* yacc.c:1646 */ 5839 5840 /* Line 1806 of yacc.c */ 5841 #line 766 "parser.yy" 5842 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); } 5843 break; 5844 5845 case 162: 5846 5847 /* Line 1806 of yacc.c */ 5848 #line 768 "parser.yy" 5849 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); } 5226 5850 break; 5227 5851 5228 5852 case 163: 5229 #line 772 "parser.yy" /* yacc.c:1646 */ 5230 { (yyval.sn) = (StatementNode *)( (yyvsp[-1].sn)->set_last( (yyvsp[0].sn) )); } 5231 #line 5232 "Parser/parser.cc" /* yacc.c:1646 */ 5853 5854 /* Line 1806 of yacc.c */ 5855 #line 772 "parser.yy" 5856 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5232 5857 break; 5233 5858 5234 5859 case 164: 5235 #line 776 "parser.yy" /* yacc.c:1646 */ 5236 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5237 #line 5238 "Parser/parser.cc" /* yacc.c:1646 */ 5238 break; 5239 5240 case 165: 5241 #line 781 "parser.yy" /* yacc.c:1646 */ 5860 5861 /* Line 1806 of yacc.c */ 5862 #line 773 "parser.yy" 5863 { (yyval.sn) = new StatementNode( StatementNode::Default ); } 5864 break; 5865 5866 case 166: 5867 5868 /* Line 1806 of yacc.c */ 5869 #line 779 "parser.yy" 5870 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 5871 break; 5872 5873 case 167: 5874 5875 /* Line 1806 of yacc.c */ 5876 #line 783 "parser.yy" 5877 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 5878 break; 5879 5880 case 168: 5881 5882 /* Line 1806 of yacc.c */ 5883 #line 788 "parser.yy" 5242 5884 { (yyval.sn) = 0; } 5243 #line 5244 "Parser/parser.cc" /* yacc.c:1646 */ 5244 break; 5245 5246 case 167: 5247 #line 787 "parser.yy" /* yacc.c:1646 */ 5248 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ); } 5249 #line 5250 "Parser/parser.cc" /* yacc.c:1646 */ 5250 break; 5251 5252 case 168: 5253 #line 789 "parser.yy" /* yacc.c:1646 */ 5254 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[0].sn) ) ) ) ) ); } 5255 #line 5256 "Parser/parser.cc" /* yacc.c:1646 */ 5256 break; 5257 5258 case 169: 5259 #line 794 "parser.yy" /* yacc.c:1646 */ 5885 break; 5886 5887 case 170: 5888 5889 /* Line 1806 of yacc.c */ 5890 #line 794 "parser.yy" 5891 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 5892 break; 5893 5894 case 171: 5895 5896 /* Line 1806 of yacc.c */ 5897 #line 796 "parser.yy" 5898 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5899 break; 5900 5901 case 172: 5902 5903 /* Line 1806 of yacc.c */ 5904 #line 801 "parser.yy" 5260 5905 { (yyval.sn) = 0; } 5261 #line 5262 "Parser/parser.cc" /* yacc.c:1646 */5262 break;5263 5264 case 171:5265 #line 800 "parser.yy" /* yacc.c:1646 */5266 { (yyval.sn) = (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ); }5267 #line 5268 "Parser/parser.cc" /* yacc.c:1646 */5268 break;5269 5270 case 172:5271 #line 802 "parser.yy" /* yacc.c:1646 */5272 { (yyval.sn) = (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ); }5273 #line 5274 "Parser/parser.cc" /* yacc.c:1646 */5274 break;5275 5276 case 173:5277 #line 804 "parser.yy" /* yacc.c:1646 */5278 { (yyval.sn) = (StatementNode *)( (yyvsp[-2].sn)->set_last( (yyvsp[-1].sn)->append_last_case( (yyvsp[0].sn) ))); }5279 #line 5280 "Parser/parser.cc" /* yacc.c:1646 */5280 5906 break; 5281 5907 5282 5908 case 174: 5283 #line 806 "parser.yy" /* yacc.c:1646 */ 5284 { (yyval.sn) = (StatementNode *)( (yyvsp[-3].sn)->set_last( (yyvsp[-2].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[-1].sn)->set_last( (yyvsp[0].sn) ) ) ) ) ) ); } 5285 #line 5286 "Parser/parser.cc" /* yacc.c:1646 */ 5909 5910 /* Line 1806 of yacc.c */ 5911 #line 807 "parser.yy" 5912 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5286 5913 break; 5287 5914 5288 5915 case 175: 5289 #line 811 "parser.yy" /* yacc.c:1646 */ 5290 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Break ) ); } 5291 #line 5292 "Parser/parser.cc" /* yacc.c:1646 */ 5916 5917 /* Line 1806 of yacc.c */ 5918 #line 809 "parser.yy" 5919 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); } 5920 break; 5921 5922 case 176: 5923 5924 /* Line 1806 of yacc.c */ 5925 #line 811 "parser.yy" 5926 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5292 5927 break; 5293 5928 5294 5929 case 177: 5295 #line 817 "parser.yy" /* yacc.c:1646 */ 5930 5931 /* Line 1806 of yacc.c */ 5932 #line 813 "parser.yy" 5933 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5934 break; 5935 5936 case 178: 5937 5938 /* Line 1806 of yacc.c */ 5939 #line 818 "parser.yy" 5940 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 5941 break; 5942 5943 case 180: 5944 5945 /* Line 1806 of yacc.c */ 5946 #line 824 "parser.yy" 5296 5947 { (yyval.sn) = 0; } 5297 #line 5298 "Parser/parser.cc" /* yacc.c:1646 */ 5298 break; 5299 5300 case 178: 5301 #line 819 "parser.yy" /* yacc.c:1646 */ 5948 break; 5949 5950 case 181: 5951 5952 /* Line 1806 of yacc.c */ 5953 #line 826 "parser.yy" 5302 5954 { (yyval.sn) = 0; } 5303 #line 5304 "Parser/parser.cc" /* yacc.c:1646 */5304 break;5305 5306 case 179:5307 #line 824 "parser.yy" /* yacc.c:1646 */5308 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[0].sn) ) ); }5309 #line 5310 "Parser/parser.cc" /* yacc.c:1646 */5310 break;5311 5312 case 180:5313 #line 826 "parser.yy" /* yacc.c:1646 */5314 { (yyval.sn) = new StatementNode( build_while( (yyvsp[-2].en), (yyvsp[-5].sn) ) ); }5315 #line 5316 "Parser/parser.cc" /* yacc.c:1646 */5316 break;5317 5318 case 181:5319 #line 828 "parser.yy" /* yacc.c:1646 */5320 { (yyval.sn) = new StatementNode( build_for( (yyvsp[-2].fctl), (yyvsp[0].sn) ) ); }5321 #line 5322 "Parser/parser.cc" /* yacc.c:1646 */5322 5955 break; 5323 5956 5324 5957 case 182: 5325 #line 833 "parser.yy" /* yacc.c:1646 */ 5326 { (yyval.fctl) = new ForCtl( (yyvsp[-5].en), (yyvsp[-2].en), (yyvsp[0].en) ); } 5327 #line 5328 "Parser/parser.cc" /* yacc.c:1646 */ 5958 5959 /* Line 1806 of yacc.c */ 5960 #line 831 "parser.yy" 5961 { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5328 5962 break; 5329 5963 5330 5964 case 183: 5331 #line 835 "parser.yy" /* yacc.c:1646 */ 5332 { (yyval.fctl) = new ForCtl( (yyvsp[-3].decl), (yyvsp[-2].en), (yyvsp[0].en) ); } 5333 #line 5334 "Parser/parser.cc" /* yacc.c:1646 */ 5965 5966 /* Line 1806 of yacc.c */ 5967 #line 833 "parser.yy" 5968 { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); } 5334 5969 break; 5335 5970 5336 5971 case 184: 5337 #line 840 "parser.yy" /* yacc.c:1646 */ 5338 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Goto ) ); } 5339 #line 5340 "Parser/parser.cc" /* yacc.c:1646 */ 5972 5973 /* Line 1806 of yacc.c */ 5974 #line 835 "parser.yy" 5975 { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); } 5340 5976 break; 5341 5977 5342 5978 case 185: 5343 #line 844 "parser.yy" /* yacc.c:1646 */ 5344 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[-1].en) ) ); } 5345 #line 5346 "Parser/parser.cc" /* yacc.c:1646 */ 5979 5980 /* Line 1806 of yacc.c */ 5981 #line 840 "parser.yy" 5982 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5346 5983 break; 5347 5984 5348 5985 case 186: 5349 #line 847 "parser.yy" /* yacc.c:1646 */ 5350 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Continue ) ); } 5351 #line 5352 "Parser/parser.cc" /* yacc.c:1646 */ 5986 5987 /* Line 1806 of yacc.c */ 5988 #line 842 "parser.yy" 5989 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5352 5990 break; 5353 5991 5354 5992 case 187: 5355 #line 851 "parser.yy" /* yacc.c:1646 */ 5356 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Continue ) ); } 5357 #line 5358 "Parser/parser.cc" /* yacc.c:1646 */ 5993 5994 /* Line 1806 of yacc.c */ 5995 #line 847 "parser.yy" 5996 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); } 5358 5997 break; 5359 5998 5360 5999 case 188: 5361 #line 854 "parser.yy" /* yacc.c:1646 */ 5362 { (yyval.sn) = new StatementNode( build_branch( "", BranchStmt::Break ) ); } 5363 #line 5364 "Parser/parser.cc" /* yacc.c:1646 */ 6000 6001 /* Line 1806 of yacc.c */ 6002 #line 851 "parser.yy" 6003 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); } 5364 6004 break; 5365 6005 5366 6006 case 189: 5367 #line 858 "parser.yy" /* yacc.c:1646 */ 5368 { (yyval.sn) = new StatementNode( build_branch( assign_strptr((yyvsp[-1].tok)), BranchStmt::Break ) ); } 5369 #line 5370 "Parser/parser.cc" /* yacc.c:1646 */ 6007 6008 /* Line 1806 of yacc.c */ 6009 #line 854 "parser.yy" 6010 { (yyval.sn) = new StatementNode( StatementNode::Continue ); } 5370 6011 break; 5371 6012 5372 6013 case 190: 5373 #line 860 "parser.yy" /* yacc.c:1646 */ 5374 { (yyval.sn) = new StatementNode( build_return( (yyvsp[-1].en) ) ); } 5375 #line 5376 "Parser/parser.cc" /* yacc.c:1646 */ 6014 6015 /* Line 1806 of yacc.c */ 6016 #line 858 "parser.yy" 6017 { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); } 5376 6018 break; 5377 6019 5378 6020 case 191: 5379 #line 862 "parser.yy" /* yacc.c:1646 */ 5380 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5381 #line 5382 "Parser/parser.cc" /* yacc.c:1646 */ 6021 6022 /* Line 1806 of yacc.c */ 6023 #line 861 "parser.yy" 6024 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 5382 6025 break; 5383 6026 5384 6027 case 192: 5385 #line 864 "parser.yy" /* yacc.c:1646 */ 5386 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-1].en) ) ); } 5387 #line 5388 "Parser/parser.cc" /* yacc.c:1646 */ 6028 6029 /* Line 1806 of yacc.c */ 6030 #line 865 "parser.yy" 6031 { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); } 5388 6032 break; 5389 6033 5390 6034 case 193: 5391 #line 866 "parser.yy" /* yacc.c:1646 */ 5392 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[-3].en) ) ); } 5393 #line 5394 "Parser/parser.cc" /* yacc.c:1646 */ 6035 6036 /* Line 1806 of yacc.c */ 6037 #line 867 "parser.yy" 6038 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 5394 6039 break; 5395 6040 5396 6041 case 194: 5397 #line 871 "parser.yy" /* yacc.c:1646 */ 5398 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), (yyvsp[0].sn), 0 ) ); } 5399 #line 5400 "Parser/parser.cc" /* yacc.c:1646 */ 6042 6043 /* Line 1806 of yacc.c */ 6044 #line 869 "parser.yy" 6045 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 5400 6046 break; 5401 6047 5402 6048 case 195: 5403 #line 873 "parser.yy" /* yacc.c:1646 */ 5404 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-1].sn), 0, (yyvsp[0].sn) ) ); } 5405 #line 5406 "Parser/parser.cc" /* yacc.c:1646 */ 6049 6050 /* Line 1806 of yacc.c */ 6051 #line 873 "parser.yy" 6052 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 5406 6053 break; 5407 6054 5408 6055 case 196: 5409 #line 875 "parser.yy" /* yacc.c:1646 */ 5410 { (yyval.sn) = new StatementNode( build_try( (yyvsp[-2].sn), (yyvsp[-1].sn), (yyvsp[0].sn) ) ); } 5411 #line 5412 "Parser/parser.cc" /* yacc.c:1646 */ 6056 6057 /* Line 1806 of yacc.c */ 6058 #line 875 "parser.yy" 6059 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); } 6060 break; 6061 6062 case 197: 6063 6064 /* Line 1806 of yacc.c */ 6065 #line 882 "parser.yy" 6066 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 5412 6067 break; 5413 6068 5414 6069 case 198: 5415 #line 882 "parser.yy" /* yacc.c:1646 */ 5416 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5417 #line 5418 "Parser/parser.cc" /* yacc.c:1646 */ 6070 6071 /* Line 1806 of yacc.c */ 6072 #line 884 "parser.yy" 6073 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 5418 6074 break; 5419 6075 5420 6076 case 199: 5421 #line 884 "parser.yy" /* yacc.c:1646 */ 5422 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5423 #line 5424 "Parser/parser.cc" /* yacc.c:1646 */ 5424 break; 5425 5426 case 200: 5427 #line 886 "parser.yy" /* yacc.c:1646 */ 5428 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ); } 5429 #line 5430 "Parser/parser.cc" /* yacc.c:1646 */ 6077 6078 /* Line 1806 of yacc.c */ 6079 #line 886 "parser.yy" 6080 { 6081 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); 6082 (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (4)].sn),*(yyvsp[(3) - (4)].pn) )))); 6083 } 5430 6084 break; 5431 6085 5432 6086 case 201: 5433 #line 888 "parser.yy" /* yacc.c:1646 */ 5434 { (yyval.sn) = (StatementNode *)(yyvsp[-5].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[0].sn), true ) ) ); } 5435 #line 5436 "Parser/parser.cc" /* yacc.c:1646 */ 6087 6088 /* Line 1806 of yacc.c */ 6089 #line 897 "parser.yy" 6090 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 5436 6091 break; 5437 6092 5438 6093 case 202: 5439 #line 893 "parser.yy" /* yacc.c:1646 */ 5440 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5441 #line 5442 "Parser/parser.cc" /* yacc.c:1646 */ 6094 6095 /* Line 1806 of yacc.c */ 6096 #line 899 "parser.yy" 6097 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 5442 6098 break; 5443 6099 5444 6100 case 203: 5445 #line 895 "parser.yy" /* yacc.c:1646 */ 5446 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5447 #line 5448 "Parser/parser.cc" /* yacc.c:1646 */ 6101 6102 /* Line 1806 of yacc.c */ 6103 #line 901 "parser.yy" 6104 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 5448 6105 break; 5449 6106 5450 6107 case 204: 5451 #line 897 "parser.yy" /* yacc.c:1646 */ 5452 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ); } 5453 #line 5454 "Parser/parser.cc" /* yacc.c:1646 */ 6108 6109 /* Line 1806 of yacc.c */ 6110 #line 903 "parser.yy" 6111 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 5454 6112 break; 5455 6113 5456 6114 case 205: 5457 #line 899 "parser.yy" /* yacc.c:1646 */ 5458 { (yyval.sn) = (StatementNode *)(yyvsp[-9].sn)->set_last( new StatementNode( build_catch( (yyvsp[-4].decl), (yyvsp[-1].sn) ) ) ); } 5459 #line 5460 "Parser/parser.cc" /* yacc.c:1646 */ 6115 6116 /* Line 1806 of yacc.c */ 6117 #line 908 "parser.yy" 6118 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 5460 6119 break; 5461 6120 5462 6121 case 206: 5463 #line 904 "parser.yy" /* yacc.c:1646 */ 6122 6123 /* Line 1806 of yacc.c */ 6124 #line 910 "parser.yy" 6125 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6126 break; 6127 6128 case 207: 6129 6130 /* Line 1806 of yacc.c */ 6131 #line 912 "parser.yy" 6132 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6133 break; 6134 6135 case 208: 6136 6137 /* Line 1806 of yacc.c */ 6138 #line 914 "parser.yy" 6139 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6140 break; 6141 6142 case 209: 6143 6144 /* Line 1806 of yacc.c */ 6145 #line 919 "parser.yy" 5464 6146 { 5465 (yyval.sn) = new StatementNode( build_finally( (yyvsp[0].sn) ) ); 6147 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); 6148 std::cout << "Just created a finally node" << std::endl; 5466 6149 } 5467 #line 5468 "Parser/parser.cc" /* yacc.c:1646 */ 5468 break; 5469 5470 case 208: 5471 #line 917 "parser.yy" /* yacc.c:1646 */ 6150 break; 6151 6152 case 211: 6153 6154 /* Line 1806 of yacc.c */ 6155 #line 933 "parser.yy" 5472 6156 { 5473 6157 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5474 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) );6158 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); 5475 6159 } 5476 #line 5477 "Parser/parser.cc" /* yacc.c:1646 */ 5477 break; 5478 5479 case 209: 5480 #line 922 "parser.yy" /* yacc.c:1646 */ 5481 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 5482 #line 5483 "Parser/parser.cc" /* yacc.c:1646 */ 5483 break; 5484 5485 case 210: 5486 #line 924 "parser.yy" /* yacc.c:1646 */ 6160 break; 6161 6162 case 212: 6163 6164 /* Line 1806 of yacc.c */ 6165 #line 938 "parser.yy" 6166 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6167 break; 6168 6169 case 213: 6170 6171 /* Line 1806 of yacc.c */ 6172 #line 940 "parser.yy" 5487 6173 { 5488 6174 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5489 (yyval.decl) = (yyvsp[ -1].decl)->addName( (yyvsp[0].tok) );6175 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); 5490 6176 } 5491 #line 5492 "Parser/parser.cc" /* yacc.c:1646 */5492 break;5493 5494 case 212:5495 #line 933 "parser.yy" /* yacc.c:1646 */5496 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-4].flag), (yyvsp[-2].constant), 0 ) ); }5497 #line 5498 "Parser/parser.cc" /* yacc.c:1646 */5498 break;5499 5500 case 213:5501 #line 935 "parser.yy" /* yacc.c:1646 */5502 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-6].flag), (yyvsp[-4].constant), (yyvsp[-2].en) ) ); }5503 #line 5504 "Parser/parser.cc" /* yacc.c:1646 */5504 break;5505 5506 case 214:5507 #line 937 "parser.yy" /* yacc.c:1646 */5508 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-8].flag), (yyvsp[-6].constant), (yyvsp[-4].en), (yyvsp[-2].en) ) ); }5509 #line 5510 "Parser/parser.cc" /* yacc.c:1646 */5510 6177 break; 5511 6178 5512 6179 case 215: 5513 #line 939 "parser.yy" /* yacc.c:1646 */ 5514 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-10].flag), (yyvsp[-8].constant), (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 5515 #line 5516 "Parser/parser.cc" /* yacc.c:1646 */ 6180 6181 /* Line 1806 of yacc.c */ 6182 #line 949 "parser.yy" 6183 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 5516 6184 break; 5517 6185 5518 6186 case 216: 5519 #line 941 "parser.yy" /* yacc.c:1646 */ 5520 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[-12].flag), (yyvsp[-9].constant), 0, (yyvsp[-6].en), (yyvsp[-4].en), (yyvsp[-2].label) ) ); } 5521 #line 5522 "Parser/parser.cc" /* yacc.c:1646 */ 6187 6188 /* Line 1806 of yacc.c */ 6189 #line 951 "parser.yy" 6190 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 5522 6191 break; 5523 6192 5524 6193 case 217: 5525 #line 946 "parser.yy" /* yacc.c:1646 */ 6194 6195 /* Line 1806 of yacc.c */ 6196 #line 953 "parser.yy" 6197 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6198 break; 6199 6200 case 218: 6201 6202 /* Line 1806 of yacc.c */ 6203 #line 955 "parser.yy" 6204 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); } 6205 break; 6206 6207 case 219: 6208 6209 /* Line 1806 of yacc.c */ 6210 #line 957 "parser.yy" 6211 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); } 6212 break; 6213 6214 case 220: 6215 6216 /* Line 1806 of yacc.c */ 6217 #line 962 "parser.yy" 5526 6218 { (yyval.flag) = false; } 5527 #line 5528 "Parser/parser.cc" /* yacc.c:1646 */ 5528 break; 5529 5530 case 218: 5531 #line 948 "parser.yy" /* yacc.c:1646 */ 6219 break; 6220 6221 case 221: 6222 6223 /* Line 1806 of yacc.c */ 6224 #line 964 "parser.yy" 5532 6225 { (yyval.flag) = true; } 5533 #line 5534 "Parser/parser.cc" /* yacc.c:1646 */ 5534 break; 5535 5536 case 219: 5537 #line 953 "parser.yy" /* yacc.c:1646 */ 6226 break; 6227 6228 case 222: 6229 6230 /* Line 1806 of yacc.c */ 6231 #line 969 "parser.yy" 5538 6232 { (yyval.en) = 0; } 5539 #line 5540 "Parser/parser.cc" /* yacc.c:1646 */5540 break;5541 5542 case 222:5543 #line 960 "parser.yy" /* yacc.c:1646 */5544 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( (yyvsp[0].en) ); }5545 #line 5546 "Parser/parser.cc" /* yacc.c:1646 */5546 break;5547 5548 case 223:5549 #line 965 "parser.yy" /* yacc.c:1646 */5550 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[-3].constant), (yyvsp[-1].en) ) ); }5551 #line 5552 "Parser/parser.cc" /* yacc.c:1646 */5552 break;5553 5554 case 224:5555 #line 967 "parser.yy" /* yacc.c:1646 */5556 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[-5].en), (yyvsp[-3].constant), (yyvsp[-1].en) ) ); }5557 #line 5558 "Parser/parser.cc" /* yacc.c:1646 */5558 6233 break; 5559 6234 5560 6235 case 225: 5561 #line 972 "parser.yy" /* yacc.c:1646 */ 5562 { (yyval.en) = 0; } 5563 #line 5564 "Parser/parser.cc" /* yacc.c:1646 */ 6236 6237 /* Line 1806 of yacc.c */ 6238 #line 976 "parser.yy" 6239 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5564 6240 break; 5565 6241 5566 6242 case 226: 5567 #line 974 "parser.yy" /* yacc.c:1646 */ 5568 { (yyval.en) = new ExpressionNode( (yyvsp[0].constant) ); } 5569 #line 5570 "Parser/parser.cc" /* yacc.c:1646 */ 6243 6244 /* Line 1806 of yacc.c */ 6245 #line 981 "parser.yy" 6246 { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); } 5570 6247 break; 5571 6248 5572 6249 case 227: 5573 #line 976 "parser.yy" /* yacc.c:1646 */ 5574 { (yyval.en) = (ExpressionNode *)(yyvsp[-2].en)->set_last( new ExpressionNode( (yyvsp[0].constant) ) ); } 5575 #line 5576 "Parser/parser.cc" /* yacc.c:1646 */ 6250 6251 /* Line 1806 of yacc.c */ 6252 #line 983 "parser.yy" 6253 { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); } 5576 6254 break; 5577 6255 5578 6256 case 228: 5579 #line 981 "parser.yy" /* yacc.c:1646 */ 5580 { (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( assign_strptr((yyvsp[0].tok)) ); } 5581 #line 5582 "Parser/parser.cc" /* yacc.c:1646 */ 6257 6258 /* Line 1806 of yacc.c */ 6259 #line 988 "parser.yy" 6260 { (yyval.constant) = 0; } 5582 6261 break; 5583 6262 5584 6263 case 229: 5585 #line 983 "parser.yy" /* yacc.c:1646 */ 5586 { (yyval.label) = (yyvsp[-2].label); (yyvsp[-2].label)->labels.push_back( assign_strptr((yyvsp[0].tok)) ); } 5587 #line 5588 "Parser/parser.cc" /* yacc.c:1646 */ 6264 6265 /* Line 1806 of yacc.c */ 6266 #line 990 "parser.yy" 6267 { (yyval.constant) = (yyvsp[(1) - (1)].constant); } 5588 6268 break; 5589 6269 5590 6270 case 230: 5591 #line 990 "parser.yy" /* yacc.c:1646 */ 6271 6272 /* Line 1806 of yacc.c */ 6273 #line 992 "parser.yy" 6274 { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); } 6275 break; 6276 6277 case 231: 6278 6279 /* Line 1806 of yacc.c */ 6280 #line 997 "parser.yy" 6281 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6282 break; 6283 6284 case 232: 6285 6286 /* Line 1806 of yacc.c */ 6287 #line 999 "parser.yy" 6288 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6289 break; 6290 6291 case 233: 6292 6293 /* Line 1806 of yacc.c */ 6294 #line 1006 "parser.yy" 5592 6295 { (yyval.decl) = 0; } 5593 #line 5594 "Parser/parser.cc" /* yacc.c:1646 */ 5594 break; 5595 5596 case 233: 5597 #line 997 "parser.yy" /* yacc.c:1646 */ 5598 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5599 #line 5600 "Parser/parser.cc" /* yacc.c:1646 */ 5600 break; 5601 5602 case 234: 5603 #line 1002 "parser.yy" /* yacc.c:1646 */ 6296 break; 6297 6298 case 236: 6299 6300 /* Line 1806 of yacc.c */ 6301 #line 1013 "parser.yy" 6302 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6303 break; 6304 6305 case 237: 6306 6307 /* Line 1806 of yacc.c */ 6308 #line 1018 "parser.yy" 5604 6309 { (yyval.decl) = 0; } 5605 #line 5606 "Parser/parser.cc" /* yacc.c:1646 */ 5606 break; 5607 5608 case 237: 5609 #line 1009 "parser.yy" /* yacc.c:1646 */ 5610 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 5611 #line 5612 "Parser/parser.cc" /* yacc.c:1646 */ 5612 break; 5613 5614 case 242: 5615 #line 1023 "parser.yy" /* yacc.c:1646 */ 6310 break; 6311 6312 case 240: 6313 6314 /* Line 1806 of yacc.c */ 6315 #line 1025 "parser.yy" 6316 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6317 break; 6318 6319 case 245: 6320 6321 /* Line 1806 of yacc.c */ 6322 #line 1039 "parser.yy" 5616 6323 {} 5617 #line 5618 "Parser/parser.cc" /* yacc.c:1646 */ 5618 break; 5619 5620 case 243: 5621 #line 1024 "parser.yy" /* yacc.c:1646 */ 6324 break; 6325 6326 case 246: 6327 6328 /* Line 1806 of yacc.c */ 6329 #line 1040 "parser.yy" 5622 6330 {} 5623 #line 5624 "Parser/parser.cc" /* yacc.c:1646 */ 5624 break; 5625 5626 case 251: 5627 #line 1053 "parser.yy" /* yacc.c:1646 */ 6331 break; 6332 6333 case 254: 6334 6335 /* Line 1806 of yacc.c */ 6336 #line 1069 "parser.yy" 5628 6337 { 5629 6338 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5630 (yyval.decl) = (yyvsp[ -1].decl)->addInitializer( (yyvsp[0].in) );6339 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addInitializer( (yyvsp[(2) - (2)].in) ); 5631 6340 } 5632 #line 5633 "Parser/parser.cc" /* yacc.c:1646 */ 5633 break; 5634 5635 case 252: 5636 #line 1060 "parser.yy" /* yacc.c:1646 */ 6341 break; 6342 6343 case 255: 6344 6345 /* Line 1806 of yacc.c */ 6346 #line 1076 "parser.yy" 5637 6347 { 5638 6348 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5639 (yyval.decl) = (yyvsp[ -1].decl)->addQualifiers( (yyvsp[-2].decl) )->addInitializer( (yyvsp[0].in) );;6349 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].in) );; 5640 6350 } 5641 #line 5642 "Parser/parser.cc" /* yacc.c:1646 */ 5642 break; 5643 5644 case 253: 5645 #line 1065 "parser.yy" /* yacc.c:1646 */ 6351 break; 6352 6353 case 256: 6354 6355 /* Line 1806 of yacc.c */ 6356 #line 1081 "parser.yy" 5646 6357 { 5647 typedefTable.addToEnclosingScope( *(yyvsp[ -1].tok), TypedefTable::ID );5648 (yyval.decl) = (yyvsp[ -5].decl)->appendList( (yyvsp[-5].decl)->cloneType( (yyvsp[-1].tok) )->addInitializer( (yyvsp[0].in) ) );6358 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); 6359 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) )->addInitializer( (yyvsp[(6) - (6)].in) ) ); 5649 6360 } 5650 #line 5651 "Parser/parser.cc" /* yacc.c:1646 */ 5651 break; 5652 5653 case 254: 5654 #line 1075 "parser.yy" /* yacc.c:1646 */ 6361 break; 6362 6363 case 257: 6364 6365 /* Line 1806 of yacc.c */ 6366 #line 1091 "parser.yy" 5655 6367 { 5656 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5657 (yyval.decl) = (yyvsp[ -2].decl)->addName( (yyvsp[-1].tok) );6368 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6369 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5658 6370 } 5659 #line 5660 "Parser/parser.cc" /* yacc.c:1646 */ 5660 break; 5661 5662 case 255: 5663 #line 1080 "parser.yy" /* yacc.c:1646 */ 6371 break; 6372 6373 case 258: 6374 6375 /* Line 1806 of yacc.c */ 6376 #line 1096 "parser.yy" 5664 6377 { 5665 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5666 (yyval.decl) = (yyvsp[ -2].decl)->addName( (yyvsp[-1].tok) );6378 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); 6379 (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); 5667 6380 } 5668 #line 5669 "Parser/parser.cc" /* yacc.c:1646 */ 5669 break; 5670 5671 case 256: 5672 #line 1085 "parser.yy" /* yacc.c:1646 */ 6381 break; 6382 6383 case 259: 6384 6385 /* Line 1806 of yacc.c */ 6386 #line 1101 "parser.yy" 5673 6387 { 5674 typedefTable.setNextIdentifier( *(yyvsp[ -1].tok) );5675 (yyval.decl) = (yyvsp[ -2].decl)->addQualifiers( (yyvsp[-3].decl) )->addName( (yyvsp[-1].tok) );6388 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); 6389 (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) ); 5676 6390 } 5677 #line 5678 "Parser/parser.cc" /* yacc.c:1646 */ 5678 break; 5679 5680 case 257: 5681 #line 1093 "parser.yy" /* yacc.c:1646 */ 6391 break; 6392 6393 case 260: 6394 6395 /* Line 1806 of yacc.c */ 6396 #line 1109 "parser.yy" 5682 6397 { 5683 6398 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5684 (yyval.decl) = (yyvsp[ 0].decl);6399 (yyval.decl) = (yyvsp[(1) - (1)].decl); 5685 6400 } 5686 #line 5687 "Parser/parser.cc" /* yacc.c:1646 */ 5687 break; 5688 5689 case 258: 5690 #line 1098 "parser.yy" /* yacc.c:1646 */ 6401 break; 6402 6403 case 261: 6404 6405 /* Line 1806 of yacc.c */ 6406 #line 1114 "parser.yy" 5691 6407 { 5692 6408 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5693 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-1].decl) );6409 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); 5694 6410 } 5695 #line 5696 "Parser/parser.cc" /* yacc.c:1646 */ 5696 break; 5697 5698 case 259: 5699 #line 1103 "parser.yy" /* yacc.c:1646 */ 6411 break; 6412 6413 case 262: 6414 6415 /* Line 1806 of yacc.c */ 6416 #line 1119 "parser.yy" 5700 6417 { 5701 6418 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5702 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-1].decl) );6419 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); 5703 6420 } 5704 #line 5705 "Parser/parser.cc" /* yacc.c:1646 */ 5705 break; 5706 5707 case 260: 5708 #line 1108 "parser.yy" /* yacc.c:1646 */ 6421 break; 6422 6423 case 263: 6424 6425 /* Line 1806 of yacc.c */ 6426 #line 1124 "parser.yy" 5709 6427 { 5710 6428 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5711 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-1].decl) );6429 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(2) - (3)].decl) ); 5712 6430 } 5713 #line 5714 "Parser/parser.cc" /* yacc.c:1646 */ 5714 break; 5715 5716 case 261: 5717 #line 1113 "parser.yy" /* yacc.c:1646 */ 6431 break; 6432 6433 case 264: 6434 6435 /* Line 1806 of yacc.c */ 6436 #line 1129 "parser.yy" 5718 6437 { 5719 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::ID );5720 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );6438 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 6439 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5721 6440 } 5722 #line 5723 "Parser/parser.cc" /* yacc.c:1646 */ 5723 break; 5724 5725 case 262: 5726 #line 1121 "parser.yy" /* yacc.c:1646 */ 6441 break; 6442 6443 case 265: 6444 6445 /* Line 1806 of yacc.c */ 6446 #line 1137 "parser.yy" 5727 6447 { 5728 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), DeclarationNode::newTuple( 0 ), (yyvsp[-2].decl), 0, true );6448 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); 5729 6449 } 5730 #line 5731 "Parser/parser.cc" /* yacc.c:1646 */ 5731 break; 5732 5733 case 263: 5734 #line 1144 "parser.yy" /* yacc.c:1646 */ 6450 break; 6451 6452 case 266: 6453 6454 /* Line 1806 of yacc.c */ 6455 #line 1160 "parser.yy" 5735 6456 { 5736 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true );6457 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5737 6458 } 5738 #line 5739 "Parser/parser.cc" /* yacc.c:1646 */ 5739 break; 5740 5741 case 264: 5742 #line 1148 "parser.yy" /* yacc.c:1646 */ 6459 break; 6460 6461 case 267: 6462 6463 /* Line 1806 of yacc.c */ 6464 #line 1164 "parser.yy" 5743 6465 { 5744 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[ -5].tok), (yyvsp[-6].decl), (yyvsp[-2].decl), 0, true );6466 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 5745 6467 } 5746 #line 5747 "Parser/parser.cc" /* yacc.c:1646 */ 5747 break; 5748 5749 case 265: 5750 #line 1155 "parser.yy" /* yacc.c:1646 */ 5751 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 5752 #line 5753 "Parser/parser.cc" /* yacc.c:1646 */ 5753 break; 5754 5755 case 266: 5756 #line 1159 "parser.yy" /* yacc.c:1646 */ 5757 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-6].decl)->appendList( (yyvsp[-2].decl) ) ); } 5758 #line 5759 "Parser/parser.cc" /* yacc.c:1646 */ 5759 break; 5760 5761 case 267: 5762 #line 1164 "parser.yy" /* yacc.c:1646 */ 6468 break; 6469 6470 case 268: 6471 6472 /* Line 1806 of yacc.c */ 6473 #line 1171 "parser.yy" 6474 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6475 break; 6476 6477 case 269: 6478 6479 /* Line 1806 of yacc.c */ 6480 #line 1175 "parser.yy" 6481 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6482 break; 6483 6484 case 270: 6485 6486 /* Line 1806 of yacc.c */ 6487 #line 1180 "parser.yy" 5763 6488 { 5764 6489 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5765 (yyval.decl) = (yyvsp[ 0].decl)->addTypedef();6490 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 5766 6491 } 5767 #line 5768 "Parser/parser.cc" /* yacc.c:1646 */ 5768 break; 5769 5770 case 268: 5771 #line 1169 "parser.yy" /* yacc.c:1646 */ 6492 break; 6493 6494 case 271: 6495 6496 /* Line 1806 of yacc.c */ 6497 #line 1185 "parser.yy" 5772 6498 { 5773 6499 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5774 (yyval.decl) = (yyvsp[ 0].decl)->addTypedef();6500 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addTypedef(); 5775 6501 } 5776 #line 5777 "Parser/parser.cc" /* yacc.c:1646 */ 5777 break; 5778 5779 case 269: 5780 #line 1174 "parser.yy" /* yacc.c:1646 */ 6502 break; 6503 6504 case 272: 6505 6506 /* Line 1806 of yacc.c */ 6507 #line 1190 "parser.yy" 5781 6508 { 5782 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::TD );5783 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );6509 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); 6510 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 5784 6511 } 5785 #line 5786 "Parser/parser.cc" /* yacc.c:1646 */ 5786 break; 5787 5788 case 270: 5789 #line 1185 "parser.yy" /* yacc.c:1646 */ 6512 break; 6513 6514 case 273: 6515 6516 /* Line 1806 of yacc.c */ 6517 #line 1201 "parser.yy" 5790 6518 { 5791 6519 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5792 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) )->addTypedef();6520 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(2) - (3)].decl) )->addTypedef(); 5793 6521 } 5794 #line 5795 "Parser/parser.cc" /* yacc.c:1646 */ 5795 break; 5796 5797 case 271: 5798 #line 1190 "parser.yy" /* yacc.c:1646 */ 6522 break; 6523 6524 case 274: 6525 6526 /* Line 1806 of yacc.c */ 6527 #line 1206 "parser.yy" 5799 6528 { 5800 6529 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5801 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) )->addTypedef() );6530 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) )->addTypedef() ); 5802 6531 } 5803 #line 5804 "Parser/parser.cc" /* yacc.c:1646 */ 5804 break; 5805 5806 case 272: 5807 #line 1195 "parser.yy" /* yacc.c:1646 */ 6532 break; 6533 6534 case 275: 6535 6536 /* Line 1806 of yacc.c */ 6537 #line 1211 "parser.yy" 5808 6538 { 5809 6539 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5810 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[-3].decl) )->addTypedef();6540 (yyval.decl) = (yyvsp[(4) - (4)].decl)->addType( (yyvsp[(3) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef(); 5811 6541 } 5812 #line 5813 "Parser/parser.cc" /* yacc.c:1646 */ 5813 break; 5814 5815 case 273: 5816 #line 1200 "parser.yy" /* yacc.c:1646 */ 6542 break; 6543 6544 case 276: 6545 6546 /* Line 1806 of yacc.c */ 6547 #line 1216 "parser.yy" 5817 6548 { 5818 6549 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5819 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-2].decl) )->addTypedef();6550 (yyval.decl) = (yyvsp[(3) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addTypedef(); 5820 6551 } 5821 #line 5822 "Parser/parser.cc" /* yacc.c:1646 */ 5822 break; 5823 5824 case 274: 5825 #line 1205 "parser.yy" /* yacc.c:1646 */ 6552 break; 6553 6554 case 277: 6555 6556 /* Line 1806 of yacc.c */ 6557 #line 1221 "parser.yy" 5826 6558 { 5827 6559 typedefTable.addToEnclosingScope( TypedefTable::TD ); 5828 (yyval.decl) = (yyvsp[ 0].decl)->addQualifiers( (yyvsp[-3].decl) )->addTypedef()->addType( (yyvsp[-3].decl) );6560 (yyval.decl) = (yyvsp[(4) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addTypedef()->addType( (yyvsp[(1) - (4)].decl) ); 5829 6561 } 5830 #line 5831 "Parser/parser.cc" /* yacc.c:1646 */ 5831 break; 5832 5833 case 275: 5834 #line 1214 "parser.yy" /* yacc.c:1646 */ 6562 break; 6563 6564 case 278: 6565 6566 /* Line 1806 of yacc.c */ 6567 #line 1230 "parser.yy" 5835 6568 { 5836 typedefTable.addToEnclosingScope( *(yyvsp[ -2].tok), TypedefTable::TD );6569 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); 5837 6570 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 5838 6571 } 5839 #line 5840 "Parser/parser.cc" /* yacc.c:1646 */ 5840 break; 5841 5842 case 276: 5843 #line 1219 "parser.yy" /* yacc.c:1646 */ 6572 break; 6573 6574 case 279: 6575 6576 /* Line 1806 of yacc.c */ 6577 #line 1235 "parser.yy" 5844 6578 { 5845 typedefTable.addToEnclosingScope( *(yyvsp[ -2].tok), TypedefTable::TD );6579 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); 5846 6580 (yyval.decl) = DeclarationNode::newName( 0 ); // XXX 5847 6581 } 5848 #line 5849 "Parser/parser.cc" /* yacc.c:1646 */ 5849 break; 5850 5851 case 281: 5852 #line 1236 "parser.yy" /* yacc.c:1646 */ 6582 break; 6583 6584 case 284: 6585 6586 /* Line 1806 of yacc.c */ 6587 #line 1252 "parser.yy" 5853 6588 { 5854 6589 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5855 (yyval.decl) = ( (yyvsp[ -2].decl)->addType( (yyvsp[-3].decl) ))->addInitializer( (yyvsp[0].in) );6590 (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) ); 5856 6591 } 5857 #line 5858 "Parser/parser.cc" /* yacc.c:1646 */ 5858 break; 5859 5860 case 282: 5861 #line 1241 "parser.yy" /* yacc.c:1646 */ 6592 break; 6593 6594 case 285: 6595 6596 /* Line 1806 of yacc.c */ 6597 #line 1257 "parser.yy" 5862 6598 { 5863 6599 typedefTable.addToEnclosingScope( TypedefTable::ID ); 5864 (yyval.decl) = (yyvsp[ -5].decl)->appendList( (yyvsp[-5].decl)->cloneBaseType( (yyvsp[-2].decl)->addInitializer( (yyvsp[0].in) ) ) );6600 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) ); 5865 6601 } 5866 #line 5867 "Parser/parser.cc" /* yacc.c:1646 */ 5867 break; 5868 5869 case 291: 5870 #line 1263 "parser.yy" /* yacc.c:1646 */ 6602 break; 6603 6604 case 294: 6605 6606 /* Line 1806 of yacc.c */ 6607 #line 1279 "parser.yy" 5871 6608 { (yyval.decl) = 0; } 5872 #line 5873 "Parser/parser.cc" /* yacc.c:1646 */5873 break;5874 5875 case 294:5876 #line 1275 "parser.yy" /* yacc.c:1646 */5877 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }5878 #line 5879 "Parser/parser.cc" /* yacc.c:1646 */5879 6609 break; 5880 6610 5881 6611 case 297: 5882 #line 1286 "parser.yy" /* yacc.c:1646 */ 6612 6613 /* Line 1806 of yacc.c */ 6614 #line 1291 "parser.yy" 6615 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6616 break; 6617 6618 case 300: 6619 6620 /* Line 1806 of yacc.c */ 6621 #line 1302 "parser.yy" 5883 6622 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 5884 #line 5885 "Parser/parser.cc" /* yacc.c:1646 */ 5885 break; 5886 5887 case 298: 5888 #line 1288 "parser.yy" /* yacc.c:1646 */ 6623 break; 6624 6625 case 301: 6626 6627 /* Line 1806 of yacc.c */ 6628 #line 1304 "parser.yy" 5889 6629 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 5890 #line 5891 "Parser/parser.cc" /* yacc.c:1646 */ 5891 break; 5892 5893 case 299: 5894 #line 1290 "parser.yy" /* yacc.c:1646 */ 6630 break; 6631 6632 case 302: 6633 6634 /* Line 1806 of yacc.c */ 6635 #line 1306 "parser.yy" 5895 6636 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 5896 #line 5897 "Parser/parser.cc" /* yacc.c:1646 */ 5897 break; 5898 5899 case 300: 5900 #line 1292 "parser.yy" /* yacc.c:1646 */ 6637 break; 6638 6639 case 303: 6640 6641 /* Line 1806 of yacc.c */ 6642 #line 1308 "parser.yy" 5901 6643 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 5902 #line 5903 "Parser/parser.cc" /* yacc.c:1646 */ 5903 break; 5904 5905 case 301: 5906 #line 1294 "parser.yy" /* yacc.c:1646 */ 6644 break; 6645 6646 case 304: 6647 6648 /* Line 1806 of yacc.c */ 6649 #line 1310 "parser.yy" 5907 6650 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 5908 #line 5909 "Parser/parser.cc" /* yacc.c:1646 */ 5909 break; 5910 5911 case 302: 5912 #line 1296 "parser.yy" /* yacc.c:1646 */ 6651 break; 6652 6653 case 305: 6654 6655 /* Line 1806 of yacc.c */ 6656 #line 1312 "parser.yy" 5913 6657 { 5914 6658 typedefTable.enterScope(); 5915 6659 } 5916 #line 5917 "Parser/parser.cc" /* yacc.c:1646 */ 5917 break; 5918 5919 case 303: 5920 #line 1300 "parser.yy" /* yacc.c:1646 */ 6660 break; 6661 6662 case 306: 6663 6664 /* Line 1806 of yacc.c */ 6665 #line 1316 "parser.yy" 5921 6666 { 5922 6667 typedefTable.leaveScope(); 5923 (yyval.decl) = DeclarationNode::newForall( (yyvsp[ -1].decl) );6668 (yyval.decl) = DeclarationNode::newForall( (yyvsp[(4) - (5)].decl) ); 5924 6669 } 5925 #line 5926 "Parser/parser.cc" /* yacc.c:1646 */5926 break;5927 5928 case 305:5929 #line 1309 "parser.yy" /* yacc.c:1646 */5930 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }5931 #line 5932 "Parser/parser.cc" /* yacc.c:1646 */5932 break;5933 5934 case 306:5935 #line 1311 "parser.yy" /* yacc.c:1646 */5936 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); }5937 #line 5938 "Parser/parser.cc" /* yacc.c:1646 */5938 6670 break; 5939 6671 5940 6672 case 308: 5941 #line 1322 "parser.yy" /* yacc.c:1646 */ 5942 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 5943 #line 5944 "Parser/parser.cc" /* yacc.c:1646 */ 6673 6674 /* Line 1806 of yacc.c */ 6675 #line 1325 "parser.yy" 6676 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 5944 6677 break; 5945 6678 5946 6679 case 309: 5947 #line 1327 "parser.yy" /* yacc.c:1646 */ 6680 6681 /* Line 1806 of yacc.c */ 6682 #line 1327 "parser.yy" 6683 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6684 break; 6685 6686 case 311: 6687 6688 /* Line 1806 of yacc.c */ 6689 #line 1338 "parser.yy" 6690 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6691 break; 6692 6693 case 313: 6694 6695 /* Line 1806 of yacc.c */ 6696 #line 1347 "parser.yy" 5948 6697 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 5949 #line 5950 "Parser/parser.cc" /* yacc.c:1646 */ 5950 break; 5951 5952 case 310: 5953 #line 1329 "parser.yy" /* yacc.c:1646 */ 6698 break; 6699 6700 case 314: 6701 6702 /* Line 1806 of yacc.c */ 6703 #line 1349 "parser.yy" 5954 6704 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 5955 #line 5956 "Parser/parser.cc" /* yacc.c:1646 */ 5956 break; 5957 5958 case 311: 5959 #line 1331 "parser.yy" /* yacc.c:1646 */ 6705 break; 6706 6707 case 315: 6708 6709 /* Line 1806 of yacc.c */ 6710 #line 1351 "parser.yy" 5960 6711 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 5961 #line 5962 "Parser/parser.cc" /* yacc.c:1646 */ 5962 break; 5963 5964 case 312: 5965 #line 1333 "parser.yy" /* yacc.c:1646 */ 6712 break; 6713 6714 case 316: 6715 6716 /* Line 1806 of yacc.c */ 6717 #line 1353 "parser.yy" 5966 6718 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 5967 #line 5968 "Parser/parser.cc" /* yacc.c:1646 */ 5968 break; 5969 5970 case 313: 5971 #line 1335 "parser.yy" /* yacc.c:1646 */ 6719 break; 6720 6721 case 317: 6722 6723 /* Line 1806 of yacc.c */ 6724 #line 1355 "parser.yy" 5972 6725 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 5973 #line 5974 "Parser/parser.cc" /* yacc.c:1646 */ 5974 break; 5975 5976 case 314: 5977 #line 1337 "parser.yy" /* yacc.c:1646 */ 6726 break; 6727 6728 case 318: 6729 6730 /* Line 1806 of yacc.c */ 6731 #line 1357 "parser.yy" 5978 6732 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 5979 #line 5980 "Parser/parser.cc" /* yacc.c:1646 */ 5980 break; 5981 5982 case 315: 5983 #line 1339 "parser.yy" /* yacc.c:1646 */ 6733 break; 6734 6735 case 319: 6736 6737 /* Line 1806 of yacc.c */ 6738 #line 1359 "parser.yy" 5984 6739 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 5985 #line 5986 "Parser/parser.cc" /* yacc.c:1646 */ 5986 break; 5987 5988 case 316: 5989 #line 1341 "parser.yy" /* yacc.c:1646 */ 6740 break; 6741 6742 case 320: 6743 6744 /* Line 1806 of yacc.c */ 6745 #line 1361 "parser.yy" 5990 6746 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 5991 #line 5992 "Parser/parser.cc" /* yacc.c:1646 */ 5992 break; 5993 5994 case 317: 5995 #line 1346 "parser.yy" /* yacc.c:1646 */ 6747 break; 6748 6749 case 321: 6750 6751 /* Line 1806 of yacc.c */ 6752 #line 1366 "parser.yy" 5996 6753 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 5997 #line 5998 "Parser/parser.cc" /* yacc.c:1646 */ 5998 break; 5999 6000 case 318: 6001 #line 1348 "parser.yy" /* yacc.c:1646 */ 6754 break; 6755 6756 case 322: 6757 6758 /* Line 1806 of yacc.c */ 6759 #line 1368 "parser.yy" 6002 6760 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6003 #line 6004 "Parser/parser.cc" /* yacc.c:1646 */ 6004 break; 6005 6006 case 319: 6007 #line 1350 "parser.yy" /* yacc.c:1646 */ 6761 break; 6762 6763 case 323: 6764 6765 /* Line 1806 of yacc.c */ 6766 #line 1370 "parser.yy" 6008 6767 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6009 #line 6010 "Parser/parser.cc" /* yacc.c:1646 */ 6010 break; 6011 6012 case 320: 6013 #line 1352 "parser.yy" /* yacc.c:1646 */ 6768 break; 6769 6770 case 324: 6771 6772 /* Line 1806 of yacc.c */ 6773 #line 1372 "parser.yy" 6014 6774 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6015 #line 6016 "Parser/parser.cc" /* yacc.c:1646 */ 6016 break; 6017 6018 case 321: 6019 #line 1354 "parser.yy" /* yacc.c:1646 */ 6775 break; 6776 6777 case 325: 6778 6779 /* Line 1806 of yacc.c */ 6780 #line 1374 "parser.yy" 6020 6781 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6021 #line 6022 "Parser/parser.cc" /* yacc.c:1646 */ 6022 break; 6023 6024 case 322: 6025 #line 1356 "parser.yy" /* yacc.c:1646 */ 6782 break; 6783 6784 case 326: 6785 6786 /* Line 1806 of yacc.c */ 6787 #line 1376 "parser.yy" 6026 6788 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6027 #line 6028 "Parser/parser.cc" /* yacc.c:1646 */ 6028 break; 6029 6030 case 323: 6031 #line 1358 "parser.yy" /* yacc.c:1646 */ 6789 break; 6790 6791 case 327: 6792 6793 /* Line 1806 of yacc.c */ 6794 #line 1378 "parser.yy" 6032 6795 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6033 #line 6034 "Parser/parser.cc" /* yacc.c:1646 */ 6034 break; 6035 6036 case 324: 6037 #line 1360 "parser.yy" /* yacc.c:1646 */ 6796 break; 6797 6798 case 328: 6799 6800 /* Line 1806 of yacc.c */ 6801 #line 1380 "parser.yy" 6038 6802 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6039 #line 6040 "Parser/parser.cc" /* yacc.c:1646 */ 6040 break; 6041 6042 case 325: 6043 #line 1362 "parser.yy" /* yacc.c:1646 */ 6803 break; 6804 6805 case 329: 6806 6807 /* Line 1806 of yacc.c */ 6808 #line 1382 "parser.yy" 6044 6809 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6045 #line 6046 "Parser/parser.cc" /* yacc.c:1646 */ 6046 break; 6047 6048 case 326: 6049 #line 1364 "parser.yy" /* yacc.c:1646 */ 6810 break; 6811 6812 case 330: 6813 6814 /* Line 1806 of yacc.c */ 6815 #line 1384 "parser.yy" 6050 6816 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6051 #line 6052 "Parser/parser.cc" /* yacc.c:1646 */ 6052 break; 6053 6054 case 327: 6055 #line 1366 "parser.yy" /* yacc.c:1646 */ 6817 break; 6818 6819 case 331: 6820 6821 /* Line 1806 of yacc.c */ 6822 #line 1386 "parser.yy" 6056 6823 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6057 #line 6058 "Parser/parser.cc" /* yacc.c:1646 */ 6058 break; 6059 6060 case 328: 6061 #line 1368 "parser.yy" /* yacc.c:1646 */ 6824 break; 6825 6826 case 332: 6827 6828 /* Line 1806 of yacc.c */ 6829 #line 1388 "parser.yy" 6062 6830 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6063 #line 6064 "Parser/parser.cc" /* yacc.c:1646 */ 6064 break; 6065 6066 case 329: 6067 #line 1370 "parser.yy" /* yacc.c:1646 */ 6831 break; 6832 6833 case 333: 6834 6835 /* Line 1806 of yacc.c */ 6836 #line 1390 "parser.yy" 6068 6837 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6069 #line 6070 "Parser/parser.cc" /* yacc.c:1646 */ 6070 break; 6071 6072 case 331: 6073 #line 1377 "parser.yy" /* yacc.c:1646 */ 6074 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6075 #line 6076 "Parser/parser.cc" /* yacc.c:1646 */ 6076 break; 6077 6078 case 332: 6079 #line 1379 "parser.yy" /* yacc.c:1646 */ 6080 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6081 #line 6082 "Parser/parser.cc" /* yacc.c:1646 */ 6082 break; 6083 6084 case 333: 6085 #line 1381 "parser.yy" /* yacc.c:1646 */ 6086 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6087 #line 6088 "Parser/parser.cc" /* yacc.c:1646 */ 6088 break; 6089 6090 case 334: 6091 #line 1383 "parser.yy" /* yacc.c:1646 */ 6092 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) )->addType( (yyvsp[-2].decl) ); } 6093 #line 6094 "Parser/parser.cc" /* yacc.c:1646 */ 6838 break; 6839 6840 case 335: 6841 6842 /* Line 1806 of yacc.c */ 6843 #line 1397 "parser.yy" 6844 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6094 6845 break; 6095 6846 6096 6847 case 336: 6097 #line 1389 "parser.yy" /* yacc.c:1646 */ 6098 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6099 #line 6100 "Parser/parser.cc" /* yacc.c:1646 */ 6848 6849 /* Line 1806 of yacc.c */ 6850 #line 1399 "parser.yy" 6851 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6852 break; 6853 6854 case 337: 6855 6856 /* Line 1806 of yacc.c */ 6857 #line 1401 "parser.yy" 6858 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6100 6859 break; 6101 6860 6102 6861 case 338: 6103 #line 1396 "parser.yy" /* yacc.c:1646 */ 6104 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6105 #line 6106 "Parser/parser.cc" /* yacc.c:1646 */ 6106 break; 6107 6108 case 339: 6109 #line 1398 "parser.yy" /* yacc.c:1646 */ 6110 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6111 #line 6112 "Parser/parser.cc" /* yacc.c:1646 */ 6862 6863 /* Line 1806 of yacc.c */ 6864 #line 1403 "parser.yy" 6865 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6112 6866 break; 6113 6867 6114 6868 case 340: 6115 #line 1400 "parser.yy" /* yacc.c:1646 */ 6116 { (yyval.decl) = (yyvsp[-1].decl)->addType( (yyvsp[0].decl) ); } 6117 #line 6118 "Parser/parser.cc" /* yacc.c:1646 */ 6118 break; 6119 6120 case 341: 6121 #line 1405 "parser.yy" /* yacc.c:1646 */ 6122 { (yyval.decl) = (yyvsp[-1].decl); } 6123 #line 6124 "Parser/parser.cc" /* yacc.c:1646 */ 6869 6870 /* Line 1806 of yacc.c */ 6871 #line 1409 "parser.yy" 6872 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6124 6873 break; 6125 6874 6126 6875 case 342: 6127 #line 1407 "parser.yy" /* yacc.c:1646 */ 6128 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[-1].en) ); } 6129 #line 6130 "Parser/parser.cc" /* yacc.c:1646 */ 6876 6877 /* Line 1806 of yacc.c */ 6878 #line 1416 "parser.yy" 6879 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6130 6880 break; 6131 6881 6132 6882 case 343: 6133 #line 1409 "parser.yy" /* yacc.c:1646 */ 6134 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].decl) ); } 6135 #line 6136 "Parser/parser.cc" /* yacc.c:1646 */ 6883 6884 /* Line 1806 of yacc.c */ 6885 #line 1418 "parser.yy" 6886 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6136 6887 break; 6137 6888 6138 6889 case 344: 6139 #line 1411 "parser.yy" /* yacc.c:1646 */ 6140 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6141 #line 6142 "Parser/parser.cc" /* yacc.c:1646 */ 6890 6891 /* Line 1806 of yacc.c */ 6892 #line 1420 "parser.yy" 6893 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6894 break; 6895 6896 case 345: 6897 6898 /* Line 1806 of yacc.c */ 6899 #line 1425 "parser.yy" 6900 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6142 6901 break; 6143 6902 6144 6903 case 346: 6145 #line 1417 "parser.yy" /* yacc.c:1646 */ 6146 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6147 #line 6148 "Parser/parser.cc" /* yacc.c:1646 */ 6904 6905 /* Line 1806 of yacc.c */ 6906 #line 1427 "parser.yy" 6907 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6148 6908 break; 6149 6909 6150 6910 case 347: 6151 #line 1419 "parser.yy" /* yacc.c:1646 */ 6152 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6153 #line 6154 "Parser/parser.cc" /* yacc.c:1646 */ 6911 6912 /* Line 1806 of yacc.c */ 6913 #line 1429 "parser.yy" 6914 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6154 6915 break; 6155 6916 6156 6917 case 348: 6157 #line 1421 "parser.yy" /* yacc.c:1646 */ 6158 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6159 #line 6160 "Parser/parser.cc" /* yacc.c:1646 */ 6918 6919 /* Line 1806 of yacc.c */ 6920 #line 1431 "parser.yy" 6921 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6160 6922 break; 6161 6923 6162 6924 case 350: 6163 #line 1427 "parser.yy" /* yacc.c:1646 */ 6164 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6165 #line 6166 "Parser/parser.cc" /* yacc.c:1646 */ 6925 6926 /* Line 1806 of yacc.c */ 6927 #line 1437 "parser.yy" 6928 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6166 6929 break; 6167 6930 6168 6931 case 351: 6169 #line 1429 "parser.yy" /* yacc.c:1646 */ 6170 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6171 #line 6172 "Parser/parser.cc" /* yacc.c:1646 */ 6172 break; 6173 6174 case 353: 6175 #line 1435 "parser.yy" /* yacc.c:1646 */ 6176 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6177 #line 6178 "Parser/parser.cc" /* yacc.c:1646 */ 6932 6933 /* Line 1806 of yacc.c */ 6934 #line 1439 "parser.yy" 6935 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6936 break; 6937 6938 case 352: 6939 6940 /* Line 1806 of yacc.c */ 6941 #line 1441 "parser.yy" 6942 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6178 6943 break; 6179 6944 6180 6945 case 354: 6181 #line 1437 "parser.yy" /* yacc.c:1646 */ 6182 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6183 #line 6184 "Parser/parser.cc" /* yacc.c:1646 */ 6946 6947 /* Line 1806 of yacc.c */ 6948 #line 1447 "parser.yy" 6949 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6184 6950 break; 6185 6951 6186 6952 case 355: 6187 #line 1439 "parser.yy" /* yacc.c:1646 */ 6188 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6189 #line 6190 "Parser/parser.cc" /* yacc.c:1646 */ 6190 break; 6191 6192 case 356: 6193 #line 1444 "parser.yy" /* yacc.c:1646 */ 6194 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) ); } 6195 #line 6196 "Parser/parser.cc" /* yacc.c:1646 */ 6953 6954 /* Line 1806 of yacc.c */ 6955 #line 1449 "parser.yy" 6956 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6196 6957 break; 6197 6958 6198 6959 case 357: 6199 #line 1446 "parser.yy" /* yacc.c:1646 */ 6200 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[0].tok) )->addQualifiers( (yyvsp[-1].decl) ); } 6201 #line 6202 "Parser/parser.cc" /* yacc.c:1646 */ 6960 6961 /* Line 1806 of yacc.c */ 6962 #line 1455 "parser.yy" 6963 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6202 6964 break; 6203 6965 6204 6966 case 358: 6205 #line 1448 "parser.yy" /* yacc.c:1646 */ 6206 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6207 #line 6208 "Parser/parser.cc" /* yacc.c:1646 */ 6967 6968 /* Line 1806 of yacc.c */ 6969 #line 1457 "parser.yy" 6970 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6971 break; 6972 6973 case 359: 6974 6975 /* Line 1806 of yacc.c */ 6976 #line 1459 "parser.yy" 6977 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6978 break; 6979 6980 case 360: 6981 6982 /* Line 1806 of yacc.c */ 6983 #line 1464 "parser.yy" 6984 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6208 6985 break; 6209 6986 6210 6987 case 361: 6211 #line 1458 "parser.yy" /* yacc.c:1646 */ 6212 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-3].aggKey), 0, 0, (yyvsp[-1].decl), true ); } 6213 #line 6214 "Parser/parser.cc" /* yacc.c:1646 */ 6988 6989 /* Line 1806 of yacc.c */ 6990 #line 1466 "parser.yy" 6991 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6214 6992 break; 6215 6993 6216 6994 case 362: 6217 #line 1460 "parser.yy" /* yacc.c:1646 */ 6995 6996 /* Line 1806 of yacc.c */ 6997 #line 1468 "parser.yy" 6998 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6999 break; 7000 7001 case 365: 7002 7003 /* Line 1806 of yacc.c */ 7004 #line 1478 "parser.yy" 7005 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 7006 break; 7007 7008 case 366: 7009 7010 /* Line 1806 of yacc.c */ 7011 #line 1480 "parser.yy" 6218 7012 { 6219 typedefTable.makeTypedef( *(yyvsp[ 0].tok) );6220 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[ -1].aggKey), (yyvsp[0].tok), 0, 0, false );7013 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7014 (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, false ); 6221 7015 } 6222 #line 6223 "Parser/parser.cc" /* yacc.c:1646 */6223 break;6224 6225 case 363:6226 #line 1465 "parser.yy" /* yacc.c:1646 */6227 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); }6228 #line 6229 "Parser/parser.cc" /* yacc.c:1646 */6229 break;6230 6231 case 364:6232 #line 1467 "parser.yy" /* yacc.c:1646 */6233 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-5].aggKey), (yyvsp[-4].tok), 0, (yyvsp[-1].decl), true ); }6234 #line 6235 "Parser/parser.cc" /* yacc.c:1646 */6235 break;6236 6237 case 365:6238 #line 1469 "parser.yy" /* yacc.c:1646 */6239 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[-6].aggKey), 0, (yyvsp[-4].en), (yyvsp[-1].decl), false ); }6240 #line 6241 "Parser/parser.cc" /* yacc.c:1646 */6241 break;6242 6243 case 366:6244 #line 1471 "parser.yy" /* yacc.c:1646 */6245 { (yyval.decl) = (yyvsp[0].decl); }6246 #line 6247 "Parser/parser.cc" /* yacc.c:1646 */6247 7016 break; 6248 7017 6249 7018 case 367: 6250 #line 1476 "parser.yy" /* yacc.c:1646 */ 7019 7020 /* Line 1806 of yacc.c */ 7021 #line 1485 "parser.yy" 7022 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7023 break; 7024 7025 case 368: 7026 7027 /* Line 1806 of yacc.c */ 7028 #line 1487 "parser.yy" 7029 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 7030 break; 7031 7032 case 369: 7033 7034 /* Line 1806 of yacc.c */ 7035 #line 1489 "parser.yy" 7036 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7037 break; 7038 7039 case 370: 7040 7041 /* Line 1806 of yacc.c */ 7042 #line 1491 "parser.yy" 7043 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7044 break; 7045 7046 case 371: 7047 7048 /* Line 1806 of yacc.c */ 7049 #line 1496 "parser.yy" 6251 7050 { (yyval.aggKey) = DeclarationNode::Struct; } 6252 #line 6253 "Parser/parser.cc" /* yacc.c:1646 */ 6253 break; 6254 6255 case 368: 6256 #line 1478 "parser.yy" /* yacc.c:1646 */ 7051 break; 7052 7053 case 372: 7054 7055 /* Line 1806 of yacc.c */ 7056 #line 1498 "parser.yy" 6257 7057 { (yyval.aggKey) = DeclarationNode::Union; } 6258 #line 6259 "Parser/parser.cc" /* yacc.c:1646 */ 6259 break; 6260 6261 case 369: 6262 #line 1483 "parser.yy" /* yacc.c:1646 */ 7058 break; 7059 7060 case 373: 7061 7062 /* Line 1806 of yacc.c */ 7063 #line 1503 "parser.yy" 6263 7064 { (yyval.decl) = 0; } 6264 #line 6265 "Parser/parser.cc" /* yacc.c:1646 */6265 break;6266 6267 case 370:6268 #line 1485 "parser.yy" /* yacc.c:1646 */6269 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); }6270 #line 6271 "Parser/parser.cc" /* yacc.c:1646 */6271 break;6272 6273 case 372:6274 #line 1491 "parser.yy" /* yacc.c:1646 */6275 { (yyval.decl) = (yyvsp[-1].decl)->set_extension( true ); }6276 #line 6277 "Parser/parser.cc" /* yacc.c:1646 */6277 7065 break; 6278 7066 6279 7067 case 374: 6280 #line 1494 "parser.yy" /* yacc.c:1646 */ 7068 7069 /* Line 1806 of yacc.c */ 7070 #line 1505 "parser.yy" 7071 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7072 break; 7073 7074 case 376: 7075 7076 /* Line 1806 of yacc.c */ 7077 #line 1511 "parser.yy" 7078 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7079 break; 7080 7081 case 378: 7082 7083 /* Line 1806 of yacc.c */ 7084 #line 1514 "parser.yy" 6281 7085 { // mark all fields in list 6282 for ( DeclarationNode *iter = (yyvsp[ -1].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )7086 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 6283 7087 iter->set_extension( true ); 6284 (yyval.decl) = (yyvsp[ -1].decl);7088 (yyval.decl) = (yyvsp[(2) - (3)].decl); 6285 7089 } 6286 #line 6287 "Parser/parser.cc" /* yacc.c:1646 */6287 break;6288 6289 case 376:6290 #line 1504 "parser.yy" /* yacc.c:1646 */6291 { (yyval.decl) = (yyvsp[-1].decl)->addName( (yyvsp[0].tok) ); }6292 #line 6293 "Parser/parser.cc" /* yacc.c:1646 */6293 break;6294 6295 case 377:6296 #line 1506 "parser.yy" /* yacc.c:1646 */6297 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[-2].decl)->cloneType( (yyvsp[0].tok) ) ); }6298 #line 6299 "Parser/parser.cc" /* yacc.c:1646 */6299 break;6300 6301 case 378:6302 #line 1508 "parser.yy" /* yacc.c:1646 */6303 { (yyval.decl) = (yyvsp[-1].decl)->appendList( (yyvsp[-1].decl)->cloneType( 0 ) ); }6304 #line 6305 "Parser/parser.cc" /* yacc.c:1646 */6305 break;6306 6307 case 379:6308 #line 1513 "parser.yy" /* yacc.c:1646 */6309 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); }6310 #line 6311 "Parser/parser.cc" /* yacc.c:1646 */6311 7090 break; 6312 7091 6313 7092 case 380: 6314 #line 1515 "parser.yy" /* yacc.c:1646 */ 6315 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-3].decl)->cloneBaseType( (yyvsp[0].decl) ) ); } 6316 #line 6317 "Parser/parser.cc" /* yacc.c:1646 */ 7093 7094 /* Line 1806 of yacc.c */ 7095 #line 1524 "parser.yy" 7096 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6317 7097 break; 6318 7098 6319 7099 case 381: 6320 #line 1520 "parser.yy" /* yacc.c:1646 */ 7100 7101 /* Line 1806 of yacc.c */ 7102 #line 1526 "parser.yy" 7103 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7104 break; 7105 7106 case 382: 7107 7108 /* Line 1806 of yacc.c */ 7109 #line 1528 "parser.yy" 7110 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7111 break; 7112 7113 case 383: 7114 7115 /* Line 1806 of yacc.c */ 7116 #line 1533 "parser.yy" 7117 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7118 break; 7119 7120 case 384: 7121 7122 /* Line 1806 of yacc.c */ 7123 #line 1535 "parser.yy" 7124 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7125 break; 7126 7127 case 385: 7128 7129 /* Line 1806 of yacc.c */ 7130 #line 1540 "parser.yy" 6321 7131 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6322 #line 6323 "Parser/parser.cc" /* yacc.c:1646 */6323 break;6324 6325 case 382:6326 #line 1522 "parser.yy" /* yacc.c:1646 */6327 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[0].en) ); }6328 #line 6329 "Parser/parser.cc" /* yacc.c:1646 */6329 break;6330 6331 case 383:6332 #line 1525 "parser.yy" /* yacc.c:1646 */6333 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); }6334 #line 6335 "Parser/parser.cc" /* yacc.c:1646 */6335 break;6336 6337 case 384:6338 #line 1528 "parser.yy" /* yacc.c:1646 */6339 { (yyval.decl) = (yyvsp[-1].decl)->addBitfield( (yyvsp[0].en) ); }6340 #line 6341 "Parser/parser.cc" /* yacc.c:1646 */6341 7132 break; 6342 7133 6343 7134 case 386: 6344 #line 1534 "parser.yy" /* yacc.c:1646 */ 7135 7136 /* Line 1806 of yacc.c */ 7137 #line 1542 "parser.yy" 7138 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7139 break; 7140 7141 case 387: 7142 7143 /* Line 1806 of yacc.c */ 7144 #line 1545 "parser.yy" 7145 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7146 break; 7147 7148 case 388: 7149 7150 /* Line 1806 of yacc.c */ 7151 #line 1548 "parser.yy" 7152 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7153 break; 7154 7155 case 390: 7156 7157 /* Line 1806 of yacc.c */ 7158 #line 1554 "parser.yy" 6345 7159 { (yyval.en) = 0; } 6346 #line 6347 "Parser/parser.cc" /* yacc.c:1646 */6347 break;6348 6349 case 387:6350 #line 1536 "parser.yy" /* yacc.c:1646 */6351 { (yyval.en) = (yyvsp[0].en); }6352 #line 6353 "Parser/parser.cc" /* yacc.c:1646 */6353 break;6354 6355 case 388:6356 #line 1541 "parser.yy" /* yacc.c:1646 */6357 { (yyval.en) = (yyvsp[0].en); }6358 #line 6359 "Parser/parser.cc" /* yacc.c:1646 */6359 break;6360 6361 case 390:6362 #line 1550 "parser.yy" /* yacc.c:1646 */6363 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[-2].decl) ); }6364 #line 6365 "Parser/parser.cc" /* yacc.c:1646 */6365 7160 break; 6366 7161 6367 7162 case 391: 6368 #line 1552 "parser.yy" /* yacc.c:1646 */ 7163 7164 /* Line 1806 of yacc.c */ 7165 #line 1556 "parser.yy" 7166 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7167 break; 7168 7169 case 392: 7170 7171 /* Line 1806 of yacc.c */ 7172 #line 1561 "parser.yy" 7173 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7174 break; 7175 7176 case 394: 7177 7178 /* Line 1806 of yacc.c */ 7179 #line 1570 "parser.yy" 7180 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7181 break; 7182 7183 case 395: 7184 7185 /* Line 1806 of yacc.c */ 7186 #line 1572 "parser.yy" 6369 7187 { 6370 typedefTable.makeTypedef( *(yyvsp[ 0].tok) );6371 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[ 0].tok), 0 );7188 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); 7189 (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); 6372 7190 } 6373 #line 6374 "Parser/parser.cc" /* yacc.c:1646 */6374 break;6375 6376 case 392:6377 #line 1557 "parser.yy" /* yacc.c:1646 */6378 { typedefTable.makeTypedef( *(yyvsp[0].tok) ); }6379 #line 6380 "Parser/parser.cc" /* yacc.c:1646 */6380 break;6381 6382 case 393:6383 #line 1559 "parser.yy" /* yacc.c:1646 */6384 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[-5].tok), (yyvsp[-2].decl) ); }6385 #line 6386 "Parser/parser.cc" /* yacc.c:1646 */6386 break;6387 6388 case 394:6389 #line 1564 "parser.yy" /* yacc.c:1646 */6390 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ); }6391 #line 6392 "Parser/parser.cc" /* yacc.c:1646 */6392 break;6393 6394 case 395:6395 #line 1566 "parser.yy" /* yacc.c:1646 */6396 { (yyval.decl) = (yyvsp[-3].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[-1].tok), (yyvsp[0].en) ) ); }6397 #line 6398 "Parser/parser.cc" /* yacc.c:1646 */6398 7191 break; 6399 7192 6400 7193 case 396: 6401 #line 1571 "parser.yy" /* yacc.c:1646 */ 7194 7195 /* Line 1806 of yacc.c */ 7196 #line 1577 "parser.yy" 7197 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7198 break; 7199 7200 case 397: 7201 7202 /* Line 1806 of yacc.c */ 7203 #line 1579 "parser.yy" 7204 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7205 break; 7206 7207 case 398: 7208 7209 /* Line 1806 of yacc.c */ 7210 #line 1584 "parser.yy" 7211 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7212 break; 7213 7214 case 399: 7215 7216 /* Line 1806 of yacc.c */ 7217 #line 1586 "parser.yy" 7218 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7219 break; 7220 7221 case 400: 7222 7223 /* Line 1806 of yacc.c */ 7224 #line 1591 "parser.yy" 6402 7225 { (yyval.en) = 0; } 6403 #line 6404 "Parser/parser.cc" /* yacc.c:1646 */ 6404 break; 6405 6406 case 397: 6407 #line 1573 "parser.yy" /* yacc.c:1646 */ 6408 { (yyval.en) = (yyvsp[0].en); } 6409 #line 6410 "Parser/parser.cc" /* yacc.c:1646 */ 6410 break; 6411 6412 case 398: 6413 #line 1580 "parser.yy" /* yacc.c:1646 */ 7226 break; 7227 7228 case 401: 7229 7230 /* Line 1806 of yacc.c */ 7231 #line 1593 "parser.yy" 7232 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7233 break; 7234 7235 case 402: 7236 7237 /* Line 1806 of yacc.c */ 7238 #line 1600 "parser.yy" 6414 7239 { (yyval.decl) = 0; } 6415 #line 6416 "Parser/parser.cc" /* yacc.c:1646 */6416 break;6417 6418 case 402:6419 #line 1588 "parser.yy" /* yacc.c:1646 */6420 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); }6421 #line 6422 "Parser/parser.cc" /* yacc.c:1646 */6422 break;6423 6424 case 403:6425 #line 1590 "parser.yy" /* yacc.c:1646 */6426 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); }6427 #line 6428 "Parser/parser.cc" /* yacc.c:1646 */6428 break;6429 6430 case 404:6431 #line 1592 "parser.yy" /* yacc.c:1646 */6432 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); }6433 #line 6434 "Parser/parser.cc" /* yacc.c:1646 */6434 7240 break; 6435 7241 6436 7242 case 406: 6437 #line 1600 "parser.yy" /* yacc.c:1646 */ 6438 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6439 #line 6440 "Parser/parser.cc" /* yacc.c:1646 */ 7243 7244 /* Line 1806 of yacc.c */ 7245 #line 1608 "parser.yy" 7246 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6440 7247 break; 6441 7248 6442 7249 case 407: 6443 #line 1602 "parser.yy" /* yacc.c:1646 */ 6444 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6445 #line 6446 "Parser/parser.cc" /* yacc.c:1646 */ 7250 7251 /* Line 1806 of yacc.c */ 7252 #line 1610 "parser.yy" 7253 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6446 7254 break; 6447 7255 6448 7256 case 408: 6449 #line 1604 "parser.yy" /* yacc.c:1646 */ 6450 { (yyval.decl) = (yyvsp[-8].decl)->appendList( (yyvsp[-4].decl) )->appendList( (yyvsp[0].decl) ); } 6451 #line 6452 "Parser/parser.cc" /* yacc.c:1646 */ 7257 7258 /* Line 1806 of yacc.c */ 7259 #line 1612 "parser.yy" 7260 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6452 7261 break; 6453 7262 6454 7263 case 410: 6455 #line 1610 "parser.yy" /* yacc.c:1646 */ 6456 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6457 #line 6458 "Parser/parser.cc" /* yacc.c:1646 */ 7264 7265 /* Line 1806 of yacc.c */ 7266 #line 1620 "parser.yy" 7267 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6458 7268 break; 6459 7269 6460 7270 case 411: 6461 #line 1615 "parser.yy" /* yacc.c:1646 */ 7271 7272 /* Line 1806 of yacc.c */ 7273 #line 1622 "parser.yy" 7274 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7275 break; 7276 7277 case 412: 7278 7279 /* Line 1806 of yacc.c */ 7280 #line 1624 "parser.yy" 7281 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7282 break; 7283 7284 case 414: 7285 7286 /* Line 1806 of yacc.c */ 7287 #line 1630 "parser.yy" 7288 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7289 break; 7290 7291 case 415: 7292 7293 /* Line 1806 of yacc.c */ 7294 #line 1635 "parser.yy" 6462 7295 { (yyval.decl) = 0; } 6463 #line 6464 "Parser/parser.cc" /* yacc.c:1646 */6464 break;6465 6466 case 414:6467 #line 1622 "parser.yy" /* yacc.c:1646 */6468 { (yyval.decl) = (yyvsp[-4].decl)->addVarArgs(); }6469 #line 6470 "Parser/parser.cc" /* yacc.c:1646 */6470 break;6471 6472 case 417:6473 #line 1629 "parser.yy" /* yacc.c:1646 */6474 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); }6475 #line 6476 "Parser/parser.cc" /* yacc.c:1646 */6476 7296 break; 6477 7297 6478 7298 case 418: 6479 #line 1631 "parser.yy" /* yacc.c:1646 */ 6480 { (yyval.decl) = (yyvsp[-4].decl)->appendList( (yyvsp[0].decl) ); } 6481 #line 6482 "Parser/parser.cc" /* yacc.c:1646 */ 6482 break; 6483 6484 case 420: 6485 #line 1640 "parser.yy" /* yacc.c:1646 */ 6486 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6487 #line 6488 "Parser/parser.cc" /* yacc.c:1646 */ 7299 7300 /* Line 1806 of yacc.c */ 7301 #line 1642 "parser.yy" 7302 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 6488 7303 break; 6489 7304 6490 7305 case 421: 6491 #line 1643 "parser.yy" /* yacc.c:1646 */ 6492 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) ); } 6493 #line 6494 "Parser/parser.cc" /* yacc.c:1646 */ 7306 7307 /* Line 1806 of yacc.c */ 7308 #line 1649 "parser.yy" 7309 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 6494 7310 break; 6495 7311 6496 7312 case 422: 6497 #line 1645 "parser.yy" /* yacc.c:1646 */ 6498 { (yyval.decl) = (yyvsp[-2].decl)->addName( (yyvsp[-1].tok) )->addQualifiers( (yyvsp[-3].decl) ); } 6499 #line 6500 "Parser/parser.cc" /* yacc.c:1646 */ 6500 break; 6501 6502 case 427: 6503 #line 1655 "parser.yy" /* yacc.c:1646 */ 6504 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6505 #line 6506 "Parser/parser.cc" /* yacc.c:1646 */ 6506 break; 6507 6508 case 429: 6509 #line 1661 "parser.yy" /* yacc.c:1646 */ 7313 7314 /* Line 1806 of yacc.c */ 7315 #line 1651 "parser.yy" 7316 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7317 break; 7318 7319 case 424: 7320 7321 /* Line 1806 of yacc.c */ 7322 #line 1660 "parser.yy" 7323 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7324 break; 7325 7326 case 425: 7327 7328 /* Line 1806 of yacc.c */ 7329 #line 1663 "parser.yy" 7330 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7331 break; 7332 7333 case 426: 7334 7335 /* Line 1806 of yacc.c */ 7336 #line 1665 "parser.yy" 7337 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7338 break; 7339 7340 case 431: 7341 7342 /* Line 1806 of yacc.c */ 7343 #line 1675 "parser.yy" 7344 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7345 break; 7346 7347 case 433: 7348 7349 /* Line 1806 of yacc.c */ 7350 #line 1681 "parser.yy" 6510 7351 { 6511 7352 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6512 (yyval.decl) = (yyvsp[ -1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) );7353 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 6513 7354 } 6514 #line 6515 "Parser/parser.cc" /* yacc.c:1646 */ 6515 break; 6516 6517 case 430: 6518 #line 1666 "parser.yy" /* yacc.c:1646 */ 7355 break; 7356 7357 case 434: 7358 7359 /* Line 1806 of yacc.c */ 7360 #line 1686 "parser.yy" 6519 7361 { 6520 7362 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6521 (yyval.decl) = (yyvsp[ -1].decl)->addType( (yyvsp[-2].decl) )->addInitializer( new InitializerNode( (yyvsp[0].en) ) );7363 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) ); 6522 7364 } 6523 #line 6524 "Parser/parser.cc" /* yacc.c:1646 */ 6524 break; 6525 6526 case 432: 6527 #line 1675 "parser.yy" /* yacc.c:1646 */ 6528 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6529 #line 6530 "Parser/parser.cc" /* yacc.c:1646 */ 6530 break; 6531 6532 case 433: 6533 #line 1684 "parser.yy" /* yacc.c:1646 */ 6534 { (yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) ); } 6535 #line 6536 "Parser/parser.cc" /* yacc.c:1646 */ 6536 break; 6537 6538 case 434: 6539 #line 1686 "parser.yy" /* yacc.c:1646 */ 6540 { (yyval.decl) = (yyvsp[-2].decl)->appendList( DeclarationNode::newName( (yyvsp[0].tok) ) ); } 6541 #line 6542 "Parser/parser.cc" /* yacc.c:1646 */ 6542 break; 6543 6544 case 446: 6545 #line 1711 "parser.yy" /* yacc.c:1646 */ 6546 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6547 #line 6548 "Parser/parser.cc" /* yacc.c:1646 */ 7365 break; 7366 7367 case 436: 7368 7369 /* Line 1806 of yacc.c */ 7370 #line 1695 "parser.yy" 7371 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7372 break; 7373 7374 case 437: 7375 7376 /* Line 1806 of yacc.c */ 7377 #line 1704 "parser.yy" 7378 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7379 break; 7380 7381 case 438: 7382 7383 /* Line 1806 of yacc.c */ 7384 #line 1706 "parser.yy" 7385 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 6548 7386 break; 6549 7387 6550 7388 case 450: 6551 #line 1719 "parser.yy" /* yacc.c:1646 */ 6552 { (yyval.decl) = (yyvsp[0].decl)->addType( (yyvsp[-1].decl) ); } 6553 #line 6554 "Parser/parser.cc" /* yacc.c:1646 */ 6554 break; 6555 6556 case 451: 6557 #line 1724 "parser.yy" /* yacc.c:1646 */ 7389 7390 /* Line 1806 of yacc.c */ 7391 #line 1731 "parser.yy" 7392 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7393 break; 7394 7395 case 454: 7396 7397 /* Line 1806 of yacc.c */ 7398 #line 1739 "parser.yy" 7399 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7400 break; 7401 7402 case 455: 7403 7404 /* Line 1806 of yacc.c */ 7405 #line 1744 "parser.yy" 6558 7406 { (yyval.in) = 0; } 6559 #line 6560 "Parser/parser.cc" /* yacc.c:1646 */6560 break;6561 6562 case 452:6563 #line 1726 "parser.yy" /* yacc.c:1646 */6564 { (yyval.in) = (yyvsp[0].in); }6565 #line 6566 "Parser/parser.cc" /* yacc.c:1646 */6566 break;6567 6568 case 453:6569 #line 1728 "parser.yy" /* yacc.c:1646 */6570 { (yyval.in) = (yyvsp[0].in)->set_maybeConstructed( false ); }6571 #line 6572 "Parser/parser.cc" /* yacc.c:1646 */6572 break;6573 6574 case 454:6575 #line 1732 "parser.yy" /* yacc.c:1646 */6576 { (yyval.in) = new InitializerNode( (yyvsp[0].en) ); }6577 #line 6578 "Parser/parser.cc" /* yacc.c:1646 */6578 break;6579 6580 case 455:6581 #line 1733 "parser.yy" /* yacc.c:1646 */6582 { (yyval.in) = new InitializerNode( (yyvsp[-2].in), true ); }6583 #line 6584 "Parser/parser.cc" /* yacc.c:1646 */6584 7407 break; 6585 7408 6586 7409 case 456: 6587 #line 1738 "parser.yy" /* yacc.c:1646 */ 7410 7411 /* Line 1806 of yacc.c */ 7412 #line 1746 "parser.yy" 7413 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7414 break; 7415 7416 case 457: 7417 7418 /* Line 1806 of yacc.c */ 7419 #line 1748 "parser.yy" 7420 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7421 break; 7422 7423 case 458: 7424 7425 /* Line 1806 of yacc.c */ 7426 #line 1752 "parser.yy" 7427 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7428 break; 7429 7430 case 459: 7431 7432 /* Line 1806 of yacc.c */ 7433 #line 1753 "parser.yy" 7434 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7435 break; 7436 7437 case 460: 7438 7439 /* Line 1806 of yacc.c */ 7440 #line 1758 "parser.yy" 6588 7441 { (yyval.in) = 0; } 6589 #line 6590 "Parser/parser.cc" /* yacc.c:1646 */6590 break;6591 6592 case 458:6593 #line 1740 "parser.yy" /* yacc.c:1646 */6594 { (yyval.in) = (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ); }6595 #line 6596 "Parser/parser.cc" /* yacc.c:1646 */6596 break;6597 6598 case 459:6599 #line 1741 "parser.yy" /* yacc.c:1646 */6600 { (yyval.in) = (InitializerNode *)( (yyvsp[-2].in)->set_last( (yyvsp[0].in) ) ); }6601 #line 6602 "Parser/parser.cc" /* yacc.c:1646 */6602 break;6603 6604 case 460:6605 #line 1743 "parser.yy" /* yacc.c:1646 */6606 { (yyval.in) = (InitializerNode *)( (yyvsp[-3].in)->set_last( (yyvsp[0].in)->set_designators( (yyvsp[-1].en) ) ) ); }6607 #line 6608 "Parser/parser.cc" /* yacc.c:1646 */6608 7442 break; 6609 7443 6610 7444 case 462: 6611 #line 1759 "parser.yy" /* yacc.c:1646 */ 6612 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[-1].tok) ) ); } 6613 #line 6614 "Parser/parser.cc" /* yacc.c:1646 */ 7445 7446 /* Line 1806 of yacc.c */ 7447 #line 1760 "parser.yy" 7448 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7449 break; 7450 7451 case 463: 7452 7453 /* Line 1806 of yacc.c */ 7454 #line 1761 "parser.yy" 7455 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 6614 7456 break; 6615 7457 6616 7458 case 464: 6617 #line 1765 "parser.yy" /* yacc.c:1646 */ 6618 { (yyval.en) = (ExpressionNode *)( (yyvsp[-1].en)->set_last( (yyvsp[0].en) ) ); } 6619 #line 6620 "Parser/parser.cc" /* yacc.c:1646 */ 6620 break; 6621 6622 case 465: 6623 #line 1771 "parser.yy" /* yacc.c:1646 */ 6624 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[0].tok) ) ); } 6625 #line 6626 "Parser/parser.cc" /* yacc.c:1646 */ 7459 7460 /* Line 1806 of yacc.c */ 7461 #line 1763 "parser.yy" 7462 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 6626 7463 break; 6627 7464 6628 7465 case 466: 6629 #line 1774 "parser.yy" /* yacc.c:1646 */ 6630 { (yyval.en) = (yyvsp[-2].en); } 6631 #line 6632 "Parser/parser.cc" /* yacc.c:1646 */ 6632 break; 6633 6634 case 467: 6635 #line 1776 "parser.yy" /* yacc.c:1646 */ 6636 { (yyval.en) = (yyvsp[-2].en); } 6637 #line 6638 "Parser/parser.cc" /* yacc.c:1646 */ 7466 7467 /* Line 1806 of yacc.c */ 7468 #line 1779 "parser.yy" 7469 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 6638 7470 break; 6639 7471 6640 7472 case 468: 6641 #line 1778 "parser.yy" /* yacc.c:1646 */ 6642 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-4].en), (yyvsp[-2].en) ) ); } 6643 #line 6644 "Parser/parser.cc" /* yacc.c:1646 */ 7473 7474 /* Line 1806 of yacc.c */ 7475 #line 1785 "parser.yy" 7476 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 6644 7477 break; 6645 7478 6646 7479 case 469: 6647 #line 1780 "parser.yy" /* yacc.c:1646 */ 6648 { (yyval.en) = (yyvsp[-2].en); } 6649 #line 6650 "Parser/parser.cc" /* yacc.c:1646 */ 7480 7481 /* Line 1806 of yacc.c */ 7482 #line 1793 "parser.yy" 7483 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); } 7484 break; 7485 7486 case 470: 7487 7488 /* Line 1806 of yacc.c */ 7489 #line 1795 "parser.yy" 7490 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); } 6650 7491 break; 6651 7492 6652 7493 case 471: 6653 #line 1804 "parser.yy" /* yacc.c:1646 */ 6654 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6655 #line 6656 "Parser/parser.cc" /* yacc.c:1646 */ 7494 7495 /* Line 1806 of yacc.c */ 7496 #line 1798 "parser.yy" 7497 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 6656 7498 break; 6657 7499 6658 7500 case 472: 6659 #line 1806 "parser.yy" /* yacc.c:1646 */ 6660 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6661 #line 6662 "Parser/parser.cc" /* yacc.c:1646 */ 7501 7502 /* Line 1806 of yacc.c */ 7503 #line 1800 "parser.yy" 7504 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 6662 7505 break; 6663 7506 6664 7507 case 473: 6665 #line 1808 "parser.yy" /* yacc.c:1646 */ 6666 { (yyval.decl) = (yyvsp[-2].decl)->addQualifiers( (yyvsp[-1].decl) )->addQualifiers( (yyvsp[0].decl) ); } 6667 #line 6668 "Parser/parser.cc" /* yacc.c:1646 */ 6668 break; 6669 6670 case 475: 6671 #line 1814 "parser.yy" /* yacc.c:1646 */ 6672 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 6673 #line 6674 "Parser/parser.cc" /* yacc.c:1646 */ 7508 7509 /* Line 1806 of yacc.c */ 7510 #line 1802 "parser.yy" 7511 { (yyval.en) = new DesignatorNode( new CompositeExprNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ), true ); } 7512 break; 7513 7514 case 474: 7515 7516 /* Line 1806 of yacc.c */ 7517 #line 1804 "parser.yy" 7518 { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); } 6674 7519 break; 6675 7520 6676 7521 case 476: 6677 #line 1816 "parser.yy" /* yacc.c:1646 */ 6678 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 6679 #line 6680 "Parser/parser.cc" /* yacc.c:1646 */ 7522 7523 /* Line 1806 of yacc.c */ 7524 #line 1828 "parser.yy" 7525 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6680 7526 break; 6681 7527 6682 7528 case 477: 6683 #line 1821 "parser.yy" /* yacc.c:1646 */ 6684 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[-3].tok), (yyvsp[-1].en) ); } 6685 #line 6686 "Parser/parser.cc" /* yacc.c:1646 */ 6686 break; 6687 6688 case 479: 6689 #line 1827 "parser.yy" /* yacc.c:1646 */ 6690 { (yyval.decl) = (yyvsp[-3].decl)->appendList( (yyvsp[-1].decl) ); } 6691 #line 6692 "Parser/parser.cc" /* yacc.c:1646 */ 7529 7530 /* Line 1806 of yacc.c */ 7531 #line 1830 "parser.yy" 7532 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7533 break; 7534 7535 case 478: 7536 7537 /* Line 1806 of yacc.c */ 7538 #line 1832 "parser.yy" 7539 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6692 7540 break; 6693 7541 6694 7542 case 480: 6695 #line 1832 "parser.yy" /* yacc.c:1646 */ 6696 { typedefTable.addToEnclosingScope( *(yyvsp[0].tok), TypedefTable::TD ); } 6697 #line 6698 "Parser/parser.cc" /* yacc.c:1646 */ 7543 7544 /* Line 1806 of yacc.c */ 7545 #line 1838 "parser.yy" 7546 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6698 7547 break; 6699 7548 6700 7549 case 481: 6701 #line 1834 "parser.yy" /* yacc.c:1646 */ 6702 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[-3].tclass), (yyvsp[-2].tok) )->addAssertions( (yyvsp[0].decl) ); } 6703 #line 6704 "Parser/parser.cc" /* yacc.c:1646 */ 6704 break; 6705 6706 case 483: 6707 #line 1840 "parser.yy" /* yacc.c:1646 */ 7550 7551 /* Line 1806 of yacc.c */ 7552 #line 1840 "parser.yy" 7553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7554 break; 7555 7556 case 482: 7557 7558 /* Line 1806 of yacc.c */ 7559 #line 1845 "parser.yy" 7560 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7561 break; 7562 7563 case 484: 7564 7565 /* Line 1806 of yacc.c */ 7566 #line 1851 "parser.yy" 7567 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7568 break; 7569 7570 case 485: 7571 7572 /* Line 1806 of yacc.c */ 7573 #line 1856 "parser.yy" 7574 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7575 break; 7576 7577 case 486: 7578 7579 /* Line 1806 of yacc.c */ 7580 #line 1858 "parser.yy" 7581 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7582 break; 7583 7584 case 488: 7585 7586 /* Line 1806 of yacc.c */ 7587 #line 1864 "parser.yy" 6708 7588 { (yyval.tclass) = DeclarationNode::Type; } 6709 #line 6710 "Parser/parser.cc" /* yacc.c:1646 */ 6710 break; 6711 6712 case 484: 6713 #line 1842 "parser.yy" /* yacc.c:1646 */ 7589 break; 7590 7591 case 489: 7592 7593 /* Line 1806 of yacc.c */ 7594 #line 1866 "parser.yy" 6714 7595 { (yyval.tclass) = DeclarationNode::Ftype; } 6715 #line 6716 "Parser/parser.cc" /* yacc.c:1646 */ 6716 break; 6717 6718 case 485: 6719 #line 1844 "parser.yy" /* yacc.c:1646 */ 7596 break; 7597 7598 case 490: 7599 7600 /* Line 1806 of yacc.c */ 7601 #line 1868 "parser.yy" 6720 7602 { (yyval.tclass) = DeclarationNode::Dtype; } 6721 #line 6722 "Parser/parser.cc" /* yacc.c:1646 */ 6722 break; 6723 6724 case 486: 6725 #line 1849 "parser.yy" /* yacc.c:1646 */ 7603 break; 7604 7605 case 491: 7606 7607 /* Line 1806 of yacc.c */ 7608 #line 1873 "parser.yy" 6726 7609 { (yyval.decl) = 0; } 6727 #line 6728 "Parser/parser.cc" /* yacc.c:1646 */ 6728 break; 6729 6730 case 487: 6731 #line 1851 "parser.yy" /* yacc.c:1646 */ 6732 { (yyval.decl) = (yyvsp[-1].decl) != 0 ? (yyvsp[-1].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6733 #line 6734 "Parser/parser.cc" /* yacc.c:1646 */ 6734 break; 6735 6736 case 488: 6737 #line 1856 "parser.yy" /* yacc.c:1646 */ 7610 break; 7611 7612 case 492: 7613 7614 /* Line 1806 of yacc.c */ 7615 #line 1875 "parser.yy" 7616 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7617 break; 7618 7619 case 493: 7620 7621 /* Line 1806 of yacc.c */ 7622 #line 1880 "parser.yy" 6738 7623 { 6739 typedefTable.openTrait( *(yyvsp[ -3].tok) );6740 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[ -3].tok), (yyvsp[-1].en) );7624 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); 7625 (yyval.decl) = DeclarationNode::newTraitUse( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) ); 6741 7626 } 6742 #line 6743 "Parser/parser.cc" /* yacc.c:1646 */ 6743 break; 6744 6745 case 489: 6746 #line 1861 "parser.yy" /* yacc.c:1646 */ 6747 { (yyval.decl) = (yyvsp[-1].decl); } 6748 #line 6749 "Parser/parser.cc" /* yacc.c:1646 */ 6749 break; 6750 6751 case 490: 6752 #line 1863 "parser.yy" /* yacc.c:1646 */ 7627 break; 7628 7629 case 494: 7630 7631 /* Line 1806 of yacc.c */ 7632 #line 1885 "parser.yy" 7633 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7634 break; 7635 7636 case 495: 7637 7638 /* Line 1806 of yacc.c */ 7639 #line 1887 "parser.yy" 6753 7640 { (yyval.decl) = 0; } 6754 #line 6755 "Parser/parser.cc" /* yacc.c:1646 */6755 break;6756 6757 case 491:6758 #line 1868 "parser.yy" /* yacc.c:1646 */6759 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ); }6760 #line 6761 "Parser/parser.cc" /* yacc.c:1646 */6761 break;6762 6763 case 493:6764 #line 1871 "parser.yy" /* yacc.c:1646 */6765 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[0].decl) ) ) ) ); }6766 #line 6767 "Parser/parser.cc" /* yacc.c:1646 */6767 break;6768 6769 case 494:6770 #line 1873 "parser.yy" /* yacc.c:1646 */6771 { (yyval.en) = (ExpressionNode *)( (yyvsp[-2].en)->set_last( (yyvsp[0].en) )); }6772 #line 6773 "Parser/parser.cc" /* yacc.c:1646 */6773 break;6774 6775 case 495:6776 #line 1878 "parser.yy" /* yacc.c:1646 */6777 { (yyval.decl) = (yyvsp[0].decl); }6778 #line 6779 "Parser/parser.cc" /* yacc.c:1646 */6779 7641 break; 6780 7642 6781 7643 case 496: 6782 #line 1880 "parser.yy" /* yacc.c:1646 */ 6783 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-2].decl) ); } 6784 #line 6785 "Parser/parser.cc" /* yacc.c:1646 */ 6785 break; 6786 6787 case 497: 6788 #line 1882 "parser.yy" /* yacc.c:1646 */ 6789 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl)->copyStorageClasses( (yyvsp[-2].decl) ) ); } 6790 #line 6791 "Parser/parser.cc" /* yacc.c:1646 */ 7644 7645 /* Line 1806 of yacc.c */ 7646 #line 1892 "parser.yy" 7647 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 6791 7648 break; 6792 7649 6793 7650 case 498: 6794 #line 1887 "parser.yy" /* yacc.c:1646 */ 6795 { (yyval.decl) = (yyvsp[-1].decl)->addAssertions( (yyvsp[0].decl) ); } 6796 #line 6797 "Parser/parser.cc" /* yacc.c:1646 */ 7651 7652 /* Line 1806 of yacc.c */ 7653 #line 1895 "parser.yy" 7654 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 6797 7655 break; 6798 7656 6799 7657 case 499: 6800 #line 1889 "parser.yy" /* yacc.c:1646 */ 6801 { (yyval.decl) = (yyvsp[-3].decl)->addAssertions( (yyvsp[-2].decl) )->addType( (yyvsp[0].decl) ); } 6802 #line 6803 "Parser/parser.cc" /* yacc.c:1646 */ 7658 7659 /* Line 1806 of yacc.c */ 7660 #line 1897 "parser.yy" 7661 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 6803 7662 break; 6804 7663 6805 7664 case 500: 6806 #line 1894 "parser.yy" /* yacc.c:1646 */ 7665 7666 /* Line 1806 of yacc.c */ 7667 #line 1902 "parser.yy" 7668 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7669 break; 7670 7671 case 501: 7672 7673 /* Line 1806 of yacc.c */ 7674 #line 1904 "parser.yy" 7675 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7676 break; 7677 7678 case 502: 7679 7680 /* Line 1806 of yacc.c */ 7681 #line 1906 "parser.yy" 7682 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7683 break; 7684 7685 case 503: 7686 7687 /* Line 1806 of yacc.c */ 7688 #line 1911 "parser.yy" 7689 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7690 break; 7691 7692 case 504: 7693 7694 /* Line 1806 of yacc.c */ 7695 #line 1913 "parser.yy" 7696 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7697 break; 7698 7699 case 505: 7700 7701 /* Line 1806 of yacc.c */ 7702 #line 1918 "parser.yy" 6807 7703 { 6808 typedefTable.addToEnclosingScope( *(yyvsp[ 0].tok), TypedefTable::TD );6809 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[ 0].tok), 0 );7704 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); 7705 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (1)].tok), 0 ); 6810 7706 } 6811 #line 6812 "Parser/parser.cc" /* yacc.c:1646 */ 6812 break; 6813 6814 case 501: 6815 #line 1899 "parser.yy" /* yacc.c:1646 */ 7707 break; 7708 7709 case 506: 7710 7711 /* Line 1806 of yacc.c */ 7712 #line 1923 "parser.yy" 6816 7713 { 6817 typedefTable.addToEnclosingScope( *(yyvsp[ -5].tok), TypedefTable::TG );6818 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[ -5].tok), (yyvsp[-2].decl) );7714 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); 7715 (yyval.decl) = DeclarationNode::newTypeDecl( (yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].decl) ); 6819 7716 } 6820 #line 6821 "Parser/parser.cc" /* yacc.c:1646 */ 6821 break; 6822 6823 case 502: 6824 #line 1907 "parser.yy" /* yacc.c:1646 */ 7717 break; 7718 7719 case 507: 7720 7721 /* Line 1806 of yacc.c */ 7722 #line 1931 "parser.yy" 6825 7723 { 6826 typedefTable.addToEnclosingScope( *(yyvsp[ -7].tok), TypedefTable::ID );6827 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ -7].tok), (yyvsp[-4].decl), 0 );7724 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); 7725 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (9)].tok), (yyvsp[(5) - (9)].decl), 0 ); 6828 7726 } 6829 #line 6830 "Parser/parser.cc" /* yacc.c:1646 */ 6830 break; 6831 6832 case 503: 6833 #line 1912 "parser.yy" /* yacc.c:1646 */ 7727 break; 7728 7729 case 508: 7730 7731 /* Line 1806 of yacc.c */ 7732 #line 1936 "parser.yy" 6834 7733 { 6835 typedefTable.enterTrait( *(yyvsp[ -6].tok) );7734 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); 6836 7735 typedefTable.enterScope(); 6837 7736 } 6838 #line 6839 "Parser/parser.cc" /* yacc.c:1646 */ 6839 break; 6840 6841 case 504: 6842 #line 1917 "parser.yy" /* yacc.c:1646 */ 7737 break; 7738 7739 case 509: 7740 7741 /* Line 1806 of yacc.c */ 7742 #line 1941 "parser.yy" 6843 7743 { 6844 7744 typedefTable.leaveTrait(); 6845 typedefTable.addToEnclosingScope( *(yyvsp[ -9].tok), TypedefTable::ID );6846 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[ -9].tok), (yyvsp[-6].decl), (yyvsp[-1].decl) );7745 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (11)].tok), TypedefTable::ID ); 7746 (yyval.decl) = DeclarationNode::newTrait( (yyvsp[(2) - (11)].tok), (yyvsp[(5) - (11)].decl), (yyvsp[(10) - (11)].decl) ); 6847 7747 } 6848 #line 6849 "Parser/parser.cc" /* yacc.c:1646 */ 6849 break; 6850 6851 case 506: 6852 #line 1927 "parser.yy" /* yacc.c:1646 */ 6853 { (yyval.decl) = (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ); } 6854 #line 6855 "Parser/parser.cc" /* yacc.c:1646 */ 6855 break; 6856 6857 case 509: 6858 #line 1937 "parser.yy" /* yacc.c:1646 */ 7748 break; 7749 7750 case 511: 7751 7752 /* Line 1806 of yacc.c */ 7753 #line 1951 "parser.yy" 7754 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7755 break; 7756 7757 case 514: 7758 7759 /* Line 1806 of yacc.c */ 7760 #line 1961 "parser.yy" 6859 7761 { 6860 7762 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6861 (yyval.decl) = (yyvsp[ 0].decl);7763 (yyval.decl) = (yyvsp[(1) - (1)].decl); 6862 7764 } 6863 #line 6864 "Parser/parser.cc" /* yacc.c:1646 */ 6864 break; 6865 6866 case 510: 6867 #line 1942 "parser.yy" /* yacc.c:1646 */ 7765 break; 7766 7767 case 515: 7768 7769 /* Line 1806 of yacc.c */ 7770 #line 1966 "parser.yy" 6868 7771 { 6869 7772 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6870 (yyval.decl) = (yyvsp[ 0].decl);7773 (yyval.decl) = (yyvsp[(1) - (1)].decl); 6871 7774 } 6872 #line 6873 "Parser/parser.cc" /* yacc.c:1646 */ 6873 break; 6874 6875 case 511: 6876 #line 1947 "parser.yy" /* yacc.c:1646 */ 7775 break; 7776 7777 case 516: 7778 7779 /* Line 1806 of yacc.c */ 7780 #line 1971 "parser.yy" 6877 7781 { 6878 typedefTable.addToEnclosingScope2( *(yyvsp[ 0].tok), TypedefTable::ID );6879 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneType( (yyvsp[0].tok) ) );7782 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); 7783 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneType( (yyvsp[(5) - (5)].tok) ) ); 6880 7784 } 6881 #line 6882 "Parser/parser.cc" /* yacc.c:1646 */ 6882 break; 6883 6884 case 512: 6885 #line 1955 "parser.yy" /* yacc.c:1646 */ 7785 break; 7786 7787 case 517: 7788 7789 /* Line 1806 of yacc.c */ 7790 #line 1979 "parser.yy" 6886 7791 { 6887 7792 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6888 (yyval.decl) = (yyvsp[ 0].decl)->addType( (yyvsp[-1].decl) );7793 (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); 6889 7794 } 6890 #line 6891 "Parser/parser.cc" /* yacc.c:1646 */ 6891 break; 6892 6893 case 513: 6894 #line 1960 "parser.yy" /* yacc.c:1646 */ 7795 break; 7796 7797 case 518: 7798 7799 /* Line 1806 of yacc.c */ 7800 #line 1984 "parser.yy" 6895 7801 { 6896 7802 typedefTable.addToEnclosingScope2( TypedefTable::ID ); 6897 (yyval.decl) = (yyvsp[ -4].decl)->appendList( (yyvsp[-4].decl)->cloneBaseType( (yyvsp[0].decl) ) );7803 (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(1) - (5)].decl)->cloneBaseType( (yyvsp[(5) - (5)].decl) ) ); 6898 7804 } 6899 #line 6900 "Parser/parser.cc" /* yacc.c:1646 */ 6900 break; 6901 6902 case 514: 6903 #line 1970 "parser.yy" /* yacc.c:1646 */ 7805 break; 7806 7807 case 519: 7808 7809 /* Line 1806 of yacc.c */ 7810 #line 1994 "parser.yy" 6904 7811 {} 6905 #line 6906 "Parser/parser.cc" /* yacc.c:1646 */ 6906 break; 6907 6908 case 515: 6909 #line 1972 "parser.yy" /* yacc.c:1646 */ 6910 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6911 #line 6912 "Parser/parser.cc" /* yacc.c:1646 */ 6912 break; 6913 6914 case 517: 6915 #line 1978 "parser.yy" /* yacc.c:1646 */ 6916 { (yyval.decl) = (yyvsp[-2].decl) != nullptr ? (yyvsp[-2].decl)->appendList( (yyvsp[0].decl) ) : (yyvsp[0].decl); } 6917 #line 6918 "Parser/parser.cc" /* yacc.c:1646 */ 6918 break; 6919 6920 case 518: 6921 #line 1983 "parser.yy" /* yacc.c:1646 */ 7812 break; 7813 7814 case 520: 7815 7816 /* Line 1806 of yacc.c */ 7817 #line 1996 "parser.yy" 7818 { 7819 if ( theTree ) { 7820 theTree->appendList( (yyvsp[(1) - (1)].decl) ); 7821 } else { 7822 theTree = (yyvsp[(1) - (1)].decl); 7823 } 7824 } 7825 break; 7826 7827 case 522: 7828 7829 /* Line 1806 of yacc.c */ 7830 #line 2008 "parser.yy" 7831 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7832 break; 7833 7834 case 523: 7835 7836 /* Line 1806 of yacc.c */ 7837 #line 2013 "parser.yy" 6922 7838 { (yyval.decl) = 0; } 6923 #line 6924 "Parser/parser.cc" /* yacc.c:1646 */ 6924 break; 6925 6926 case 522: 6927 #line 1991 "parser.yy" /* yacc.c:1646 */ 7839 break; 7840 7841 case 527: 7842 7843 /* Line 1806 of yacc.c */ 7844 #line 2021 "parser.yy" 6928 7845 {} 6929 #line 6930 "Parser/parser.cc" /* yacc.c:1646 */ 6930 break; 6931 6932 case 523: 6933 #line 1993 "parser.yy" /* yacc.c:1646 */ 7846 break; 7847 7848 case 528: 7849 7850 /* Line 1806 of yacc.c */ 7851 #line 2023 "parser.yy" 6934 7852 { 6935 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall"6936 linkage = LinkageSpec::fromString( assign_strptr((yyvsp[0].tok)) );7853 linkageStack.push( linkage ); 7854 linkage = LinkageSpec::fromString( *(yyvsp[(2) - (2)].tok) ); 6937 7855 } 6938 #line 6939 "Parser/parser.cc" /* yacc.c:1646 */ 6939 break; 6940 6941 case 524: 6942 #line 1998 "parser.yy" /* yacc.c:1646 */ 7856 break; 7857 7858 case 529: 7859 7860 /* Line 1806 of yacc.c */ 7861 #line 2028 "parser.yy" 6943 7862 { 6944 7863 linkage = linkageStack.top(); 6945 7864 linkageStack.pop(); 6946 (yyval.decl) = (yyvsp[ -1].decl);7865 (yyval.decl) = (yyvsp[(5) - (6)].decl); 6947 7866 } 6948 #line 6949 "Parser/parser.cc" /* yacc.c:1646 */ 6949 break; 6950 6951 case 525: 6952 #line 2004 "parser.yy" /* yacc.c:1646 */ 7867 break; 7868 7869 case 530: 7870 7871 /* Line 1806 of yacc.c */ 7872 #line 2034 "parser.yy" 6953 7873 { // mark all fields in list 6954 for ( DeclarationNode *iter = (yyvsp[ 0].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )7874 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 6955 7875 iter->set_extension( true ); 6956 (yyval.decl) = (yyvsp[ 0].decl);7876 (yyval.decl) = (yyvsp[(2) - (2)].decl); 6957 7877 } 6958 #line 6959 "Parser/parser.cc" /* yacc.c:1646 */ 6959 break; 6960 6961 case 527: 6962 #line 2019 "parser.yy" /* yacc.c:1646 */ 7878 break; 7879 7880 case 532: 7881 7882 /* Line 1806 of yacc.c */ 7883 #line 2049 "parser.yy" 6963 7884 { 6964 7885 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6965 7886 typedefTable.leaveScope(); 6966 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) );7887 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) ); 6967 7888 } 6968 #line 6969 "Parser/parser.cc" /* yacc.c:1646 */ 6969 break; 6970 6971 case 528: 6972 #line 2025 "parser.yy" /* yacc.c:1646 */ 7889 break; 7890 7891 case 533: 7892 7893 /* Line 1806 of yacc.c */ 7894 #line 2055 "parser.yy" 6973 7895 { 6974 7896 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6975 7897 typedefTable.leaveScope(); 6976 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) );7898 (yyval.decl) = (yyvsp[(1) - (4)].decl)->addOldDeclList( (yyvsp[(3) - (4)].decl) )->addFunctionBody( (yyvsp[(4) - (4)].sn) ); 6977 7899 } 6978 #line 6979 "Parser/parser.cc" /* yacc.c:1646 */ 6979 break; 6980 6981 case 529: 6982 #line 2034 "parser.yy" /* yacc.c:1646 */ 7900 break; 7901 7902 case 534: 7903 7904 /* Line 1806 of yacc.c */ 7905 #line 2064 "parser.yy" 6983 7906 { 6984 7907 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6985 7908 typedefTable.leaveScope(); 6986 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) );7909 (yyval.decl) = (yyvsp[(1) - (2)].decl)->addFunctionBody( (yyvsp[(2) - (2)].sn) ); 6987 7910 } 6988 #line 6989 "Parser/parser.cc" /* yacc.c:1646 */ 6989 break; 6990 6991 case 530: 6992 #line 2040 "parser.yy" /* yacc.c:1646 */ 7911 break; 7912 7913 case 535: 7914 7915 /* Line 1806 of yacc.c */ 7916 #line 2070 "parser.yy" 6993 7917 { 6994 7918 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6995 7919 typedefTable.leaveScope(); 6996 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-2].decl) );7920 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addType( (yyvsp[(1) - (3)].decl) ); 6997 7921 } 6998 #line 6999 "Parser/parser.cc" /* yacc.c:1646 */ 6999 break; 7000 7001 case 531: 7002 #line 2046 "parser.yy" /* yacc.c:1646 */ 7922 break; 7923 7924 case 536: 7925 7926 /* Line 1806 of yacc.c */ 7927 #line 2076 "parser.yy" 7003 7928 { 7004 7929 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7005 7930 typedefTable.leaveScope(); 7006 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) );7931 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7007 7932 } 7008 #line 7009 "Parser/parser.cc" /* yacc.c:1646 */ 7009 break; 7010 7011 case 532: 7012 #line 2052 "parser.yy" /* yacc.c:1646 */ 7933 break; 7934 7935 case 537: 7936 7937 /* Line 1806 of yacc.c */ 7938 #line 2082 "parser.yy" 7013 7939 { 7014 7940 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7015 7941 typedefTable.leaveScope(); 7016 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) );7942 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7017 7943 } 7018 #line 7019 "Parser/parser.cc" /* yacc.c:1646 */ 7019 break; 7020 7021 case 533: 7022 #line 2058 "parser.yy" /* yacc.c:1646 */ 7944 break; 7945 7946 case 538: 7947 7948 /* Line 1806 of yacc.c */ 7949 #line 2088 "parser.yy" 7023 7950 { 7024 7951 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7025 7952 typedefTable.leaveScope(); 7026 (yyval.decl) = (yyvsp[ -1].decl)->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-2].decl) )->addQualifiers( (yyvsp[-3].decl) );7953 (yyval.decl) = (yyvsp[(3) - (4)].decl)->addFunctionBody( (yyvsp[(4) - (4)].sn) )->addQualifiers( (yyvsp[(2) - (4)].decl) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); 7027 7954 } 7028 #line 7029 "Parser/parser.cc" /* yacc.c:1646 */ 7029 break; 7030 7031 case 534: 7032 #line 2066 "parser.yy" /* yacc.c:1646 */ 7955 break; 7956 7957 case 539: 7958 7959 /* Line 1806 of yacc.c */ 7960 #line 2096 "parser.yy" 7033 7961 { 7034 7962 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7035 7963 typedefTable.leaveScope(); 7036 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addType( (yyvsp[-4].decl) );7964 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addType( (yyvsp[(1) - (5)].decl) ); 7037 7965 } 7038 #line 7039 "Parser/parser.cc" /* yacc.c:1646 */ 7039 break; 7040 7041 case 535: 7042 #line 2072 "parser.yy" /* yacc.c:1646 */ 7966 break; 7967 7968 case 540: 7969 7970 /* Line 1806 of yacc.c */ 7971 #line 2102 "parser.yy" 7043 7972 { 7044 7973 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7045 7974 typedefTable.leaveScope(); 7046 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) );7975 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); 7047 7976 } 7048 #line 7049 "Parser/parser.cc" /* yacc.c:1646 */ 7049 break; 7050 7051 case 536: 7052 #line 2080 "parser.yy" /* yacc.c:1646 */ 7977 break; 7978 7979 case 541: 7980 7981 /* Line 1806 of yacc.c */ 7982 #line 2110 "parser.yy" 7053 7983 { 7054 7984 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7055 7985 typedefTable.leaveScope(); 7056 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) );7986 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); 7057 7987 } 7058 #line 7059 "Parser/parser.cc" /* yacc.c:1646 */ 7059 break; 7060 7061 case 537: 7062 #line 2086 "parser.yy" /* yacc.c:1646 */ 7988 break; 7989 7990 case 542: 7991 7992 /* Line 1806 of yacc.c */ 7993 #line 2116 "parser.yy" 7063 7994 { 7064 7995 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7065 7996 typedefTable.leaveScope(); 7066 (yyval.decl) = (yyvsp[ -3].decl)->addOldDeclList( (yyvsp[-1].decl) )->addFunctionBody( (yyvsp[0].sn) )->addQualifiers( (yyvsp[-4].decl) )->addQualifiers( (yyvsp[-5].decl) );7997 (yyval.decl) = (yyvsp[(3) - (6)].decl)->addOldDeclList( (yyvsp[(5) - (6)].decl) )->addFunctionBody( (yyvsp[(6) - (6)].sn) )->addQualifiers( (yyvsp[(2) - (6)].decl) )->addQualifiers( (yyvsp[(1) - (6)].decl) ); 7067 7998 } 7068 #line 7069 "Parser/parser.cc" /* yacc.c:1646 */ 7069 break; 7070 7071 case 541: 7072 #line 2101 "parser.yy" /* yacc.c:1646 */ 7073 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[-2].en), (yyvsp[0].en) ) ); } 7074 #line 7075 "Parser/parser.cc" /* yacc.c:1646 */ 7075 break; 7076 7077 case 544: 7078 #line 2111 "parser.yy" /* yacc.c:1646 */ 7999 break; 8000 8001 case 546: 8002 8003 /* Line 1806 of yacc.c */ 8004 #line 2131 "parser.yy" 8005 { (yyval.en) = new CompositeExprNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 8006 break; 8007 8008 case 549: 8009 8010 /* Line 1806 of yacc.c */ 8011 #line 2141 "parser.yy" 7079 8012 { (yyval.decl) = 0; } 7080 #line 7081 "Parser/parser.cc" /* yacc.c:1646 */ 7081 break; 7082 7083 case 547: 7084 #line 2118 "parser.yy" /* yacc.c:1646 */ 7085 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7086 #line 7087 "Parser/parser.cc" /* yacc.c:1646 */ 7087 break; 7088 7089 case 548: 7090 #line 2124 "parser.yy" /* yacc.c:1646 */ 8013 break; 8014 8015 case 552: 8016 8017 /* Line 1806 of yacc.c */ 8018 #line 2148 "parser.yy" 8019 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8020 break; 8021 8022 case 553: 8023 8024 /* Line 1806 of yacc.c */ 8025 #line 2154 "parser.yy" 7091 8026 { (yyval.decl) = 0; } 7092 #line 7093 "Parser/parser.cc" /* yacc.c:1646 */ 7093 break; 7094 7095 case 554: 7096 #line 2139 "parser.yy" /* yacc.c:1646 */ 8027 break; 8028 8029 case 559: 8030 8031 /* Line 1806 of yacc.c */ 8032 #line 2169 "parser.yy" 7097 8033 {} 7098 #line 7099 "Parser/parser.cc" /* yacc.c:1646 */ 7099 break; 7100 7101 case 555: 7102 #line 2140 "parser.yy" /* yacc.c:1646 */ 8034 break; 8035 8036 case 560: 8037 8038 /* Line 1806 of yacc.c */ 8039 #line 2170 "parser.yy" 7103 8040 {} 7104 #line 7105 "Parser/parser.cc" /* yacc.c:1646 */ 7105 break; 7106 7107 case 556: 7108 #line 2141 "parser.yy" /* yacc.c:1646 */ 8041 break; 8042 8043 case 561: 8044 8045 /* Line 1806 of yacc.c */ 8046 #line 2171 "parser.yy" 7109 8047 {} 7110 #line 7111 "Parser/parser.cc" /* yacc.c:1646 */ 7111 break; 7112 7113 case 557: 7114 #line 2142 "parser.yy" /* yacc.c:1646 */ 8048 break; 8049 8050 case 562: 8051 8052 /* Line 1806 of yacc.c */ 8053 #line 2172 "parser.yy" 7115 8054 {} 7116 #line 7117 "Parser/parser.cc" /* yacc.c:1646 */ 7117 break; 7118 7119 case 558: 7120 #line 2177 "parser.yy" /* yacc.c:1646 */ 7121 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7122 #line 7123 "Parser/parser.cc" /* yacc.c:1646 */ 7123 break; 7124 7125 case 560: 7126 #line 2180 "parser.yy" /* yacc.c:1646 */ 7127 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7128 #line 7129 "Parser/parser.cc" /* yacc.c:1646 */ 7129 break; 7130 7131 case 561: 7132 #line 2182 "parser.yy" /* yacc.c:1646 */ 7133 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7134 #line 7135 "Parser/parser.cc" /* yacc.c:1646 */ 7135 break; 7136 7137 case 562: 7138 #line 2187 "parser.yy" /* yacc.c:1646 */ 8055 break; 8056 8057 case 563: 8058 8059 /* Line 1806 of yacc.c */ 8060 #line 2207 "parser.yy" 8061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8062 break; 8063 8064 case 565: 8065 8066 /* Line 1806 of yacc.c */ 8067 #line 2210 "parser.yy" 8068 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8069 break; 8070 8071 case 566: 8072 8073 /* Line 1806 of yacc.c */ 8074 #line 2212 "parser.yy" 8075 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8076 break; 8077 8078 case 567: 8079 8080 /* Line 1806 of yacc.c */ 8081 #line 2217 "parser.yy" 7139 8082 { 7140 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7141 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8083 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8084 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7142 8085 } 7143 #line 7144 "Parser/parser.cc" /* yacc.c:1646 */7144 break;7145 7146 case 563:7147 #line 2192 "parser.yy" /* yacc.c:1646 */7148 { (yyval.decl) = (yyvsp[-1].decl); }7149 #line 7150 "Parser/parser.cc" /* yacc.c:1646 */7150 break;7151 7152 case 564:7153 #line 2197 "parser.yy" /* yacc.c:1646 */7154 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7155 #line 7156 "Parser/parser.cc" /* yacc.c:1646 */7156 break;7157 7158 case 565:7159 #line 2199 "parser.yy" /* yacc.c:1646 */7160 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }7161 #line 7162 "Parser/parser.cc" /* yacc.c:1646 */7162 break;7163 7164 case 566:7165 #line 2201 "parser.yy" /* yacc.c:1646 */7166 { (yyval.decl) = (yyvsp[-1].decl); }7167 #line 7168 "Parser/parser.cc" /* yacc.c:1646 */7168 break;7169 7170 case 567:7171 #line 2206 "parser.yy" /* yacc.c:1646 */7172 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }7173 #line 7174 "Parser/parser.cc" /* yacc.c:1646 */7174 8086 break; 7175 8087 7176 8088 case 568: 7177 #line 2208 "parser.yy" /* yacc.c:1646 */ 7178 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7179 #line 7180 "Parser/parser.cc" /* yacc.c:1646 */ 8089 8090 /* Line 1806 of yacc.c */ 8091 #line 2222 "parser.yy" 8092 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7180 8093 break; 7181 8094 7182 8095 case 569: 7183 #line 2210 "parser.yy" /* yacc.c:1646 */ 7184 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7185 #line 7186 "Parser/parser.cc" /* yacc.c:1646 */ 8096 8097 /* Line 1806 of yacc.c */ 8098 #line 2227 "parser.yy" 8099 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7186 8100 break; 7187 8101 7188 8102 case 570: 7189 #line 2212 "parser.yy" /* yacc.c:1646 */ 7190 { (yyval.decl) = (yyvsp[-1].decl); } 7191 #line 7192 "Parser/parser.cc" /* yacc.c:1646 */ 8103 8104 /* Line 1806 of yacc.c */ 8105 #line 2229 "parser.yy" 8106 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7192 8107 break; 7193 8108 7194 8109 case 571: 7195 #line 2217 "parser.yy" /* yacc.c:1646 */ 7196 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7197 #line 7198 "Parser/parser.cc" /* yacc.c:1646 */ 8110 8111 /* Line 1806 of yacc.c */ 8112 #line 2231 "parser.yy" 8113 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7198 8114 break; 7199 8115 7200 8116 case 572: 7201 #line 2219 "parser.yy" /* yacc.c:1646 */ 7202 { (yyval.decl) = (yyvsp[-1].decl); } 7203 #line 7204 "Parser/parser.cc" /* yacc.c:1646 */ 8117 8118 /* Line 1806 of yacc.c */ 8119 #line 2236 "parser.yy" 8120 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7204 8121 break; 7205 8122 7206 8123 case 573: 7207 #line 2228 "parser.yy" /* yacc.c:1646 */ 7208 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7209 #line 7210 "Parser/parser.cc" /* yacc.c:1646 */ 8124 8125 /* Line 1806 of yacc.c */ 8126 #line 2238 "parser.yy" 8127 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8128 break; 8129 8130 case 574: 8131 8132 /* Line 1806 of yacc.c */ 8133 #line 2240 "parser.yy" 8134 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7210 8135 break; 7211 8136 7212 8137 case 575: 7213 #line 2231 "parser.yy" /* yacc.c:1646 */ 7214 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7215 #line 7216 "Parser/parser.cc" /* yacc.c:1646 */ 8138 8139 /* Line 1806 of yacc.c */ 8140 #line 2242 "parser.yy" 8141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7216 8142 break; 7217 8143 7218 8144 case 576: 7219 #line 2236 "parser.yy" /* yacc.c:1646 */ 7220 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7221 #line 7222 "Parser/parser.cc" /* yacc.c:1646 */ 8145 8146 /* Line 1806 of yacc.c */ 8147 #line 2247 "parser.yy" 8148 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7222 8149 break; 7223 8150 7224 8151 case 577: 7225 #line 2238 "parser.yy" /* yacc.c:1646 */ 7226 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7227 #line 7228 "Parser/parser.cc" /* yacc.c:1646 */ 8152 8153 /* Line 1806 of yacc.c */ 8154 #line 2249 "parser.yy" 8155 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7228 8156 break; 7229 8157 7230 8158 case 578: 7231 #line 2240 "parser.yy" /* yacc.c:1646 */ 7232 { (yyval.decl) = (yyvsp[-1].decl); } 7233 #line 7234 "Parser/parser.cc" /* yacc.c:1646 */ 7234 break; 7235 7236 case 579: 7237 #line 2245 "parser.yy" /* yacc.c:1646 */ 7238 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7239 #line 7240 "Parser/parser.cc" /* yacc.c:1646 */ 8159 8160 /* Line 1806 of yacc.c */ 8161 #line 2258 "parser.yy" 8162 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7240 8163 break; 7241 8164 7242 8165 case 580: 7243 #line 2247 "parser.yy" /* yacc.c:1646 */ 7244 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7245 #line 7246 "Parser/parser.cc" /* yacc.c:1646 */ 8166 8167 /* Line 1806 of yacc.c */ 8168 #line 2261 "parser.yy" 8169 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7246 8170 break; 7247 8171 7248 8172 case 581: 7249 #line 2249 "parser.yy" /* yacc.c:1646 */ 7250 { (yyval.decl) = (yyvsp[-1].decl); } 7251 #line 7252 "Parser/parser.cc" /* yacc.c:1646 */ 8173 8174 /* Line 1806 of yacc.c */ 8175 #line 2266 "parser.yy" 8176 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7252 8177 break; 7253 8178 7254 8179 case 582: 7255 #line 2254 "parser.yy" /* yacc.c:1646 */ 7256 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7257 #line 7258 "Parser/parser.cc" /* yacc.c:1646 */ 8180 8181 /* Line 1806 of yacc.c */ 8182 #line 2268 "parser.yy" 8183 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7258 8184 break; 7259 8185 7260 8186 case 583: 7261 #line 2256 "parser.yy" /* yacc.c:1646 */ 7262 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7263 #line 7264 "Parser/parser.cc" /* yacc.c:1646 */ 8187 8188 /* Line 1806 of yacc.c */ 8189 #line 2270 "parser.yy" 8190 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7264 8191 break; 7265 8192 7266 8193 case 584: 7267 #line 2258 "parser.yy" /* yacc.c:1646 */ 7268 { (yyval.decl) = (yyvsp[-1].decl); } 7269 #line 7270 "Parser/parser.cc" /* yacc.c:1646 */ 8194 8195 /* Line 1806 of yacc.c */ 8196 #line 2275 "parser.yy" 8197 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8198 break; 8199 8200 case 585: 8201 8202 /* Line 1806 of yacc.c */ 8203 #line 2277 "parser.yy" 8204 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8205 break; 8206 8207 case 586: 8208 8209 /* Line 1806 of yacc.c */ 8210 #line 2279 "parser.yy" 8211 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8212 break; 8213 8214 case 587: 8215 8216 /* Line 1806 of yacc.c */ 8217 #line 2284 "parser.yy" 8218 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7270 8219 break; 7271 8220 7272 8221 case 588: 7273 #line 2273 "parser.yy" /* yacc.c:1646 */ 7274 { (yyval.decl) = (yyvsp[-3].decl)->addIdList( (yyvsp[-1].decl) ); } 7275 #line 7276 "Parser/parser.cc" /* yacc.c:1646 */ 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2286 "parser.yy" 8225 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7276 8226 break; 7277 8227 7278 8228 case 589: 7279 #line 2275 "parser.yy" /* yacc.c:1646 */ 7280 { (yyval.decl) = (yyvsp[-4].decl)->addIdList( (yyvsp[-1].decl) ); } 7281 #line 7282 "Parser/parser.cc" /* yacc.c:1646 */ 7282 break; 7283 7284 case 590: 7285 #line 2277 "parser.yy" /* yacc.c:1646 */ 7286 { (yyval.decl) = (yyvsp[-1].decl); } 7287 #line 7288 "Parser/parser.cc" /* yacc.c:1646 */ 7288 break; 7289 7290 case 591: 7291 #line 2282 "parser.yy" /* yacc.c:1646 */ 7292 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7293 #line 7294 "Parser/parser.cc" /* yacc.c:1646 */ 7294 break; 7295 7296 case 592: 7297 #line 2284 "parser.yy" /* yacc.c:1646 */ 7298 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7299 #line 7300 "Parser/parser.cc" /* yacc.c:1646 */ 8229 8230 /* Line 1806 of yacc.c */ 8231 #line 2288 "parser.yy" 8232 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7300 8233 break; 7301 8234 7302 8235 case 593: 7303 #line 2286 "parser.yy" /* yacc.c:1646 */ 7304 { (yyval.decl) = (yyvsp[-1].decl); } 7305 #line 7306 "Parser/parser.cc" /* yacc.c:1646 */ 8236 8237 /* Line 1806 of yacc.c */ 8238 #line 2303 "parser.yy" 8239 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 7306 8240 break; 7307 8241 7308 8242 case 594: 7309 #line 2291 "parser.yy" /* yacc.c:1646 */ 7310 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7311 #line 7312 "Parser/parser.cc" /* yacc.c:1646 */ 8243 8244 /* Line 1806 of yacc.c */ 8245 #line 2305 "parser.yy" 8246 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 7312 8247 break; 7313 8248 7314 8249 case 595: 7315 #line 2293 "parser.yy" /* yacc.c:1646 */ 7316 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7317 #line 7318 "Parser/parser.cc" /* yacc.c:1646 */ 8250 8251 /* Line 1806 of yacc.c */ 8252 #line 2307 "parser.yy" 8253 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7318 8254 break; 7319 8255 7320 8256 case 596: 7321 #line 2295 "parser.yy" /* yacc.c:1646 */ 7322 { (yyval.decl) = (yyvsp[-1].decl); } 7323 #line 7324 "Parser/parser.cc" /* yacc.c:1646 */ 8257 8258 /* Line 1806 of yacc.c */ 8259 #line 2312 "parser.yy" 8260 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7324 8261 break; 7325 8262 7326 8263 case 597: 7327 #line 2310 "parser.yy" /* yacc.c:1646 */ 7328 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7329 #line 7330 "Parser/parser.cc" /* yacc.c:1646 */ 8264 8265 /* Line 1806 of yacc.c */ 8266 #line 2314 "parser.yy" 8267 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8268 break; 8269 8270 case 598: 8271 8272 /* Line 1806 of yacc.c */ 8273 #line 2316 "parser.yy" 8274 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7330 8275 break; 7331 8276 7332 8277 case 599: 7333 #line 2313 "parser.yy" /* yacc.c:1646 */ 7334 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7335 #line 7336 "Parser/parser.cc" /* yacc.c:1646 */ 8278 8279 /* Line 1806 of yacc.c */ 8280 #line 2321 "parser.yy" 8281 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7336 8282 break; 7337 8283 7338 8284 case 600: 7339 #line 2315 "parser.yy" /* yacc.c:1646 */ 7340 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7341 #line 7342 "Parser/parser.cc" /* yacc.c:1646 */ 8285 8286 /* Line 1806 of yacc.c */ 8287 #line 2323 "parser.yy" 8288 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8289 break; 8290 8291 case 601: 8292 8293 /* Line 1806 of yacc.c */ 8294 #line 2325 "parser.yy" 8295 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7342 8296 break; 7343 8297 7344 8298 case 602: 7345 #line 2321 "parser.yy" /* yacc.c:1646 */ 7346 { (yyval.decl) = (yyvsp[-1].decl); } 7347 #line 7348 "Parser/parser.cc" /* yacc.c:1646 */ 7348 break; 7349 7350 case 603: 7351 #line 2326 "parser.yy" /* yacc.c:1646 */ 7352 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7353 #line 7354 "Parser/parser.cc" /* yacc.c:1646 */ 8299 8300 /* Line 1806 of yacc.c */ 8301 #line 2340 "parser.yy" 8302 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7354 8303 break; 7355 8304 7356 8305 case 604: 7357 #line 2328 "parser.yy" /* yacc.c:1646 */ 7358 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7359 #line 7360 "Parser/parser.cc" /* yacc.c:1646 */ 8306 8307 /* Line 1806 of yacc.c */ 8308 #line 2343 "parser.yy" 8309 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7360 8310 break; 7361 8311 7362 8312 case 605: 7363 #line 2330 "parser.yy" /* yacc.c:1646 */ 7364 { (yyval.decl) = (yyvsp[-1].decl); } 7365 #line 7366 "Parser/parser.cc" /* yacc.c:1646 */ 7366 break; 7367 7368 case 606: 7369 #line 2335 "parser.yy" /* yacc.c:1646 */ 7370 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7371 #line 7372 "Parser/parser.cc" /* yacc.c:1646 */ 8313 8314 /* Line 1806 of yacc.c */ 8315 #line 2345 "parser.yy" 8316 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7372 8317 break; 7373 8318 7374 8319 case 607: 7375 #line 2337 "parser.yy" /* yacc.c:1646 */ 7376 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7377 #line 7378 "Parser/parser.cc" /* yacc.c:1646 */ 8320 8321 /* Line 1806 of yacc.c */ 8322 #line 2351 "parser.yy" 8323 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7378 8324 break; 7379 8325 7380 8326 case 608: 7381 #line 2339 "parser.yy" /* yacc.c:1646 */ 7382 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7383 #line 7384 "Parser/parser.cc" /* yacc.c:1646 */ 8327 8328 /* Line 1806 of yacc.c */ 8329 #line 2356 "parser.yy" 8330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7384 8331 break; 7385 8332 7386 8333 case 609: 7387 #line 2341 "parser.yy" /* yacc.c:1646 */ 7388 { (yyval.decl) = (yyvsp[-1].decl); } 7389 #line 7390 "Parser/parser.cc" /* yacc.c:1646 */ 8334 8335 /* Line 1806 of yacc.c */ 8336 #line 2358 "parser.yy" 8337 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7390 8338 break; 7391 8339 7392 8340 case 610: 7393 #line 2346 "parser.yy" /* yacc.c:1646 */ 7394 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7395 #line 7396 "Parser/parser.cc" /* yacc.c:1646 */ 8341 8342 /* Line 1806 of yacc.c */ 8343 #line 2360 "parser.yy" 8344 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7396 8345 break; 7397 8346 7398 8347 case 611: 7399 #line 2348 "parser.yy" /* yacc.c:1646 */ 7400 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7401 #line 7402 "Parser/parser.cc" /* yacc.c:1646 */ 8348 8349 /* Line 1806 of yacc.c */ 8350 #line 2365 "parser.yy" 8351 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7402 8352 break; 7403 8353 7404 8354 case 612: 7405 #line 2350 "parser.yy" /* yacc.c:1646 */ 7406 { (yyval.decl) = (yyvsp[-1].decl); } 7407 #line 7408 "Parser/parser.cc" /* yacc.c:1646 */ 8355 8356 /* Line 1806 of yacc.c */ 8357 #line 2367 "parser.yy" 8358 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7408 8359 break; 7409 8360 7410 8361 case 613: 7411 #line 2360 "parser.yy" /* yacc.c:1646 */ 7412 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7413 #line 7414 "Parser/parser.cc" /* yacc.c:1646 */ 8362 8363 /* Line 1806 of yacc.c */ 8364 #line 2369 "parser.yy" 8365 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8366 break; 8367 8368 case 614: 8369 8370 /* Line 1806 of yacc.c */ 8371 #line 2371 "parser.yy" 8372 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7414 8373 break; 7415 8374 7416 8375 case 615: 7417 #line 2363 "parser.yy" /* yacc.c:1646 */ 7418 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7419 #line 7420 "Parser/parser.cc" /* yacc.c:1646 */ 8376 8377 /* Line 1806 of yacc.c */ 8378 #line 2376 "parser.yy" 8379 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7420 8380 break; 7421 8381 7422 8382 case 616: 7423 #line 2365 "parser.yy" /* yacc.c:1646 */ 7424 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7425 #line 7426 "Parser/parser.cc" /* yacc.c:1646 */ 8383 8384 /* Line 1806 of yacc.c */ 8385 #line 2378 "parser.yy" 8386 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7426 8387 break; 7427 8388 7428 8389 case 617: 7429 #line 2370 "parser.yy" /* yacc.c:1646 */ 7430 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7431 #line 7432 "Parser/parser.cc" /* yacc.c:1646 */ 8390 8391 /* Line 1806 of yacc.c */ 8392 #line 2380 "parser.yy" 8393 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7432 8394 break; 7433 8395 7434 8396 case 618: 7435 #line 2372 "parser.yy" /* yacc.c:1646 */ 7436 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); } 7437 #line 7438 "Parser/parser.cc" /* yacc.c:1646 */ 7438 break; 7439 7440 case 619: 7441 #line 2374 "parser.yy" /* yacc.c:1646 */ 7442 { (yyval.decl) = (yyvsp[-1].decl); } 7443 #line 7444 "Parser/parser.cc" /* yacc.c:1646 */ 8397 8398 /* Line 1806 of yacc.c */ 8399 #line 2390 "parser.yy" 8400 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7444 8401 break; 7445 8402 7446 8403 case 620: 7447 #line 2379 "parser.yy" /* yacc.c:1646 */ 7448 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7449 #line 7450 "Parser/parser.cc" /* yacc.c:1646 */ 8404 8405 /* Line 1806 of yacc.c */ 8406 #line 2393 "parser.yy" 8407 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7450 8408 break; 7451 8409 7452 8410 case 621: 7453 #line 2381 "parser.yy" /* yacc.c:1646 */ 7454 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7455 #line 7456 "Parser/parser.cc" /* yacc.c:1646 */ 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2395 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7456 8415 break; 7457 8416 7458 8417 case 622: 7459 #line 2383 "parser.yy" /* yacc.c:1646 */ 7460 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7461 #line 7462 "Parser/parser.cc" /* yacc.c:1646 */ 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2400 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7462 8422 break; 7463 8423 7464 8424 case 623: 7465 #line 2385 "parser.yy" /* yacc.c:1646 */ 7466 { (yyval.decl) = (yyvsp[-1].decl); } 7467 #line 7468 "Parser/parser.cc" /* yacc.c:1646 */ 8425 8426 /* Line 1806 of yacc.c */ 8427 #line 2402 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7468 8429 break; 7469 8430 7470 8431 case 624: 7471 #line 2390 "parser.yy" /* yacc.c:1646 */ 7472 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7473 #line 7474 "Parser/parser.cc" /* yacc.c:1646 */ 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2404 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7474 8436 break; 7475 8437 7476 8438 case 625: 7477 #line 2392 "parser.yy" /* yacc.c:1646 */ 7478 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7479 #line 7480 "Parser/parser.cc" /* yacc.c:1646 */ 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2409 "parser.yy" 8442 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7480 8443 break; 7481 8444 7482 8445 case 626: 7483 #line 2394 "parser.yy" /* yacc.c:1646 */ 7484 { (yyval.decl) = (yyvsp[-1].decl); } 7485 #line 7486 "Parser/parser.cc" /* yacc.c:1646 */ 8446 8447 /* Line 1806 of yacc.c */ 8448 #line 2411 "parser.yy" 8449 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7486 8450 break; 7487 8451 7488 8452 case 627: 7489 #line 2425 "parser.yy" /* yacc.c:1646 */ 7490 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7491 #line 7492 "Parser/parser.cc" /* yacc.c:1646 */ 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2413 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8457 break; 8458 8459 case 628: 8460 8461 /* Line 1806 of yacc.c */ 8462 #line 2415 "parser.yy" 8463 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7492 8464 break; 7493 8465 7494 8466 case 629: 7495 #line 2428 "parser.yy" /* yacc.c:1646 */ 7496 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7497 #line 7498 "Parser/parser.cc" /* yacc.c:1646 */ 8467 8468 /* Line 1806 of yacc.c */ 8469 #line 2420 "parser.yy" 8470 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 7498 8471 break; 7499 8472 7500 8473 case 630: 7501 #line 2430 "parser.yy" /* yacc.c:1646 */ 7502 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7503 #line 7504 "Parser/parser.cc" /* yacc.c:1646 */ 8474 8475 /* Line 1806 of yacc.c */ 8476 #line 2422 "parser.yy" 8477 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 7504 8478 break; 7505 8479 7506 8480 case 631: 7507 #line 2435 "parser.yy" /* yacc.c:1646 */ 8481 8482 /* Line 1806 of yacc.c */ 8483 #line 2424 "parser.yy" 8484 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8485 break; 8486 8487 case 632: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2455 "parser.yy" 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8492 break; 8493 8494 case 634: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2458 "parser.yy" 8498 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8499 break; 8500 8501 case 635: 8502 8503 /* Line 1806 of yacc.c */ 8504 #line 2460 "parser.yy" 8505 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8506 break; 8507 8508 case 636: 8509 8510 /* Line 1806 of yacc.c */ 8511 #line 2465 "parser.yy" 7508 8512 { 7509 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7510 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8513 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8514 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7511 8515 } 7512 #line 7513 "Parser/parser.cc" /* yacc.c:1646 */ 7513 break; 7514 7515 case 632: 7516 #line 2440 "parser.yy" /* yacc.c:1646 */ 8516 break; 8517 8518 case 637: 8519 8520 /* Line 1806 of yacc.c */ 8521 #line 2470 "parser.yy" 7517 8522 { 7518 typedefTable.setNextIdentifier( *(yyvsp[ 0].tok) );7519 (yyval.decl) = DeclarationNode::newName( (yyvsp[ 0].tok) );8523 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); 8524 (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); 7520 8525 } 7521 #line 7522 "Parser/parser.cc" /* yacc.c:1646 */7522 break;7523 7524 case 633:7525 #line 2448 "parser.yy" /* yacc.c:1646 */7526 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7527 #line 7528 "Parser/parser.cc" /* yacc.c:1646 */7528 break;7529 7530 case 634:7531 #line 2450 "parser.yy" /* yacc.c:1646 */7532 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }7533 #line 7534 "Parser/parser.cc" /* yacc.c:1646 */7534 break;7535 7536 case 635:7537 #line 2452 "parser.yy" /* yacc.c:1646 */7538 { (yyval.decl) = (yyvsp[-1].decl); }7539 #line 7540 "Parser/parser.cc" /* yacc.c:1646 */7540 break;7541 7542 case 636:7543 #line 2457 "parser.yy" /* yacc.c:1646 */7544 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }7545 #line 7546 "Parser/parser.cc" /* yacc.c:1646 */7546 break;7547 7548 case 637:7549 #line 2459 "parser.yy" /* yacc.c:1646 */7550 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }7551 #line 7552 "Parser/parser.cc" /* yacc.c:1646 */7552 8526 break; 7553 8527 7554 8528 case 638: 7555 #line 2464 "parser.yy" /* yacc.c:1646 */ 7556 { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); } 7557 #line 7558 "Parser/parser.cc" /* yacc.c:1646 */ 8529 8530 /* Line 1806 of yacc.c */ 8531 #line 2478 "parser.yy" 8532 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7558 8533 break; 7559 8534 7560 8535 case 639: 7561 #line 2466 "parser.yy" /* yacc.c:1646 */ 7562 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7563 #line 7564 "Parser/parser.cc" /* yacc.c:1646 */ 8536 8537 /* Line 1806 of yacc.c */ 8538 #line 2480 "parser.yy" 8539 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8540 break; 8541 8542 case 640: 8543 8544 /* Line 1806 of yacc.c */ 8545 #line 2482 "parser.yy" 8546 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7564 8547 break; 7565 8548 7566 8549 case 641: 7567 #line 2481 "parser.yy" /* yacc.c:1646 */ 7568 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7569 #line 7570 "Parser/parser.cc" /* yacc.c:1646 */ 8550 8551 /* Line 1806 of yacc.c */ 8552 #line 2487 "parser.yy" 8553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7570 8554 break; 7571 8555 7572 8556 case 642: 7573 #line 2483 "parser.yy" /* yacc.c:1646 */ 7574 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7575 #line 7576 "Parser/parser.cc" /* yacc.c:1646 */ 8557 8558 /* Line 1806 of yacc.c */ 8559 #line 2489 "parser.yy" 8560 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7576 8561 break; 7577 8562 7578 8563 case 643: 7579 #line 2488 "parser.yy" /* yacc.c:1646 */ 8564 8565 /* Line 1806 of yacc.c */ 8566 #line 2494 "parser.yy" 8567 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8568 break; 8569 8570 case 644: 8571 8572 /* Line 1806 of yacc.c */ 8573 #line 2496 "parser.yy" 8574 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8575 break; 8576 8577 case 646: 8578 8579 /* Line 1806 of yacc.c */ 8580 #line 2511 "parser.yy" 8581 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8582 break; 8583 8584 case 647: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2513 "parser.yy" 8588 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8589 break; 8590 8591 case 648: 8592 8593 /* Line 1806 of yacc.c */ 8594 #line 2518 "parser.yy" 7580 8595 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7581 #line 7582 "Parser/parser.cc" /* yacc.c:1646 */7582 break;7583 7584 case 644:7585 #line 2490 "parser.yy" /* yacc.c:1646 */7586 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7587 #line 7588 "Parser/parser.cc" /* yacc.c:1646 */7588 break;7589 7590 case 645:7591 #line 2492 "parser.yy" /* yacc.c:1646 */7592 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7593 #line 7594 "Parser/parser.cc" /* yacc.c:1646 */7594 break;7595 7596 case 646:7597 #line 2494 "parser.yy" /* yacc.c:1646 */7598 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }7599 #line 7600 "Parser/parser.cc" /* yacc.c:1646 */7600 break;7601 7602 case 647:7603 #line 2496 "parser.yy" /* yacc.c:1646 */7604 { (yyval.decl) = (yyvsp[-1].decl); }7605 #line 7606 "Parser/parser.cc" /* yacc.c:1646 */7606 8596 break; 7607 8597 7608 8598 case 649: 7609 #line 2502 "parser.yy" /* yacc.c:1646 */ 7610 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7611 #line 7612 "Parser/parser.cc" /* yacc.c:1646 */ 8599 8600 /* Line 1806 of yacc.c */ 8601 #line 2520 "parser.yy" 8602 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7612 8603 break; 7613 8604 7614 8605 case 650: 7615 #line 2504 "parser.yy" /* yacc.c:1646 */ 7616 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7617 #line 7618 "Parser/parser.cc" /* yacc.c:1646 */ 8606 8607 /* Line 1806 of yacc.c */ 8608 #line 2522 "parser.yy" 8609 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7618 8610 break; 7619 8611 7620 8612 case 651: 7621 #line 2506 "parser.yy" /* yacc.c:1646 */ 7622 { (yyval.decl) = (yyvsp[-1].decl); } 7623 #line 7624 "Parser/parser.cc" /* yacc.c:1646 */ 8613 8614 /* Line 1806 of yacc.c */ 8615 #line 2524 "parser.yy" 8616 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7624 8617 break; 7625 8618 7626 8619 case 652: 7627 #line 2511 "parser.yy" /* yacc.c:1646 */ 7628 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7629 #line 7630 "Parser/parser.cc" /* yacc.c:1646 */ 7630 break; 7631 7632 case 653: 7633 #line 2513 "parser.yy" /* yacc.c:1646 */ 7634 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7635 #line 7636 "Parser/parser.cc" /* yacc.c:1646 */ 8620 8621 /* Line 1806 of yacc.c */ 8622 #line 2526 "parser.yy" 8623 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7636 8624 break; 7637 8625 7638 8626 case 654: 7639 #line 2515 "parser.yy" /* yacc.c:1646 */ 7640 { (yyval.decl) = (yyvsp[-1].decl); } 7641 #line 7642 "Parser/parser.cc" /* yacc.c:1646 */ 8627 8628 /* Line 1806 of yacc.c */ 8629 #line 2532 "parser.yy" 8630 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7642 8631 break; 7643 8632 7644 8633 case 655: 7645 #line 2521 "parser.yy" /* yacc.c:1646 */ 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2534 "parser.yy" 8637 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8638 break; 8639 8640 case 656: 8641 8642 /* Line 1806 of yacc.c */ 8643 #line 2536 "parser.yy" 8644 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8645 break; 8646 8647 case 657: 8648 8649 /* Line 1806 of yacc.c */ 8650 #line 2541 "parser.yy" 8651 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8652 break; 8653 8654 case 658: 8655 8656 /* Line 1806 of yacc.c */ 8657 #line 2543 "parser.yy" 8658 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8659 break; 8660 8661 case 659: 8662 8663 /* Line 1806 of yacc.c */ 8664 #line 2545 "parser.yy" 8665 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8666 break; 8667 8668 case 660: 8669 8670 /* Line 1806 of yacc.c */ 8671 #line 2551 "parser.yy" 7646 8672 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7647 #line 7648 "Parser/parser.cc" /* yacc.c:1646 */ 7648 break; 7649 7650 case 656: 7651 #line 2523 "parser.yy" /* yacc.c:1646 */ 7652 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[0].decl) ); } 7653 #line 7654 "Parser/parser.cc" /* yacc.c:1646 */ 7654 break; 7655 7656 case 658: 7657 #line 2529 "parser.yy" /* yacc.c:1646 */ 7658 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), 0, false ); } 7659 #line 7660 "Parser/parser.cc" /* yacc.c:1646 */ 7660 break; 7661 7662 case 659: 7663 #line 2531 "parser.yy" /* yacc.c:1646 */ 8673 break; 8674 8675 case 661: 8676 8677 /* Line 1806 of yacc.c */ 8678 #line 2553 "parser.yy" 8679 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8680 break; 8681 8682 case 663: 8683 8684 /* Line 1806 of yacc.c */ 8685 #line 2559 "parser.yy" 8686 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8687 break; 8688 8689 case 664: 8690 8691 /* Line 1806 of yacc.c */ 8692 #line 2561 "parser.yy" 7664 8693 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 7665 #line 7666 "Parser/parser.cc" /* yacc.c:1646 */7666 break;7667 7668 case 660:7669 #line 2533 "parser.yy" /* yacc.c:1646 */7670 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newArray( (yyvsp[-2].en), 0, false ) ); }7671 #line 7672 "Parser/parser.cc" /* yacc.c:1646 */7672 break;7673 7674 case 661:7675 #line 2535 "parser.yy" /* yacc.c:1646 */7676 { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }7677 #line 7678 "Parser/parser.cc" /* yacc.c:1646 */7678 break;7679 7680 case 663:7681 #line 2550 "parser.yy" /* yacc.c:1646 */7682 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }7683 #line 7684 "Parser/parser.cc" /* yacc.c:1646 */7684 break;7685 7686 case 664:7687 #line 2552 "parser.yy" /* yacc.c:1646 */7688 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }7689 #line 7690 "Parser/parser.cc" /* yacc.c:1646 */7690 8694 break; 7691 8695 7692 8696 case 665: 7693 #line 2557 "parser.yy" /* yacc.c:1646 */ 8697 8698 /* Line 1806 of yacc.c */ 8699 #line 2563 "parser.yy" 8700 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8701 break; 8702 8703 case 666: 8704 8705 /* Line 1806 of yacc.c */ 8706 #line 2565 "parser.yy" 8707 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8708 break; 8709 8710 case 668: 8711 8712 /* Line 1806 of yacc.c */ 8713 #line 2580 "parser.yy" 8714 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8715 break; 8716 8717 case 669: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2582 "parser.yy" 8721 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8722 break; 8723 8724 case 670: 8725 8726 /* Line 1806 of yacc.c */ 8727 #line 2587 "parser.yy" 7694 8728 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7695 #line 7696 "Parser/parser.cc" /* yacc.c:1646 */7696 break;7697 7698 case 666:7699 #line 2559 "parser.yy" /* yacc.c:1646 */7700 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7701 #line 7702 "Parser/parser.cc" /* yacc.c:1646 */7702 break;7703 7704 case 667:7705 #line 2561 "parser.yy" /* yacc.c:1646 */7706 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7707 #line 7708 "Parser/parser.cc" /* yacc.c:1646 */7708 break;7709 7710 case 668:7711 #line 2563 "parser.yy" /* yacc.c:1646 */7712 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }7713 #line 7714 "Parser/parser.cc" /* yacc.c:1646 */7714 break;7715 7716 case 669:7717 #line 2565 "parser.yy" /* yacc.c:1646 */7718 { (yyval.decl) = (yyvsp[-1].decl); }7719 #line 7720 "Parser/parser.cc" /* yacc.c:1646 */7720 8729 break; 7721 8730 7722 8731 case 671: 7723 #line 2571 "parser.yy" /* yacc.c:1646 */ 7724 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7725 #line 7726 "Parser/parser.cc" /* yacc.c:1646 */ 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2589 "parser.yy" 8735 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7726 8736 break; 7727 8737 7728 8738 case 672: 7729 #line 2573 "parser.yy" /* yacc.c:1646 */ 7730 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7731 #line 7732 "Parser/parser.cc" /* yacc.c:1646 */ 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2591 "parser.yy" 8742 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7732 8743 break; 7733 8744 7734 8745 case 673: 7735 #line 2575 "parser.yy" /* yacc.c:1646 */ 7736 { (yyval.decl) = (yyvsp[-1].decl); } 7737 #line 7738 "Parser/parser.cc" /* yacc.c:1646 */ 8746 8747 /* Line 1806 of yacc.c */ 8748 #line 2593 "parser.yy" 8749 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7738 8750 break; 7739 8751 7740 8752 case 674: 7741 #line 2580 "parser.yy" /* yacc.c:1646 */ 7742 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); } 7743 #line 7744 "Parser/parser.cc" /* yacc.c:1646 */ 7744 break; 7745 7746 case 675: 7747 #line 2582 "parser.yy" /* yacc.c:1646 */ 7748 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7749 #line 7750 "Parser/parser.cc" /* yacc.c:1646 */ 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2595 "parser.yy" 8756 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7750 8757 break; 7751 8758 7752 8759 case 676: 7753 #line 2584 "parser.yy" /* yacc.c:1646 */ 7754 { (yyval.decl) = (yyvsp[-1].decl); } 7755 #line 7756 "Parser/parser.cc" /* yacc.c:1646 */ 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2601 "parser.yy" 8763 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8764 break; 8765 8766 case 677: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2603 "parser.yy" 8770 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7756 8771 break; 7757 8772 7758 8773 case 678: 7759 #line 2591 "parser.yy" /* yacc.c:1646 */ 7760 { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); } 7761 #line 7762 "Parser/parser.cc" /* yacc.c:1646 */ 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2605 "parser.yy" 8777 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8778 break; 8779 8780 case 679: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2610 "parser.yy" 8784 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 7762 8785 break; 7763 8786 7764 8787 case 680: 7765 #line 2602 "parser.yy" /* yacc.c:1646 */ 8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2612 "parser.yy" 8791 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8792 break; 8793 8794 case 681: 8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2614 "parser.yy" 8798 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8799 break; 8800 8801 case 683: 8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2621 "parser.yy" 8805 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8806 break; 8807 8808 case 685: 8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2632 "parser.yy" 7766 8812 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 7767 #line 7768 "Parser/parser.cc" /* yacc.c:1646 */ 7768 break; 7769 7770 case 681: 7771 #line 2605 "parser.yy" /* yacc.c:1646 */ 7772 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7773 #line 7774 "Parser/parser.cc" /* yacc.c:1646 */ 7774 break; 7775 7776 case 682: 7777 #line 2607 "parser.yy" /* yacc.c:1646 */ 7778 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[-2].decl), false ); } 7779 #line 7780 "Parser/parser.cc" /* yacc.c:1646 */ 7780 break; 7781 7782 case 683: 7783 #line 2610 "parser.yy" /* yacc.c:1646 */ 7784 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7785 #line 7786 "Parser/parser.cc" /* yacc.c:1646 */ 7786 break; 7787 7788 case 684: 7789 #line 2612 "parser.yy" /* yacc.c:1646 */ 7790 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7791 #line 7792 "Parser/parser.cc" /* yacc.c:1646 */ 7792 break; 7793 7794 case 685: 7795 #line 2614 "parser.yy" /* yacc.c:1646 */ 7796 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-4].decl), true ); } 7797 #line 7798 "Parser/parser.cc" /* yacc.c:1646 */ 8813 break; 8814 8815 case 686: 8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2635 "parser.yy" 8819 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 7798 8820 break; 7799 8821 7800 8822 case 687: 7801 #line 2628 "parser.yy" /* yacc.c:1646 */ 7802 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7803 #line 7804 "Parser/parser.cc" /* yacc.c:1646 */ 8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2637 "parser.yy" 8826 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 7804 8827 break; 7805 8828 7806 8829 case 688: 7807 #line 2630 "parser.yy" /* yacc.c:1646 */ 7808 { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); } 7809 #line 7810 "Parser/parser.cc" /* yacc.c:1646 */ 8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2640 "parser.yy" 8833 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 7810 8834 break; 7811 8835 7812 8836 case 689: 7813 #line 2635 "parser.yy" /* yacc.c:1646 */ 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2642 "parser.yy" 8840 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8841 break; 8842 8843 case 690: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2644 "parser.yy" 8847 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8848 break; 8849 8850 case 692: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2658 "parser.yy" 8854 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8855 break; 8856 8857 case 693: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2660 "parser.yy" 8861 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8862 break; 8863 8864 case 694: 8865 8866 /* Line 1806 of yacc.c */ 8867 #line 2665 "parser.yy" 7814 8868 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 7815 #line 7816 "Parser/parser.cc" /* yacc.c:1646 */7816 break;7817 7818 case 690:7819 #line 2637 "parser.yy" /* yacc.c:1646 */7820 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }7821 #line 7822 "Parser/parser.cc" /* yacc.c:1646 */7822 break;7823 7824 case 691:7825 #line 2639 "parser.yy" /* yacc.c:1646 */7826 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }7827 #line 7828 "Parser/parser.cc" /* yacc.c:1646 */7828 break;7829 7830 case 692:7831 #line 2641 "parser.yy" /* yacc.c:1646 */7832 { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }7833 #line 7834 "Parser/parser.cc" /* yacc.c:1646 */7834 break;7835 7836 case 693:7837 #line 2643 "parser.yy" /* yacc.c:1646 */7838 { (yyval.decl) = (yyvsp[-1].decl); }7839 #line 7840 "Parser/parser.cc" /* yacc.c:1646 */7840 8869 break; 7841 8870 7842 8871 case 695: 7843 #line 2649 "parser.yy" /* yacc.c:1646 */ 7844 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7845 #line 7846 "Parser/parser.cc" /* yacc.c:1646 */ 8872 8873 /* Line 1806 of yacc.c */ 8874 #line 2667 "parser.yy" 8875 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 7846 8876 break; 7847 8877 7848 8878 case 696: 7849 #line 2651 "parser.yy" /* yacc.c:1646 */ 7850 { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); } 7851 #line 7852 "Parser/parser.cc" /* yacc.c:1646 */ 8879 8880 /* Line 1806 of yacc.c */ 8881 #line 2669 "parser.yy" 8882 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7852 8883 break; 7853 8884 7854 8885 case 697: 7855 #line 2653 "parser.yy" /* yacc.c:1646 */ 7856 { (yyval.decl) = (yyvsp[-1].decl); } 7857 #line 7858 "Parser/parser.cc" /* yacc.c:1646 */ 8886 8887 /* Line 1806 of yacc.c */ 8888 #line 2671 "parser.yy" 8889 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7858 8890 break; 7859 8891 7860 8892 case 698: 7861 #line 2658 "parser.yy" /* yacc.c:1646 */ 7862 { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); } 7863 #line 7864 "Parser/parser.cc" /* yacc.c:1646 */ 7864 break; 7865 7866 case 699: 7867 #line 2660 "parser.yy" /* yacc.c:1646 */ 7868 { (yyval.decl) = (yyvsp[-1].decl); } 7869 #line 7870 "Parser/parser.cc" /* yacc.c:1646 */ 8893 8894 /* Line 1806 of yacc.c */ 8895 #line 2673 "parser.yy" 8896 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8897 break; 8898 8899 case 700: 8900 8901 /* Line 1806 of yacc.c */ 8902 #line 2679 "parser.yy" 8903 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8904 break; 8905 8906 case 701: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2681 "parser.yy" 8910 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7870 8911 break; 7871 8912 7872 8913 case 702: 7873 #line 2670 "parser.yy" /* yacc.c:1646 */ 7874 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 7875 #line 7876 "Parser/parser.cc" /* yacc.c:1646 */ 7876 break; 7877 7878 case 705: 7879 #line 2680 "parser.yy" /* yacc.c:1646 */ 7880 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7881 #line 7882 "Parser/parser.cc" /* yacc.c:1646 */ 7882 break; 7883 7884 case 706: 7885 #line 2682 "parser.yy" /* yacc.c:1646 */ 7886 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7887 #line 7888 "Parser/parser.cc" /* yacc.c:1646 */ 8914 8915 /* Line 1806 of yacc.c */ 8916 #line 2683 "parser.yy" 8917 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8918 break; 8919 8920 case 703: 8921 8922 /* Line 1806 of yacc.c */ 8923 #line 2688 "parser.yy" 8924 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8925 break; 8926 8927 case 704: 8928 8929 /* Line 1806 of yacc.c */ 8930 #line 2690 "parser.yy" 8931 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7888 8932 break; 7889 8933 7890 8934 case 707: 7891 #line 2684 "parser.yy" /* yacc.c:1646 */ 7892 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7893 #line 7894 "Parser/parser.cc" /* yacc.c:1646 */ 7894 break; 7895 7896 case 708: 7897 #line 2686 "parser.yy" /* yacc.c:1646 */ 7898 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7899 #line 7900 "Parser/parser.cc" /* yacc.c:1646 */ 7900 break; 7901 7902 case 709: 7903 #line 2688 "parser.yy" /* yacc.c:1646 */ 7904 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7905 #line 7906 "Parser/parser.cc" /* yacc.c:1646 */ 8935 8936 /* Line 1806 of yacc.c */ 8937 #line 2700 "parser.yy" 8938 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7906 8939 break; 7907 8940 7908 8941 case 710: 7909 #line 2690 "parser.yy" /* yacc.c:1646 */ 7910 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 7911 #line 7912 "Parser/parser.cc" /* yacc.c:1646 */ 8942 8943 /* Line 1806 of yacc.c */ 8944 #line 2710 "parser.yy" 8945 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7912 8946 break; 7913 8947 7914 8948 case 711: 7915 #line 2697 "parser.yy" /* yacc.c:1646 */ 7916 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7917 #line 7918 "Parser/parser.cc" /* yacc.c:1646 */ 8949 8950 /* Line 1806 of yacc.c */ 8951 #line 2712 "parser.yy" 8952 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7918 8953 break; 7919 8954 7920 8955 case 712: 7921 #line 2699 "parser.yy" /* yacc.c:1646 */ 7922 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7923 #line 7924 "Parser/parser.cc" /* yacc.c:1646 */ 8956 8957 /* Line 1806 of yacc.c */ 8958 #line 2714 "parser.yy" 8959 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7924 8960 break; 7925 8961 7926 8962 case 713: 7927 #line 2701 "parser.yy" /* yacc.c:1646 */ 7928 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7929 #line 7930 "Parser/parser.cc" /* yacc.c:1646 */ 8963 8964 /* Line 1806 of yacc.c */ 8965 #line 2716 "parser.yy" 8966 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7930 8967 break; 7931 8968 7932 8969 case 714: 7933 #line 2703 "parser.yy" /* yacc.c:1646 */ 7934 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7935 #line 7936 "Parser/parser.cc" /* yacc.c:1646 */ 8970 8971 /* Line 1806 of yacc.c */ 8972 #line 2718 "parser.yy" 8973 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 7936 8974 break; 7937 8975 7938 8976 case 715: 7939 #line 2705 "parser.yy" /* yacc.c:1646 */ 7940 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7941 #line 7942 "Parser/parser.cc" /* yacc.c:1646 */ 8977 8978 /* Line 1806 of yacc.c */ 8979 #line 2720 "parser.yy" 8980 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 7942 8981 break; 7943 8982 7944 8983 case 716: 7945 #line 2707 "parser.yy" /* yacc.c:1646 */ 7946 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7947 #line 7948 "Parser/parser.cc" /* yacc.c:1646 */ 8984 8985 /* Line 1806 of yacc.c */ 8986 #line 2727 "parser.yy" 8987 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7948 8988 break; 7949 8989 7950 8990 case 717: 7951 #line 2709 "parser.yy" /* yacc.c:1646 */ 7952 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7953 #line 7954 "Parser/parser.cc" /* yacc.c:1646 */ 8991 8992 /* Line 1806 of yacc.c */ 8993 #line 2729 "parser.yy" 8994 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7954 8995 break; 7955 8996 7956 8997 case 718: 7957 #line 2711 "parser.yy" /* yacc.c:1646 */ 7958 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7959 #line 7960 "Parser/parser.cc" /* yacc.c:1646 */ 8998 8999 /* Line 1806 of yacc.c */ 9000 #line 2731 "parser.yy" 9001 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7960 9002 break; 7961 9003 7962 9004 case 719: 7963 #line 2713 "parser.yy" /* yacc.c:1646 */ 7964 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); } 7965 #line 7966 "Parser/parser.cc" /* yacc.c:1646 */ 9005 9006 /* Line 1806 of yacc.c */ 9007 #line 2733 "parser.yy" 9008 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 7966 9009 break; 7967 9010 7968 9011 case 720: 7969 #line 2715 "parser.yy" /* yacc.c:1646 */ 7970 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 7971 #line 7972 "Parser/parser.cc" /* yacc.c:1646 */ 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2735 "parser.yy" 9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7972 9016 break; 7973 9017 7974 9018 case 721: 7975 #line 2720 "parser.yy" /* yacc.c:1646 */ 7976 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); } 7977 #line 7978 "Parser/parser.cc" /* yacc.c:1646 */ 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2737 "parser.yy" 9022 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7978 9023 break; 7979 9024 7980 9025 case 722: 7981 #line 2722 "parser.yy" /* yacc.c:1646 */ 7982 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); } 7983 #line 7984 "Parser/parser.cc" /* yacc.c:1646 */ 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2739 "parser.yy" 9029 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7984 9030 break; 7985 9031 7986 9032 case 723: 7987 #line 2727 "parser.yy" /* yacc.c:1646 */ 7988 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); } 7989 #line 7990 "Parser/parser.cc" /* yacc.c:1646 */ 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2741 "parser.yy" 9036 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 7990 9037 break; 7991 9038 7992 9039 case 724: 7993 #line 2729 "parser.yy" /* yacc.c:1646 */ 7994 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl)->addQualifiers( (yyvsp[-4].decl) ), true ); } 7995 #line 7996 "Parser/parser.cc" /* yacc.c:1646 */ 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2743 "parser.yy" 9043 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9044 break; 9045 9046 case 725: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2745 "parser.yy" 9050 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 7996 9051 break; 7997 9052 7998 9053 case 726: 7999 #line 2756 "parser.yy" /* yacc.c:1646 */ 8000 { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); } 8001 #line 8002 "Parser/parser.cc" /* yacc.c:1646 */ 8002 break; 8003 8004 case 730: 8005 #line 2767 "parser.yy" /* yacc.c:1646 */ 8006 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8007 #line 8008 "Parser/parser.cc" /* yacc.c:1646 */ 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2750 "parser.yy" 9057 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9058 break; 9059 9060 case 727: 9061 9062 /* Line 1806 of yacc.c */ 9063 #line 2752 "parser.yy" 9064 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9065 break; 9066 9067 case 728: 9068 9069 /* Line 1806 of yacc.c */ 9070 #line 2757 "parser.yy" 9071 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9072 break; 9073 9074 case 729: 9075 9076 /* Line 1806 of yacc.c */ 9077 #line 2759 "parser.yy" 9078 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8008 9079 break; 8009 9080 8010 9081 case 731: 8011 #line 2769 "parser.yy" /* yacc.c:1646 */ 8012 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8013 #line 8014 "Parser/parser.cc" /* yacc.c:1646 */ 8014 break; 8015 8016 case 732: 8017 #line 2771 "parser.yy" /* yacc.c:1646 */ 8018 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8019 #line 8020 "Parser/parser.cc" /* yacc.c:1646 */ 8020 break; 8021 8022 case 733: 8023 #line 2773 "parser.yy" /* yacc.c:1646 */ 8024 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8025 #line 8026 "Parser/parser.cc" /* yacc.c:1646 */ 8026 break; 8027 8028 case 734: 8029 #line 2775 "parser.yy" /* yacc.c:1646 */ 8030 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8031 #line 8032 "Parser/parser.cc" /* yacc.c:1646 */ 9082 9083 /* Line 1806 of yacc.c */ 9084 #line 2786 "parser.yy" 9085 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8032 9086 break; 8033 9087 8034 9088 case 735: 8035 #line 2777 "parser.yy" /* yacc.c:1646 */ 8036 { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); } 8037 #line 8038 "Parser/parser.cc" /* yacc.c:1646 */ 9089 9090 /* Line 1806 of yacc.c */ 9091 #line 2797 "parser.yy" 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8038 9093 break; 8039 9094 8040 9095 case 736: 8041 #line 2784 "parser.yy" /* yacc.c:1646 */ 8042 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8043 #line 8044 "Parser/parser.cc" /* yacc.c:1646 */ 9096 9097 /* Line 1806 of yacc.c */ 9098 #line 2799 "parser.yy" 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8044 9100 break; 8045 9101 8046 9102 case 737: 8047 #line 2786 "parser.yy" /* yacc.c:1646 */ 8048 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8049 #line 8050 "Parser/parser.cc" /* yacc.c:1646 */ 9103 9104 /* Line 1806 of yacc.c */ 9105 #line 2801 "parser.yy" 9106 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8050 9107 break; 8051 9108 8052 9109 case 738: 8053 #line 2788 "parser.yy" /* yacc.c:1646 */ 8054 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8055 #line 8056 "Parser/parser.cc" /* yacc.c:1646 */ 9110 9111 /* Line 1806 of yacc.c */ 9112 #line 2803 "parser.yy" 9113 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8056 9114 break; 8057 9115 8058 9116 case 739: 8059 #line 2790 "parser.yy" /* yacc.c:1646 */ 8060 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8061 #line 8062 "Parser/parser.cc" /* yacc.c:1646 */ 9117 9118 /* Line 1806 of yacc.c */ 9119 #line 2805 "parser.yy" 9120 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8062 9121 break; 8063 9122 8064 9123 case 740: 8065 #line 2792 "parser.yy" /* yacc.c:1646 */ 8066 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8067 #line 8068 "Parser/parser.cc" /* yacc.c:1646 */ 9124 9125 /* Line 1806 of yacc.c */ 9126 #line 2807 "parser.yy" 9127 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8068 9128 break; 8069 9129 8070 9130 case 741: 8071 #line 2794 "parser.yy" /* yacc.c:1646 */ 8072 { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); } 8073 #line 8074 "Parser/parser.cc" /* yacc.c:1646 */ 9131 9132 /* Line 1806 of yacc.c */ 9133 #line 2814 "parser.yy" 9134 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8074 9135 break; 8075 9136 8076 9137 case 742: 8077 #line 2799 "parser.yy" /* yacc.c:1646 */ 8078 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); } 8079 #line 8080 "Parser/parser.cc" /* yacc.c:1646 */ 9138 9139 /* Line 1806 of yacc.c */ 9140 #line 2816 "parser.yy" 9141 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8080 9142 break; 8081 9143 8082 9144 case 743: 8083 #line 2804 "parser.yy" /* yacc.c:1646 */ 8084 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[-1].decl), 0 ); } 8085 #line 8086 "Parser/parser.cc" /* yacc.c:1646 */ 9145 9146 /* Line 1806 of yacc.c */ 9147 #line 2818 "parser.yy" 9148 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8086 9149 break; 8087 9150 8088 9151 case 744: 8089 #line 2806 "parser.yy" /* yacc.c:1646 */ 8090 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8091 #line 8092 "Parser/parser.cc" /* yacc.c:1646 */ 9152 9153 /* Line 1806 of yacc.c */ 9154 #line 2820 "parser.yy" 9155 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8092 9156 break; 8093 9157 8094 9158 case 745: 8095 #line 2808 "parser.yy" /* yacc.c:1646 */ 8096 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); } 8097 #line 8098 "Parser/parser.cc" /* yacc.c:1646 */ 9159 9160 /* Line 1806 of yacc.c */ 9161 #line 2822 "parser.yy" 9162 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9163 break; 9164 9165 case 746: 9166 9167 /* Line 1806 of yacc.c */ 9168 #line 2824 "parser.yy" 9169 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9170 break; 9171 9172 case 747: 9173 9174 /* Line 1806 of yacc.c */ 9175 #line 2829 "parser.yy" 9176 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 8098 9177 break; 8099 9178 8100 9179 case 748: 8101 #line 2832 "parser.yy" /* yacc.c:1646 */ 9180 9181 /* Line 1806 of yacc.c */ 9182 #line 2834 "parser.yy" 9183 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9184 break; 9185 9186 case 749: 9187 9188 /* Line 1806 of yacc.c */ 9189 #line 2836 "parser.yy" 9190 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9191 break; 9192 9193 case 750: 9194 9195 /* Line 1806 of yacc.c */ 9196 #line 2838 "parser.yy" 9197 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9198 break; 9199 9200 case 753: 9201 9202 /* Line 1806 of yacc.c */ 9203 #line 2862 "parser.yy" 8102 9204 { (yyval.en) = 0; } 8103 #line 8104 "Parser/parser.cc" /* yacc.c:1646 */ 8104 break; 8105 8106 case 749: 8107 #line 2834 "parser.yy" /* yacc.c:1646 */ 8108 { (yyval.en) = (yyvsp[0].en); } 8109 #line 8110 "Parser/parser.cc" /* yacc.c:1646 */ 8110 break; 8111 8112 8113 #line 8114 "Parser/parser.cc" /* yacc.c:1646 */ 9205 break; 9206 9207 case 754: 9208 9209 /* Line 1806 of yacc.c */ 9210 #line 2864 "parser.yy" 9211 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9212 break; 9213 9214 9215 9216 /* Line 1806 of yacc.c */ 9217 #line 9218 "Parser/parser.cc" 8114 9218 default: break; 8115 9219 } … … 8133 9237 *++yyvsp = yyval; 8134 9238 8135 /* Now 'shift' the result of the reduction. Determine what state9239 /* Now `shift' the result of the reduction. Determine what state 8136 9240 that goes to, based on the state we popped back to and the rule 8137 9241 number reduced by. */ … … 8148 9252 8149 9253 8150 /*------------------------------------ --.8151 | yyerrlab -- here on detecting error .|8152 `------------------------------------ --*/9254 /*------------------------------------. 9255 | yyerrlab -- here on detecting error | 9256 `------------------------------------*/ 8153 9257 yyerrlab: 8154 9258 /* Make sure we have latest lookahead translation. See comments at … … 8201 9305 { 8202 9306 /* If just tried and failed to reuse lookahead token after an 8203 9307 error, discard it. */ 8204 9308 8205 9309 if (yychar <= YYEOF) 8206 8207 8208 8209 8210 9310 { 9311 /* Return failure if at end of input. */ 9312 if (yychar == YYEOF) 9313 YYABORT; 9314 } 8211 9315 else 8212 8213 8214 8215 8216 9316 { 9317 yydestruct ("Error: discarding", 9318 yytoken, &yylval); 9319 yychar = YYEMPTY; 9320 } 8217 9321 } 8218 9322 … … 8233 9337 goto yyerrorlab; 8234 9338 8235 /* Do not reclaim the symbols of the rule wh oseaction triggered9339 /* Do not reclaim the symbols of the rule which action triggered 8236 9340 this YYERROR. */ 8237 9341 YYPOPSTACK (yylen); … … 8246 9350 `-------------------------------------------------------------*/ 8247 9351 yyerrlab1: 8248 yyerrstatus = 3; 9352 yyerrstatus = 3; /* Each real token shifted decrements this. */ 8249 9353 8250 9354 for (;;) … … 8252 9356 yyn = yypact[yystate]; 8253 9357 if (!yypact_value_is_default (yyn)) 8254 8255 8256 8257 8258 8259 8260 8261 8262 9358 { 9359 yyn += YYTERROR; 9360 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 9361 { 9362 yyn = yytable[yyn]; 9363 if (0 < yyn) 9364 break; 9365 } 9366 } 8263 9367 8264 9368 /* Pop the current state because it cannot handle the error token. */ 8265 9369 if (yyssp == yyss) 8266 9370 YYABORT; 8267 9371 8268 9372 8269 9373 yydestruct ("Error: popping", 8270 9374 yystos[yystate], yyvsp); 8271 9375 YYPOPSTACK (1); 8272 9376 yystate = *yyssp; … … 8274 9378 } 8275 9379 8276 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN8277 9380 *++yyvsp = yylval; 8278 YY_IGNORE_MAYBE_UNINITIALIZED_END8279 9381 8280 9382 … … 8300 9402 goto yyreturn; 8301 9403 8302 #if !defined yyoverflow|| YYERROR_VERBOSE9404 #if !defined(yyoverflow) || YYERROR_VERBOSE 8303 9405 /*-------------------------------------------------. 8304 9406 | yyexhaustedlab -- memory exhaustion comes here. | … … 8319 9421 yytoken, &yylval); 8320 9422 } 8321 /* Do not reclaim the symbols of the rule wh oseaction triggered9423 /* Do not reclaim the symbols of the rule which action triggered 8322 9424 this YYABORT or YYACCEPT. */ 8323 9425 YYPOPSTACK (yylen); … … 8326 9428 { 8327 9429 yydestruct ("Cleanup: popping", 8328 9430 yystos[*yyssp], yyvsp); 8329 9431 YYPOPSTACK (1); 8330 9432 } … … 8337 9439 YYSTACK_FREE (yymsg); 8338 9440 #endif 8339 return yyresult; 9441 /* Make sure YYID is used. */ 9442 return YYID (yyresult); 8340 9443 } 8341 #line 2837 "parser.yy" /* yacc.c:1906 */ 9444 9445 9446 9447 /* Line 2067 of yacc.c */ 9448 #line 2867 "parser.yy" 8342 9449 8343 9450 // ----end of grammar---- 8344 8345 extern char *yytext;8346 9451 8347 9452 void yyerror( const char * ) { … … 8358 9463 // compile-command: "make install" // 8359 9464 // End: // 9465
Note:
See TracChangeset
for help on using the changeset viewer.