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