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