This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_STAR
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3189
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  112
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  97
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  295
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  573
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   364
22
23
24 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
25    as returned by yylex, with out-of-bounds checking.  */
26 #define YYTRANSLATE(YYX)                                                \
27   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
28
29 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
30    as returned by yylex.  */
31 static const yytype_int8 yytranslate[] =
32 {
33        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,     2,     2,     2,   110,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,   111,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
58        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
59        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
60       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
61       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
62       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
63       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
64       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
65       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
66       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
67       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
68       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
69      105,   106,   107,   108,   109
70 };
71
72 #if YYDEBUG
73   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
74 static const yytype_int16 yyrline[] =
75 {
76        0,   135,   135,   134,   146,   145,   156,   155,   169,   168,
77      182,   181,   195,   194,   205,   204,   217,   225,   233,   237,
78      245,   251,   252,   262,   263,   272,   276,   280,   287,   297,
79      299,   312,   309,   333,   328,   349,   357,   356,   365,   371,
80      377,   382,   384,   386,   393,   401,   403,   400,   420,   425,
81      432,   431,   446,   454,   460,   467,   466,   481,   485,   490,
82      498,   516,   517,   521,   525,   527,   529,   531,   533,   535,
83      537,   540,   546,   547,   552,   563,   564,   570,   576,   577,
84      582,   585,   589,   594,   598,   602,   603,   607,   613,   618,
85      623,   624,   629,   630,   635,   636,   638,   643,   645,   657,
86      658,   663,   665,   669,   689,   690,   692,   698,   763,   765,
87      771,   773,   777,   783,   784,   789,   790,   794,   798,   798,
88      866,   867,   872,   883,   884,   887,   898,   900,   902,   904,
89      908,   910,   915,   919,   923,   927,   933,   938,   944,   950,
90      952,   954,   957,   956,   967,   968,   972,   976,   979,   984,
91      989,   992,   996,  1000,  1006,  1014,  1021,  1027,  1029,  1031,
92     1036,  1038,  1040,  1045,  1047,  1049,  1051,  1053,  1055,  1057,
93     1059,  1061,  1063,  1065,  1069,  1071,  1073,  1075,  1079,  1081,
94     1085,  1087,  1089,  1091,  1095,  1097,  1102,  1104,  1107,  1109,
95     1111,  1114,  1117,  1128,  1131,  1138,  1140,  1142,  1144,  1146,
96     1149,  1155,  1157,  1161,  1162,  1163,  1164,  1165,  1167,  1169,
97     1171,  1173,  1175,  1177,  1179,  1181,  1183,  1185,  1187,  1189,
98     1191,  1193,  1203,  1213,  1223,  1233,  1235,  1237,  1240,  1245,
99     1249,  1251,  1253,  1255,  1258,  1260,  1263,  1265,  1267,  1269,
100     1271,  1273,  1275,  1277,  1279,  1282,  1284,  1286,  1288,  1290,
101     1292,  1296,  1299,  1298,  1311,  1312,  1313,  1317,  1319,  1321,
102     1326,  1328,  1331,  1333,  1335,  1340,  1342,  1347,  1348,  1353,
103     1354,  1360,  1364,  1365,  1366,  1369,  1370,  1373,  1374,  1377,
104     1381,  1385,  1391,  1397,  1399,  1403,  1407,  1408,  1412,  1413,
105     1417,  1418,  1423,  1425,  1427,  1430
106 };
107 #endif
108
109 #if YYDEBUG || YYERROR_VERBOSE || 0
110 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
111    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
112 static const char *const yytname[] =
113 {
114   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
115   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE",
116   "PERLY_AMPERSAND", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
117   "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA", "PERLY_DOT",
118   "PERLY_EQUAL_SIGN", "PERLY_MINUS", "PERLY_PERCENT_SIGN", "PERLY_PLUS",
119   "PERLY_SEMICOLON", "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD",
120   "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP",
121   "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL",
122   "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE",
123   "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
124   "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
125   "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
126   "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
127   "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW",
128   "OROP", "DOROP", "ANDOP", "NOTOP", "ASSIGNOP", "PERLY_QUESTION_MARK",
129   "PERLY_COLON", "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP",
130   "CHEQOP", "NCEQOP", "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP",
131   "PERLY_EXCLAMATION_MARK", "PERLY_TILDE", "UMINUS", "REFGEN", "POWOP",
132   "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "ARROW",
133   "PERLY_PAREN_CLOSE", "PERLY_PAREN_OPEN", "'$'", "'/'", "$accept",
134   "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "@7", "block",
135   "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq",
136   "fullstmt", "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11",
137   "$@12", "@13", "$@14", "formline", "formarg", "condition", "sideff",
138   "else", "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
139   "formname", "startsub", "startanonsub", "startformsub", "subname",
140   "proto", "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
141   "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
142   "siglistornull", "optsubsignature", "subsignature", "subsigguts", "$@15",
143   "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr",
144   "listexpr", "listop", "@16", "method", "subscripted", "termbinop",
145   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
146   "anonymous", "termdo", "term", "@17", "myattrterm", "myterm",
147   "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
148   "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
149   "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
150 };
151 #endif
152
153 # ifdef YYPRINT
154 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
155    (internal) symbol number NUM (which must be that of a token).  */
156 static const yytype_int16 yytoknum[] =
157 {
158        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
159      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
160      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
161      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
162      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
163      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
164      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
165      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
166      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
167      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
168      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
169       36,    47
170 };
171 # endif
172
173 #define YYPACT_NINF (-460)
174
175 #define yypact_value_is_default(Yyn) \
176   ((Yyn) == YYPACT_NINF)
177
178 #define YYTABLE_NINF (-291)
179
180 #define yytable_value_is_error(Yyn) \
181   ((Yyn) == YYTABLE_NINF)
182
183   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
184      STATE-NUM.  */
185 static const yytype_int16 yypact[] =
186 {
187     1015,  -460,  -460,  -460,  -460,  -460,  -460,  -460,    26,  -460,
188     2825,    57,  1509,  1415,  -460,  -460,  -460,  -460,     8,  1885,
189     2825,     8,  2825,     8,     8,  -460,     8,     8,  -460,  -460,
190       22,   -30,  -460,  2825,  -460,  -460,  -460,  -460,  2825,   -24,
191      -21,   -59,  1979,  1791,     8,  1979,  2073,    31,  2825,    78,
192     2825,  2825,  2825,  2825,  2825,  2825,  2825,  2167,     8,   103,
193       83,  -460,    -1,  -460,    -2,    20,    13,    28,  -460,  -460,
194     -460,  2992,  -460,  -460,    14,    52,    58,    64,  -460,   117,
195      236,   239,   125,  -460,  -460,  -460,  -460,  -460,  -460,    31,
196       31,   122,  -460,    42,    68,    87,    99,   261,   118,   129,
197       57,   240,   231,  -460,   253,  1601,  1415,  -460,  -460,  -460,
198      663,  -460,     2,   757,  -460,  -460,  -460,  -460,  -460,  -460,
199       92,   299,  -460,   299,  -460,  -460,  2825,   196,   207,  2825,
200      198,   393,    57,   282,   242,  2992,   205,  2261,  2825,  1791,
201     -460,   393,   564,    83,  -460,   466,  2825,  -460,  -460,   393,
202      305,    81,  -460,  -460,  2825,   393,  2919,  2355,   245,  -460,
203     -460,  -460,   393,    83,   299,   299,   299,   153,   153,   307,
204      155,  -460,  2825,  2825,  2825,  2825,  2825,  2825,  2449,  -460,
205     -460,  2825,  -460,  -460,  2825,  2825,  2825,  2825,  2825,  2825,
206     2825,  2825,  2825,  2825,  2825,  2825,  2825,  2825,  2825,  2825,
207     2825,  2825,  -460,  -460,  -460,    71,  2543,  2825,  2825,  2825,
208     2825,  2825,  2825,  2825,  -460,   302,  -460,  -460,   309,  -460,
209     -460,  -460,  -460,  -460,   254,    24,  -460,  -460,   214,  -460,
210     -460,  -460,  -460,    57,  -460,  -460,  2825,  2825,  2825,  2825,
211     2825,  2825,  -460,  -460,  -460,  -460,  -460,   311,   311,  -460,
212     -460,  -460,   327,  -460,  -460,  -460,  2825,  2825,   110,  -460,
213     -460,  -460,   242,   326,  -460,  -460,  -460,   313,   289,   265,
214     2825,    83,  -460,   357,  -460,  2637,   299,   245,    53,    59,
215       90,  -460,   344,   348,  -460,  2825,   369,   306,   306,  -460,
216     2992,   165,   113,  -460,   425,   393,   355,  3082,  1018,   930,
217     2992,  2947,   501,   501,   648,   742,   836,   355,   355,   393,
218      393,   420,   299,   299,   360,  2825,  2825,   365,   379,   388,
219     -460,   390,  2731,    29,   308,  -460,  -460,   460,   174,   130,
220      191,   161,   300,   199,   317,   851,  -460,   405,  -460,  -460,
221       12,   404,  2825,  2825,  2825,  2825,  -460,   319,  -460,  -460,
222      321,  -460,  -460,  -460,  -460,  1603,    37,  -460,  2825,  2825,
223     -460,  -460,   103,  -460,   103,  -460,  -460,  -460,  -460,  -460,
224      351,   351,     2,   329,     0,  -460,  2825,  -460,  -460,   334,
225     -460,  -460,  -460,  -460,   507,  -460,     7,   519,  -460,  -460,
226     -460,   223,  2825,   423,  -460,  -460,  2825,  -460,   328,   250,
227     -460,  -460,  -460,  -460,  -460,   553,  -460,  2825,  -460,   426,
228     -460,   432,  -460,   433,  -460,   435,  -460,  -460,  -460,   282,
229      242,  -460,  -460,   431,   359,   103,   361,   367,   103,   370,
230      356,  -460,  -460,  -460,  -460,   374,   447,   310,  -460,  2825,
231      378,   382,  2825,  -460,  -460,  -460,  -460,  2825,   396,  -460,
232      481,  -460,  -460,   482,  -460,  -460,    41,  -460,   297,  -460,
233     3037,   483,  -460,  -460,   399,  -460,  -460,  -460,  -460,   480,
234      242,   487,  -460,  2825,  -460,  -460,   499,   499,  2825,  2825,
235      499,  -460,   406,   409,   499,   499,  2992,   103,  -460,  -460,
236      411,  -460,  -460,  -460,  -460,   453,   508,  -460,  -460,  -460,
237     -460,   511,   499,   499,  -460,    91,    91,   414,   427,   231,
238     2825,  2825,   499,  -460,  -460,   945,  -460,  1039,  -460,  -460,
239     -460,  -460,  1133,  -460,   231,   231,  -460,   499,   429,  -460,
240     -460,   499,   499,  -460,   515,   440,   231,  -460,  -460,    30,
241     -460,  -460,  -460,  1227,  -460,  2825,   231,   231,  -460,   499,
242     -460,   547,   495,  -460,  -460,   467,  -460,  -460,  -460,   231,
243     -460,  -460,  -460,   499,  1697,  -460,  1321,    91,   468,  -460,
244     -460,   499,  -460
245 };
246
247   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
248      Performed when YYTABLE does not specify something else to do.  Zero
249      means the default is an error.  */
250 static const yytype_int16 yydefact[] =
251 {
252        0,     2,     4,     6,     8,    10,    12,    14,     0,    18,
253      267,     0,     0,     0,    21,   118,     1,    21,     0,     0,
254        0,     0,     0,     0,     0,   254,     0,     0,   225,   252,
255      213,   247,   249,   243,    88,   256,    88,    88,   235,   245,
256        0,     0,   238,   265,     0,     0,     0,     0,     0,     0,
257      241,     0,     0,     0,     0,     0,     0,     0,     0,   268,
258      129,   255,   220,   203,   165,   174,   166,   180,   204,   205,
259      206,   132,   210,     5,   226,   215,   218,   217,   219,   216,
260        0,     0,     0,    18,     7,    64,    59,    29,    89,     0,
261        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
262        0,     0,    75,     9,     0,    65,     0,    11,    26,    25,
263        0,    15,   113,     0,   292,   295,   294,   293,   279,   196,
264        0,   186,   282,   187,   281,   285,   265,     0,     0,     0,
265        0,   244,     0,    92,    94,   236,     0,     0,   267,   267,
266      239,   240,   292,   266,   139,   293,     0,   283,   202,   201,
267        0,     0,    90,    91,   265,   211,     0,     0,   258,   262,
268      264,   263,   242,   237,   188,   189,   208,   193,   194,   214,
269        0,   280,     0,     0,     0,   130,     0,     0,     0,   177,
270      176,     0,   183,   182,     0,     0,     0,     0,     0,     0,
271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
272        0,     0,   190,   191,   192,     0,     0,     0,     0,     0,
273        0,     0,     0,     0,    21,    86,    87,    87,     0,    36,
274       18,    18,    18,    18,    18,     0,    18,    18,     0,    18,
275       18,    42,    58,     0,    54,    57,     0,     0,     0,     0,
276        0,     0,    28,    27,    22,   102,   101,    99,    99,   109,
277      108,   112,   114,   119,   195,   137,   267,     0,     0,   248,
278      142,    93,    94,    96,    18,   246,   250,     0,     0,     0,
279        0,   133,   198,     0,   229,     0,   209,     0,   215,   218,
280      217,   261,     0,    98,   257,     0,   212,   127,   128,   126,
281      131,     0,     0,   156,     0,   179,   185,   169,   162,   163,
282      160,     0,   171,   172,   170,   168,   167,   184,   181,   178,
283      175,   164,   173,   161,     0,     0,     0,   289,   287,   291,
284      144,     0,     0,     0,   136,   145,   227,     0,     0,     0,
285        0,     0,     0,     0,     0,     0,    85,     0,    31,    33,
286        0,     0,    80,     0,     0,     0,   277,     0,   278,   275,
287        0,   276,   272,   273,   274,     0,     0,    18,     0,     0,
288       76,    68,    63,    69,    82,    66,    67,    70,    71,   100,
289      104,   104,   110,     0,   269,   158,   265,    18,    95,   115,
290      200,   251,   141,   140,     0,   197,   214,     0,   259,   260,
291       97,     0,     0,     0,   149,   155,     0,   233,     0,     0,
292      232,   231,   234,   284,   153,     0,   230,   267,   228,     0,
293      147,     0,   221,     0,   222,     0,    16,    18,    30,    92,
294       94,    18,    35,     0,     0,    81,     0,     0,    83,     0,
295        0,   271,    18,    79,    84,     0,     0,    65,    50,     0,
296        0,     0,   105,   107,   103,   111,   138,     0,     0,   143,
297        0,   199,   118,     0,   116,   134,   212,   159,     0,   152,
298      207,     0,   148,   154,     0,   150,   223,   224,   146,     0,
299       94,    18,    55,   265,    77,    77,     0,     0,     0,     0,
300        0,    45,     0,     0,     0,     0,   106,   270,   253,    21,
301        0,    21,   157,   151,   135,     0,    18,   124,    34,   123,
302       21,     0,     0,     0,    20,    72,    72,     0,     0,    75,
303       80,     0,     0,    40,    41,     0,   117,     0,    23,   121,
304       32,   120,     0,    37,    75,    75,    21,     0,     0,    38,
305       39,     0,     0,    53,     0,     0,    75,   122,   125,     0,
306       56,    43,    44,     0,    73,     0,    75,    75,    46,     0,
307       49,     0,    61,    24,    19,     0,    48,    52,    77,    75,
308       17,    21,    60,     0,     0,    51,     0,    72,     0,    62,
309       74,     0,    47
310 };
311
312   /* YYPGOTO[NTERM-NUM].  */
313 static const yytype_int16 yypgoto[] =
314 {
315     -460,  -460,  -460,  -460,  -460,  -460,  -460,  -460,  -460,   301,
316     -460,    -5,  -117,  -460,   -17,  -460,   571,   497,     1,  -460,
317     -460,  -460,  -460,  -460,  -460,  -460,  -460,  -460,   342,  -350,
318     -432,   -83,  -459,  -460,    94,   258,  -272,    49,  -460,   -58,
319      229,  -460,   179,   195,  -244,   340,   371,  -460,  -460,   249,
320     -460,   251,  -460,  -460,  -460,  -460,   170,  -460,  -460,   134,
321     -460,   154,    -8,   -37,  -460,  -460,  -460,  -460,  -460,  -460,
322     -460,  -460,  -460,  -460,  -460,  -460,   100,  -460,  -460,   470,
323     -125,  -131,  -460,  -460,   275,  -460,  -460,   410,    18,   -46,
324      -40,  -460,  -460,  -460,  -460,  -460,     4
325 };
326
327   /* YYDEFGOTO[NTERM-NUM].  */
328 static const yytype_int16 yydefgoto[] =
329 {
330       -1,     8,     9,    10,    11,    12,    13,    14,    15,   102,
331      418,   379,   505,   526,   110,   539,   244,   108,   109,   419,
332      420,   341,   510,   558,   482,   500,   553,   562,   361,   104,
333      529,   234,   502,   434,   424,   363,   427,   436,   337,   219,
334      132,   215,   154,   262,   264,   284,   370,   248,   249,   443,
335      250,   251,   252,   253,   453,   454,   111,   112,   520,   451,
336      498,   380,   105,    60,    61,   376,   324,    62,    63,    64,
337       65,    66,    67,    68,    69,    70,    71,   128,    72,   158,
338      144,    73,   448,   430,   349,   350,   227,    74,    75,    76,
339       77,    78,    79,    80,    81,    82,   171
340 };
341
342   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
343      positive, shift that token.  If negative, reduce the rule whose
344      number is the opposite.  If YYTABLE_NINF, syntax error.  */
345 static const yytype_int16 yytable[] =
346 {
347      113,   255,    59,   160,    17,   433,   143,   268,   269,   161,
348      176,   120,   177,   103,   163,   175,   503,   138,   377,    83,
349      285,   245,   118,   421,   246,   122,    16,   124,   125,   274,
350      126,   127,   114,   422,    18,   129,   117,   115,   151,   117,
351       83,   117,   117,    21,   117,   117,    23,   146,   147,   170,
352      139,   551,   406,   114,   392,   152,    21,   552,   115,    23,
353      153,   145,   117,   207,   207,   208,   208,   159,    83,  -286,
354     -286,  -286,  -286,   429,   530,  -288,   117,  -288,   214,   130,
355     -261,   314,   315,   435,   316,   136,   440,   441,   137,   143,
356      317,   179,   180,   318,   319,   348,   320,    21,   175,   564,
357       23,  -288,   273,  -288,   182,   183,   254,   243,   178,   271,
358      279,   447,   247,   181,  -260,   228,   280,   143,    58,   184,
359      121,   258,   123,   206,   375,   373,  -262,   394,  -290,   267,
360       59,    59,  -264,   131,    58,   570,   213,   321,   135,    58,
361      527,   528,   141,   270,   410,   149,   218,    58,   155,   282,
362      162,   220,   164,   165,   166,   167,   168,   145,   338,   339,
363      172,   173,   174,  -263,   287,   288,   289,   483,   291,   292,
364      294,   172,   173,   174,   278,   412,   471,   221,   156,   353,
365      322,   323,   172,   173,   174,   354,   393,   157,    58,   172,
366      173,   174,   172,   173,   174,   409,   222,   335,   327,   328,
367      329,   330,   331,   332,   333,   334,   507,   508,   223,   172,
368      173,   174,   411,   414,   433,   342,   343,   344,   345,   347,
369      374,   355,   356,   325,   358,   359,   496,   229,   362,   364,
370      362,   362,   362,   362,   172,   173,   174,   457,   230,   535,
371      172,   173,   174,   352,   172,   173,   174,   209,    59,   210,
372      211,   449,   212,   172,   173,   174,   276,  -291,  -291,  -291,
373      205,   232,   384,   286,   462,   133,   134,   387,   216,   217,
374      172,   173,   174,   555,   235,   290,   464,   391,   172,   173,
375      174,   295,   233,   257,   296,   297,   298,   299,   300,   301,
376      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
377      312,   313,   172,   173,   174,   256,   259,   398,   399,   261,
378      353,   492,    84,   265,   405,   263,   354,   272,   283,   116,
379      285,   413,   116,   357,   116,   116,   336,   116,   116,   172,
380      173,   174,   224,   340,   425,   364,   428,   428,   415,   143,
381      369,   117,   372,   140,   116,   116,   148,   437,   501,   461,
382      428,   428,   439,   378,   346,   236,   237,   238,   239,   116,
383      506,   225,   240,   509,   241,   431,   382,   513,   514,   385,
384      226,    58,   450,   383,   352,   390,   172,   173,   174,   172,
385      173,   174,   392,   397,   458,   524,   525,   174,   400,   172,
386      173,   174,   172,   173,   174,   536,   172,   173,   174,    59,
387      201,   231,   401,   202,   203,   204,   205,   172,   173,   174,
388      544,   402,   469,   403,   546,   547,   472,   407,   -83,   186,
389      187,   381,   417,   172,   173,   174,   533,   479,   423,    58,
390      432,   428,   559,   260,   442,   459,   143,   446,   465,   487,
391      116,   541,   542,   452,   466,   467,   567,   468,   197,   198,
392      199,   200,   389,   550,   572,   473,   201,   186,   187,   202,
393      203,   204,   205,   556,   557,   478,  -215,   474,   481,   475,
394      428,   428,   515,   488,   517,   476,   565,   207,   477,   208,
395     -215,  -215,   480,   522,   186,   187,   484,  -215,   199,   200,
396      485,   450,   489,   491,   201,   493,   460,   202,   203,   204,
397      205,   495,   425,   428,   172,   173,   174,   494,   497,   543,
398      504,  -215,  -215,  -215,  -215,   511,   200,   512,  -215,   516,
399     -215,   201,   531,  -215,   202,   203,   204,   205,   518,   519,
400     -215,  -215,   523,   395,   360,   532,   548,   428,   545,   172,
401      173,   174,   486,  -215,   566,  -215,  -215,  -215,   549,  -215,
402     -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
403     -215,  -215,  -215,   560,  -254,   186,   187,  -215,   408,   561,
404     -215,  -215,  -215,  -215,  -215,   563,   571,  -215,  -254,  -254,
405      365,   366,   367,   368,   107,  -254,   172,   173,   174,   192,
406      193,   194,   195,   196,   197,   198,   199,   200,   172,   173,
407      174,   426,   201,   242,   534,   202,   203,   204,   205,  -254,
408     -254,  -254,  -254,   568,   470,   455,  -254,   388,  -254,   371,
409      444,  -254,   490,   445,   116,   499,   277,   456,  -254,  -254,
410      521,   438,   172,   173,   174,   351,     0,     0,     0,     0,
411        0,  -254,     0,  -254,  -254,  -254,     0,  -254,  -254,  -254,
412     -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,
413     -254,   463,     0,   -13,    85,  -254,     0,     0,  -254,  -254,
414     -254,  -254,  -254,    18,    83,  -254,    19,     0,     0,     0,
415        0,    20,    21,    22,    86,    23,    24,    25,    26,    27,
416       28,    29,     0,    30,    31,    32,    33,    34,    35,    87,
417      106,    88,    89,    90,    36,    37,    91,    92,    93,    94,
418       95,    96,   186,   187,     0,    97,    98,    99,   100,    38,
419        0,   101,    39,    40,    41,    42,    43,     0,     0,    44,
420       45,    46,    47,    48,    49,    50,     0,   193,   194,   195,
421      196,   197,   198,   199,   200,    51,     0,     0,     0,   201,
422        0,     0,   202,   203,   204,   205,     0,    -3,    85,     0,
423       52,    53,     0,    54,     0,    55,    56,    18,    83,     0,
424       19,     0,    57,    58,     0,    20,    21,    22,    86,    23,
425       24,    25,    26,    27,    28,    29,     0,    30,    31,    32,
426       33,    34,    35,    87,   106,    88,    89,    90,    36,    37,
427       91,    92,    93,    94,    95,    96,   186,   187,     0,    97,
428       98,    99,   100,    38,     0,   101,    39,    40,    41,    42,
429       43,     0,     0,    44,    45,    46,    47,    48,    49,    50,
430        0,     0,   194,   195,   196,   197,   198,   199,   200,    51,
431        0,     0,     0,   201,     0,     0,   202,   203,   204,   205,
432        0,     0,    85,     0,    52,    53,     0,    54,     0,    55,
433       56,    18,    83,   416,    19,     0,    57,    58,     0,    20,
434       21,    22,    86,    23,    24,    25,    26,    27,    28,    29,
435        0,    30,    31,    32,    33,    34,    35,    87,   106,    88,
436       89,    90,    36,    37,    91,    92,    93,    94,    95,    96,
437      186,   187,     0,    97,    98,    99,   100,    38,     0,   101,
438       39,    40,    41,    42,    43,     0,     0,    44,    45,    46,
439       47,    48,    49,    50,     0,     0,     0,   195,   196,   197,
440      198,   199,   200,    51,     0,     0,     0,   201,     0,     0,
441      202,   203,   204,   205,     0,     0,    85,     0,    52,    53,
442        0,    54,     0,    55,    56,    18,    83,   537,    19,     0,
443       57,    58,     0,    20,    21,    22,    86,    23,    24,    25,
444       26,    27,    28,    29,     0,    30,    31,    32,    33,    34,
445       35,    87,   106,    88,    89,    90,    36,    37,    91,    92,
446       93,    94,    95,    96,   186,     0,     0,    97,    98,    99,
447      100,    38,     0,   101,    39,    40,    41,    42,    43,     0,
448        0,    44,    45,    46,    47,    48,    49,    50,     1,     2,
449        3,     4,     5,     6,     7,     0,   200,    51,     0,     0,
450        0,   201,     0,     0,   202,   203,   204,   205,     0,     0,
451       85,     0,    52,    53,     0,    54,     0,    55,    56,    18,
452       83,   538,    19,     0,    57,    58,     0,    20,    21,    22,
453       86,    23,    24,    25,    26,    27,    28,    29,     0,    30,
454       31,    32,    33,    34,    35,    87,   106,    88,    89,    90,
455       36,    37,    91,    92,    93,    94,    95,    96,     0,     0,
456        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
457       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
458       49,    50,     0,     0,   200,     0,     0,     0,     0,   201,
459        0,    51,   202,   203,   204,   205,     0,     0,     0,     0,
460        0,     0,     0,     0,    85,     0,    52,    53,     0,    54,
461        0,    55,    56,    18,    83,   540,    19,     0,    57,    58,
462        0,    20,    21,    22,    86,    23,    24,    25,    26,    27,
463       28,    29,     0,    30,    31,    32,    33,    34,    35,    87,
464      106,    88,    89,    90,    36,    37,    91,    92,    93,    94,
465       95,    96,     0,     0,     0,    97,    98,    99,   100,    38,
466        0,   101,    39,    40,    41,    42,    43,     0,     0,    44,
467       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
468        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
469        0,     0,     0,     0,     0,     0,     0,     0,    85,     0,
470       52,    53,     0,    54,     0,    55,    56,    18,    83,   554,
471       19,     0,    57,    58,     0,    20,    21,    22,    86,    23,
472       24,    25,    26,    27,    28,    29,     0,    30,    31,    32,
473       33,    34,    35,    87,   106,    88,    89,    90,    36,    37,
474       91,    92,    93,    94,    95,    96,     0,     0,     0,    97,
475       98,    99,   100,    38,     0,   101,    39,    40,    41,    42,
476       43,     0,     0,    44,    45,    46,    47,    48,    49,    50,
477        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
478        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
479        0,     0,    85,     0,    52,    53,     0,    54,     0,    55,
480       56,    18,    83,     0,    19,     0,    57,    58,     0,    20,
481       21,    22,    86,    23,    24,    25,    26,    27,    28,    29,
482        0,    30,    31,    32,    33,    34,    35,    87,   106,    88,
483       89,    90,    36,    37,    91,    92,    93,    94,    95,    96,
484        0,     0,     0,    97,    98,    99,   100,    38,     0,   101,
485       39,    40,    41,    42,    43,     0,     0,    44,    45,    46,
486       47,    48,    49,    50,     0,     0,   569,     0,     0,     0,
487        0,     0,     0,    51,     0,     0,     0,     0,     0,     0,
488        0,     0,     0,     0,     0,     0,    85,     0,    52,    53,
489        0,    54,     0,    55,    56,    18,    83,     0,    19,     0,
490       57,    58,     0,    20,    21,    22,    86,    23,    24,    25,
491       26,    27,    28,    29,     0,    30,    31,    32,    33,    34,
492       35,    87,   106,    88,    89,    90,    36,    37,    91,    92,
493       93,    94,    95,    96,     0,     0,     0,    97,    98,    99,
494      100,    38,     0,   101,    39,    40,    41,    42,    43,     0,
495        0,    44,    45,    46,    47,    48,    49,    50,     0,     0,
496        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
498       85,     0,    52,    53,     0,    54,     0,    55,    56,    18,
499       83,     0,    19,     0,    57,    58,     0,    20,    21,    22,
500       86,    23,    24,    25,    26,    27,    28,    29,     0,    30,
501       31,    32,    33,    34,    35,    87,     0,    88,    89,    90,
502       36,    37,    91,    92,    93,    94,    95,    96,     0,     0,
503        0,    97,    98,    99,   100,    38,     0,   101,    39,    40,
504       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
505       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
506        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
507        0,     0,     0,     0,    85,     0,    52,    53,     0,    54,
508        0,    55,    56,    18,     0,     0,    19,     0,    57,    58,
509        0,    20,    21,    22,   -78,    23,    24,    25,    26,    27,
510       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
511        0,     0,     0,     0,    36,    37,   236,   237,   238,   239,
512        0,     0,     0,   240,     0,   241,     0,     0,     0,    38,
513        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
514       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
515      172,   173,   174,     0,     0,    51,     0,     0,     0,     0,
516        0,     0,     0,     0,     0,     0,     0,     0,    85,     0,
517       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
518       19,     0,    57,    58,     0,    20,    21,    22,     0,    23,
519       24,    25,    26,    27,    28,    29,     0,    30,    31,    32,
520       33,    34,    35,     0,     0,     0,     0,     0,    36,    37,
521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
522        0,     0,     0,    38,     0,     0,    39,    40,    41,    42,
523       43,     0,     0,    44,    45,    46,    47,    48,    49,    50,
524        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
526        0,     0,     0,     0,    52,    53,     0,    54,     0,    55,
527       56,    18,    83,     0,    19,   -78,    57,    58,     0,    20,
528       21,    22,     0,    23,    24,   142,    26,    27,    28,    29,
529      115,    30,    31,    32,    33,    34,    35,     0,     0,     0,
530        0,     0,    36,    37,     0,     0,     0,     0,     0,     0,
531        0,     0,     0,     0,     0,     0,     0,    38,     0,     0,
532       39,    40,    41,    42,    43,     0,     0,    44,    45,    46,
533       47,    48,    49,    50,     0,     0,     0,     0,     0,     0,
534        0,     0,     0,    51,     0,     0,     0,     0,     0,     0,
535        0,     0,     0,     0,     0,     0,     0,     0,    52,    53,
536        0,    54,     0,    55,    56,    18,     0,     0,    19,   119,
537       57,    58,     0,    20,    21,    22,     0,    23,    24,    25,
538       26,    27,    28,    29,     0,    30,    31,    32,    33,    34,
539       35,     0,     0,     0,     0,     0,    36,    37,     0,     0,
540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
541        0,    38,     0,     0,    39,    40,    41,    42,    43,     0,
542        0,    44,    45,    46,    47,    48,    49,    50,     0,     0,
543        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
545        0,     0,    52,    53,     0,    54,     0,    55,    56,    18,
546       83,     0,    19,     0,    57,    58,     0,    20,    21,    22,
547        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
548       31,    32,    33,    34,    35,     0,     0,     0,     0,     0,
549       36,    37,     0,     0,     0,     0,     0,     0,     0,     0,
550        0,     0,     0,     0,     0,    38,     0,     0,    39,    40,
551       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
552       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
553        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
554        0,     0,     0,     0,     0,     0,    52,    53,     0,    54,
555        0,    55,    56,    18,     0,     0,    19,     0,    57,    58,
556        0,    20,    21,    22,   150,    23,    24,    25,    26,    27,
557       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
558        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
559        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
560        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
561       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
562        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
563        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
564       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
565       19,     0,    57,    58,     0,    20,    21,    22,     0,    23,
566       24,    25,    26,    27,    28,    29,     0,    30,    31,    32,
567       33,    34,    35,     0,     0,     0,     0,     0,    36,    37,
568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
569        0,     0,     0,    38,     0,     0,    39,    40,    41,    42,
570       43,     0,     0,    44,    45,    46,    47,    48,    49,    50,
571        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
573        0,     0,     0,     0,    52,    53,     0,    54,     0,    55,
574       56,    18,     0,     0,    19,   169,    57,    58,     0,    20,
575       21,    22,     0,    23,    24,    25,    26,    27,    28,    29,
576        0,    30,    31,    32,    33,    34,    35,     0,     0,     0,
577        0,     0,    36,    37,     0,     0,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,    38,     0,     0,
579       39,    40,    41,    42,    43,     0,     0,    44,    45,    46,
580       47,    48,    49,    50,     0,     0,     0,     0,     0,     0,
581        0,     0,     0,    51,     0,     0,     0,     0,     0,     0,
582        0,     0,     0,     0,     0,     0,     0,     0,    52,    53,
583        0,    54,     0,    55,    56,    18,     0,     0,    19,   266,
584       57,    58,     0,    20,    21,    22,     0,    23,    24,    25,
585       26,    27,    28,    29,     0,    30,    31,    32,    33,    34,
586       35,     0,     0,     0,     0,     0,    36,    37,     0,     0,
587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
588        0,    38,     0,     0,    39,    40,    41,    42,    43,     0,
589        0,    44,    45,    46,    47,    48,    49,    50,     0,     0,
590        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
592        0,     0,    52,    53,     0,    54,     0,    55,    56,    18,
593        0,     0,    19,   281,    57,    58,     0,    20,    21,    22,
594        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
595       31,    32,    33,    34,    35,     0,     0,     0,     0,     0,
596       36,    37,     0,     0,     0,     0,     0,     0,     0,     0,
597        0,     0,     0,     0,     0,    38,     0,     0,    39,    40,
598       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
599       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
600        0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
601        0,     0,     0,     0,     0,     0,    52,    53,     0,    54,
602        0,    55,    56,    18,     0,     0,    19,   293,    57,    58,
603        0,    20,    21,    22,     0,    23,    24,    25,    26,    27,
604       28,    29,     0,    30,    31,    32,    33,    34,    35,     0,
605        0,     0,     0,     0,    36,    37,     0,     0,     0,     0,
606        0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
607        0,     0,    39,    40,    41,    42,    43,     0,     0,    44,
608       45,    46,    47,    48,    49,    50,     0,     0,     0,     0,
609        0,     0,     0,     0,     0,    51,     0,     0,     0,     0,
610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
611       52,    53,     0,    54,     0,    55,    56,    18,     0,     0,
612       19,   326,    57,    58,     0,    20,    21,    22,     0,    23,
613       24,    25,    26,    27,    28,    29,     0,    30,    31,    32,
614       33,    34,    35,     0,     0,     0,     0,     0,    36,    37,
615        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
616        0,     0,     0,    38,     0,     0,    39,    40,    41,    42,
617       43,     0,     0,    44,    45,    46,    47,    48,    49,    50,
618        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
620        0,     0,     0,     0,    52,    53,     0,    54,     0,    55,
621       56,    18,     0,     0,    19,   386,    57,    58,     0,    20,
622       21,    22,     0,    23,    24,    25,    26,    27,    28,    29,
623        0,    30,    31,    32,    33,    34,    35,     0,     0,     0,
624        0,     0,    36,    37,     0,     0,     0,     0,     0,     0,
625        0,     0,     0,     0,     0,     0,     0,    38,     0,     0,
626       39,    40,    41,    42,    43,     0,     0,    44,    45,    46,
627       47,    48,    49,    50,     0,     0,     0,     0,     0,     0,
628        0,     0,     0,    51,     0,     0,     0,     0,     0,     0,
629        0,     0,     0,     0,     0,     0,     0,     0,    52,    53,
630        0,    54,     0,    55,    56,    18,     0,     0,    19,   404,
631       57,    58,     0,    20,    21,    22,     0,    23,    24,    25,
632       26,    27,    28,    29,     0,    30,    31,    32,    33,    34,
633       35,     0,     0,     0,     0,     0,    36,    37,     0,     0,
634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
635        0,    38,     0,     0,    39,    40,    41,    42,    43,     0,
636        0,    44,    45,    46,    47,    48,    49,    50,     0,     0,
637        0,     0,     0,     0,     0,     0,     0,    51,     0,     0,
638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
639        0,     0,    52,    53,     0,    54,     0,    55,    56,    18,
640        0,     0,    19,     0,    57,    58,     0,    20,    21,    22,
641        0,    23,    24,    25,    26,    27,    28,    29,     0,    30,
642       31,    32,    33,    34,    35,     0,     0,     0,     0,     0,
643       36,    37,     0,     0,     0,     0,     0,     0,     0,     0,
644        0,     0,     0,     0,     0,    38,     0,     0,    39,    40,
645       41,    42,    43,     0,     0,    44,    45,    46,    47,    48,
646       49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
647        0,    51,     0,     0,   185,     0,     0,     0,     0,     0,
648        0,   186,   187,     0,     0,     0,    52,    53,     0,    54,
649        0,    55,    56,     0,     0,     0,     0,     0,   275,    58,
650      188,   189,   396,   190,   191,   192,   193,   194,   195,   196,
651      197,   198,   199,   200,     0,     0,     0,     0,   201,   185,
652        0,   202,   203,   204,   205,     0,   186,   187,     0,     0,
653        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
654        0,     0,     0,     0,     0,   188,   189,     0,   190,   191,
655      192,   193,   194,   195,   196,   197,   198,   199,   200,     0,
656        0,     0,     0,   201,   185,     0,   202,   203,   204,   205,
657        0,   186,   187,     0,     0,     0,     0,     0,     0,     0,
658        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
659        0,   189,     0,   190,   191,   192,   193,   194,   195,   196,
660      197,   198,   199,   200,     0,     0,     0,     0,   201,  -291,
661        0,   202,   203,   204,   205,     0,   186,   187,     0,     0,
662        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
663        0,     0,     0,     0,     0,     0,     0,     0,   190,   191,
664      192,   193,   194,   195,   196,   197,   198,   199,   200,     0,
665        0,     0,     0,   201,     0,     0,   202,   203,   204,   205
666 };
667
668 static const yytype_int16 yycheck[] =
669 {
670       17,   126,    10,    49,     9,   355,    43,   138,   139,    49,
671       11,    19,    13,    12,    51,    15,   475,    76,   262,    11,
672       13,    19,    18,    11,    22,    21,     0,    23,    24,   154,
673       26,    27,    24,    21,    10,    13,    18,    29,    46,    21,
674       11,    23,    24,    19,    26,    27,    22,    43,    44,    57,
675      109,    21,    23,    24,    13,    24,    19,    27,    29,    22,
676       29,    43,    44,    11,    11,    13,    13,    49,    11,    11,
677       11,    13,    13,   345,   506,    11,    58,    13,    83,   109,
678       73,    10,    11,   355,    13,   109,   358,   359,   109,   126,
679       19,    93,    94,    22,    23,    71,    25,    19,    15,   558,
680       22,    11,    21,    13,    91,    92,    14,   106,   109,   146,
681      156,   111,   110,    93,    73,    97,   156,   154,   110,    91,
682       20,   129,    22,   109,    14,   256,    73,    14,    11,   137,
683      138,   139,    73,    33,   110,   567,    11,    66,    38,   110,
684       49,    50,    42,   139,    14,    45,    24,   110,    48,   157,
685       50,   109,    52,    53,    54,    55,    56,   139,   216,   217,
686       79,    80,    81,    73,   172,   173,   174,   439,   176,   177,
687      178,    79,    80,    81,   156,    14,   420,   109,   100,   225,
688      109,   110,    79,    80,    81,   225,    21,   109,   110,    79,
689       80,    81,    79,    80,    81,    21,   109,   214,   206,   207,
690      208,   209,   210,   211,   212,   213,   478,   479,   109,    79,
691       80,    81,    21,    14,   564,   220,   221,   222,   223,   224,
692      257,   226,   227,   205,   229,   230,   470,   109,   236,   237,
693      238,   239,   240,   241,    79,    80,    81,    14,   109,   511,
694       79,    80,    81,   225,    79,    80,    81,    11,   256,    13,
695       11,   376,    13,    79,    80,    81,   156,   104,   105,   106,
696      107,    21,   270,   108,    14,    36,    37,   275,    89,    90,
697       79,    80,    81,   545,    21,   175,   407,   285,    79,    80,
698       81,   181,    51,    76,   184,   185,   186,   187,   188,   189,
699      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
700      200,   201,    79,    80,    81,   109,   108,   315,   316,    27,
701      356,    14,    11,   108,   322,    73,   356,    12,    73,    18,
702       13,    21,    21,   109,    23,    24,    24,    26,    27,    79,
703       80,    81,    71,    24,   342,   343,   344,   345,    21,   376,
704       29,   323,    15,    42,    43,    44,    45,   355,   473,    21,
705      358,   359,   357,    27,   100,    45,    46,    47,    48,    58,
706      477,   100,    52,   480,    54,   347,    77,   484,   485,    12,
707      109,   110,   377,   108,   356,    27,    79,    80,    81,    79,
708       80,    81,    13,    23,   392,   502,   503,    81,    23,    79,
709       80,    81,    79,    80,    81,   512,    79,    80,    81,   407,
710      101,   100,    23,   104,   105,   106,   107,    79,    80,    81,
711      527,    23,   417,    23,   531,   532,   421,   109,   108,    64,
712       65,   108,    17,    79,    80,    81,   509,   432,    24,   110,
713      109,   439,   549,   132,    83,    12,   473,   108,    12,   447,
714      139,   524,   525,   109,    12,    12,   563,    12,    93,    94,
715       95,    96,   108,   536,   571,    24,   101,    64,    65,   104,
716      105,   106,   107,   546,   547,   109,     0,   108,    21,   108,
717      478,   479,   489,    77,   491,   108,   559,    11,   108,    13,
718       14,    15,   108,   500,    64,    65,   108,    21,    95,    96,
719      108,   496,    11,    11,   101,    12,   396,   104,   105,   106,
720      107,    21,   510,   511,    79,    80,    81,   108,    21,   526,
721       11,    45,    46,    47,    48,   109,    96,   108,    52,   108,
722       54,   101,   108,    57,   104,   105,   106,   107,    75,    21,
723       64,    65,    21,   108,   233,   108,    21,   545,   109,    79,
724       80,    81,   442,    77,   561,    79,    80,    81,   108,    83,
725       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
726       94,    95,    96,    16,     0,    64,    65,   101,   108,    74,
727      104,   105,   106,   107,   108,   108,   108,   111,    14,    15,
728      238,   239,   240,   241,    13,    21,    79,    80,    81,    88,
729       89,    90,    91,    92,    93,    94,    95,    96,    79,    80,
730       81,   343,   101,   106,   510,   104,   105,   106,   107,    45,
731       46,    47,    48,   564,   419,   108,    52,   277,    54,   248,
732      371,    57,   452,   372,   323,   471,   156,   108,    64,    65,
733      496,   356,    79,    80,    81,   225,    -1,    -1,    -1,    -1,
734       -1,    77,    -1,    79,    80,    81,    -1,    83,    84,    85,
735       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
736       96,   108,    -1,     0,     1,   101,    -1,    -1,   104,   105,
737      106,   107,   108,    10,    11,   111,    13,    -1,    -1,    -1,
738       -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
739       27,    28,    -1,    30,    31,    32,    33,    34,    35,    36,
740       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
741       47,    48,    64,    65,    -1,    52,    53,    54,    55,    56,
742       -1,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
743       67,    68,    69,    70,    71,    72,    -1,    89,    90,    91,
744       92,    93,    94,    95,    96,    82,    -1,    -1,    -1,   101,
745       -1,    -1,   104,   105,   106,   107,    -1,     0,     1,    -1,
746       97,    98,    -1,   100,    -1,   102,   103,    10,    11,    -1,
747       13,    -1,   109,   110,    -1,    18,    19,    20,    21,    22,
748       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
749       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
750       43,    44,    45,    46,    47,    48,    64,    65,    -1,    52,
751       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
752       63,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
753       -1,    -1,    90,    91,    92,    93,    94,    95,    96,    82,
754       -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
755       -1,    -1,     1,    -1,    97,    98,    -1,   100,    -1,   102,
756      103,    10,    11,    12,    13,    -1,   109,   110,    -1,    18,
757       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
758       -1,    30,    31,    32,    33,    34,    35,    36,    37,    38,
759       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
760       64,    65,    -1,    52,    53,    54,    55,    56,    -1,    58,
761       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
762       69,    70,    71,    72,    -1,    -1,    -1,    91,    92,    93,
763       94,    95,    96,    82,    -1,    -1,    -1,   101,    -1,    -1,
764      104,   105,   106,   107,    -1,    -1,     1,    -1,    97,    98,
765       -1,   100,    -1,   102,   103,    10,    11,    12,    13,    -1,
766      109,   110,    -1,    18,    19,    20,    21,    22,    23,    24,
767       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
768       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
769       45,    46,    47,    48,    64,    -1,    -1,    52,    53,    54,
770       55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
771       -1,    66,    67,    68,    69,    70,    71,    72,     3,     4,
772        5,     6,     7,     8,     9,    -1,    96,    82,    -1,    -1,
773       -1,   101,    -1,    -1,   104,   105,   106,   107,    -1,    -1,
774        1,    -1,    97,    98,    -1,   100,    -1,   102,   103,    10,
775       11,    12,    13,    -1,   109,   110,    -1,    18,    19,    20,
776       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
777       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
778       41,    42,    43,    44,    45,    46,    47,    48,    -1,    -1,
779       -1,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
780       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
781       71,    72,    -1,    -1,    96,    -1,    -1,    -1,    -1,   101,
782       -1,    82,   104,   105,   106,   107,    -1,    -1,    -1,    -1,
783       -1,    -1,    -1,    -1,     1,    -1,    97,    98,    -1,   100,
784       -1,   102,   103,    10,    11,    12,    13,    -1,   109,   110,
785       -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
786       27,    28,    -1,    30,    31,    32,    33,    34,    35,    36,
787       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
788       47,    48,    -1,    -1,    -1,    52,    53,    54,    55,    56,
789       -1,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
790       67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
791       -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
793       97,    98,    -1,   100,    -1,   102,   103,    10,    11,    12,
794       13,    -1,   109,   110,    -1,    18,    19,    20,    21,    22,
795       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
796       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
797       43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    52,
798       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
799       63,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
802       -1,    -1,     1,    -1,    97,    98,    -1,   100,    -1,   102,
803      103,    10,    11,    -1,    13,    -1,   109,   110,    -1,    18,
804       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
805       -1,    30,    31,    32,    33,    34,    35,    36,    37,    38,
806       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
807       -1,    -1,    -1,    52,    53,    54,    55,    56,    -1,    58,
808       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
809       69,    70,    71,    72,    -1,    -1,    75,    -1,    -1,    -1,
810       -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
811       -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    97,    98,
812       -1,   100,    -1,   102,   103,    10,    11,    -1,    13,    -1,
813      109,   110,    -1,    18,    19,    20,    21,    22,    23,    24,
814       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
815       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
816       45,    46,    47,    48,    -1,    -1,    -1,    52,    53,    54,
817       55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
818       -1,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
821        1,    -1,    97,    98,    -1,   100,    -1,   102,   103,    10,
822       11,    -1,    13,    -1,   109,   110,    -1,    18,    19,    20,
823       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
824       31,    32,    33,    34,    35,    36,    -1,    38,    39,    40,
825       41,    42,    43,    44,    45,    46,    47,    48,    -1,    -1,
826       -1,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
827       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
828       71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
829       -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
830       -1,    -1,    -1,    -1,     1,    -1,    97,    98,    -1,   100,
831       -1,   102,   103,    10,    -1,    -1,    13,    -1,   109,   110,
832       -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
833       27,    28,    -1,    30,    31,    32,    33,    34,    35,    -1,
834       -1,    -1,    -1,    -1,    41,    42,    45,    46,    47,    48,
835       -1,    -1,    -1,    52,    -1,    54,    -1,    -1,    -1,    56,
836       -1,    -1,    59,    60,    61,    62,    63,    -1,    -1,    66,
837       67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
838       79,    80,    81,    -1,    -1,    82,    -1,    -1,    -1,    -1,
839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
840       97,    98,    -1,   100,    -1,   102,   103,    10,    -1,    -1,
841       13,    -1,   109,   110,    -1,    18,    19,    20,    -1,    22,
842       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
843       33,    34,    35,    -1,    -1,    -1,    -1,    -1,    41,    42,
844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
845       -1,    -1,    -1,    56,    -1,    -1,    59,    60,    61,    62,
846       63,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
849       -1,    -1,    -1,    -1,    97,    98,    -1,   100,    -1,   102,
850      103,    10,    11,    -1,    13,   108,   109,   110,    -1,    18,
851       19,    20,    -1,    22,    23,    24,    25,    26,    27,    28,
852       29,    30,    31,    32,    33,    34,    35,    -1,    -1,    -1,
853       -1,    -1,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,
854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
855       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
856       69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
857       -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    98,
859       -1,   100,    -1,   102,   103,    10,    -1,    -1,    13,    14,
860      109,   110,    -1,    18,    19,    20,    -1,    22,    23,    24,
861       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
862       35,    -1,    -1,    -1,    -1,    -1,    41,    42,    -1,    -1,
863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
864       -1,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
865       -1,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
868       -1,    -1,    97,    98,    -1,   100,    -1,   102,   103,    10,
869       11,    -1,    13,    -1,   109,   110,    -1,    18,    19,    20,
870       -1,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
871       31,    32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
872       41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
873       -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    59,    60,
874       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
875       71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
876       -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
877       -1,    -1,    -1,    -1,    -1,    -1,    97,    98,    -1,   100,
878       -1,   102,   103,    10,    -1,    -1,    13,    -1,   109,   110,
879       -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
880       27,    28,    -1,    30,    31,    32,    33,    34,    35,    -1,
881       -1,    -1,    -1,    -1,    41,    42,    -1,    -1,    -1,    -1,
882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,
883       -1,    -1,    59,    60,    61,    62,    63,    -1,    -1,    66,
884       67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
885       -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
887       97,    98,    -1,   100,    -1,   102,   103,    10,    -1,    -1,
888       13,    -1,   109,   110,    -1,    18,    19,    20,    -1,    22,
889       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
890       33,    34,    35,    -1,    -1,    -1,    -1,    -1,    41,    42,
891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
892       -1,    -1,    -1,    56,    -1,    -1,    59,    60,    61,    62,
893       63,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
894       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
896       -1,    -1,    -1,    -1,    97,    98,    -1,   100,    -1,   102,
897      103,    10,    -1,    -1,    13,   108,   109,   110,    -1,    18,
898       19,    20,    -1,    22,    23,    24,    25,    26,    27,    28,
899       -1,    30,    31,    32,    33,    34,    35,    -1,    -1,    -1,
900       -1,    -1,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,
901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
902       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
903       69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
904       -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    98,
906       -1,   100,    -1,   102,   103,    10,    -1,    -1,    13,   108,
907      109,   110,    -1,    18,    19,    20,    -1,    22,    23,    24,
908       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
909       35,    -1,    -1,    -1,    -1,    -1,    41,    42,    -1,    -1,
910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
911       -1,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
912       -1,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
915       -1,    -1,    97,    98,    -1,   100,    -1,   102,   103,    10,
916       -1,    -1,    13,   108,   109,   110,    -1,    18,    19,    20,
917       -1,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
918       31,    32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
919       41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
920       -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    59,    60,
921       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
922       71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
923       -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
924       -1,    -1,    -1,    -1,    -1,    -1,    97,    98,    -1,   100,
925       -1,   102,   103,    10,    -1,    -1,    13,   108,   109,   110,
926       -1,    18,    19,    20,    -1,    22,    23,    24,    25,    26,
927       27,    28,    -1,    30,    31,    32,    33,    34,    35,    -1,
928       -1,    -1,    -1,    -1,    41,    42,    -1,    -1,    -1,    -1,
929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,
930       -1,    -1,    59,    60,    61,    62,    63,    -1,    -1,    66,
931       67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
932       -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
934       97,    98,    -1,   100,    -1,   102,   103,    10,    -1,    -1,
935       13,   108,   109,   110,    -1,    18,    19,    20,    -1,    22,
936       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
937       33,    34,    35,    -1,    -1,    -1,    -1,    -1,    41,    42,
938       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
939       -1,    -1,    -1,    56,    -1,    -1,    59,    60,    61,    62,
940       63,    -1,    -1,    66,    67,    68,    69,    70,    71,    72,
941       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    97,    98,    -1,   100,    -1,   102,
944      103,    10,    -1,    -1,    13,   108,   109,   110,    -1,    18,
945       19,    20,    -1,    22,    23,    24,    25,    26,    27,    28,
946       -1,    30,    31,    32,    33,    34,    35,    -1,    -1,    -1,
947       -1,    -1,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,
948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
949       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
950       69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
951       -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    98,
953       -1,   100,    -1,   102,   103,    10,    -1,    -1,    13,   108,
954      109,   110,    -1,    18,    19,    20,    -1,    22,    23,    24,
955       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
956       35,    -1,    -1,    -1,    -1,    -1,    41,    42,    -1,    -1,
957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
958       -1,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
959       -1,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
962       -1,    -1,    97,    98,    -1,   100,    -1,   102,   103,    10,
963       -1,    -1,    13,    -1,   109,   110,    -1,    18,    19,    20,
964       -1,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
965       31,    32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
966       41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
967       -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,    59,    60,
968       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
969       71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
970       -1,    82,    -1,    -1,    57,    -1,    -1,    -1,    -1,    -1,
971       -1,    64,    65,    -1,    -1,    -1,    97,    98,    -1,   100,
972       -1,   102,   103,    -1,    -1,    -1,    -1,    -1,   109,   110,
973       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
974       93,    94,    95,    96,    -1,    -1,    -1,    -1,   101,    57,
975       -1,   104,   105,   106,   107,    -1,    64,    65,    -1,    -1,
976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
977       -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    86,    87,
978       88,    89,    90,    91,    92,    93,    94,    95,    96,    -1,
979       -1,    -1,    -1,   101,    57,    -1,   104,   105,   106,   107,
980       -1,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
982       -1,    84,    -1,    86,    87,    88,    89,    90,    91,    92,
983       93,    94,    95,    96,    -1,    -1,    -1,    -1,   101,    57,
984       -1,   104,   105,   106,   107,    -1,    64,    65,    -1,    -1,
985       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    87,
987       88,    89,    90,    91,    92,    93,    94,    95,    96,    -1,
988       -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107
989 };
990
991   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
992      symbol of state STATE-NUM.  */
993 static const yytype_uint8 yystos[] =
994 {
995        0,     3,     4,     5,     6,     7,     8,     9,   113,   114,
996      115,   116,   117,   118,   119,   120,     0,   123,    10,    13,
997       18,    19,    20,    22,    23,    24,    25,    26,    27,    28,
998       30,    31,    32,    33,    34,    35,    41,    42,    56,    59,
999       60,    61,    62,    63,    66,    67,    68,    69,    70,    71,
1000       72,    82,    97,    98,   100,   102,   103,   109,   110,   174,
1001      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
1002      187,   188,   190,   193,   199,   200,   201,   202,   203,   204,
1003      205,   206,   207,    11,   121,     1,    21,    36,    38,    39,
1004       40,    43,    44,    45,    46,    47,    48,    52,    53,    54,
1005       55,    58,   121,   130,   141,   174,    37,   128,   129,   130,
1006      126,   168,   169,   126,    24,    29,   121,   200,   208,    14,
1007      174,   188,   208,   188,   208,   208,   208,   208,   189,    13,
1008      109,   188,   152,   152,   152,   188,   109,   109,    76,   109,
1009      121,   188,    24,   175,   192,   200,   208,   208,   121,   188,
1010       21,   174,    24,    29,   154,   188,   100,   109,   191,   200,
1011      201,   202,   188,   175,   188,   188,   188,   188,   188,   108,
1012      174,   208,    79,    80,    81,    15,    11,    13,   109,    93,
1013       94,    93,    91,    92,    91,    57,    64,    65,    83,    84,
1014       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1015       96,   101,   104,   105,   106,   107,   109,    11,    13,    11,
1016       13,    11,    13,    11,   123,   153,   154,   154,    24,   151,
1017      109,   109,   109,   109,    71,   100,   109,   198,   200,   109,
1018      109,   121,    21,    51,   143,    21,    45,    46,    47,    48,
1019       52,    54,   129,   130,   128,    19,    22,   110,   159,   160,
1020      162,   163,   164,   165,    14,   192,   109,    76,   174,   108,
1021      121,    27,   155,    73,   156,   108,   108,   174,   193,   193,
1022      208,   175,    12,    21,   192,   109,   188,   191,   200,   201,
1023      202,   108,   174,    73,   157,    13,   108,   174,   174,   174,
1024      188,   174,   174,   108,   174,   188,   188,   188,   188,   188,
1025      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1026      188,   188,   188,   188,    10,    11,    13,    19,    22,    23,
1027       25,    66,   109,   110,   178,   200,   108,   174,   174,   174,
1028      174,   174,   174,   174,   174,   126,    24,   150,   151,   151,
1029       24,   133,   123,   123,   123,   123,   100,   123,    71,   196,
1030      197,   199,   200,   201,   202,   123,   123,   109,   123,   123,
1031      121,   140,   174,   147,   174,   140,   140,   140,   140,    29,
1032      158,   158,    15,   193,   175,    14,   177,   156,    27,   123,
1033      173,   108,    77,   108,   174,    12,   108,   174,   157,   108,
1034       27,   174,    13,    21,    14,   108,    85,    23,   174,   174,
1035       23,    23,    23,    23,   108,   174,    23,   109,   108,    21,
1036       14,    21,    14,    21,    14,    21,    12,    17,   122,   131,
1037      132,    11,    21,    24,   146,   174,   147,   148,   174,   148,
1038      195,   200,   109,   141,   145,   148,   149,   174,   196,   123,
1039      148,   148,    83,   161,   161,   163,   108,   111,   194,   192,
1040      123,   171,   109,   166,   167,   108,   108,    14,   174,    12,
1041      188,    21,    14,   108,   193,    12,    12,    12,    12,   123,
1042      155,   156,   123,    24,   108,   108,   108,   108,   109,   123,
1043      108,    21,   136,   148,   108,   108,   188,   174,    77,    11,
1044      168,    11,    14,    12,   108,    21,   156,    21,   172,   173,
1045      137,   192,   144,   144,    11,   124,   124,   148,   148,   124,
1046      134,   109,   108,   124,   124,   126,   108,   126,    75,    21,
1047      170,   171,   126,    21,   124,   124,   125,    49,    50,   142,
1048      142,   108,   108,   143,   146,   148,   124,    12,    12,   127,
1049       12,   143,   143,   126,   124,   109,   124,   124,    21,   108,
1050      143,    21,    27,   138,    12,   148,   143,   143,   135,   124,
1051       16,    74,   139,   108,   144,   143,   126,   124,   149,    75,
1052      142,   108,   124
1053 };
1054
1055   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1056 static const yytype_uint8 yyr1[] =
1057 {
1058        0,   112,   114,   113,   115,   113,   116,   113,   117,   113,
1059      118,   113,   119,   113,   120,   113,   121,   122,   123,   124,
1060      125,   126,   126,   127,   127,   128,   128,   129,   129,   130,
1061      130,   131,   130,   132,   130,   130,   133,   130,   130,   130,
1062      130,   130,   130,   130,   130,   134,   135,   130,   130,   130,
1063      136,   130,   130,   130,   130,   137,   130,   130,   130,   130,
1064      138,   139,   139,   140,   141,   141,   141,   141,   141,   141,
1065      141,   141,   142,   142,   142,   143,   143,   144,   145,   145,
1066      146,   146,   147,   148,   149,   150,   150,   151,   152,   153,
1067      154,   154,   155,   155,   156,   156,   156,   157,   157,   158,
1068      158,   159,   159,   160,   161,   161,   161,   162,   163,   163,
1069      164,   164,   164,   165,   165,   166,   166,   167,   169,   168,
1070      170,   170,   171,   172,   172,   173,   174,   174,   174,   174,
1071      175,   175,   175,   176,   176,   176,   176,   176,   176,   176,
1072      176,   176,   177,   176,   178,   178,   179,   179,   179,   179,
1073      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
1074      180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
1075      180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
1076      183,   183,   183,   183,   184,   184,   185,   185,   185,   185,
1077      185,   185,   185,   185,   185,   186,   186,   186,   186,   186,
1078      186,   187,   187,   188,   188,   188,   188,   188,   188,   188,
1079      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1080      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1081      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1082      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1083      188,   188,   189,   188,   188,   188,   188,   190,   190,   190,
1084      191,   191,   191,   191,   191,   192,   192,   193,   193,   194,
1085      194,   195,   196,   196,   196,   197,   197,   198,   198,   199,
1086      200,   201,   202,   203,   203,   204,   205,   205,   206,   206,
1087      207,   207,   208,   208,   208,   208
1088 };
1089
1090   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1091 static const yytype_int8 yyr2[] =
1092 {
1093        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1094        0,     3,     0,     3,     0,     3,     4,     7,     0,     4,
1095        0,     0,     2,     0,     2,     1,     1,     2,     2,     1,
1096        4,     0,     7,     0,     6,     4,     0,     7,     7,     7,
1097        6,     6,     2,     8,     8,     0,     0,    13,     9,     8,
1098        0,    10,     9,     7,     2,     0,     8,     2,     2,     1,
1099        2,     0,     3,     1,     1,     1,     3,     3,     3,     3,
1100        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
1101        0,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1102        1,     1,     0,     1,     0,     2,     1,     2,     1,     0,
1103        1,     1,     1,     3,     0,     1,     2,     3,     1,     1,
1104        2,     3,     1,     0,     1,     0,     1,     3,     0,     2,
1105        1,     1,     4,     1,     1,     5,     3,     3,     3,     1,
1106        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
1107        4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
1108        5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
1109        3,     3,     3,     3,     3,     1,     1,     3,     3,     3,
1110        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1111        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1112        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
1113        4,     2,     2,     1,     1,     1,     1,     5,     2,     3,
1114        1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1115        1,     4,     4,     5,     5,     1,     1,     3,     4,     3,
1116        4,     4,     4,     4,     4,     1,     2,     2,     1,     2,
1117        2,     1,     2,     1,     2,     1,     3,     1,     3,     1,
1118        3,     4,     0,     6,     1,     1,     1,     3,     2,     4,
1119        3,     2,     1,     1,     1,     0,     1,     0,     1,     0,
1120        2,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1121        2,     2,     2,     2,     4,     2,     1,     3,     1,     3,
1122        1,     3,     1,     1,     1,     1
1123 };
1124
1125 typedef enum {
1126         toketype_ival, toketype_opval
1127 } toketypes;
1128
1129 /* type of each token/terminal */
1130 static const toketypes yy_type_tab[] =
1131 {
1132   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1133   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1134   toketype_ival, toketype_ival, toketype_ival,
1135   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1136   toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1137   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1138   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1139   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1140   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1141   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1142   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1143   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1144   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1145   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1146   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1147   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1148   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1149   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1150   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1151   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1152   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1153   toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1154   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1155   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1156   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1157   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1158   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1159   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1160   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1161   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1162   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1163   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1164   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1165   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1166   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1167   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1168 };
1169
1170 /* Generated from:
1171  * d555d290bc7bf474791b8fd853e445933bb75ff8ff453aca9f7ff3b05b614566 perly.y
1172  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1173  * ex: set ro: */