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