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