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