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