summaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorNicolas Williams <nico@cryptonector.com>2015-03-23 14:57:35 -0500
committerNicolas Williams <nico@cryptonector.com>2015-03-24 01:21:17 -0500
commitffa2832e3345c7a405dfaabf1deb923c07d2627c (patch)
treef028d227fda2b1493ec5258d3ff9a928e6f661e1 /parser.c
parent0f7759f83106098312224e9cabc5464b8e19a3d0 (diff)
Drop name-less label/break for now
See #734 and #658.
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c1872
1 files changed, 914 insertions, 958 deletions
diff --git a/parser.c b/parser.c
index 1f8005ce..2c977428 100644
--- a/parser.c
+++ b/parser.c
@@ -154,21 +154,19 @@ struct lexer_param;
CATCH = 282,
LABEL = 283,
BREAK = 284,
- BREAK2 = 285,
- BREAK3 = 286,
- SETPIPE = 287,
- SETPLUS = 288,
- SETMINUS = 289,
- SETMULT = 290,
- SETDIV = 291,
- SETDEFINEDOR = 292,
- LESSEQ = 293,
- GREATEREQ = 294,
- QQSTRING_START = 295,
- QQSTRING_TEXT = 296,
- QQSTRING_INTERP_START = 297,
- QQSTRING_INTERP_END = 298,
- QQSTRING_END = 299
+ SETPIPE = 285,
+ SETPLUS = 286,
+ SETMINUS = 287,
+ SETMULT = 288,
+ SETDIV = 289,
+ SETDEFINEDOR = 290,
+ LESSEQ = 291,
+ GREATEREQ = 292,
+ QQSTRING_START = 293,
+ QQSTRING_TEXT = 294,
+ QQSTRING_INTERP_START = 295,
+ QQSTRING_INTERP_END = 296,
+ QQSTRING_END = 297
};
#endif
/* Tokens. */
@@ -199,21 +197,19 @@ struct lexer_param;
#define CATCH 282
#define LABEL 283
#define BREAK 284
-#define BREAK2 285
-#define BREAK3 286
-#define SETPIPE 287
-#define SETPLUS 288
-#define SETMINUS 289
-#define SETMULT 290
-#define SETDIV 291
-#define SETDEFINEDOR 292
-#define LESSEQ 293
-#define GREATEREQ 294
-#define QQSTRING_START 295
-#define QQSTRING_TEXT 296
-#define QQSTRING_INTERP_START 297
-#define QQSTRING_INTERP_END 298
-#define QQSTRING_END 299
+#define SETPIPE 285
+#define SETPLUS 286
+#define SETMINUS 287
+#define SETMULT 288
+#define SETDIV 289
+#define SETDEFINEDOR 290
+#define LESSEQ 291
+#define GREATEREQ 292
+#define QQSTRING_START 293
+#define QQSTRING_TEXT 294
+#define QQSTRING_INTERP_START 295
+#define QQSTRING_INTERP_END 296
+#define QQSTRING_END 297
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
@@ -225,7 +221,7 @@ union YYSTYPE
jv literal;
block blk;
-#line 229 "parser.c" /* yacc.c:355 */
+#line 225 "parser.c" /* yacc.c:355 */
};
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -252,7 +248,7 @@ int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer
#endif /* !YY_YY_PARSER_H_INCLUDED */
/* Copy the second part of user declarations. */
-#line 112 "parser.y" /* yacc.c:358 */
+#line 110 "parser.y" /* yacc.c:358 */
#include "lexer.h"
struct lexer_param {
@@ -297,8 +293,6 @@ int yylex(YYSTYPE* yylval, YYLTYPE* yylloc, block* answer, int* errors,
return tok;
}
-static unsigned int next_label = 0;
-
static block gen_dictpair(block k, block v) {
return BLOCK(gen_subexp(k), gen_subexp(v), gen_op_simple(INSERT));
}
@@ -410,7 +404,7 @@ static block gen_update(block object, block val, int optype) {
}
-#line 414 "parser.c" /* yacc.c:358 */
+#line 408 "parser.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -652,23 +646,23 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 29
+#define YYFINAL 27
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1871
+#define YYLAST 1845
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 66
+#define YYNTOKENS 64
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 21
/* YYNRULES -- Number of rules. */
-#define YYNRULES 123
+#define YYNRULES 120
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 256
+#define YYNSTATES 253
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 299
+#define YYMAXUTOK 297
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -680,16 +674,16 @@ 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, 57, 54, 2, 2,
- 58, 59, 52, 50, 46, 51, 61, 53, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 60, 56,
- 48, 47, 49, 55, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 55, 52, 2, 2,
+ 56, 57, 50, 48, 44, 49, 59, 51, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 58, 54,
+ 46, 45, 47, 53, 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, 62, 2, 63, 2, 2, 2, 2, 2, 2,
+ 2, 60, 2, 61, 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, 64, 45, 65, 2, 2, 2, 2,
+ 2, 2, 2, 62, 43, 63, 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,
@@ -706,26 +700,26 @@ static const yytype_uint8 yytranslate[] =
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
+ 35, 36, 37, 38, 39, 40, 41, 42
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 272, 272, 275, 280, 283, 293, 296, 301, 304,
- 309, 313, 318, 323, 328, 333, 336, 341, 345, 349,
- 354, 360, 372, 376, 380, 384, 388, 392, 396, 400,
- 404, 408, 412, 416, 420, 424, 428, 432, 436, 440,
- 444, 448, 452, 456, 460, 464, 468, 472, 476, 481,
- 490, 497, 509, 523, 528, 534, 537, 542, 547, 554,
- 554, 558, 558, 565, 568, 571, 577, 580, 585, 588,
- 591, 597, 600, 603, 608, 613, 618, 626, 629, 632,
- 635, 638, 641, 644, 647, 650, 654, 660, 663, 666,
- 669, 672, 675, 678, 681, 684, 687, 690, 693, 696,
- 699, 702, 705, 708, 715, 719, 731, 736, 737, 738,
- 739, 742, 745, 750, 755, 758, 759, 760, 763, 766,
- 769, 773, 777, 780
+ 0, 268, 268, 271, 276, 279, 289, 292, 297, 300,
+ 305, 309, 314, 319, 324, 329, 332, 337, 341, 345,
+ 350, 362, 366, 370, 374, 378, 382, 386, 390, 394,
+ 398, 402, 406, 410, 414, 418, 422, 426, 430, 434,
+ 438, 442, 446, 450, 454, 458, 462, 466, 471, 480,
+ 487, 499, 513, 518, 524, 527, 532, 537, 544, 544,
+ 548, 548, 555, 558, 561, 567, 570, 575, 578, 581,
+ 587, 590, 593, 601, 605, 608, 611, 614, 617, 620,
+ 623, 626, 629, 633, 639, 642, 645, 648, 651, 654,
+ 657, 660, 663, 666, 669, 672, 675, 678, 681, 684,
+ 687, 694, 698, 710, 715, 716, 717, 718, 721, 724,
+ 729, 734, 737, 738, 739, 742, 745, 748, 752, 756,
+ 759
};
#endif
@@ -739,15 +733,14 @@ static const char *const yytname[] =
"\"as\"", "\"def\"", "\"module\"", "\"import\"", "\"if\"", "\"then\"",
"\"else\"", "\"elif\"", "\"reduce\"", "\"foreach\"", "\"end\"",
"\"and\"", "\"or\"", "\"try\"", "\"catch\"", "\"label\"", "\"break\"",
- "\"break2\"", "\"break3\"", "\"|=\"", "\"+=\"", "\"-=\"", "\"*=\"",
- "\"/=\"", "\"//=\"", "\"<=\"", "\">=\"", "QQSTRING_START",
- "QQSTRING_TEXT", "QQSTRING_INTERP_START", "QQSTRING_INTERP_END",
- "QQSTRING_END", "'|'", "','", "'='", "'<'", "'>'", "'+'", "'-'", "'*'",
- "'/'", "'%'", "'?'", "';'", "'$'", "'('", "')'", "':'", "'.'", "'['",
- "']'", "'{'", "'}'", "$accept", "TopLevel", "Module", "Imports",
- "FuncDefs", "Exp", "Import", "FuncDef", "Params", "Param", "String",
- "@1", "@2", "QQString", "ElseBody", "ExpD", "Term", "Args", "Arg",
- "MkDict", "MkDictPair", YY_NULLPTR
+ "\"|=\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"/=\"", "\"//=\"", "\"<=\"",
+ "\">=\"", "QQSTRING_START", "QQSTRING_TEXT", "QQSTRING_INTERP_START",
+ "QQSTRING_INTERP_END", "QQSTRING_END", "'|'", "','", "'='", "'<'", "'>'",
+ "'+'", "'-'", "'*'", "'/'", "'%'", "'?'", "';'", "'$'", "'('", "')'",
+ "':'", "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel",
+ "Module", "Imports", "FuncDefs", "Exp", "Import", "FuncDef", "Params",
+ "Param", "String", "@1", "@2", "QQString", "ElseBody", "ExpD", "Term",
+ "Args", "Arg", "MkDict", "MkDictPair", YY_NULLPTR
};
#endif
@@ -760,52 +753,52 @@ static const yytype_uint16 yytoknum[] =
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, 124, 44, 61, 60, 62,
- 43, 45, 42, 47, 37, 63, 59, 36, 40, 41,
- 58, 46, 91, 93, 123, 125
+ 295, 296, 297, 124, 44, 61, 60, 62, 43, 45,
+ 42, 47, 37, 63, 59, 36, 40, 41, 58, 46,
+ 91, 93, 123, 125
};
# endif
-#define YYPACT_NINF -122
+#define YYPACT_NINF -97
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-122)))
+ (!!((Yystate) == (-97)))
-#define YYTABLE_NINF -115
+#define YYTABLE_NINF -112
#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-115)))
+ (!!((Yytable_value) == (-112)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 8, 851, 10, 0, 27, -41, -122, 12, -122, 35,
- 851, 463, 463, 851, -44, 50, -122, -122, -122, 851,
- 49, 421, 230, 357, 47, 1193, 851, -122, -2, -122,
- -3, 851, 0, 851, -122, -122, 58, 1576, 33, 36,
- 77, 851, 106, 107, -122, -19, -122, 56, 1065, -122,
- 118, 12, 66, 59, -122, 918, -39, 63, 483, 64,
- 60, 82, 851, 851, 851, 851, 851, 851, 851, 851,
- 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
- 851, 851, 851, 851, 851, 851, -122, -122, 1734, 74,
- 73, -3, 293, 120, -122, 1734, 851, -122, 1734, -35,
- -122, -122, 51, 851, 545, 78, 79, 607, 1734, 86,
- -122, -13, -122, -122, -122, -122, -122, -122, 92, -122,
- 155, 75, 1097, 155, -122, 92, 1798, 1033, 1033, 1766,
- 1816, 116, 1798, 1798, 1798, 1798, 1798, 1798, 1033, 1033,
- 1734, 1766, 1798, 1033, 1033, -19, -19, 83, 83, 83,
- -122, 133, 84, 80, 851, 87, 886, 52, -122, 851,
- -122, 1, -122, 137, -9, -122, 1241, -122, 1529, 140,
- 141, -122, -122, 851, -122, 851, -122, 100, -122, 155,
- 102, 39, 88, 89, 102, -122, 111, -122, -122, 950,
- -122, 668, 96, 729, 148, -122, -122, -122, 51, 115,
- -122, 851, 851, -122, 119, 121, 1734, 1608, -122, 155,
- 155, 155, 851, 123, 125, 982, -122, -122, 1289, 790,
- -122, 851, 1655, 1702, 851, 851, -122, 102, 102, 102,
- 1734, -122, -122, 126, -122, -122, 1337, 1385, -122, 851,
- 1433, 1481, -122, -122, -122, 1529, 851, 851, -122, 1129,
- 1014, -122, 851, -122, 1161, -122
+ 9, 769, 14, 15, -23, -18, -97, 1, -97, 47,
+ 769, 452, 452, 769, -19, 28, -97, 769, 50, 412,
+ 227, 350, 49, 1151, 769, -97, -2, -97, 0, 769,
+ 15, 769, -97, -97, -54, 1518, 32, 35, 72, 98,
+ -97, 99, -97, 56, -97, 58, 1031, -97, 112, 1,
+ 63, 60, -97, 847, -36, 70, 472, 71, 67, 87,
+ 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
+ 769, 769, 769, 769, 769, 769, 769, 769, 769, 769,
+ 769, 769, 769, 769, -97, -97, 1668, 80, 79, 0,
+ 288, 123, -97, 1668, 769, -97, 1668, -44, -97, -97,
+ -3, 769, 532, 82, 83, 592, 100, -97, 2, -97,
+ -97, -97, -97, -97, -97, 89, -97, 154, 84, 1061,
+ 154, -97, 89, 1728, 1774, 1774, 1698, 1792, 1746, 1728,
+ 1728, 1728, 1728, 1728, 1728, 1774, 1774, 1668, 1698, 1728,
+ 1774, 1774, 56, 56, 95, 95, 95, -97, 138, 96,
+ 90, 769, 101, 802, 30, -97, 769, -97, 7, -97,
+ 149, -32, -97, 1197, -97, 1473, 153, 159, -97, -97,
+ 769, -97, 769, -97, 120, -97, 154, 122, 38, 108,
+ 110, 122, -97, 129, -97, -97, 892, -97, 118, 128,
+ 651, 171, -97, -97, -97, -3, 124, -97, 769, 769,
+ -97, 130, 132, 1668, 1548, -97, 154, 154, 154, 769,
+ 131, 137, 937, -97, -97, 1243, 710, -97, 769, 1593,
+ 1638, 769, 769, -97, 122, 122, 122, 1668, -97, -97,
+ 140, -97, -97, 1289, 1335, -97, 769, 1381, 1427, -97,
+ -97, -97, 1473, 769, 769, -97, 1091, 982, -97, 769,
+ -97, 1121, -97
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -813,48 +806,48 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 0, 6, 105, 82, 97, 99, 72, 0,
- 0, 0, 0, 0, 0, 73, 74, 75, 59, 0,
- 0, 0, 0, 0, 0, 0, 0, 98, 48, 1,
- 0, 8, 6, 0, 78, 61, 0, 0, 0, 0,
- 18, 0, 0, 0, 63, 33, 104, 0, 0, 85,
- 0, 0, 84, 0, 102, 0, 0, 121, 0, 120,
- 0, 115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 6, 102, 79, 94, 96, 71, 0,
+ 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 95, 47, 1, 0, 8,
+ 6, 0, 75, 60, 0, 0, 0, 0, 18, 0,
+ 73, 0, 62, 32, 101, 0, 0, 82, 0, 0,
+ 81, 0, 99, 0, 0, 118, 0, 117, 0, 112,
+ 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, 22, 5, 10, 81,
- 0, 0, 0, 0, 3, 2, 8, 7, 113, 0,
- 111, 63, 0, 0, 0, 0, 0, 0, 20, 0,
- 76, 0, 107, 100, 86, 80, 108, 101, 0, 110,
- 0, 0, 0, 0, 103, 0, 41, 42, 43, 26,
- 25, 24, 28, 32, 35, 37, 40, 27, 46, 47,
- 29, 30, 23, 44, 45, 31, 34, 36, 38, 39,
- 77, 0, 83, 0, 0, 90, 0, 0, 9, 0,
- 106, 0, 58, 0, 0, 55, 0, 16, 0, 0,
- 0, 19, 17, 0, 64, 0, 60, 0, 117, 0,
- 118, 70, 0, 0, 119, 116, 0, 79, 109, 0,
- 89, 0, 88, 0, 0, 112, 62, 57, 0, 0,
- 53, 0, 0, 15, 0, 0, 21, 0, 69, 0,
- 0, 0, 0, 96, 95, 0, 87, 50, 0, 0,
- 56, 0, 0, 0, 0, 0, 65, 68, 123, 122,
- 11, 93, 92, 94, 51, 49, 0, 0, 67, 0,
- 0, 0, 91, 52, 54, 0, 0, 0, 66, 0,
- 0, 12, 0, 14, 0, 13
+ 0, 0, 0, 0, 21, 5, 10, 78, 0, 0,
+ 0, 0, 3, 2, 8, 7, 110, 0, 108, 62,
+ 0, 0, 0, 0, 0, 0, 0, 72, 0, 104,
+ 97, 83, 77, 105, 98, 0, 107, 0, 0, 0,
+ 0, 100, 0, 40, 41, 42, 25, 24, 23, 27,
+ 31, 34, 36, 39, 26, 45, 46, 28, 29, 22,
+ 43, 44, 30, 33, 35, 37, 38, 74, 0, 80,
+ 0, 0, 87, 0, 0, 9, 0, 103, 0, 57,
+ 0, 0, 54, 0, 16, 0, 0, 0, 19, 17,
+ 0, 63, 0, 59, 0, 114, 0, 115, 69, 0,
+ 0, 116, 113, 0, 76, 106, 0, 86, 0, 85,
+ 0, 0, 109, 61, 56, 0, 0, 52, 0, 0,
+ 15, 0, 0, 20, 0, 68, 0, 0, 0, 0,
+ 93, 92, 0, 84, 49, 0, 0, 55, 0, 0,
+ 0, 0, 0, 64, 67, 120, 119, 11, 90, 89,
+ 91, 50, 48, 0, 0, 66, 0, 0, 0, 88,
+ 51, 53, 0, 0, 0, 65, 0, 0, 12, 0,
+ 14, 0, 13
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -122, -122, -122, 144, 91, -1, -122, -4, -122, -16,
- -5, -122, -122, 90, -62, -121, -6, -122, 29, -110,
- -122
+ -97, -97, -97, 146, 91, -1, -97, -8, -97, -4,
+ -5, -97, -97, 97, -48, -88, -6, -97, 39, -96,
+ -97
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 2, 3, 31, 94, 88, 32, 26, 164, 165,
- 27, 44, 101, 111, 203, 180, 28, 99, 100, 60,
- 61
+ -1, 2, 3, 29, 92, 86, 30, 24, 161, 162,
+ 25, 42, 99, 108, 200, 177, 26, 97, 98, 58,
+ 59
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -862,436 +855,430 @@ static const yytype_int16 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 25, 41, 184, 89, 51, 38, 39, 118, 178, 37,
- 29, 90, 40, 42, 34, 185, 30, 52, 45, 59,
- 48, 159, 55, 1, 160, 93, 119, 96, 174, 175,
- 95, 176, 98, 83, 84, 85, 86, 18, 89, 36,
- 108, 89, 174, 175, 89, 196, 105, 198, 56, 106,
- 199, 57, 35, 46, 51, 162, 193, 122, 208, 91,
- 92, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 33, 152, 18, 227, 228,
- 229, 156, 96, 177, 91, 92, 57, 91, 92, 51,
- 91, 92, 166, 168, 107, 58, 172, 43, 163, 194,
- 109, 110, -114, 59, 181, 112, 102, 181, 103, 114,
- 59, 115, 116, 120, 123, 124, 63, 64, 125, 150,
- 151, 173, 18, 157, 182, 169, 170, 186, 86, 187,
- 66, 197, 190, 188, 204, 205, 118, 209, 210, 211,
- 58, 216, 219, 189, 74, 75, 212, -114, 98, 4,
- 5, 6, 7, 8, 79, 80, 81, 82, 83, 84,
- 85, 86, 206, 181, 207, 221, 97, 224, 231, 225,
- 232, 242, 220, 248, 15, 16, 17, 158, 195, 0,
- 215, 161, 218, 0, 0, 18, 0, 0, 0, 0,
- 222, 223, 0, 181, 181, 181, 179, 0, 0, 0,
- 0, 230, 20, 21, 0, 0, 22, 23, 236, 24,
- 237, 0, 0, 240, 241, 0, 0, 0, 0, 0,
- -71, 49, 0, 0, 50, -71, 0, 51, 245, -71,
- -71, -71, -71, -71, 0, 249, 250, 0, -71, -71,
- -71, 254, 0, -71, -71, -71, 0, -71, 0, 0,
- 0, 0, -71, -71, -71, -71, -71, -71, -71, -71,
- 18, 0, 0, -71, 0, -71, -71, -71, -71, -71,
- -71, -71, -71, -71, -71, -71, -71, 0, 0, -71,
- -71, -71, -71, -71, 153, -71, 0, 4, 5, 6,
- 7, 8, 0, 0, 0, 0, 0, 9, 0, 0,
- 10, 0, 0, 0, 11, 12, 0, 0, 0, 13,
- 0, 14, 15, 16, 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 18, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 20, 21, 0, 154, 22, 23, 155, 24, 53, 0,
- 0, 4, 5, 6, 7, 8, 0, 0, 0, 0,
- 0, 9, 0, 0, 10, 0, 0, 0, 11, 12,
- 0, 0, 0, 13, 0, 14, 15, 16, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
- 0, 0, 0, 0, 20, 21, 0, 0, 22, 23,
- 54, 24, 47, 0, 0, 4, 5, 6, 7, 8,
- 0, 0, 0, 0, 0, 9, 0, 0, 10, 0,
- 0, 0, 11, 12, 0, 0, 0, 13, 0, 14,
- 15, 16, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 0, 0, 4, 5, 6,
- 7, 8, 19, 0, 0, 0, 0, 0, 20, 21,
- 0, 0, 22, 23, 121, 24, 0, 4, 5, 6,
- 7, 8, 15, 16, 17, 0, 0, 9, 0, 0,
- 10, 0, 0, 18, 11, 12, 0, 0, 0, 13,
- 0, 14, 15, 16, 17, 0, 0, 0, 0, 0,
- 20, 21, 0, 18, 22, 23, 0, 24, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 20, 21, 0, 0, 22, 23, 167, 24, 0, 4,
- 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
- 0, 0, 10, 0, 0, 0, 11, 12, 0, 0,
- 0, 13, 0, 14, 15, 16, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 20, 21, 0, 0, 22, 23, 171, 24,
- 0, 4, 5, 6, 7, 8, 0, 0, 0, 0,
- 0, 9, 0, 0, 10, 0, 0, 0, 11, 12,
- 0, 0, 0, 13, 0, 14, 15, 16, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
- 0, 0, 0, 0, 20, 21, 0, 0, 22, 23,
- 0, 24, 4, 5, 6, 7, 8, 0, 0, 0,
+ 23, 159, 100, 87, 101, 36, 37, 49, 115, 35,
+ 156, 88, 38, 157, 27, 50, 43, 57, 46, 175,
+ 53, 94, 195, 91, 1, 196, 182, 116, 93, 40,
+ 96, 28, 181, 31, 190, 32, 39, 87, 16, 33,
+ 87, 171, 172, 87, 173, 103, 171, 172, 104, 193,
+ 54, 34, 160, 55, 44, 119, 49, 89, 90, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 41, 149, 191, 94, 16, 205, 153,
+ 174, 89, 90, 55, 89, 90, 49, 89, 90, 105,
+ 163, 165, 106, 107, 169, 56, 81, 82, 83, 84,
+ 57, 178, -111, 111, 178, 109, 112, 57, 224, 225,
+ 226, 113, 4, 5, 6, 7, 8, 16, 117, 120,
+ 121, 122, 9, 147, 148, 10, 154, 166, 167, 11,
+ 12, 179, 183, 170, 13, 56, 14, 15, 84, 184,
+ 186, 185, -111, 194, 187, 96, 16, 201, 4, 5,
+ 6, 7, 8, 202, 115, 206, 207, 17, 208, 203,
+ 178, 204, 209, 18, 19, 216, 95, 20, 21, 211,
+ 22, 213, 218, 15, 228, 155, 221, 212, 222, 215,
+ 229, 217, 16, 239, 245, 192, 158, 219, 220, 0,
+ 178, 178, 178, 176, 0, 0, 0, 0, 227, 18,
+ 19, 0, 0, 20, 21, 233, 22, 234, 0, 0,
+ 237, 238, 0, 0, 0, 0, 0, -70, 47, 0,
+ 0, 48, -70, 0, 49, 242, -70, -70, -70, -70,
+ -70, 0, 246, 247, 0, -70, -70, -70, 251, 0,
+ -70, -70, -70, 0, -70, 0, 0, -70, -70, -70,
+ -70, -70, -70, -70, -70, 16, 0, 0, -70, 0,
+ -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
+ -70, -70, 0, 0, -70, -70, -70, -70, -70, 150,
+ -70, 0, 4, 5, 6, 7, 8, 0, 0, 0,
0, 0, 9, 0, 0, 10, 0, 0, 0, 11,
- 12, 0, 0, 0, 13, 0, 14, 15, 16, 17,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
- 0, 0, 0, 0, 0, 20, 21, 0, 0, 22,
- 23, 214, 24, 4, 5, 6, 7, 8, 0, 0,
- 0, 0, 0, 9, 0, 0, 10, 0, 0, 0,
- 11, 12, 0, 0, 0, 13, 0, 14, 15, 16,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 18,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 217, 20, 21, 0, 0,
- 22, 23, 0, 24, 4, 5, 6, 7, 8, 0,
+ 12, 0, 0, 0, 13, 0, 14, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
+ 0, 0, 0, 18, 19, 0, 151, 20, 21, 152,
+ 22, 51, 0, 0, 4, 5, 6, 7, 8, 0,
0, 0, 0, 0, 9, 0, 0, 10, 0, 0,
0, 11, 12, 0, 0, 0, 13, 0, 14, 15,
- 16, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 19, 0, 0, 0, 0, 235, 20, 21, 0,
- 0, 22, 23, 0, 24, 4, 5, 6, 7, 8,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 0, 18, 19, 0, 0, 20,
+ 21, 52, 22, 45, 0, 0, 4, 5, 6, 7,
+ 8, 0, 0, 0, 0, 0, 9, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 4, 5, 6, 7,
+ 8, 17, 0, 0, 0, 0, 0, 18, 19, 0,
+ 0, 20, 21, 118, 22, 0, 4, 5, 6, 7,
+ 8, 15, 0, 0, 0, 0, 9, 0, 0, 10,
+ 16, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 0, 0, 0, 0, 0, 18, 19, 0,
+ 16, 20, 21, 0, 22, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 18, 19, 0,
+ 0, 20, 21, 164, 22, 0, 4, 5, 6, 7,
+ 8, 0, 0, 0, 0, 0, 9, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 18, 19, 0,
+ 0, 20, 21, 168, 22, 0, 4, 5, 6, 7,
+ 8, 0, 0, 0, 0, 0, 9, 0, 0, 10,
+ 0, 0, 0, 11, 12, 0, 0, 0, 13, 0,
+ 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 0, 0, 0, 0, 18, 19, 0,
+ 0, 20, 21, 0, 22, 4, 5, 6, 7, 8,
0, 0, 0, 0, 0, 9, 0, 0, 10, 0,
0, 0, 11, 12, 0, 0, 0, 13, 0, 14,
- 15, 16, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 0, 0, 0, 62, 63, 64, 65, 0,
- 0, 0, 19, 0, 0, 0, 0, 0, 20, 21,
- 66, 67, 22, 23, 0, 24, 0, 0, 68, 69,
- 70, 71, 72, 73, 74, 75, 0, 62, 63, 64,
- 65, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 66, 67, 0, 0, 191, 0, 0, 192,
- 68, 69, 70, 71, 72, 73, 74, 75, 0, 62,
- 63, 64, 65, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 66, 67, 0, 0, 0, 0,
- 0, 117, 68, 69, 70, 71, 72, 73, 74, 75,
- 0, 62, 63, 64, 65, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 66, 67, 0, 0,
- 0, 0, 0, 213, 68, 69, 70, 71, 72, 73,
- 74, 75, 0, 62, 63, 64, 65, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 66, 67,
- 0, 0, 0, -115, -115, 233, 68, 69, 70, 71,
- 72, 73, 74, 75, 0, 0, 0, 0, 0, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 252, -115, -115, 253, 62, 63, 64, 65, 0, 0,
- 0, -115, -115, 81, 82, 83, 84, 85, 86, 66,
- 67, 0, 0, 0, 0, 0, 0, 68, 69, 70,
- 71, 72, 73, 74, 75, 0, 62, 63, 64, 65,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 66, 67, 0, 113, 0, 0, 0, 0, 68,
- 69, 70, 71, 72, 73, 74, 75, 0, 62, 63,
- 64, 65, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 66, 67, 0, 183, 0, 0, 0,
- 0, 68, 69, 70, 71, 72, 73, 74, 75, 0,
- 62, 63, 64, 65, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 66, 67, 0, 251, 0,
- 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
- 75, 0, 62, 63, 64, 65, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 66, 67, 0,
- 255, 0, 0, 0, 0, 68, 69, 70, 71, 72,
- 73, 74, 75, 0, 0, 0, 0, 0, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
- 62, 63, 64, 65, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 66, 67, 0, 0, 0,
- 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
- 75, 0, 0, 0, 0, 0, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 200, 62, 63,
- 64, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 66, 67, 0, 0, 0, 0, 0,
- 0, 68, 69, 70, 71, 72, 73, 74, 75, 0,
- 0, 0, 0, 0, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 234, 62, 63, 64, 65,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 214, 18, 19, 0, 0,
+ 20, 21, 0, 22, 4, 5, 6, 7, 8, 0,
+ 0, 0, 0, 0, 9, 0, 0, 10, 0, 0,
+ 0, 11, 12, 0, 0, 0, 13, 0, 14, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 0, 0, 0, 232, 18, 19, 0, 0, 20,
+ 21, 0, 22, 4, 5, 6, 7, 8, 0, 0,
+ 0, 0, 0, 9, 0, 0, 10, 0, 0, 0,
+ 11, 12, 0, 0, 0, 13, 0, 14, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 60, 61, 62, 63, 0, 0, 0, 17, 0,
+ 0, 0, 0, 0, 18, 19, 64, 65, 20, 21,
+ 0, 22, 66, 67, 68, 69, 70, 71, 72, 73,
+ 0, 0, 0, 0, 0, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 60, 61, 62, 63,
+ 188, 0, 0, 189, 0, 0, 0, 0, 0, 0,
+ 0, 64, 65, 0, 0, 0, 0, 66, 67, 68,
+ 69, 70, 71, 72, 73, 0, 0, 0, 0, 0,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 60, 61, 62, 63, 0, 0, 0, 114, 0,
+ 0, 0, 0, 0, 0, 0, 64, 65, 0, 0,
+ 0, 0, 66, 67, 68, 69, 70, 71, 72, 73,
+ 0, 0, 0, 0, 0, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 60, 61, 62, 63,
+ 0, 0, 0, 210, 0, 0, 0, 0, 0, 0,
+ 0, 64, 65, 0, 0, 0, 0, 66, 67, 68,
+ 69, 70, 71, 72, 73, 0, 0, 0, 0, 0,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 60, 61, 62, 63, 0, 0, 0, 230, 0,
+ 0, 0, 0, 0, 0, 0, 64, 65, 0, 0,
+ 0, 0, 66, 67, 68, 69, 70, 71, 72, 73,
+ 0, 0, 0, 0, 0, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 249, 0, 0, 250,
+ 60, 61, 62, 63, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64, 65, 0, 0, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 60, 61, 62, 63, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 64, 65, 0, 110, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 60, 61, 62, 63, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 64, 65, 0, 180, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 60, 61, 62, 63, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 64, 65, 0, 248, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 60, 61, 62, 63, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 64, 65, 0, 252, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 0, 0, 0, 0, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 60, 61, 62, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 65, 0, 0, 0, 0, 66, 67, 68,
+ 69, 70, 71, 72, 73, 0, 0, 0, 0, 0,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 197, 60, 61, 62, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
+ 0, 0, 0, 66, 67, 68, 69, 70, 71, 72,
+ 73, 0, 0, 0, 0, 0, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 231, 60, 61,
+ 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 64, 65, 0, 0, 0, 0, 66,
+ 67, 68, 69, 70, 71, 72, 73, 0, 0, 0,
+ 0, 0, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 240, 60, 61, 62, 63, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
+ 65, 0, 0, 0, 0, 66, 67, 68, 69, 70,
+ 71, 72, 73, 0, 0, 0, 0, 0, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 241,
+ 60, 61, 62, 63, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64, 65, 0, 0, 0,
+ 0, 66, 67, 68, 69, 70, 71, 72, 73, 0,
+ 0, 0, 0, 0, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 243, 60, 61, 62, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 66, 67, 0, 0, 0, 0, 0, 0, 68,
- 69, 70, 71, 72, 73, 74, 75, 0, 0, 0,
- 0, 0, 76, 77, 78, 79, 80, 81, 82, 83,
- 84, 85, 86, 243, 62, 63, 64, 65, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
- 67, 0, 0, 0, 0, 0, 0, 68, 69, 70,
- 71, 72, 73, 74, 75, 0, 0, 0, 0, 0,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 244, 62, 63, 64, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 66, 67, 0,
- 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
- 73, 74, 75, 0, 0, 0, 0, 0, 76, 77,
- 78, 79, 80, 81, 82, 83, 84, 85, 86, 246,
- 62, 63, 64, 65, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 66, 67, 0, 0, 0,
- 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
- 75, 0, 0, 0, 0, 0, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 247, 62, 63,
- 64, 65, 0, 0, 0, 0, 0, 0, 201, 202,
- 0, 0, 0, 66, 67, 0, 0, 0, 0, 0,
- 0, 68, 69, 70, 71, 72, 73, 74, 75, 0,
- 0, 0, 0, 0, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 62, 63, 64, 65, 0,
- 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
- 66, 67, 0, 0, 0, 0, 0, 0, 68, 69,
- 70, 71, 72, 73, 74, 75, 0, 62, 63, 64,
- 65, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 66, 67, 0, 0, 0, 0, 0, 0,
- 68, 69, 70, 71, 72, 73, 74, 75, 0, 0,
- 0, 226, 0, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 62, 63, 64, 65, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 238, 66,
- 67, 0, 0, 0, 0, 0, 0, 68, 69, 70,
- 71, 72, 73, 74, 75, 0, 0, 0, 0, 0,
- 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
- 86, 62, 63, 64, 65, 0, 0, 0, 0, 0,
- 239, 0, 0, 0, 0, 0, 66, 67, 0, 0,
- 0, 0, 0, 0, 68, 69, 70, 71, 72, 73,
- 74, 75, 0, 62, 63, 64, 65, 76, 77, 78,
- 79, 80,