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