/* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen_perly.pl from perly.y. Any changes made here will be lost! */ #define YYFINAL 16 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 3434 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 126 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 105 /* YYNRULES -- Number of rules. */ #define YYNRULES 318 /* YYNSTATES -- Number of states. */ #define YYNSTATES 635 #define YYUNDEFTOK 2 #define YYMAXUTOK 380 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 156, 156, 155, 167, 166, 177, 176, 190, 189, 203, 202, 216, 215, 226, 225, 238, 246, 250, 257, 262, 269, 275, 279, 281, 278, 288, 289, 299, 300, 309, 313, 317, 324, 334, 336, 349, 346, 370, 365, 386, 398, 397, 408, 414, 420, 425, 427, 429, 436, 444, 446, 443, 463, 468, 477, 484, 483, 498, 506, 513, 512, 527, 534, 533, 548, 552, 556, 562, 570, 588, 589, 593, 597, 599, 601, 603, 605, 607, 609, 612, 618, 619, 624, 635, 636, 641, 643, 648, 655, 656, 660, 664, 668, 673, 677, 681, 682, 685, 691, 696, 702, 703, 708, 709, 714, 715, 722, 727, 729, 740, 742, 747, 749, 753, 773, 774, 776, 789, 849, 851, 857, 859, 863, 869, 870, 875, 876, 880, 884, 884, 951, 952, 957, 969, 970, 974, 985, 987, 989, 991, 993, 997, 999, 1004, 1008, 1012, 1016, 1022, 1027, 1033, 1039, 1041, 1043, 1046, 1045, 1056, 1057, 1061, 1065, 1068, 1073, 1078, 1081, 1085, 1089, 1095, 1103, 1110, 1116, 1118, 1120, 1125, 1127, 1129, 1131, 1133, 1135, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1174, 1176, 1178, 1180, 1182, 1186, 1188, 1192, 1194, 1196, 1198, 1202, 1204, 1209, 1211, 1214, 1216, 1218, 1221, 1224, 1235, 1238, 1246, 1248, 1250, 1253, 1259, 1261, 1265, 1266, 1267, 1268, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1295, 1305, 1315, 1325, 1335, 1337, 1339, 1342, 1347, 1351, 1353, 1355, 1357, 1360, 1362, 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1384, 1386, 1388, 1390, 1392, 1394, 1398, 1401, 1400, 1413, 1414, 1415, 1420, 1422, 1424, 1426, 1431, 1433, 1436, 1438, 1440, 1446, 1447, 1451, 1452, 1456, 1457, 1462, 1467, 1469, 1473, 1476, 1480, 1481, 1482, 1485, 1486, 1489, 1490, 1493, 1497, 1501, 1507, 1513, 1515, 1519, 1523, 1524, 1528, 1529, 1533, 1534, 1539, 1541, 1543, 1546 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK", "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH", "PERLY_SNAIL", "PERLY_STAR", "KW_FORMAT", "KW_PACKAGE", "KW_LOCAL", "KW_MY", "KW_IF", "KW_ELSE", "KW_ELSIF", "KW_UNLESS", "KW_FOR", "KW_UNTIL", "KW_WHILE", "KW_CONTINUE", "KW_GIVEN", "KW_WHEN", "KW_DEFAULT", "KW_TRY", "KW_CATCH", "KW_FINALLY", "KW_DEFER", "KW_REQUIRE", "KW_DO", "KW_USE_or_NO", "KW_SUB_named", "KW_SUB_named_sig", "KW_SUB_anon", "KW_SUB_anon_sig", "BAREWORD", "METHCALL0", "METHCALL", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "POWOP", "MULOP", "ADDOP", "DOLSHARP", "HASHBRACK", "NOAMP", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW", "PLUGIN_LOW_OP", "OROP", "PLUGIN_LOGICAL_OR_LOW_OP", "ANDOP", "PLUGIN_LOGICAL_AND_LOW_OP", "NOTOP", "ASSIGNOP", "PLUGIN_ASSIGN_OP", "PERLY_QUESTION_MARK", "PERLY_COLON", "OROR", "DORDOR", "PLUGIN_LOGICAL_OR_OP", "ANDAND", "PLUGIN_LOGICAL_AND_OP", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "PLUGIN_REL_OP", "SHIFTOP", "PLUGIN_ADD_OP", "PLUGIN_MUL_OP", "MATCHOP", "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "PLUGIN_POW_OP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "PLUGIN_HIGH_OP", "ARROW", "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block", "empty", "formblock", "remember", "mblock", "mremember", "catch_paren", "$@8", "$@9", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt", "barestmt", "$@10", "$@11", "$@12", "$@13", "$@14", "@15", "$@16", "$@17", "formline", "formarg", "condition", "sideff", "else", "cont", "finally", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub", "startanonsub", "startformsub", "subname", "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist", "optsiglist", "optsubsignature", "subsignature", "subsigguts", "$@18", "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop", "@19", "methodname", "subscripted", "termbinop", "termrelop", "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term", "@20", "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars", "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380 }; # endif #define YYPACT_NINF -527 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-527))) #define YYTABLE_NINF -317 #define yytable_value_is_error(Yytable_value) \ (!!((Yytable_value) == (-317))) /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 807, -527, -527, -527, -527, -527, -527, -527, 65, -527, 2732, 72, 1732, 1622, -527, -527, -527, -527, 197, 2732, 197, 2732, 197, 2732, 197, 197, 2732, 4, 2732, 2048, -527, -527, -527, 197, 197, -527, -527, 86, -22, -527, 2732, -527, -527, 2732, -9, -5, -51, 2048, 1972, 197, 2732, 116, 2732, 2732, 2732, 2732, 2732, 2732, 2124, -527, 219, 133, -527, 12, -527, -34, -18, -70, 75, -527, -527, -527, 552, -527, -527, 76, 44, 159, 170, -527, 158, 183, 193, 194, -527, -527, -527, -527, -527, 160, 120, 123, 19, 135, 136, 139, 153, 72, 247, 247, -527, 116, 116, -527, 257, 256, -527, 272, 326, 1622, -527, -527, -527, -527, 730, -527, 73, 840, -527, -527, -527, -527, -527, 282, -527, 334, -527, 334, -527, -527, 3311, 2808, 2200, 221, -527, -527, -527, 3311, -527, 3311, 263, 252, 2732, 208, 251, 2732, 216, 3311, 72, 552, 217, 2276, 2732, 1972, -527, 3311, 2884, -527, 133, -527, 2352, 2732, -527, 317, -527, -527, 2732, 133, 334, 334, 334, 703, 703, 329, 295, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2428, -527, -527, 2732, -527, -527, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, -527, -527, -527, 2732, 102, 2504, 2732, 2732, 2732, 2732, 2732, 2732, 2732, -527, 298, 302, -527, -527, 243, 402, -527, -527, 238, -527, -527, -527, -527, -527, -527, 324, -527, -527, -527, -527, -527, 72, -527, -527, -527, 2732, 2732, 2732, 2732, 2732, 2732, -527, -527, -527, 310, -527, -527, -527, 310, -527, -527, -527, 356, -527, -527, 2580, 334, 221, 28, 87, 122, -527, 300, 318, -527, -527, -527, 252, 319, -527, -527, -527, 2732, 2732, 74, -527, -527, -527, -527, 309, 288, 254, 2732, 133, 368, -527, 2732, 390, 68, 68, -527, -527, 3018, 64, 97, -527, 419, 513, 3273, 3118, 334, 569, 373, 2968, 3018, 3018, 2918, 3156, 3156, 3156, 3194, 3194, 3216, 3254, 3273, 3273, 513, 513, 3292, 474, 373, 569, 334, 334, 66, 379, 2732, 2732, 57, 381, 384, 386, -527, 392, 2656, 296, -527, -527, 477, 215, 103, 233, 110, 237, 132, 241, 962, -527, -527, 405, 59, 2732, 2732, -527, 0, -527, -527, 303, -527, -527, -527, -527, 1814, 261, -527, 2732, 2732, 2732, 2732, -527, -527, 375, -527, -527, -527, -527, 219, -527, -527, -527, 219, -527, -527, -527, 328, 328, 73, 16, 489, -527, -527, -527, -527, -527, 305, -527, 308, 35, -527, 2732, -527, -527, -527, 610, -527, 145, 2732, 425, -527, -527, 2732, -527, 248, 151, -527, -527, -527, -527, -527, -527, 648, 2732, -527, 429, -527, 430, -527, 432, -527, 434, -527, -527, -527, -527, -527, 325, 219, 335, 442, 338, -527, -527, -527, -527, -527, 341, 446, 141, -527, 2732, 345, 346, 219, 348, 349, 1072, 353, 427, 263, 252, 2732, -527, -527, -527, -527, 67, 476, -527, -527, -527, 479, -527, -527, 2732, -527, 404, -527, -527, -527, 210, -527, 3068, 486, -527, -527, 376, -527, -527, -527, -527, 480, -527, 247, 247, 484, 388, -527, 2732, 2732, 247, -527, 385, 394, -527, -527, 247, 247, -527, -527, -527, -527, 2732, 252, 499, 552, -527, 403, -527, 219, -527, -527, -527, -527, 444, -527, 179, 179, 442, 410, 412, 414, 256, 2732, 2732, 247, 247, 247, -527, -527, 442, 247, 506, 519, -527, -527, -527, 1182, -527, 1292, -527, 1402, 247, 421, -527, -527, -527, -527, 2732, 247, 247, -527, 525, 428, 256, 256, 256, -527, 510, -527, -527, -527, -527, -527, -527, -527, 37, -527, -527, 2732, 431, 256, 256, -527, 247, -527, -527, -527, 436, 72, -527, 537, 481, -527, 451, 247, -527, -527, -527, 256, -527, -527, -527, -527, -527, -527, 247, 256, 1896, -527, 1512, 179, -527, 456, -527, -527, 247, -527 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint16 yydefact[] = { 0, 2, 4, 6, 8, 10, 12, 14, 0, 19, 17, 0, 0, 0, 17, 129, 1, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 99, 99, 272, 0, 0, 243, 270, 231, 265, 267, 261, 99, 274, 253, 263, 0, 0, 256, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 286, 287, 141, 273, 238, 222, 182, 194, 183, 201, 223, 224, 225, 144, 228, 5, 244, 233, 236, 235, 237, 234, 0, 0, 0, 19, 7, 73, 68, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 34, 0, 17, 9, 0, 74, 0, 11, 31, 30, 26, 0, 15, 17, 0, 315, 318, 317, 316, 302, 0, 303, 207, 305, 208, 304, 308, 229, 0, 0, 276, 281, 283, 282, 260, 221, 220, 17, 17, 17, 0, 0, 0, 0, 262, 0, 254, 0, 0, 17, 17, 257, 258, 272, 284, 285, 151, 233, 0, 306, 0, 101, 102, 17, 255, 209, 210, 227, 214, 215, 232, 0, 0, 0, 0, 0, 142, 0, 0, 0, 197, 196, 0, 204, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 0, 19, 19, 19, 0, 19, 19, 0, 19, 19, 19, 19, 47, 21, 0, 66, 41, 98, 98, 67, 0, 84, 62, 65, 0, 0, 0, 0, 0, 0, 33, 32, 27, 110, 113, 112, 124, 110, 120, 119, 123, 125, 130, 216, 0, 278, 0, 233, 236, 235, 280, 0, 109, 275, 104, 103, 17, 107, 105, 19, 149, 17, 0, 0, 266, 154, 264, 268, 0, 0, 0, 0, 145, 0, 247, 0, 230, 139, 140, 137, 138, 143, 0, 0, 168, 0, 200, 206, 186, 175, 177, 179, 193, 173, 174, 0, 189, 191, 190, 187, 188, 185, 184, 205, 202, 199, 195, 198, 181, 180, 178, 192, 176, 172, 0, 0, 0, 0, 312, 310, 314, 156, 0, 0, 148, 157, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, 0, 0, 0, 300, 0, 301, 298, 0, 299, 295, 296, 297, 0, 0, 19, 0, 91, 0, 0, 17, 19, 0, 36, 38, 85, 75, 72, 76, 79, 78, 93, 77, 80, 111, 17, 17, 121, 232, 0, 277, 279, 108, 19, 106, 17, 219, 0, 17, 170, 17, 269, 153, 152, 0, 217, 0, 0, 0, 161, 167, 0, 251, 0, 0, 248, 250, 249, 252, 307, 165, 0, 17, 246, 0, 159, 0, 239, 0, 240, 0, 16, 19, 35, 19, 40, 0, 94, 0, 0, 0, 290, 19, 89, 90, 95, 0, 0, 74, 56, 0, 0, 0, 92, 0, 0, 0, 17, 0, 17, 17, 116, 115, 118, 114, 122, 230, 0, 218, 129, 126, 0, 127, 150, 0, 288, 0, 155, 146, 171, 0, 164, 226, 0, 160, 166, 0, 162, 241, 242, 158, 0, 63, 0, 0, 294, 0, 293, 0, 0, 0, 50, 0, 0, 88, 88, 0, 0, 20, 23, 22, 60, 17, 17, 19, 117, 17, 0, 17, 289, 271, 169, 163, 147, 0, 17, 17, 17, 291, 0, 0, 0, 17, 91, 0, 0, 0, 0, 45, 46, 0, 0, 0, 19, 135, 39, 134, 0, 128, 0, 17, 0, 0, 0, 81, 43, 44, 292, 0, 0, 0, 59, 0, 0, 17, 17, 17, 24, 86, 42, 132, 37, 131, 133, 136, 28, 0, 64, 82, 0, 0, 17, 17, 51, 0, 55, 49, 48, 0, 0, 61, 0, 17, 29, 0, 0, 53, 58, 88, 17, 25, 87, 18, 17, 70, 69, 0, 17, 0, 57, 0, 17, 54, 0, 71, 83, 0, 52 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -527, -527, -527, -527, -527, -527, -527, -527, -527, -3, -10, -527, 52, -72, -527, -527, -527, -527, -11, -527, 555, 472, 31, -527, -527, -527, -527, -527, -527, -527, -527, -527, -527, 259, -368, -526, -230, -527, -520, -527, 41, 209, -301, -27, -527, -21, 11, -527, 150, 124, -274, 327, 339, -527, -527, 201, -527, 204, -527, -527, -527, -527, 125, -527, -527, 54, -527, 85, 91, -38, -527, -527, -527, -527, -527, -527, -527, -527, -527, -527, -527, -527, 516, -527, -527, 494, -129, -14, -527, -527, -527, -527, 236, -527, -527, 397, 29, -26, -24, -527, -527, -527, -527, -527, 42 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 8, 9, 10, 11, 12, 13, 14, 15, 105, 250, 450, 412, 243, 387, 528, 557, 605, 114, 593, 261, 111, 112, 476, 477, 389, 550, 615, 519, 558, 542, 610, 622, 393, 107, 572, 251, 607, 553, 462, 469, 397, 453, 464, 367, 245, 140, 228, 166, 285, 288, 282, 402, 266, 267, 480, 268, 269, 270, 271, 488, 489, 115, 116, 588, 485, 562, 413, 108, 61, 62, 417, 353, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 144, 73, 133, 159, 74, 493, 457, 512, 513, 374, 375, 235, 75, 76, 77, 78, 79, 80, 81, 82, 83, 124 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 59, 135, 554, 136, 113, 123, 117, 113, 85, 59, 158, 410, 461, 289, 167, 120, 20, 120, 573, 120, 20, 120, 120, 180, 22, 181, 138, 244, 24, 304, 120, 120, 152, 186, 187, 20, 163, 303, 157, 220, 59, 221, 141, 106, 154, 120, 120, 121, 232, 121, 179, 121, 148, 121, 121, 220, 134, 221, 491, 608, 122, 17, 121, 121, 126, 16, 128, 129, 84, 455, 451, 183, 184, 20, 153, 142, 143, 160, 121, 463, 424, 452, 432, 84, 471, 472, 425, 185, 416, 262, 161, 162, 609, 263, 241, 625, -280, 264, -309, 145, -309, 60, 632, 146, 158, 277, 265, 278, -281, 118, 60, 426, 343, 344, 119, 345, 150, 442, 346, 131, 151, 236, 347, 301, 444, 456, 348, 349, 158, 132, 284, 287, 157, -311, 233, -311, 227, 182, 298, 299, 260, 60, 59, 59, 234, 294, 446, -279, 179, 174, 120, 175, 176, 177, 178, 350, 157, 177, 178, 496, 276, 175, 176, 177, 178, 501, 520, -283, 164, -313, -309, 253, -309, 165, 254, 255, 256, 257, 188, 351, 258, -311, 160, -311, 175, 176, 177, 178, -317, 218, 175, 176, 177, 178, 222, 300, 223, 175, 176, 177, 178, 219, -282, 531, 224, 226, 225, 378, 84, 379, 569, 570, 229, 20, 547, 548, 364, 113, 366, 175, 176, 177, 178, 280, 538, 390, 391, 352, 175, 176, 177, 178, 175, 176, 177, 178, 292, 441, 175, 176, 177, 178, 297, 60, 60, 230, 392, 354, 231, 118, 580, 246, 247, 415, 119, 443, 560, 461, 242, 445, 237, 238, 377, 447, 239, -94, 306, 307, 308, 309, 500, 311, 312, 314, 597, 287, 414, 20, 240, 248, 59, 22, 369, 370, 372, 24, 380, 381, 494, 383, 384, 385, 386, 249, 252, 611, 272, 175, 176, 177, 178, 281, 175, 176, 177, 178, 175, 176, 177, 178, 356, 357, 358, 359, 360, 361, 362, 363, 283, 578, 175, 176, 177, 178, 175, 176, 177, 178, 175, 176, 177, 178, 286, 290, 291, 175, 176, 177, 178, 302, 293, 295, 304, 120, 394, 394, 394, 398, 394, 394, 365, 602, 603, 604, 368, 378, 253, 379, 371, 254, 255, 256, 257, 382, 406, 258, 388, 401, 613, 614, 460, 404, 419, 409, 411, 121, 473, 113, 420, 158, 422, 60, 175, 176, 177, 178, 626, 175, 176, 177, 178, 421, 479, 479, 629, 423, 175, 176, 177, 178, 559, 458, 487, 424, 429, 492, 433, 157, 190, 434, 377, 435, 18, 175, 176, 177, 178, 436, 20, 305, 478, 439, 22, 449, 408, 503, 24, 475, 459, 59, 486, 373, 490, 418, 467, 430, 431, 498, 543, 544, 474, 504, 505, 438, 506, 549, 507, 190, 191, 510, 213, 555, 556, 214, 215, 216, 217, 218, 20, 511, 454, 454, 484, 515, 527, 517, 284, 287, 518, 521, 522, 465, 523, 524, 398, 470, 454, 454, 526, 529, 581, 582, 583, 211, 212, 514, 585, 533, 537, 213, 535, 158, 214, 215, 216, 217, 218, 595, 539, 545, 540, 508, 541, 509, 598, 599, 175, 176, 177, 178, 551, 516, 546, 395, 396, 497, 399, 400, 552, 157, 287, 561, 564, 113, 566, 113, 567, 565, 586, 616, 60, 568, 113, 571, 571, 575, 576, 125, 577, 127, 624, 587, 130, 427, 137, 139, 596, 600, 190, 191, 192, 628, 601, 606, 619, 612, 147, 592, 454, 149, 617, 634, 620, 155, 175, 176, 177, 178, 110, 168, 169, 170, 171, 172, 574, 623, 175, 176, 177, 178, 633, 259, 536, 210, 211, 212, 584, 190, 191, 192, 213, 579, 468, 214, 215, 216, 217, 218, 630, 621, 530, 440, 407, 618, 481, 403, 454, 454, 482, 627, 113, 534, 484, 483, 589, 460, 563, 466, 571, 189, 208, 209, 210, 211, 212, 275, 190, 191, 192, 213, 376, 0, 214, 215, 216, 217, 218, 0, 193, 0, 0, 470, 454, 190, 194, 195, 196, 274, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 454, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, 0, 0, 212, 0, 0, 0, 0, 213, 0, 454, 214, 215, 216, 217, 218, 0, 0, 310, 0, 175, 176, 177, 178, 315, 0, 0, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, -13, 86, 0, 342, 495, 175, 176, 177, 178, 0, 18, 84, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 502, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 52, -317, -317, -317, 217, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 0, 0, 86, 0, 58, 0, 0, 0, 0, 0, 0, 18, 84, 448, 19, 0, 0, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 532, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 525, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 590, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 591, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 594, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 631, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 109, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 53, 54, 0, 55, 0, 56, 57, 0, 18, 84, 0, 19, 0, 58, 20, 0, 0, 21, 22, 23, 87, 0, 24, 25, 88, 89, 26, 27, 90, 0, 0, 91, 92, 93, 94, 0, 95, 96, 97, 98, 0, 0, 99, 28, 29, 100, 101, 102, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 103, 0, 43, 0, 104, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 52, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, -17, 0, 24, 25, 0, 0, 26, 27, 53, 54, 0, 55, 0, 56, 57, 0, 0, 0, 0, 0, 0, 58, 0, 28, 29, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 52, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 53, 54, 0, 55, 0, 56, 57, 0, 0, 0, 0, 0, 0, 58, 0, 28, 29, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 84, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, -17, 58, 30, 31, 156, 33, 34, 35, 36, 119, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 84, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 173, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 279, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, -316, 220, 0, 221, 0, 52, -316, 0, 0, -316, -316, -316, 0, 0, -316, -316, 0, 0, -316, -316, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, -316, -316, 0, 296, 58, -316, -316, -316, -316, -316, -316, -316, 0, -316, -316, -316, -316, -316, -316, 0, 0, -316, 0, 0, -316, -316, -316, -316, -316, 0, 0, 0, -316, -316, -316, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, -316, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, -316, -316, 0, -316, 0, -316, -316, 0, 0, 28, 29, 0, 0, -316, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 313, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 355, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 405, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 437, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 52, 20, 0, 0, 21, 22, 23, 0, 0, 24, 25, 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, 28, 29, 0, 0, 58, 30, 31, 32, 33, 34, 35, 36, 0, 37, 38, 39, 40, 41, 42, 0, 0, 43, 0, 0, 44, 45, 46, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, 0, 0, 0, 0, -315, 0, 0, -315, 0, 52, -315, 0, 0, -315, -315, -315, 0, 0, -315, -315, 0, 0, -315, -315, 0, 0, 0, 0, 0, 0, 53, 54, 0, 55, 0, 56, 57, 0, 0, -315, -315, 0, 0, 273, -315, -315, -315, -315, -315, -315, -315, 0, -315, -315, -315, -315, -315, -315, 0, 0, -315, 0, 0, -315, -315, -315, -315, -315, 0, 0, 0, -315, -315, -315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, -315, -315, 0, -315, 0, -315, -315, 0, 193, 0, 0, 0, 0, -315, 194, 195, 196, 428, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 194, 195, 196, 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 196, 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, 213, 189, 0, 214, 215, 216, 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, 213, -317, 0, 214, 215, 216, 217, 218, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 0, 0, 0, 0, 213, 0, 0, 214, 215, 216, 217, 218, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, 206, 207, 208, 209, 210, 211, 212, 190, 191, 192, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, -317, 209, 210, 211, 212, 0, 0, 0, 0, 213, 0, 0, 214, 215, 216, 217, 218, 0, 0, 0, 209, 210, 211, 212, 0, 0, 0, 0, 213, 0, 0, 214, 215, 216, 217, 218 }; static const yytype_int16 yycheck[] = { 10, 27, 522, 27, 14, 19, 17, 17, 11, 19, 48, 285, 380, 142, 52, 18, 16, 20, 544, 22, 16, 24, 25, 11, 20, 13, 29, 99, 24, 13, 33, 34, 83, 103, 104, 16, 50, 166, 48, 11, 50, 13, 31, 12, 47, 48, 49, 18, 29, 20, 15, 22, 41, 24, 25, 11, 27, 13, 23, 22, 18, 9, 33, 34, 22, 0, 24, 25, 11, 370, 11, 105, 106, 16, 125, 33, 34, 48, 49, 380, 13, 22, 25, 11, 385, 386, 22, 105, 14, 16, 48, 49, 55, 20, 97, 615, 80, 24, 11, 13, 13, 10, 628, 125, 142, 131, 116, 131, 80, 52, 19, 14, 10, 11, 57, 13, 125, 14, 16, 115, 125, 92, 20, 161, 14, 125, 24, 25, 166, 125, 140, 141, 142, 11, 115, 13, 84, 125, 152, 153, 109, 50, 152, 153, 125, 148, 14, 80, 15, 58, 153, 87, 88, 89, 90, 53, 166, 89, 90, 14, 131, 87, 88, 89, 90, 14, 467, 80, 52, 11, 11, 30, 13, 57, 33, 34, 35, 36, 103, 77, 39, 11, 153, 13, 87, 88, 89, 90, 122, 123, 87, 88, 89, 90, 11, 153, 13, 87, 88, 89, 90, 125, 80, 477, 11, 11, 13, 233, 11, 233, 31, 32, 52, 16, 515, 516, 227, 227, 228, 87, 88, 89, 90, 132, 14, 246, 247, 125, 87, 88, 89, 90, 87, 88, 89, 90, 145, 22, 87, 88, 89, 90, 151, 152, 153, 125, 249, 218, 125, 52, 551, 101, 102, 291, 57, 22, 530, 625, 11, 22, 125, 125, 233, 22, 125, 124, 175, 176, 177, 178, 22, 180, 181, 182, 575, 285, 290, 16, 125, 22, 290, 20, 230, 231, 232, 24, 234, 235, 417, 237, 238, 239, 240, 37, 22, 596, 14, 87, 88, 89, 90, 80, 87, 88, 89, 90, 87, 88, 89, 90, 219, 220, 221, 222, 223, 224, 225, 226, 55, 549, 87, 88, 89, 90, 87, 88, 89, 90, 87, 88, 89, 90, 80, 125, 83, 87, 88, 89, 90, 22, 124, 124, 13, 346, 253, 254, 255, 256, 257, 258, 52, 581, 582, 583, 52, 381, 30, 381, 115, 33, 34, 35, 36, 125, 273, 39, 42, 57, 598, 599, 380, 15, 84, 55, 55, 346, 387, 387, 124, 417, 12, 290, 87, 88, 89, 90, 616, 87, 88, 89, 90, 300, 402, 403, 624, 304, 87, 88, 89, 90, 529, 372, 412, 13, 25, 415, 25, 417, 74, 25, 381, 25, 10, 87, 88, 89, 90, 25, 16, 124, 92, 125, 20, 18, 124, 439, 24, 52, 125, 439, 125, 29, 124, 124, 382, 344, 345, 12, 510, 511, 388, 12, 12, 352, 12, 517, 12, 74, 75, 124, 116, 523, 524, 119, 120, 121, 122, 123, 16, 124, 369, 370, 410, 125, 474, 124, 476, 477, 22, 124, 124, 380, 124, 124, 383, 384, 385, 386, 125, 52, 552, 553, 554, 110, 111, 456, 558, 11, 84, 116, 11, 529, 119, 120, 121, 122, 123, 569, 12, 15, 124, 449, 22, 451, 576, 577, 87, 88, 89, 90, 125, 459, 124, 254, 255, 424, 257, 258, 124, 529, 530, 22, 533, 533, 535, 535, 82, 124, 22, 601, 439, 542, 542, 543, 544, 125, 124, 21, 124, 23, 612, 22, 26, 124, 28, 29, 125, 22, 74, 75, 76, 623, 124, 43, 17, 124, 40, 567, 467, 43, 124, 633, 81, 47, 87, 88, 89, 90, 13, 53, 54, 55, 56, 57, 545, 124, 87, 88, 89, 90, 124, 109, 491, 109, 110, 111, 557, 74, 75, 76, 116, 550, 383, 119, 120, 121, 122, 123, 625, 609, 476, 124, 275, 606, 403, 266, 515, 516, 404, 620, 620, 486, 560, 124, 560, 625, 531, 381, 628, 67, 107, 108, 109, 110, 111, 131, 74, 75, 76, 116, 233, -1, 119, 120, 121, 122, 123, -1, 86, -1, -1, 550, 551, 74, 92, 93, 94, 131, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, 575, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, -1, 111, -1, -1, -1, -1, 116, -1, 596, 119, 120, 121, 122, 123, -1, -1, 179, -1, 87, 88, 89, 90, 185, -1, -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 1, -1, 217, 124, 87, 88, 89, 90, -1, 10, 11, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, 124, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, 91, 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, -1, -1, 1, -1, 125, -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, 478, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, 12, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 112, 113, -1, 115, -1, 117, 118, -1, 10, 11, -1, 13, -1, 125, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, 26, 27, 28, 29, 30, -1, -1, 33, 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, 64, -1, 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 91, 10, -1, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, 22, -1, 24, 25, -1, -1, 28, 29, 112, 113, -1, 115, -1, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 45, 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, 91, 10, -1, -1, 13, -1, -1, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, 112, 113, -1, 115, -1, 117, 118, -1, -1, -1, -1, -1, -1, 125, -1, 45, 46, -1, -1, -1, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, 11, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, 124, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, 91, 16, -1, -1, 19, 20, 21, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, -1, -1, -1, -1, 112, 113, -1, 115, -1, 117, 118, -1, -1, 45, 46, -1, -1, 125, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, -1, 66, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, 75, 76, -1, 112, 113, -1, 115, -1, 117, 118, -1, 86, -1, -1, -1, -1, 125, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, 67, -1, 119, 120, 121, 122, 123, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, -1, -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, -1, -1, 119, 120, 121, 122, 123, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, 74, 75, 76, -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, 105, 106, 107, 108, 109, 110, 111, 74, 75, 76, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, 107, 108, 109, 110, 111, -1, -1, -1, -1, 116, -1, -1, 119, 120, 121, 122, 123, -1, -1, -1, 108, 109, 110, 111, -1, -1, -1, -1, 116, -1, -1, 119, 120, 121, 122, 123 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 127, 128, 129, 130, 131, 132, 133, 134, 0, 138, 10, 13, 16, 19, 20, 21, 24, 25, 28, 29, 45, 46, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 77, 78, 79, 91, 112, 113, 115, 117, 118, 125, 136, 194, 195, 196, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 213, 221, 222, 223, 224, 225, 226, 227, 228, 229, 11, 135, 1, 22, 26, 27, 30, 33, 34, 35, 36, 38, 39, 40, 41, 44, 47, 48, 49, 64, 68, 135, 148, 160, 194, 65, 146, 147, 148, 136, 144, 188, 189, 144, 52, 57, 135, 222, 230, 213, 230, 208, 230, 208, 230, 230, 208, 115, 125, 211, 222, 223, 224, 208, 135, 208, 172, 172, 230, 230, 209, 13, 125, 208, 172, 208, 125, 125, 83, 125, 135, 208, 52, 136, 195, 212, 222, 230, 230, 213, 52, 57, 174, 195, 208, 208, 208, 208, 208, 124, 194, 87, 88, 89, 90, 15, 11, 13, 125, 105, 106, 105, 103, 104, 103, 67, 74, 75, 76, 86, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 116, 119, 120, 121, 122, 123, 125, 11, 13, 11, 13, 11, 13, 11, 138, 173, 52, 125, 125, 29, 115, 125, 220, 222, 125, 125, 125, 125, 135, 11, 139, 139, 171, 174, 174, 22, 37, 136, 162, 22, 30, 33, 34, 35, 36, 39, 147, 148, 146, 16, 20, 24, 136, 179, 180, 182, 183, 184, 185, 14, 125, 208, 211, 222, 223, 224, 124, 194, 80, 177, 55, 136, 175, 80, 136, 176, 212, 125, 83, 194, 124, 135, 124, 124, 194, 213, 213, 230, 195, 22, 212, 13, 124, 194, 194, 194, 194, 208, 194, 194, 124, 194, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 10, 11, 13, 16, 20, 24, 25, 53, 77, 125, 198, 222, 124, 194, 194, 194, 194, 194, 194, 194, 194, 144, 52, 136, 170, 52, 138, 138, 115, 138, 29, 218, 219, 221, 222, 223, 224, 138, 138, 125, 138, 138, 138, 138, 140, 42, 151, 171, 171, 135, 159, 194, 159, 159, 167, 194, 159, 159, 57, 178, 178, 15, 124, 194, 177, 124, 55, 176, 55, 138, 193, 213, 195, 14, 197, 124, 84, 124, 194, 12, 194, 13, 22, 14, 124, 95, 25, 194, 194, 25, 25, 25, 25, 25, 124, 194, 125, 124, 22, 14, 22, 14, 22, 14, 22, 12, 18, 137, 11, 22, 168, 194, 168, 125, 215, 222, 125, 136, 160, 165, 168, 169, 194, 218, 138, 167, 166, 194, 168, 168, 144, 138, 52, 149, 150, 92, 136, 181, 181, 183, 124, 138, 191, 125, 136, 186, 187, 124, 23, 136, 214, 212, 124, 14, 194, 12, 208, 22, 14, 124, 213, 12, 12, 12, 12, 138, 138, 124, 124, 216, 217, 222, 125, 138, 124, 22, 154, 168, 124, 124, 124, 124, 12, 125, 136, 141, 52, 175, 176, 208, 11, 188, 11, 194, 84, 14, 12, 124, 22, 156, 139, 139, 15, 124, 168, 168, 139, 152, 125, 124, 164, 164, 139, 139, 142, 155, 212, 176, 22, 192, 193, 144, 124, 144, 82, 144, 31, 32, 136, 161, 161, 222, 125, 124, 124, 162, 166, 168, 139, 139, 139, 222, 139, 22, 22, 190, 191, 12, 12, 136, 145, 12, 139, 125, 168, 139, 139, 22, 124, 162, 162, 162, 143, 43, 163, 22, 55, 157, 168, 124, 162, 162, 153, 139, 124, 135, 17, 81, 136, 158, 124, 139, 164, 162, 144, 139, 162, 169, 82, 161, 124, 139 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 126, 128, 127, 129, 127, 130, 127, 131, 127, 132, 127, 133, 127, 134, 127, 135, 136, 137, 138, 139, 140, 141, 142, 143, 141, 144, 144, 145, 145, 146, 146, 147, 147, 148, 148, 149, 148, 150, 148, 148, 151, 148, 148, 148, 148, 148, 148, 148, 148, 152, 153, 148, 148, 148, 148, 154, 148, 148, 148, 155, 148, 148, 156, 148, 148, 148, 148, 148, 157, 158, 158, 159, 160, 160, 160, 160, 160, 160, 160, 160, 161, 161, 161, 162, 162, 163, 163, 164, 165, 165, 166, 166, 167, 168, 169, 170, 170, 171, 172, 173, 174, 174, 175, 175, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 181, 181, 181, 182, 183, 183, 184, 184, 184, 185, 185, 186, 186, 187, 189, 188, 190, 190, 191, 192, 192, 193, 194, 194, 194, 194, 194, 195, 195, 195, 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 196, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, 203, 203, 203, 203, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 209, 208, 208, 208, 208, 210, 210, 210, 210, 211, 211, 211, 211, 211, 212, 212, 213, 213, 214, 214, 215, 216, 216, 216, 217, 218, 218, 218, 219, 219, 220, 220, 221, 222, 223, 224, 225, 225, 226, 227, 227, 228, 228, 229, 229, 230, 230, 230, 230 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 4, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 3, 4, 0, 7, 0, 4, 0, 1, 0, 0, 5, 1, 2, 1, 2, 1, 1, 2, 2, 1, 4, 0, 7, 0, 6, 4, 0, 7, 7, 7, 6, 6, 2, 8, 8, 0, 0, 13, 9, 11, 8, 0, 10, 9, 7, 0, 8, 2, 0, 8, 2, 2, 2, 1, 2, 1, 3, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 2, 6, 1, 2, 0, 2, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 0, 1, 1, 1, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 1, 1, 1, 3, 0, 2, 1, 1, 4, 1, 1, 5, 3, 3, 3, 3, 1, 2, 3, 1, 3, 5, 6, 3, 3, 5, 2, 4, 4, 0, 5, 1, 1, 5, 4, 5, 4, 5, 6, 5, 4, 5, 4, 3, 6, 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 2, 3, 3, 3, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 4, 2, 2, 1, 1, 1, 1, 5, 2, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 4, 4, 5, 5, 1, 1, 3, 4, 3, 4, 4, 4, 4, 4, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 4, 0, 6, 1, 1, 1, 3, 2, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 2, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1 }; typedef enum { toketype_ival, toketype_opval } toketypes; /* type of each token/terminal */ static const toketypes yy_type_tab[] = { toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval }; /* Generated from: * 259112249f1ef26949a345f9826162cf9be44cb0b68fb5f98540739f649ed47a perly.y * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl * ex: set ro: */