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