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