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