For #16249 - Overwrite PL_last_lop_op when eval() is called.
[perl.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  14
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   2768
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  101
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  62
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  220
17 /* YYNRULES -- Number of states.  */
18 #define YYNSTATES  446
19
20 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
21 #define YYUNDEFTOK  2
22 #define YYMAXUTOK   336
23
24 #define YYTRANSLATE(YYX)                                                \
25   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
26
27 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
28 static const yytype_uint8 yytranslate[] =
29 {
30        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
31        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
32        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     2,     2,    88,     2,     2,    15,    17,    19,     2,
34       99,    98,    18,    14,    77,    13,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,    80,    20,
36        2,     2,     2,    79,    16,     2,     2,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,    11,     2,    12,     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,     9,     2,    10,    89,     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,     1,     2,     3,     4,
56        5,     6,     7,     8,    21,    22,    23,    24,    25,    26,
57       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
58       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
59       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
60       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
61       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
62       78,    81,    82,    83,    84,    85,    86,    87,    90,    91,
63       92,    93,    94,    95,    96,    97,   100
64 };
65
66 #if YYDEBUG
67 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
68    YYRHS.  */
69 static const yytype_uint16 yyprhs[] =
70 {
71        0,     0,     3,     4,     9,    10,    14,    15,    19,    20,
72       24,    25,    29,    30,    34,    39,    40,    41,    46,    47,
73       48,    51,    53,    55,    58,    61,    63,    65,    70,    77,
74       84,    89,    90,    98,   106,   114,   122,   129,   132,   141,
75      150,   162,   172,   181,   189,   192,   193,   202,   205,   207,
76      209,   211,   215,   219,   223,   227,   231,   235,   236,   239,
77      246,   247,   250,   251,   252,   254,   255,   257,   259,   261,
78      263,   265,   267,   268,   269,   270,   271,   273,   274,   276,
79      277,   280,   282,   285,   287,   289,   291,   295,   299,   303,
80      305,   308,   312,   314,   318,   324,   331,   335,   339,   345,
81      348,   353,   354,   360,   362,   364,   370,   375,   381,   386,
82      392,   399,   405,   410,   416,   421,   425,   432,   437,   443,
83      447,   451,   455,   459,   463,   467,   471,   475,   479,   483,
84      487,   491,   495,   499,   502,   505,   508,   511,   514,   517,
85      520,   523,   527,   530,   535,   539,   545,   548,   551,   556,
86      562,   567,   573,   575,   577,   579,   581,   587,   590,   592,
87      595,   599,   601,   604,   606,   608,   610,   612,   614,   616,
88      621,   627,   629,   631,   635,   640,   644,   646,   649,   652,
89      654,   657,   660,   662,   665,   667,   670,   672,   676,   678,
90      682,   684,   688,   693,   694,   700,   702,   704,   706,   708,
91      712,   715,   719,   722,   724,   726,   728,   729,   731,   732,
92      734,   736,   739,   742,   745,   748,   751,   754,   756,   758,
93      760
94 };
95
96 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
97 static const yytype_int16 yyrhs[] =
98 {
99      102,     0,    -1,    -1,     3,   103,   110,   114,    -1,    -1,
100        4,   104,   154,    -1,    -1,     5,   105,   109,    -1,    -1,
101        6,   106,   117,    -1,    -1,     7,   107,   115,    -1,    -1,
102        8,   108,   114,    -1,     9,   110,   114,    10,    -1,    -1,
103       -1,     9,   113,   114,    10,    -1,    -1,    -1,   114,   115,
104       -1,   117,    -1,   116,    -1,    34,   117,    -1,    34,   116,
105       -1,    33,    -1,   100,    -1,    35,   133,   130,   109,    -1,
106       36,   131,   134,   135,   136,   138,    -1,    69,   131,   134,
107      135,   136,   138,    -1,    38,    21,    21,    20,    -1,    -1,
108       39,   131,   118,    21,    21,   153,    20,    -1,    42,    99,
109      110,   127,    98,   112,   121,    -1,    43,    99,   110,   129,
110       98,   112,   121,    -1,    48,    99,   110,   111,   127,    98,
111      112,    -1,    49,    99,   110,   127,    98,   112,    -1,    50,
112      109,    -1,    40,    99,   110,   125,    98,   123,   112,   122,
113       -1,    41,    99,   110,   126,    98,   123,   112,   122,    -1,
114       47,    99,   110,   128,    20,   125,    20,   123,   128,    98,
115      112,    -1,    47,    68,   110,   155,    99,   127,    98,   112,
116      122,    -1,    47,   157,    99,   110,   127,    98,   112,   122,
117       -1,    47,    99,   110,   127,    98,   112,   122,    -1,   109,
118      122,    -1,    -1,    38,    21,    21,     9,   110,   119,   114,
119       10,    -1,   120,    20,    -1,    20,    -1,     1,    -1,   139,
120       -1,   139,    42,   139,    -1,   139,    43,   139,    -1,   139,
121       40,   139,    -1,   139,    41,   126,    -1,   139,    47,   139,
122       -1,   139,    49,   139,    -1,    -1,    44,   112,    -1,    45,
123       99,   127,    98,   112,   121,    -1,    -1,    46,   109,    -1,
124       -1,    -1,   120,    -1,    -1,   139,    -1,   139,    -1,   139,
125       -1,   124,    -1,   126,    -1,    21,    -1,    -1,    -1,    -1,
126       -1,    21,    -1,    -1,    24,    -1,    -1,    71,    24,    -1,
127       71,    -1,    71,    24,    -1,    71,    -1,   109,    -1,    20,
128       -1,   139,    75,   139,    -1,   139,    74,   139,    -1,   139,
129       73,   139,    -1,   140,    -1,   140,    77,    -1,   140,    77,
130      149,    -1,   149,    -1,    58,   162,   140,    -1,    56,    99,
131      162,   139,    98,    -1,   149,    97,   143,    99,   154,    98,
132       -1,   149,    97,   143,    -1,    22,   162,   153,    -1,    23,
133      162,    99,   154,    98,    -1,    58,   153,    -1,    56,    99,
134      154,    98,    -1,    -1,    31,   132,   109,   142,   153,    -1,
135       22,    -1,   157,    -1,   161,     9,   139,    20,    10,    -1,
136      157,    11,   139,    12,    -1,   149,    97,    11,   139,    12,
137       -1,   144,    11,   139,    12,    -1,   157,     9,   139,    20,
138       10,    -1,   149,    97,     9,   139,    20,    10,    -1,   144,
139        9,   139,    20,    10,    -1,   149,    97,    99,    98,    -1,
140      149,    97,    99,   139,    98,    -1,   144,    99,   139,    98,
141       -1,   144,    99,    98,    -1,    99,   139,    98,    11,   139,
142       12,    -1,    27,    11,   139,    12,    -1,    99,    98,    11,
143      139,    12,    -1,   149,    78,   149,    -1,   149,    92,   149,
144       -1,   149,    61,   149,    -1,   149,    62,   149,    -1,   149,
145       86,   149,    -1,   149,    59,   149,    -1,   149,    60,   149,
146       -1,   149,    85,   149,    -1,   149,    84,   149,    -1,   149,
147       52,   149,    -1,   149,    83,   149,    -1,   149,    82,   149,
148       -1,   149,    81,   149,    -1,   149,    87,   149,    -1,    13,
149      149,    -1,    14,   149,    -1,    88,   149,    -1,    89,   149,
150       -1,   149,    94,    -1,   149,    93,    -1,    96,   149,    -1,
151       95,   149,    -1,    11,   139,    12,    -1,    11,    12,    -1,
152       65,   139,    20,    10,    -1,    65,    20,    10,    -1,    37,
153      132,   135,   136,   109,    -1,    64,   149,    -1,    64,   109,
154       -1,    64,    21,    99,    98,    -1,    64,    21,    99,   139,
155       98,    -1,    64,   157,    99,    98,    -1,    64,   157,    99,
156      139,    98,    -1,   145,    -1,   146,    -1,   147,    -1,   148,
157       -1,   149,    79,   149,    80,   149,    -1,    90,   149,    -1,
158      151,    -1,    67,   149,    -1,    99,   139,    98,    -1,    27,
159       -1,    99,    98,    -1,   157,    -1,   161,    -1,   159,    -1,
160      158,    -1,   160,    -1,   144,    -1,   158,    11,   139,    12,
161       -1,   158,     9,   139,    20,    10,    -1,    24,    -1,   156,
162       -1,   156,    99,    98,    -1,   156,    99,   139,    98,    -1,
163       66,    21,   153,    -1,    51,    -1,    51,   149,    -1,    76,
164      140,    -1,    57,    -1,    57,   109,    -1,    57,   149,    -1,
165       70,    -1,    70,   149,    -1,    30,    -1,    30,   149,    -1,
166       54,    -1,    54,    99,    98,    -1,    28,    -1,    28,    99,
167       98,    -1,    29,    -1,    55,    99,    98,    -1,    55,    99,
168      139,    98,    -1,    -1,    25,   150,    99,   140,    98,    -1,
169       21,    -1,   141,    -1,    53,    -1,    32,    -1,    68,   152,
170      137,    -1,    68,   152,    -1,    99,   139,    98,    -1,    99,
171       98,    -1,   157,    -1,   159,    -1,   158,    -1,    -1,   140,
172       -1,    -1,   139,    -1,   157,    -1,    19,   162,    -1,    15,
173      162,    -1,    16,   162,    -1,    17,   162,    -1,    63,   162,
174       -1,    18,   162,    -1,    21,    -1,   157,    -1,   109,    -1,
175       26,    -1
176 };
177
178 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
179 static const yytype_uint16 yyrline[] =
180 {
181        0,   140,   140,   139,   149,   148,   158,   157,   170,   169,
182      182,   181,   194,   193,   205,   215,   219,   222,   232,   237,
183      238,   247,   255,   259,   266,   275,   277,   282,   300,   321,
184      333,   349,   348,   365,   374,   383,   389,   391,   393,   403,
185      413,   434,   443,   452,   461,   468,   467,   493,   499,   509,
186      511,   513,   517,   521,   525,   529,   534,   540,   541,   547,
187      561,   562,   571,   577,   578,   583,   586,   590,   595,   599,
188      603,   607,   608,   612,   618,   623,   628,   638,   639,   644,
189      645,   649,   659,   663,   673,   674,   684,   688,   692,   696,
190      700,   710,   719,   723,   728,   735,   744,   750,   756,   764,
191      768,   775,   774,   785,   786,   790,   799,   804,   812,   819,
192      826,   836,   845,   852,   861,   868,   874,   881,   886,   896,
193      900,   904,   910,   914,   918,   922,   926,   930,   934,   946,
194      950,   954,   958,   968,   972,   979,   983,   987,   992,   997,
195     1002,  1011,  1016,  1021,  1027,  1033,  1044,  1048,  1052,  1064,
196     1077,  1085,  1097,  1098,  1099,  1100,  1101,  1106,  1110,  1112,
197     1116,  1121,  1123,  1128,  1130,  1132,  1134,  1136,  1138,  1140,
198     1149,  1160,  1162,  1164,  1169,  1182,  1187,  1192,  1196,  1200,
199     1204,  1208,  1212,  1216,  1220,  1222,  1225,  1229,  1235,  1237,
200     1242,  1245,  1254,  1261,  1260,  1276,  1277,  1278,  1284,  1288,
201     1296,  1303,  1308,  1313,  1315,  1317,  1322,  1324,  1329,  1330,
202     1336,  1340,  1346,  1352,  1358,  1364,  1370,  1377,  1379,  1381,
203     1384
204 };
205 #endif
206
207 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
208 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
209    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
210 static const char *const yytname[] =
211 {
212   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
213   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "'{'", "'}'", "'['",
214   "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "WORD",
215   "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST",
216   "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT",
217   "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
218   "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN",
219   "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC",
220   "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
221   "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB", "REQUIRE", "COLONATTR",
222   "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'",
223   "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP",
224   "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC",
225   "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('", "PEG", "$accept",
226   "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "block", "remember",
227   "mydefsv", "mblock", "mremember", "stmtseq", "fullstmt", "labfullstmt",
228   "barestmt", "@7", "@8", "sideff", "else", "cont", "mintro", "nexpr",
229   "texpr", "iexpr", "mexpr", "mnexpr", "miexpr", "formname", "startsub",
230   "startanonsub", "startformsub", "subname", "proto", "subattrlist",
231   "myattrlist", "subbody", "expr", "listexpr", "listop", "@9", "method",
232   "subscripted", "termbinop", "termunop", "anonymous", "termdo", "term",
233   "@10", "myattrterm", "myterm", "optlistexpr", "optexpr", "my_scalar",
234   "amper", "scalar", "ary", "hsh", "arylen", "star", "indirob", 0
235 };
236 #endif
237
238 # ifdef YYPRINT
239 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
240    token YYLEX-NUM.  */
241 static const yytype_uint16 yytoknum[] =
242 {
243        0,   256,   257,   258,   259,   260,   261,   262,   263,   123,
244      125,    91,    93,    45,    43,    36,    64,    37,    42,    38,
245       59,   264,   265,   266,   267,   268,   269,   270,   271,   272,
246      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
247      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
248      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
249      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
250      313,   314,   315,   316,   317,   318,   319,    44,   320,    63,
251       58,   321,   322,   323,   324,   325,   326,   327,    33,   126,
252      328,   329,   330,   331,   332,   333,   334,   335,    41,    40,
253      336
254 };
255 # endif
256
257 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
258 static const yytype_uint8 yyr1[] =
259 {
260        0,   101,   103,   102,   104,   102,   105,   102,   106,   102,
261      107,   102,   108,   102,   109,   110,   111,   112,   113,   114,
262      114,   115,   115,   116,   116,   117,   117,   117,   117,   117,
263      117,   118,   117,   117,   117,   117,   117,   117,   117,   117,
264      117,   117,   117,   117,   117,   119,   117,   117,   117,   120,
265      120,   120,   120,   120,   120,   120,   120,   121,   121,   121,
266      122,   122,   123,   124,   124,   125,   125,   126,   127,   128,
267      129,   130,   130,   131,   132,   133,   134,   135,   135,   136,
268      136,   136,   137,   137,   138,   138,   139,   139,   139,   139,
269      140,   140,   140,   141,   141,   141,   141,   141,   141,   141,
270      141,   142,   141,   143,   143,   144,   144,   144,   144,   144,
271      144,   144,   144,   144,   144,   144,   144,   144,   144,   145,
272      145,   145,   145,   145,   145,   145,   145,   145,   145,   145,
273      145,   145,   145,   146,   146,   146,   146,   146,   146,   146,
274      146,   147,   147,   147,   147,   147,   148,   148,   148,   148,
275      148,   148,   149,   149,   149,   149,   149,   149,   149,   149,
276      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
277      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
278      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
279      149,   149,   149,   150,   149,   149,   149,   149,   149,   151,
280      151,   152,   152,   152,   152,   152,   153,   153,   154,   154,
281      155,   156,   157,   158,   159,   160,   161,   162,   162,   162,
282      162
283 };
284
285 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
286 static const yytype_uint8 yyr2[] =
287 {
288        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
289        0,     3,     0,     3,     4,     0,     0,     4,     0,     0,
290        2,     1,     1,     2,     2,     1,     1,     4,     6,     6,
291        4,     0,     7,     7,     7,     7,     6,     2,     8,     8,
292       11,     9,     8,     7,     2,     0,     8,     2,     1,     1,
293        1,     3,     3,     3,     3,     3,     3,     0,     2,     6,
294        0,     2,     0,     0,     1,     0,     1,     1,     1,     1,
295        1,     1,     0,     0,     0,     0,     1,     0,     1,     0,
296        2,     1,     2,     1,     1,     1,     3,     3,     3,     1,
297        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
298        4,     0,     5,     1,     1,     5,     4,     5,     4,     5,
299        6,     5,     4,     5,     4,     3,     6,     4,     5,     3,
300        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
301        3,     3,     3,     2,     2,     2,     2,     2,     2,     2,
302        2,     3,     2,     4,     3,     5,     2,     2,     4,     5,
303        4,     5,     1,     1,     1,     1,     5,     2,     1,     2,
304        3,     1,     2,     1,     1,     1,     1,     1,     1,     4,
305        5,     1,     1,     3,     4,     3,     1,     2,     2,     1,
306        2,     2,     1,     2,     1,     2,     1,     3,     1,     3,
307        1,     3,     4,     0,     5,     1,     1,     1,     1,     3,
308        2,     3,     2,     1,     1,     1,     0,     1,     0,     1,
309        1,     2,     2,     2,     2,     2,     2,     1,     1,     1,
310        1
311 };
312
313 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
314    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
315    means the default is an error.  */
316 static const yytype_uint8 yydefact[] =
317 {
318        0,     2,     4,     6,     8,    10,    12,     0,    15,   208,
319        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
320        0,     0,     0,     0,   195,     0,     0,   171,   193,   161,
321      188,   190,   184,    74,   198,    74,   176,   197,   186,     0,
322        0,   179,   206,     0,     0,     0,     0,     0,     0,   182,
323        0,     0,     0,     0,     0,     0,     0,   209,    89,   196,
324      168,   152,   153,   154,   155,    92,   158,     5,   172,   163,
325      166,   165,   167,   164,    15,     7,    49,    48,    25,    75,
326       73,     0,    73,     0,     0,     0,     0,     0,     0,     0,
327        0,    73,    26,    60,     9,     0,    50,     0,    11,    22,
328       21,     0,     0,   142,     0,   133,   134,   217,   220,   219,
329      218,   212,   213,   214,   216,   211,   206,     0,     0,     0,
330        0,   185,     0,    77,   177,     0,     0,   208,   180,   181,
331      217,   207,    99,   218,     0,   215,   195,   147,   146,   163,
332        0,     0,   206,   159,     0,   200,   203,   205,   204,   183,
333      178,   135,   136,   157,   140,   139,   162,     0,     0,     0,
334        0,    90,     0,     0,     0,     0,     0,     0,     0,     0,
335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
336      138,   137,     0,     0,     0,     0,     0,     0,     0,    19,
337       72,     0,     0,    31,    15,    15,    15,    15,    15,    15,
338        0,    15,    15,    37,     0,     0,    44,    47,     0,     0,
339        0,     0,     0,     0,    24,    23,    20,   141,    97,   208,
340        0,     0,   189,   101,    78,    79,   187,   191,     0,     0,
341        0,    93,     0,     0,   144,     0,   175,   202,     0,    83,
342      199,     0,   160,    88,    87,    86,    91,     0,     0,   115,
343        0,   128,   124,   125,   121,   122,   119,     0,   131,   130,
344      129,   127,   126,   123,   132,   120,     0,     0,   103,     0,
345       96,   104,   173,     0,     0,     0,     0,     0,     0,     0,
346       71,     0,    76,    77,     0,     0,    65,     0,     0,     0,
347        0,     0,    15,    16,     0,    77,    61,    53,    54,    67,
348       51,    52,    55,    56,     0,     0,   117,   206,    81,     0,
349      192,   100,     0,   148,     0,   150,     0,   143,   201,    82,
350        0,     0,     0,   108,   114,     0,     0,     0,   112,     0,
351      208,   174,     0,   106,     0,   169,     0,    14,    27,    79,
352       15,    30,     0,     0,    66,     0,     0,    68,    70,     0,
353        0,   210,    64,    69,     0,     0,    50,     0,     0,     0,
354       79,    98,   194,   102,    80,   145,    94,   149,   151,   118,
355        0,   111,   156,     0,   107,   113,     0,   109,   170,   105,
356        0,    45,   206,    62,    62,     0,     0,     0,     0,    65,
357        0,     0,     0,     0,   116,   110,    95,    85,    84,    28,
358       19,     0,     0,     0,    18,    57,    57,     0,    60,     0,
359        0,     0,    36,    29,     0,    32,    60,    60,    19,     0,
360        0,    33,    34,     0,    43,    62,    60,    35,    46,    38,
361       39,     0,    58,     0,    60,     0,    42,    17,     0,    41,
362        0,     0,     0,    57,    40,    59
363 };
364
365 /* YYDEFGOTO[NTERM-NUM].  */
366 static const yytype_int16 yydefgoto[] =
367 {
368       -1,     7,     8,     9,    10,    11,    12,    13,   109,    15,
369      358,   405,   418,   101,   216,    99,   100,   285,   400,    95,
370      421,   206,   402,   353,   343,   298,   346,   355,   349,   281,
371      191,   122,   190,   283,   225,   309,   240,   399,    96,    58,
372       59,   307,   270,    60,    61,    62,    63,    64,    65,   118,
373       66,   145,   132,    67,   350,    68,    69,    70,    71,    72,
374       73,   111
375 };
376
377 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
378    STATE-NUM.  */
379 #define YYPACT_NINF -402
380 static const yytype_int16 yypact[] =
381 {
382      587,  -402,  -402,  -402,  -402,  -402,  -402,    11,  -402,  2532,
383        8,   973,   881,  -402,  -402,  -402,  1646,  2532,  2532,   172,
384      172,   172,   172,   172,  -402,   172,   172,  -402,  -402,    23,
385      -62,  -402,  2532,  -402,  -402,  -402,  2532,  -402,   -33,   -26,
386      -18,  1468,  1379,   172,  1557,  1733,    67,  2532,    48,  2532,
387     2532,  2532,  2532,  2532,  2532,  2532,  1820,    52,    32,  -402,
388       12,  -402,  -402,  -402,  -402,  2593,  -402,  -402,    17,   123,
389      185,  -402,  -402,   122,  -402,  -402,  -402,  -402,  -402,  -402,
390     -402,    98,  -402,    37,    38,    45,    49,     7,    62,    65,
391        8,  -402,  -402,   119,  -402,   152,  1555,   881,  -402,  -402,
392     -402,   421,   513,  -402,    -6,   162,   162,  -402,  -402,  -402,
393     -402,  -402,  -402,  -402,  -402,  -402,  2532,    74,    90,  2532,
394       88,  1184,     8,   181,  2593,   111,  1909,  1379,  -402,  1184,
395     1289,    32,  -402,  1213,  2532,  -402,   126,  -402,  1184,    24,
396      217,   110,  2532,  1184,  1998,   157,  -402,  -402,  -402,  1184,
397       32,   162,   162,   162,    63,    63,   218,   191,  2532,  2532,
398     2532,  2532,  2532,  2532,  2087,  2532,  2532,  2532,  2532,  2532,
399     2532,  2532,  2532,  2532,  2532,  2532,  2532,  2532,  2532,  2532,
400     -402,  -402,    29,  2176,  2532,  2532,  2532,  2532,  2532,  -402,
401      210,   216,   219,  -402,  -402,  -402,  -402,  -402,  -402,  -402,
402      135,  -402,  -402,  -402,   216,     8,  -402,  -402,  2532,  2532,
403     2532,  2532,  2532,  2532,  -402,  -402,  -402,  -402,  -402,  2532,
404     2532,    -3,  -402,  -402,  -402,   168,  -402,  -402,   283,   144,
405     2532,    32,  2265,  2354,  -402,   234,  -402,  -402,   316,   229,
406     -402,  2532,   257,   196,   196,  -402,  2593,   143,    40,  -402,
407      330,  2671,  1453,  1260,   409,    -8,  2593,  2554,   315,   315,
408     1050,   247,  1364,   326,   162,   162,  2532,  2532,  -402,  2443,
409      170,  -402,  -402,   407,   177,    47,   188,    93,   199,   605,
410     -402,     8,  -402,   181,    81,   254,  2532,  2532,  2532,  2532,
411      261,  1063,  -402,  -402,  2532,   181,  -402,    52,  -402,    52,
412       52,    52,    52,    52,   192,   -57,  -402,  2532,   267,     8,
413     -402,  -402,   420,  -402,   425,  -402,   499,  -402,  -402,  -402,
414       96,  2532,   287,  -402,  -402,  2532,   213,   117,  -402,   512,
415     2532,  -402,   292,  -402,   293,  -402,   295,  -402,  -402,   168,
416     -402,  -402,   296,   215,    52,   222,   226,    52,  -402,   231,
417      238,  -402,  -402,  -402,   232,   318,   252,  2532,  2532,   245,
418      168,  -402,  -402,  -402,  -402,  -402,  -402,  -402,  -402,  -402,
419      140,  -402,  2632,   306,  -402,  -402,   248,  -402,  -402,  -402,
420       87,  -402,  2532,  -402,  -402,   336,   336,  2532,   336,  2532,
421      249,   253,   336,    87,  -402,  -402,  -402,  -402,  -402,  -402,
422     -402,   332,   336,   336,  -402,    53,    53,   281,   119,   363,
423      336,   336,  -402,  -402,   697,  -402,   119,   119,  -402,   336,
424      285,  -402,  -402,   336,  -402,  -402,   119,  -402,  -402,  -402,
425     -402,   789,  -402,  2532,   119,  1153,  -402,  -402,   288,  -402,
426      294,   336,   336,    53,  -402,  -402
427 };
428
429 /* YYPGOTO[NTERM-NUM].  */
430 static const yytype_int16 yypgoto[] =
431 {
432     -402,  -402,  -402,  -402,  -402,  -402,  -402,  -402,     2,   -56,
433     -402,   -88,  -402,    -7,   373,   297,   -10,  -402,  -402,  -276,
434     -401,   -98,  -345,  -402,    21,   -67,  -275,   -39,  -402,  -402,
435        9,   362,  -402,   202,  -221,  -315,  -402,    22,    -9,   -40,
436     -402,  -402,  -402,  -402,  -402,  -402,  -402,  -402,   194,  -402,
437     -402,  -402,  -112,  -124,  -402,  -402,     6,   369,   377,  -402,
438     -402,    35
439 };
440
441 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
442    positive, shift that token.  If negative, reduce the rule which
443    number is the opposite.  If zero, do what YYDEFACT says.
444    If YYTABLE_NINF, syntax error.  */
445 #define YYTABLE_NINF -196
446 static const yytype_int16 yytable[] =
447 {
448       57,    94,   131,   229,   218,   422,   217,   104,   102,   306,
449      150,    14,    75,    93,    93,   352,   354,    74,   189,   359,
450      161,   162,    19,   163,   380,   110,   110,   110,   110,   110,
451      236,   110,   110,   184,   119,   185,   141,   120,   266,   403,
452      267,   362,   445,   128,    19,   393,   137,   157,   133,   110,
453      139,   268,   323,   168,   146,   112,   113,   114,   115,   333,
454      116,   117,   339,    19,    20,    21,   125,   158,   159,   160,
455      158,   159,   160,   126,   360,   198,   131,   134,   135,   178,
456      435,   127,   390,   391,   179,   180,   181,   215,   142,   182,
457      340,   193,   203,   200,   231,   304,    74,   419,   420,    93,
458      204,   341,   131,    93,    93,   335,   199,   397,   369,   161,
459      221,   164,   407,   158,   159,   160,   183,   228,    57,   192,
460      158,   159,   160,   233,   223,   158,   159,   160,   269,   374,
461      235,   188,   184,   133,   185,   238,   194,   195,   286,   287,
462      288,   289,   290,   291,   196,   293,   294,   144,   197,   243,
463      244,   245,   394,   247,   248,   250,  -196,  -196,   438,   352,
464      182,   201,   230,   322,   202,   205,   158,   159,   160,   158,
465      159,   160,   207,   219,   273,   274,   275,   276,   277,   278,
466      305,    74,   279,   158,   159,   160,   222,    19,   271,   220,
467      158,   159,   160,   107,   186,   363,   187,   332,   108,   297,
468      299,   300,   301,   302,   303,   224,   376,   296,   334,   226,
469       57,   105,   106,   158,   159,   160,   158,   159,   160,   336,
470      345,   312,   348,   314,   316,   232,   121,   234,   239,   241,
471      124,   280,   320,   373,   292,   129,   357,   282,   138,   308,
472      284,   143,   311,   149,   317,   151,   152,   153,   154,   155,
473      158,   159,   160,   319,   179,   180,   181,   326,   327,   182,
474      329,   158,   159,   160,   158,   159,   160,   131,   321,   330,
475      401,   160,   158,   159,   160,   342,    19,   344,   299,   347,
476      299,    93,   356,   338,   381,   347,   158,   159,   160,   242,
477      361,   364,   208,   209,   210,   211,   351,   371,   406,   212,
478      408,   213,   377,   378,   412,   379,   166,   167,   168,   169,
479      424,   365,   370,   383,   416,   417,   395,   382,   429,   430,
480      384,    57,   426,   427,   385,   158,   159,   160,   436,   386,
481      388,   432,   176,   177,   178,   434,   439,   387,   389,   179,
482      180,   181,   131,   392,   182,   404,   396,   410,   347,   347,
483      -68,   411,   415,   443,   444,   246,   158,   159,   160,   251,
484      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
485      262,   263,   264,   265,   166,   167,   168,   169,   347,   423,
486      344,   310,   398,   425,   433,    98,   441,   168,   169,   158,
487      159,   160,   442,   414,   214,   398,   440,   123,   174,   175,
488      176,   177,   178,   158,   159,   160,   295,   179,   180,   181,
489      409,   431,   182,   178,   318,   413,    93,   147,   179,   180,
490      181,   -13,    76,   182,   347,   148,     0,     0,   324,     0,
491       74,     0,    16,    93,    17,    18,    19,    20,    21,    22,
492       23,    77,    24,    25,    26,    27,    28,     0,    29,    30,
493       31,    32,    33,    34,    78,    97,    79,    80,    35,    81,
494       82,    83,    84,    85,    86,     0,     0,     0,    87,    88,
495       89,    90,    36,     0,    37,    38,    39,    40,    41,    42,
496      158,   159,   160,     0,    43,    44,    45,    46,    47,    48,
497       91,    49,     0,   158,   159,   160,   178,    50,   158,   159,
498      160,   179,   180,   181,     0,   331,   182,     0,     0,    51,
499       52,    53,     0,    -3,    76,     0,    54,    55,   366,   372,
500       56,    92,    74,   367,    16,     0,    17,    18,    19,    20,
501       21,    22,    23,    77,    24,    25,    26,    27,    28,     0,
502       29,    30,    31,    32,    33,    34,    78,    97,    79,    80,
503       35,    81,    82,    83,    84,    85,    86,     0,     0,     0,
504       87,    88,    89,    90,    36,     0,    37,    38,    39,    40,
505       41,    42,   158,   159,   160,     0,    43,    44,    45,    46,
506       47,    48,    91,    49,     0,   158,   159,   160,     0,    50,
507        1,     2,     3,     4,     5,     6,     0,   368,     0,     0,
508        0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
509      375,     0,    56,    92,    74,   337,    16,     0,    17,    18,
510       19,    20,    21,    22,    23,    77,    24,    25,    26,    27,
511       28,     0,    29,    30,    31,    32,    33,    34,    78,    97,
512       79,    80,    35,    81,    82,    83,    84,    85,    86,     0,
513        0,     0,    87,    88,    89,    90,    36,     0,    37,    38,
514       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
515       45,    46,    47,    48,    91,    49,     0,     0,     0,     0,
516        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
517        0,     0,     0,    51,    52,    53,     0,     0,    76,     0,
518       54,    55,     0,     0,    56,    92,    74,   428,    16,     0,
519       17,    18,    19,    20,    21,    22,    23,    77,    24,    25,
520       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
521       78,    97,    79,    80,    35,    81,    82,    83,    84,    85,
522       86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
523       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
524       43,    44,    45,    46,    47,    48,    91,    49,     0,     0,
525        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
526        0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
527       76,     0,    54,    55,     0,     0,    56,    92,    74,   437,
528       16,     0,    17,    18,    19,    20,    21,    22,    23,    77,
529       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
530       33,    34,    78,    97,    79,    80,    35,    81,    82,    83,
531       84,    85,    86,     0,     0,     0,    87,    88,    89,    90,
532       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
533        0,     0,    43,    44,    45,    46,    47,    48,    91,    49,
534        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
535        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
536        0,     0,    76,     0,    54,    55,     0,     0,    56,    92,
537       74,     0,    16,     0,    17,    18,    19,    20,    21,    22,
538       23,    77,    24,    25,    26,    27,    28,     0,    29,    30,
539       31,    32,    33,    34,    78,    97,    79,    80,    35,    81,
540       82,    83,    84,    85,    86,     0,     0,     0,    87,    88,
541       89,    90,    36,     0,    37,    38,    39,    40,    41,    42,
542        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
543       91,    49,     0,     0,     0,     0,     0,    50,     0,     0,
544        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
545       52,    53,     0,     0,    76,     0,    54,    55,     0,     0,
546       56,    92,    74,     0,    16,     0,    17,    18,    19,    20,
547       21,    22,    23,    77,    24,    25,    26,    27,    28,     0,
548       29,    30,    31,    32,    33,    34,    78,     0,    79,    80,
549       35,    81,    82,    83,    84,    85,    86,     0,     0,     0,
550       87,    88,    89,    90,    36,     0,    37,    38,    39,    40,
551       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
552       47,    48,    91,    49,     0,     0,     0,     0,     0,    50,
553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
554        0,    51,    52,    53,    76,     0,     0,     0,    54,    55,
555        0,     0,    56,    92,    16,     0,    17,    18,    19,    20,
556       21,    22,    23,   -63,    24,    25,    26,    27,    28,     0,
557       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
558       35,     0,     0,     0,     0,     0,     0,     0,     0,   166,
559      167,   168,   169,     0,    36,     0,    37,    38,    39,    40,
560       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
561       47,    48,     0,    49,   175,   176,   177,   178,     0,    50,
562        0,     0,   179,   180,   181,     0,     0,   182,     0,     0,
563        0,    51,    52,    53,    76,     0,     0,     0,    54,    55,
564        0,     0,    56,     0,    16,     0,    17,    18,    19,    20,
565       21,    22,    23,     0,    24,    25,    26,    27,    28,     0,
566       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
567       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
568        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
569       41,    42,     0,  -163,     0,     0,    43,    44,    45,    46,
570       47,    48,   184,    49,   185,  -163,     0,     0,     0,    50,
571        0,     0,     0,  -163,     0,     0,     0,     0,     0,     0,
572        0,    51,    52,    53,     0,   168,   169,     0,    54,    55,
573        0,   -63,    56,  -163,  -163,  -163,  -163,     0,     0,     0,
574     -163,     0,  -163,     0,     0,  -163,     0,     0,     0,     0,
575      177,   178,  -163,  -163,  -163,  -163,   179,   180,   181,     0,
576        0,   182,     0,     0,     0,     0,  -163,  -163,  -163,  -195,
577     -163,  -163,  -163,  -163,  -163,  -163,  -163,  -163,  -163,  -163,
578     -163,  -195,     0,     0,     0,  -163,  -163,  -163,     0,  -195,
579     -163,  -163,     0,     0,     0,     0,     0,     0,     0,   166,
580     -196,   168,   169,     0,     0,     0,     0,     0,     0,  -195,
581     -195,  -195,  -195,     0,     0,     0,  -195,     0,  -195,     0,
582        0,  -195,     0,     0,     0,     0,   177,   178,  -195,  -195,
583     -195,  -195,   179,   180,   181,     0,     0,   182,     0,     0,
584        0,     0,  -195,  -195,  -195,     0,  -195,  -195,  -195,  -195,
585     -195,  -195,  -195,  -195,  -195,  -195,  -195,     0,     0,     0,
586        0,  -195,  -195,  -195,     0,     0,  -195,  -195,    74,     0,
587       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
588      130,    25,    26,    27,    28,   108,    29,    30,    31,    32,
589       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
590        0,     0,     0,   166,   167,   168,   169,     0,     0,     0,
591       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
592        0,     0,    43,    44,    45,    46,    47,    48,     0,    49,
593      177,   178,     0,     0,     0,    50,   179,   180,   181,     0,
594        0,   182,     0,     0,     0,     0,     0,    51,    52,    53,
595        0,     0,     0,     0,    54,    55,     0,    74,    56,    16,
596        0,    17,    18,    19,    20,    21,    22,    23,     0,    24,
597       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
598       34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
599        0,     0,  -196,     0,   168,   169,     0,     0,     0,    36,
600        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
601        0,    43,    44,    45,    46,    47,    48,     0,    49,   177,
602      178,     0,     0,     0,    50,   179,   180,   181,     0,     0,
603      182,     0,     0,     0,     0,     0,    51,    52,    53,     0,
604        0,     0,     0,    54,    55,     0,    74,    56,    16,     0,
605       17,    18,    19,    20,    21,    22,    23,     0,   136,    25,
606       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
607        0,     0,     0,     0,    35,   208,   209,   210,   211,     0,
608        0,     0,   212,     0,   213,     0,     0,     0,    36,     0,
609       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
610       43,    44,    45,    46,    47,    48,     0,    49,   158,   159,
611      160,     0,     0,    50,     0,     0,     0,     0,     0,     0,
612        0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
613        0,     0,    54,    55,     0,     0,    56,    16,   103,    17,
614       18,    19,    20,    21,    22,    23,     0,    24,    25,    26,
615       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
616        0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
617        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
618       38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
619       44,    45,    46,    47,    48,     0,    49,     0,     0,     0,
620        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
621        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
622        0,    54,    55,     0,    16,    56,    17,    18,    19,    20,
623       21,    22,    23,   140,    24,    25,    26,    27,    28,     0,
624       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
625       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
626        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
627       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
628       47,    48,     0,    49,     0,     0,     0,     0,     0,    50,
629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
630        0,    51,    52,    53,     0,     0,     0,     0,    54,    55,
631        0,    16,    56,    17,    18,    19,    20,    21,    22,    23,
632        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
633       32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
635        0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
636        0,     0,     0,    43,    44,    45,    46,    47,    48,     0,
637       49,     0,     0,     0,     0,     0,    50,     0,     0,     0,
638        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
639       53,     0,     0,     0,     0,    54,    55,     0,   156,    56,
640       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
641       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
642       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
644       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
645        0,     0,    43,    44,    45,    46,    47,    48,     0,    49,
646        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
647        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
648        0,     0,     0,     0,    54,    55,     0,   227,    56,    16,
649        0,    17,    18,    19,    20,    21,    22,    23,     0,    24,
650       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
651       34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
652        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
653        0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
654        0,    43,    44,    45,    46,    47,    48,     0,    49,     0,
655        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
656        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
657        0,     0,     0,    54,    55,     0,   237,    56,    16,     0,
658       17,    18,    19,    20,    21,    22,    23,     0,    24,    25,
659       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
660        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
661        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
662       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
663       43,    44,    45,    46,    47,    48,     0,    49,     0,     0,
664        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
665        0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
666        0,     0,    54,    55,     0,   249,    56,    16,     0,    17,
667       18,    19,    20,    21,    22,    23,     0,    24,    25,    26,
668       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
669        0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
670        0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
671       38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
672       44,    45,    46,    47,    48,     0,    49,     0,     0,     0,
673        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
674        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
675        0,    54,    55,     0,   272,    56,    16,     0,    17,    18,
676       19,    20,    21,    22,    23,     0,    24,    25,    26,    27,
677       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
678        0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
679        0,     0,     0,     0,     0,     0,    36,     0,    37,    38,
680       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
681       45,    46,    47,    48,     0,    49,     0,     0,     0,     0,
682        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
683        0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
684       54,    55,     0,   313,    56,    16,     0,    17,    18,    19,
685       20,    21,    22,    23,     0,    24,    25,    26,    27,    28,
686        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
687        0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
688        0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
689       40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
690       46,    47,    48,     0,    49,     0,     0,     0,     0,     0,
691       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
692        0,     0,    51,    52,    53,     0,     0,     0,     0,    54,
693       55,     0,   315,    56,    16,     0,    17,    18,    19,    20,
694       21,    22,    23,     0,    24,    25,    26,    27,    28,     0,
695       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
696       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
697        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
698       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
699       47,    48,     0,    49,     0,     0,     0,     0,     0,    50,
700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
701        0,    51,    52,    53,     0,     0,     0,     0,    54,    55,
702        0,   328,    56,    16,     0,    17,    18,    19,    20,    21,
703       22,    23,     0,    24,    25,    26,    27,    28,     0,    29,
704       30,    31,    32,    33,    34,     0,     0,     0,     0,    35,
705        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
706        0,     0,     0,    36,     0,    37,    38,    39,    40,    41,
707       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
708       48,     0,    49,     0,     0,     0,   165,     0,    50,     0,
709        0,     0,     0,   166,   167,   168,   169,     0,     0,     0,
710       51,    52,    53,     0,     0,     0,     0,    54,    55,     0,
711        0,    56,   170,   171,   325,   172,   173,   174,   175,   176,
712      177,   178,     0,     0,     0,   165,   179,   180,   181,     0,
713        0,   182,   166,   167,   168,   169,     0,     0,     0,     0,
714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
715        0,   170,   171,     0,   172,   173,   174,   175,   176,   177,
716      178,     0,     0,     0,   165,   179,   180,   181,     0,     0,
717      182,   166,   167,   168,   169,     0,     0,     0,     0,     0,
718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
719        0,   171,     0,   172,   173,   174,   175,   176,   177,   178,
720        0,     0,     0,  -196,   179,   180,   181,     0,     0,   182,
721      166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
723        0,     0,   172,   173,   174,   175,   176,   177,   178,     0,
724        0,     0,     0,   179,   180,   181,     0,     0,   182
725 };
726
727 static const yytype_int16 yycheck[] =
728 {
729        9,    11,    42,   127,   116,   406,    12,    16,    15,    12,
730       50,     0,    10,    11,    12,   291,   291,     9,    74,   294,
731       77,     9,    15,    11,   339,    19,    20,    21,    22,    23,
732      142,    25,    26,     9,    11,    11,    45,    99,     9,   384,
733       11,    98,   443,    41,    15,   360,    44,    56,    42,    43,
734       44,    22,    12,    61,    48,    20,    21,    22,    23,    12,
735       25,    26,   283,    15,    16,    17,    99,    73,    74,    75,
736       73,    74,    75,    99,   295,    68,   116,    42,    43,    87,
737      425,    99,   357,   358,    92,    93,    94,    97,    21,    97,
738        9,    82,    90,    87,   134,   219,     9,    44,    45,    97,
739       91,    20,   142,   101,   102,    12,    99,    20,    12,    77,
740      119,    99,   387,    73,    74,    75,    99,   126,   127,    21,
741       73,    74,    75,    99,   122,    73,    74,    75,    99,    12,
742       20,     9,     9,   127,    11,   144,    99,    99,   194,   195,
743      196,   197,   198,   199,    99,   201,   202,    99,    99,   158,
744      159,   160,    12,   162,   163,   164,    93,    94,   433,   435,
745       97,    99,   127,    20,    99,    46,    73,    74,    75,    73,
746       74,    75,    20,    99,   183,   184,   185,   186,   187,   188,
747      220,     9,   189,    73,    74,    75,    98,    15,   182,    99,
748       73,    74,    75,    21,     9,   307,    11,    20,    26,   208,
749      209,   210,   211,   212,   213,    24,   330,   205,    20,    98,
750      219,    17,    18,    73,    74,    75,    73,    74,    75,    20,
751      287,   230,   289,   232,   233,    99,    32,    10,    71,    11,
752       36,    21,   241,    20,    99,    41,   292,    21,    44,    71,
753       21,    47,    98,    49,    10,    51,    52,    53,    54,    55,
754       73,    74,    75,    24,    92,    93,    94,   266,   267,    97,
755      269,    73,    74,    75,    73,    74,    75,   307,    11,    99,
756      382,    75,    73,    74,    75,    21,    15,   286,   287,   288,
757      289,   279,   291,   281,   340,   294,    73,    74,    75,    98,
758       98,    24,    40,    41,    42,    43,   290,    10,   386,    47,
759      388,    49,    10,    10,   392,    10,    59,    60,    61,    62,
760      408,   309,   321,    98,   402,   403,    10,    21,   416,   417,
761       98,   330,   410,   411,    98,    73,    74,    75,   426,    98,
762       98,   419,    85,    86,    87,   423,   434,    99,    20,    92,
763       93,    94,   382,    98,    97,     9,    98,    98,   357,   358,
764       98,    98,    20,   441,   442,   161,    73,    74,    75,   165,
765      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
766      176,   177,   178,   179,    59,    60,    61,    62,   387,    98,
767      389,    98,   380,    20,    99,    12,    98,    61,    62,    73,
768       74,    75,    98,   400,    97,   393,   435,    35,    83,    84,
769       85,    86,    87,    73,    74,    75,   204,    92,    93,    94,
770      389,   418,    97,    87,    98,   393,   414,    48,    92,    93,
771       94,     0,     1,    97,   433,    48,    -1,    -1,    98,    -1,
772        9,    -1,    11,   431,    13,    14,    15,    16,    17,    18,
773       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
774       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
775       39,    40,    41,    42,    43,    -1,    -1,    -1,    47,    48,
776       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
777       73,    74,    75,    -1,    63,    64,    65,    66,    67,    68,
778       69,    70,    -1,    73,    74,    75,    87,    76,    73,    74,
779       75,    92,    93,    94,    -1,    98,    97,    -1,    -1,    88,
780       89,    90,    -1,     0,     1,    -1,    95,    96,    98,   325,
781       99,   100,     9,    98,    11,    -1,    13,    14,    15,    16,
782       17,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
783       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
784       37,    38,    39,    40,    41,    42,    43,    -1,    -1,    -1,
785       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
786       57,    58,    73,    74,    75,    -1,    63,    64,    65,    66,
787       67,    68,    69,    70,    -1,    73,    74,    75,    -1,    76,
788        3,     4,     5,     6,     7,     8,    -1,    98,    -1,    -1,
789       -1,    88,    89,    90,    -1,    -1,     1,    -1,    95,    96,
790       98,    -1,    99,   100,     9,    10,    11,    -1,    13,    14,
791       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
792       25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
793       35,    36,    37,    38,    39,    40,    41,    42,    43,    -1,
794       -1,    -1,    47,    48,    49,    50,    51,    -1,    53,    54,
795       55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    64,
796       65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
797       -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
798       -1,    -1,    -1,    88,    89,    90,    -1,    -1,     1,    -1,
799       95,    96,    -1,    -1,    99,   100,     9,    10,    11,    -1,
800       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
801       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
802       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
803       43,    -1,    -1,    -1,    47,    48,    49,    50,    51,    -1,
804       53,    54,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
805       63,    64,    65,    66,    67,    68,    69,    70,    -1,    -1,
806       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
807       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
808        1,    -1,    95,    96,    -1,    -1,    99,   100,     9,    10,
809       11,    -1,    13,    14,    15,    16,    17,    18,    19,    20,
810       21,    22,    23,    24,    25,    -1,    27,    28,    29,    30,
811       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
812       41,    42,    43,    -1,    -1,    -1,    47,    48,    49,    50,
813       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
814       -1,    -1,    63,    64,    65,    66,    67,    68,    69,    70,
815       -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,
816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
817       -1,    -1,     1,    -1,    95,    96,    -1,    -1,    99,   100,
818        9,    -1,    11,    -1,    13,    14,    15,    16,    17,    18,
819       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
820       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
821       39,    40,    41,    42,    43,    -1,    -1,    -1,    47,    48,
822       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
823       -1,    -1,    -1,    -1,    63,    64,    65,    66,    67,    68,
824       69,    70,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
826       89,    90,    -1,    -1,     1,    -1,    95,    96,    -1,    -1,
827       99,   100,     9,    -1,    11,    -1,    13,    14,    15,    16,
828       17,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
829       27,    28,    29,    30,    31,    32,    33,    -1,    35,    36,
830       37,    38,    39,    40,    41,    42,    43,    -1,    -1,    -1,
831       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
832       57,    58,    -1,    -1,    -1,    -1,    63,    64,    65,    66,
833       67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    76,
834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
835       -1,    88,    89,    90,     1,    -1,    -1,    -1,    95,    96,
836       -1,    -1,    99,   100,    11,    -1,    13,    14,    15,    16,
837       17,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
838       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
839       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
840       60,    61,    62,    -1,    51,    -1,    53,    54,    55,    56,
841       57,    58,    -1,    -1,    -1,    -1,    63,    64,    65,    66,
842       67,    68,    -1,    70,    84,    85,    86,    87,    -1,    76,
843       -1,    -1,    92,    93,    94,    -1,    -1,    97,    -1,    -1,
844       -1,    88,    89,    90,     1,    -1,    -1,    -1,    95,    96,
845       -1,    -1,    99,    -1,    11,    -1,    13,    14,    15,    16,
846       17,    18,    19,    -1,    21,    22,    23,    24,    25,    -1,
847       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
848       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
849       -1,    -1,    -1,    -1,    51,    -1,    53,    54,    55,    56,
850       57,    58,    -1,     0,    -1,    -1,    63,    64,    65,    66,
851       67,    68,     9,    70,    11,    12,    -1,    -1,    -1,    76,
852       -1,    -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,    -1,
853       -1,    88,    89,    90,    -1,    61,    62,    -1,    95,    96,
854       -1,    98,    99,    40,    41,    42,    43,    -1,    -1,    -1,
855       47,    -1,    49,    -1,    -1,    52,    -1,    -1,    -1,    -1,
856       86,    87,    59,    60,    61,    62,    92,    93,    94,    -1,
857       -1,    97,    -1,    -1,    -1,    -1,    73,    74,    75,     0,
858       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
859       87,    12,    -1,    -1,    -1,    92,    93,    94,    -1,    20,
860       97,    98,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,
861       60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    40,
862       41,    42,    43,    -1,    -1,    -1,    47,    -1,    49,    -1,
863       -1,    52,    -1,    -1,    -1,    -1,    86,    87,    59,    60,
864       61,    62,    92,    93,    94,    -1,    -1,    97,    -1,    -1,
865       -1,    -1,    73,    74,    75,    -1,    77,    78,    79,    80,
866       81,    82,    83,    84,    85,    86,    87,    -1,    -1,    -1,
867       -1,    92,    93,    94,    -1,    -1,    97,    98,     9,    -1,
868       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
869       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
870       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
871       -1,    -1,    -1,    59,    60,    61,    62,    -1,    -1,    -1,
872       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
873       -1,    -1,    63,    64,    65,    66,    67,    68,    -1,    70,
874       86,    87,    -1,    -1,    -1,    76,    92,    93,    94,    -1,
875       -1,    97,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
876       -1,    -1,    -1,    -1,    95,    96,    -1,     9,    99,    11,
877       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    21,
878       22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
879       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
880       -1,    -1,    59,    -1,    61,    62,    -1,    -1,    -1,    51,
881       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    -1,
882       -1,    63,    64,    65,    66,    67,    68,    -1,    70,    86,
883       87,    -1,    -1,    -1,    76,    92,    93,    94,    -1,    -1,
884       97,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,
885       -1,    -1,    -1,    95,    96,    -1,     9,    99,    11,    -1,
886       13,    14,    15,    16,    17,    18,    19,    -1,    21,    22,
887       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
888       -1,    -1,    -1,    -1,    37,    40,    41,    42,    43,    -1,
889       -1,    -1,    47,    -1,    49,    -1,    -1,    -1,    51,    -1,
890       53,    54,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
891       63,    64,    65,    66,    67,    68,    -1,    70,    73,    74,
892       75,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
893       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
894       -1,    -1,    95,    96,    -1,    -1,    99,    11,    12,    13,
895       14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
896       24,    25,    -1,    27,    28,    29,    30,    31,    32,    -1,
897       -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,
899       54,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
900       64,    65,    66,    67,    68,    -1,    70,    -1,    -1,    -1,
901       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
902       -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,
903       -1,    95,    96,    -1,    11,    99,    13,    14,    15,    16,
904       17,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
905       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
906       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
907       -1,    -1,    -1,    -1,    51,    -1,    53,    54,    55,    56,
908       57,    58,    -1,    -1,    -1,    -1,    63,    64,    65,    66,
909       67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,    76,
910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
911       -1,    88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,
912       -1,    11,    99,    13,    14,    15,    16,    17,    18,    19,
913       -1,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
914       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
916       -1,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
917       -1,    -1,    -1,    63,    64,    65,    66,    67,    68,    -1,
918       70,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
920       90,    -1,    -1,    -1,    -1,    95,    96,    -1,    98,    99,
921       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
922       21,    22,    23,    24,    25,    -1,    27,    28,    29,    30,
923       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,
924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
925       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
926       -1,    -1,    63,    64,    65,    66,    67,    68,    -1,    70,
927       -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,
928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
929       -1,    -1,    -1,    -1,    95,    96,    -1,    98,    99,    11,
930       -1,    13,    14,    15,    16,    17,    18,    19,    -1,    21,
931       22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
932       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,
934       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    -1,
935       -1,    63,    64,    65,    66,    67,    68,    -1,    70,    -1,
936       -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
937       -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,
938       -1,    -1,    -1,    95,    96,    -1,    98,    99,    11,    -1,
939       13,    14,    15,    16,    17,    18,    19,    -1,    21,    22,
940       23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
941       -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,
942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
943       53,    54,    55,    56,    57,    58,    -1,    -1,    -1,    -1,
944       63,    64,    65,    66,    67,    68,    -1,    70,    -1,    -1,
945       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
946       -1,    -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,
947       -1,    -1,    95,    96,    -1,    98,    99,    11,    -1,    13,
948       14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
949       24,    25,    -1,    27,    28,    29,    30,    31,    32,    -1,
950       -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
951       -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,
952       54,    55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,
953       64,    65,    66,    67,    68,    -1,    70,    -1,    -1,    -1,
954       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
955       -1,    -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,
956       -1,    95,    96,    -1,    98,    99,    11,    -1,    13,    14,
957       15,    16,    17,    18,    19,    -1,    21,    22,    23,    24,
958       25,    -1,    27,    28,    29,    30,    31,    32,    -1,    -1,
959       -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
960       -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    54,
961       55,    56,    57,    58,    -1,    -1,    -1,    -1,    63,    64,
962       65,    66,    67,    68,    -1,    70,    -1,    -1,    -1,    -1,
963       -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
964       -1,    -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,
965       95,    96,    -1,    98,    99,    11,    -1,    13,    14,    15,
966       16,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
967       -1,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
968       -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
969       -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    54,    55,
970       56,    57,    58,    -1,    -1,    -1,    -1,    63,    64,    65,
971       66,    67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,
972       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
973       -1,    -1,    88,    89,    90,    -1,    -1,    -1,    -1,    95,
974       96,    -1,    98,    99,    11,    -1,    13,    14,    15,    16,
975       17,    18,    19,    -1,    21,    22,    23,    24,    25,    -1,
976       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
977       37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
978       -1,    -1,    -1,    -1,    51,    -1,    53,    54,    55,    56,
979       57,    58,    -1,    -1,    -1,    -1,    63,    64,    65,    66,
980       67,    68,    -1,    70,    -1,    -1,    -1,    -1,    -1,    76,
981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
982       -1,    88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,
983       -1,    98,    99,    11,    -1,    13,    14,    15,    16,    17,
984       18,    19,    -1,    21,    22,    23,    24,    25,    -1,    27,
985       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
987       -1,    -1,    -1,    51,    -1,    53,    54,    55,    56,    57,
988       58,    -1,    -1,    -1,    -1,    63,    64,    65,    66,    67,
989       68,    -1,    70,    -1,    -1,    -1,    52,    -1,    76,    -1,
990       -1,    -1,    -1,    59,    60,    61,    62,    -1,    -1,    -1,
991       88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,    -1,
992       -1,    99,    78,    79,    80,    81,    82,    83,    84,    85,
993       86,    87,    -1,    -1,    -1,    52,    92,    93,    94,    -1,
994       -1,    97,    59,    60,    61,    62,    -1,    -1,    -1,    -1,
995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
996       -1,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
997       87,    -1,    -1,    -1,    52,    92,    93,    94,    -1,    -1,
998       97,    59,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,
999       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1000       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
1001       -1,    -1,    -1,    52,    92,    93,    94,    -1,    -1,    97,
1002       59,    60,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,
1003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1004       -1,    -1,    81,    82,    83,    84,    85,    86,    87,    -1,
1005       -1,    -1,    -1,    92,    93,    94,    -1,    -1,    97
1006 };
1007
1008 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1009    symbol of state STATE-NUM.  */
1010 static const yytype_uint8 yystos[] =
1011 {
1012        0,     3,     4,     5,     6,     7,     8,   102,   103,   104,
1013      105,   106,   107,   108,     0,   110,    11,    13,    14,    15,
1014       16,    17,    18,    19,    21,    22,    23,    24,    25,    27,
1015       28,    29,    30,    31,    32,    37,    51,    53,    54,    55,
1016       56,    57,    58,    63,    64,    65,    66,    67,    68,    70,
1017       76,    88,    89,    90,    95,    96,    99,   139,   140,   141,
1018      144,   145,   146,   147,   148,   149,   151,   154,   156,   157,
1019      158,   159,   160,   161,     9,   109,     1,    20,    33,    35,
1020       36,    38,    39,    40,    41,    42,    43,    47,    48,    49,
1021       50,    69,   100,   109,   117,   120,   139,    34,   115,   116,
1022      117,   114,   114,    12,   139,   149,   149,    21,    26,   109,
1023      157,   162,   162,   162,   162,   162,   162,   162,   150,    11,
1024       99,   149,   132,   132,   149,    99,    99,    99,   109,   149,
1025       21,   140,   153,   157,   162,   162,    21,   109,   149,   157,
1026       20,   139,    21,   149,    99,   152,   157,   158,   159,   149,
1027      140,   149,   149,   149,   149,   149,    98,   139,    73,    74,
1028       75,    77,     9,    11,    99,    52,    59,    60,    61,    62,
1029       78,    79,    81,    82,    83,    84,    85,    86,    87,    92,
1030       93,    94,    97,    99,     9,    11,     9,    11,     9,   110,
1031      133,   131,    21,   131,    99,    99,    99,    99,    68,    99,
1032      157,    99,    99,   109,   131,    46,   122,    20,    40,    41,
1033       42,    43,    47,    49,   116,   117,   115,    12,   153,    99,
1034       99,   139,    98,   109,    24,   135,    98,    98,   139,   154,
1035      162,   140,    99,    99,    10,    20,   153,    98,   139,    71,
1036      137,    11,    98,   139,   139,   139,   149,   139,   139,    98,
1037      139,   149,   149,   149,   149,   149,   149,   149,   149,   149,
1038      149,   149,   149,   149,   149,   149,     9,    11,    22,    99,
1039      143,   157,    98,   139,   139,   139,   139,   139,   139,   114,
1040       21,   130,    21,   134,    21,   118,   110,   110,   110,   110,
1041      110,   110,    99,   110,   110,   134,   109,   139,   126,   139,
1042      139,   139,   139,   139,   154,   140,    12,   142,    71,   136,
1043       98,    98,   139,    98,   139,    98,   139,    10,    98,    24,
1044      139,    11,    20,    12,    98,    80,   139,   139,    98,   139,
1045       99,    98,    20,    12,    20,    12,    20,    10,   109,   135,
1046        9,    20,    21,   125,   139,   126,   127,   139,   126,   129,
1047      155,   157,   120,   124,   127,   128,   139,   110,   111,   127,
1048      135,    98,    98,   153,    24,   109,    98,    98,    98,    12,
1049      139,    10,   149,    20,    12,    98,   154,    10,    10,    10,
1050      136,   110,    21,    98,    98,    98,    98,    99,    98,    20,
1051      127,   127,    98,   136,    12,    10,    98,    20,   109,   138,
1052      119,   153,   123,   123,     9,   112,   112,   127,   112,   125,
1053       98,    98,   112,   138,   114,    20,   112,   112,   113,    44,
1054       45,   121,   121,    98,   122,    20,   112,   112,    10,   122,
1055      122,   114,   112,    99,   112,   123,   122,    10,   127,   122,
1056      128,    98,    98,   112,   112,   121
1057 };
1058
1059 typedef enum {
1060         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
1061 } toketypes;
1062
1063 /* type of each token/terminal */
1064 static const toketypes yy_type_tab[] =
1065 {
1066   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1067   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1068   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_opval,
1069   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1070   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1071   toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1072   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1073   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1074   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1075   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1076   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1077   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1078   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1079   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival,
1080   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_ival,
1081   toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1082   toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1083   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1084   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1085   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1086   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1087   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1088   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1089 };
1090
1091 /* Generated from:
1092  * efdb10e4176c622005697eec1ff496d913ef986c5297086baa5088bbd3aedaf2 perly.y
1093  * 38f866dcd8341ad3c0810347587113eb2c6ac7d4f33bdab75b020efce92865be regen_perly.pl
1094  * ex: set ro: */