This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make the VERSION of File::Spec be 0.86, otherwise File::Temp's
[perl5.git] / vms / perly_c.vms
1 /* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
2 #ifndef lint
3 /* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
4 #endif
5 #define YYBYACC 1
6 #line 16 "perly.y"
7 #include "EXTERN.h"
8 #define PERL_IN_PERLY_C
9 #include "perl.h"
10 #ifdef EBCDIC
11 #undef YYDEBUG
12 #endif
13 #define dep() deprecate_old("\"do\" to call subroutines")
14
15 /* stuff included here to make perly_c.diff apply better */
16
17 #define yydebug     PL_yydebug
18 #define yynerrs     PL_yynerrs
19 #define yyerrflag   PL_yyerrflag
20 #define yychar      PL_yychar
21 #define yyval       PL_yyval
22 #define yylval      PL_yylval
23
24 struct ysv {
25     short* yyss;
26     YYSTYPE* yyvs;
27     int oldyydebug;
28     int oldyynerrs;
29     int oldyyerrflag;
30     int oldyychar;
31     YYSTYPE oldyyval;
32     YYSTYPE oldyylval;
33 };
34
35 static void yydestruct(pTHX_ void *ptr);
36
37 #line 51 "perly.y"
38 #if 0 /* get this from perly.h instead */
39 #line 54 "perly.y"
40 typedef union {
41     I32 ival;
42     char *pval;
43     OP *opval;
44     GV *gvval;
45 } YYSTYPE;
46 #line 62 "perly.y"
47 #endif /* 0 */
48
49 #ifdef USE_PURE_BISON
50 #define YYLEX_PARAM (&yychar)
51 #define yylex yylex_r
52 #endif
53
54 #line 54 "perly.c"
55 #define YYERRCODE 256
56 static short yylhs[] = {                                        -1,
57     0,    9,    7,    6,   10,    8,   11,   11,   11,   12,
58    12,   12,   12,   25,   25,   25,   25,   25,   25,   25,
59    15,   15,   15,   14,   14,   43,   43,   13,   13,   13,
60    13,   13,   13,   13,   27,   27,   28,   28,   29,   30,
61    31,   32,   33,   54,   54,    1,    1,    1,    1,    1,
62     2,   39,   39,   47,   55,    3,    4,    5,   40,   41,
63    41,   45,   45,   45,   46,   46,   42,   42,   56,   58,
64    57,   16,   16,   16,   16,   26,   26,   26,   37,   37,
65    37,   37,   37,   37,   37,   37,   59,   37,   38,   38,
66    18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
67    18,   50,   50,   50,   50,   50,   50,   50,   50,   50,
68    50,   50,   50,   50,   50,   51,   51,   51,   51,   51,
69    51,   51,   51,   52,   52,   52,   52,   52,   53,   53,
70    53,   53,   53,   53,   17,   17,   17,   17,   17,   17,
71    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
72    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
73    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
74    17,   17,   17,   17,   17,   48,   48,   49,   49,   49,
75    49,   49,   34,   34,   35,   35,   35,   44,   24,   19,
76    20,   21,   22,   23,   36,   36,   36,   36,
77 };
78 static short yylen[] = {                                         2,
79     2,    4,    0,    0,    4,    0,    0,    2,    2,    2,
80     1,    2,    3,    1,    1,    3,    3,    3,    3,    3,
81     0,    2,    6,    7,    7,    0,    2,    8,    8,   10,
82     9,    8,   11,    3,    0,    1,    0,    1,    1,    1,
83     1,    1,    1,    0,    1,    1,    1,    1,    1,    1,
84     4,    1,    0,    6,    6,    0,    0,    0,    1,    0,
85     1,    0,    2,    1,    2,    1,    1,    1,    3,    0,
86     7,    3,    3,    3,    1,    2,    3,    1,    3,    5,
87     6,    3,    3,    5,    2,    4,    0,    5,    1,    1,
88     5,    4,    5,    4,    5,    6,    5,    4,    5,    4,
89     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
90     3,    3,    3,    3,    3,    2,    2,    2,    2,    2,
91     2,    2,    2,    3,    2,    4,    3,    5,    2,    2,
92     4,    5,    4,    5,    1,    1,    1,    1,    5,    2,
93     1,    2,    3,    2,    1,    1,    1,    1,    1,    1,
94     6,    5,    4,    5,    1,    1,    3,    4,    3,    1,
95     2,    2,    1,    2,    2,    2,    1,    3,    1,    3,
96     4,    4,    6,    1,    1,    3,    2,    3,    2,    1,
97     1,    1,    0,    1,    0,    1,    2,    1,    2,    2,
98     2,    2,    2,    2,    1,    1,    1,    1,
99 };
100 static short yydefred[] = {                                      4,
101     0,    7,    0,   45,   58,   56,    0,   56,   56,    8,
102    46,    9,   11,   48,    0,   47,   49,   50,    0,    0,
103     0,   70,    0,   14,    3,  174,    0,    0,  155,    0,
104   169,    0,   57,   57,    0,    0,    0,    0,    0,    0,
105     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
106     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
107    12,    0,    0,    0,    0,    0,    0,    0,   10,    0,
108     0,    0,    0,    0,  147,  149,    0,    0,    0,    0,
109   175,  141,  135,  136,  137,  138,   52,    0,   59,    0,
110    69,    0,    0,    7,  195,  198,  197,  196,    0,    0,
111     0,    0,    0,    0,    3,    3,    3,    3,    3,    3,
112     0,    0,    0,    0,    0,  164,    0,    0,    0,    0,
113    85,    0,  193,    0,  130,    0,    0,    0,    0,    0,
114     0,    0,  180,  182,  181,    0,  189,    0,    0,    0,
115     0,    0,    0,    0,    0,  125,    0,    0,    0,  190,
116   191,  192,  194,    0,   34,    0,    0,    0,    0,    0,
117     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
118     0,    0,    0,    0,    0,    0,    0,    0,  120,  121,
119     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
120    13,    0,   51,   61,    0,    0,    0,    0,   83,    0,
121     0,   87,    0,    0,    0,    0,    0,    0,    0,    3,
122   168,  170,    0,    0,    0,    0,    0,    0,    0,  127,
123     0,  159,  179,    0,    0,  176,    0,    0,  124,   27,
124     0,    0,   19,    0,    0,    0,    0,    0,   72,    0,
125     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
126     0,    0,    0,    0,    0,   89,    0,    0,   90,    0,
127     0,  101,    0,    0,    0,    0,    0,    0,    0,  157,
128     0,    0,    0,    0,    0,    0,    2,    0,    0,  172,
129     0,    0,    0,   42,    0,   43,    0,    0,    0,    0,
130   188,    0,    0,   36,   41,    0,    0,    0,  171,  187,
131    86,    0,  131,    0,  133,    0,  126,  178,   65,    0,
132     0,    0,    0,   98,    0,    0,    0,    0,  100,   94,
133     0,   92,    0,  153,    0,  158,   63,   68,   67,   55,
134     0,   54,   84,    0,   88,  128,    0,    0,    0,    0,
135     0,    0,    0,    0,   80,  132,  134,  152,    0,    0,
136     0,   99,   93,    0,   97,   95,  154,   91,   71,  173,
137     6,    0,    0,    0,    0,    0,    0,    0,    0,  151,
138    96,   81,    7,   28,   29,    0,    0,   24,   25,    0,
139    32,    0,    0,    0,   22,    0,    0,    0,   31,    5,
140     0,   30,    0,    0,   33,    0,   23,
141 };
142 static short yydgoto[] = {                                       1,
143    10,   11,   20,  103,   19,    2,   94,  373,   97,  362,
144     3,   12,   13,   69,  378,  288,   71,   72,   73,   74,
145    75,   76,   77,   78,  294,   80,  295,  284,  286,  289,
146   297,  285,  287,  121,  215,   99,   81,  260,   88,   90,
147   195,  330,  155,  292,  274,  226,   14,   82,  136,   83,
148    84,   85,   86,   15,   16,   17,   18,   92,  281,
149 };
150 static short yysindex[] = {                                      0,
151     0,    0, -236,    0,    0,    0, -231,    0,    0,    0,
152     0,    0,    0,    0,  819,    0,    0,    0, -211, -209,
153     3,    0, -209,    0,    0,    0,  -32,  -32,    0,   23,
154     0, 2213,    0,    0,   28,   30,   32,   33,  -18, 2213,
155    42,   52,   64, 1004,  940,  -32, 1149, 1268, -168, 2213,
156   174,  -32, 2213, 2213, 2213, 2213, 2213, 2213, 1328, 1413,
157     0, 2213, 2213,  -32,  -32,  -32,  -32, -173,    0,  607,
158   404,  -27,  -71,  -67,    0,    0,  -12,   68,   66,   94,
159     0,    0,    0,    0,    0,    0,    0,   27,    0, -108,
160     0, -100, -108,    0,    0,    0,    0,    0, 2213,  122,
161  2213,  743,   27, -108,    0,    0,    0,    0,    0,    0,
162   125,  404,  135, 1454,  940,    0,  743,    0,  -71,   94,
163     0, 2213,    0,  140,    0,  743,  -25,   38,   -8, 2213,
164   743, 1562,    0,    0,    0, -114,    0,   94,  245,  245,
165   245, -123, -123,  106,  -34,    0,  -53,  245,  245,    0,
166     0,    0,    0,   27,    0, 2213, 2213, 2213, 2213, 2213,
167  2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
168  2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,    0,    0,
169   -26, 2213, 1723, 2213, 2213, 2213, 2213, 2213, 2213, 1796,
170     0, 2213,    0,    0,  -90,  -48,  -90,  285,    0, 2213,
171   -35,    0,  -90, 2213, 2213, 2213, 2213,  182, 1859,    0,
172     0,    0,   -2,  -42,  180, 2213,   94, 1932, 2004,    0,
173   102,    0,    0,   13,  -21,    0, 2213,  142,    0,    0,
174   184,  184,    0,  184,  184,  184,  -51,  -51,    0,  296,
175   743,  386,  683, -158,  404,  643, 1034, 1034, 1067, 1345,
176   960, -112,  245,  245, 2213,    0, 2140, 2213,    0,  216,
177   120,    0,   40,  127,  123,  214,  132,  217,  136,    0,
178    77,  404,   -3,  -47, 2213,  -47,    0,  220, 2213,    0,
179  2213,   27,  184,    0,  224,    0,  240,  184,  244,  246,
180     0,  261,  607,    0,    0,  267,  227, 2213,    0,    0,
181     0,   88,    0,   95,    0,   98,    0,    0,    0,  236,
182  2213, 2213,  139,    0,  117,  239, 2213,  194,    0,    0,
183   206,    0,  213,    0,  218,    0,    0,    0,    0,    0,
184   293,    0,    0,  585,    0,    0,  221,  221,  221,  221,
185  2213,  221, 2213,  325,    0,    0,    0,    0,  243,  703,
186   255,    0,    0,  327,    0,    0,    0,    0,    0,    0,
187     0, -173, -173, -240, -240,  351, -173,  332,  221,    0,
188     0,    0,    0,    0,    0,  221,  354,    0,    0,  221,
189     0, 1859, -173,  350,    0, 2213, -173,  360,    0,    0,
190   361,    0,  221,  221,    0, -240,    0,
191 };
192 static short yyrindex[] = {                                      0,
193     0,    0,  371,    0,    0,    0,    0,    0,    0,    0,
194     0,    0,    0,    0,    0,    0,    0,    0,  289,    0,
195     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
196     0,    0,    0,    0,    0,    0,    0,    0,    0,   16,
197  2282,    0,    0, 2401, 2566,    0,    0,    0,    0,    0,
198     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
199     0,    0,    0,    0,    0,    0,    0,   90,    0,  -16,
200  1607, 2620, 2673, 2721,    0,    0, 2769, 2856,    0,  -38,
201     0,    0,    0,    0,    0,    0,    0,    0,    0,  -54,
202     0,    0,  -54,    0,    0,    0,    0,    0, 2566,    0,
203     0, 4274,    0, -115,    0,    0,    0,    0,    0,    0,
204     0, 1886,    0,    0,  374,    0, 4339,  467,  532, 3224,
205     0,    0,    0, 3005,    0, 4394, 2673,    0,    0, 2566,
206  4404,    0,    0,    0,    0, 3055,    0, 3459, 3695, 3746,
207  3801, 3582, 3630, 3127,    0,    0,    0, 3866, 3914,    0,
208     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
209     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
210     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
211     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
212     0, 3175,    0,    0,  -43,    0,  -43,  880,    0,  374,
213     0,    0,  303,  390,    0,    0,    0,    0,  389,    0,
214     0,    0,    0,  422,    0,    0, 3510,    0,    0,    0,
215     0,    0,    0,    0, 3291,    0,    0, 3346,    0,    0,
216     8,   12,    0,   61,   62,   65, 1479, 1642,    0, 2274,
217  4445, 4493, 4120, 4168, 2421,    0, 4697, 4745, 4630, 4591,
218  4543, 4219, 4000, 4055,    0,    0,    0,    0,    0, 3411,
219     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
220     0, 2474,  -30,    0,  405,    0,    0,    0,    0,    0,
221  2566,    0,   78,    0,    0,    0,    0,  432,    0,    0,
222     0,    0,   81,    0,    0,    0,    0,    0,    0,    0,
223     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
224     0,    0,    0,    0,    0,    0,  374,    0,    0,    0,
225     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
226     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
227     0,    0,  415,    0,    0,    0,    0,    0,    0, 1201,
228     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
229     0,   90,   90,  186,  186,    0,   90,    0,    0,    0,
230     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
231     0,  435,   90,  880,    0,    0,   90,    0,    0,    0,
232     0,    0,    0,    0,    0,  186,    0,
233 };
234 static short yygindex[] = {                                      0,
235     0,    0,   50,  453,    0,    0,  -22,    0,   63,  153,
236   -93,    0,    0,    0, -346,  -15, 2480,    0, 1744,  437,
237   439,    0,    0,    0,  481,  755,    0,    0,  341, -186,
238   124,  170,  313,  -88, -183,   49,    0,    0,    0,  498,
239   -66,  247,  225,    0, -156,    0,    0,    0,    0,    0,
240     0,    0,    0,    0,    0,    0,    0,    0,    0,
241 };
242 #define YYTABLESIZE 5051
243 static short yytable[] = {                                      70,
244   198,  300,   75,   64,   60,  280,  228,   60,  279,   64,
245   199,  328,  183,  257,  219,   62,  278,   64,  379,  186,
246    75,  110,  296,  188,   15,   21,  197,  170,   64,    4,
247     5,    6,  129,    7,    8,  376,  377,  203,  299,  229,
248   276,  222,   15,  145,  147,   87,  282,   89,   18,  397,
249   221,  185,   39,  308,   75,  187,  160,   22,   23,  160,
250     9,   91,  101,  184,  258,  186,   18,  105,   60,  106,
251    39,  107,  108,  160,  160,   25,  100,   68,  160,   62,
252   319,  113,  204,  205,  206,  207,  208,  209,  130,   26,
253    25,  114,   64,  122,  123,  182,  255,  185,  213,  214,
254   137,   16,   17,  115,  154,   20,  116,  190,  160,  125,
255   189,  344,  150,  151,  152,  153,  224,  326,   38,   16,
256    17,   40,   26,   20,  191,   26,   26,   26,  345,   26,
257   167,   26,   26,  354,   26,  346,   38,  192,  347,   15,
258   231,  232,  234,  235,  236,  237,  238,  239,   26,   25,
259   193,  194,  177,   26,  366,  178,  196,  352,  179,  180,
260   181,  200,  220,  216,  210,  202,  261,  263,  264,  265,
261   266,  267,  268,  269,  271,  211,  167,  168,  318,  218,
262    26,  321,   60,  225,  214,   21,  331,  298,  283,  232,
263   323,  232,  335,  293,  325,  181,  227,  351,  177,  391,
264   302,  178,  304,  306,  179,  180,  181,  273,  275,   64,
265    66,  310,   26,  132,   26,   26,  230,   64,   21,  320,
266   301,   21,   21,   21,   95,   21,  307,   21,   21,   96,
267    21,  256,  311,   75,   75,   75,   75,   65,  309,  313,
268    75,  315,  316,   60,   21,  164,  161,  162,  163,   21,
269   163,  165,  166,  167,  168,  317,  327,  161,  162,  163,
270   333,   75,   75,   75,  337,  161,  162,  163,  169,  171,
271   172,  173,  174,  175,  176,  177,   21,  109,  178,  384,
272   338,  179,  180,  181,  339,  343,  340,  160,  160,  160,
273   160,  161,  162,  163,  160,  349,  160,  161,  162,  163,
274   341,  214,  160,  160,  160,  160,  322,  342,   21,  324,
275    21,   21,  161,  162,  163,  160,  160,  160,  355,  160,
276   160,  160,  160,  160,  160,  160,  160,  283,  348,  160,
277   356,  353,  160,  160,  160,  370,  329,  357,  329,  161,
278   162,  163,  358,  361,  336,   26,   26,   26,   26,   26,
279    26,  359,   26,   26,   26,   26,   26,   26,   26,   26,
280    26,   26,   26,   26,   26,  369,   70,  372,   26,   26,
281     1,   26,   26,   26,   26,   26,  161,  162,  163,  371,
282    26,   26,   26,   26,   26,   26,   26,  161,  162,  163,
283   382,  380,   26,  386,  161,  162,  163,  161,  162,  163,
284   393,  394,   26,   44,   26,   26,   44,   44,   44,  277,
285    44,   53,   44,   44,  185,   44,  161,  162,  163,  161,
286   162,  163,  161,  162,  163,   62,  161,  162,  163,   44,
287    37,  161,  162,  163,   44,  161,  162,  163,  161,  162,
288   163,   21,   21,   21,   21,   21,   21,   35,   21,   21,
289    21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
290    21,   44,  186,  183,   21,   21,  170,   21,   21,   21,
291    21,   21,   40,   37,  390,   35,   21,   21,   21,   21,
292    21,   21,   21,  161,  162,  163,  104,  134,   21,  135,
293   363,  364,  365,   44,  367,   79,   44,  233,   21,  195,
294    21,   21,  195,  195,  195,  388,  195,  174,  195,  195,
295   174,  195,  368,  161,  162,  163,  161,  162,  163,  290,
296    93,  383,  332,    0,  174,  174,    0,    0,  385,  174,
297   195,    0,  387,    0,    0,  161,  162,  163,  161,  162,
298   163,    0,  161,  162,  163,  395,  396,    0,    0,    0,
299     4,    5,    6,    0,    7,    8,    0,  195,  178,  174,
300     0,  179,  180,  181,  196,    0,    0,  196,  196,  196,
301     0,  196,  145,  196,  196,  145,  196,    0,    0,    0,
302     0,    9,  165,  166,  167,  168,  374,  375,    0,  145,
303   145,  381,  195,    0,  145,  196,    0,    0,    0,    0,
304   171,  172,  173,  174,  175,  176,  177,  389,    0,  178,
305     0,  392,  179,  180,  181,    4,    5,    6,    0,    7,
306     8,    0,    0,    0,  145,  360,   44,   44,   44,   44,
307    44,   44,    0,   44,   44,   44,    0,    0,    0,   44,
308     0,    0,   44,   44,   44,   44,    9,  170,    0,   44,
309    44,    0,   44,   44,   44,   44,   44,  196,    0,    0,
310     0,   44,   44,   44,   44,   44,   44,    0,    0,    0,
311     0,    0,  165,   44,  167,  168,    0,    0,    0,    0,
312     0,    0,    0,   44,  164,   44,   44,    0,    0,    0,
313   165,  166,  167,  168,    0,  176,  177,    0,    0,  178,
314   312,    0,  179,  180,  181,  170,    0,  169,  171,  172,
315   173,  174,  175,  176,  177,    0,    0,  178,    0,    0,
316   179,  180,  181,  195,  195,  195,  195,  195,    0,  195,
317   195,  195,    0,    0,    0,  195,    0,    0,  174,  174,
318   174,  174,    0,    0,    0,  174,  195,  174,  195,  195,
319   195,  195,  195,  174,  174,  174,  174,  195,  195,  195,
320   195,  195,  195,    0,    0,  170,  174,  174,  174,  195,
321   174,  174,  174,  174,  174,  174,  174,  174,    0,  195,
322   174,  195,  195,  174,  174,  174,    0,    0,  196,  196,
323   196,  196,  196,    0,  196,  196,  196,    0,    0,  120,
324   196,    0,    0,  145,  145,  145,  145,  138,    0,    0,
325   145,  196,  145,  196,  196,  196,  196,  196,  145,  145,
326   145,  145,  196,  196,  196,  196,  196,  196,    0,    0,
327     0,  145,  145,  145,  196,  145,  145,  145,  145,  145,
328   145,  145,  145,    0,  196,  145,  196,  196,  145,  145,
329   145,   54,    0,  120,   64,   66,   52,    0,   59,    0,
330    67,   63,    0,   62,    0,  164,    0,    0,    0,    0,
331     0,  165,  166,  167,  168,    0,  217,   61,  156,  157,
332   158,  159,   65,    0,  120,  160,    0,    0,  169,  171,
333   172,  173,  174,  175,  176,  177,    0,    0,  178,    0,
334     0,  179,  180,  181,    0,    0,  161,  162,  163,   60,
335     0,    0,   44,    0,    0,   44,   44,   44,    0,   44,
336     0,   44,   44,  164,   44,    0,    0,    0,    0,  165,
337   166,  167,  168,    0,    0,    0,    0,    0,   44,    0,
338     0,   25,    0,   44,   55,    0,  169,  171,  172,  173,
339   174,  175,  176,  177,    0,    0,  178,    0,    0,  179,
340   180,  181,    0,    0,    0,    0,    0,    0,    0,    0,
341    44,    0,   54,    0,    0,   64,   66,   52,    0,   59,
342     0,   67,   63,  164,   62,    0,    0,    0,    0,  165,
343   166,  167,  168,  177,    0,    0,  178,    0,    0,  179,
344   180,  181,   44,   65,    0,   44,    0,  171,  172,  173,
345   174,  175,  176,  177,    0,    0,  178,    0,    0,  179,
346   180,  181,    0,    0,    0,    0,    0,    0,    0,  120,
347    60,  167,  168,    0,    0,  120,   54,    0,    0,   64,
348    66,   52,    0,   59,    0,   67,   63,    0,   62,    0,
349     0,    0,  176,  177,    0,    0,  178,    0,    0,  179,
350   180,  181,   25,    0,    0,   55,    0,   65,    0,    0,
351     0,    0,    0,    0,   24,   26,   27,   28,   29,   30,
352     0,   31,   32,   33,    0,    0,    0,   34,    0,    0,
353    35,   36,   37,   38,   60,    0,    0,   39,   40,    0,
354    41,   42,   43,   44,   45,    0,    0,    0,    0,   46,
355    47,   48,   49,   50,   51,    0,    0,    0,    0,    0,
356     0,   53,    0,    0,    0,    0,   25,    0,    0,   55,
357     0,   56,    0,   57,   58,   44,   44,   44,   44,   44,
358    44,    0,   44,   44,   44,    0,    0,    0,   44,    0,
359     0,   44,   44,   44,   44,    0,    0,    0,   44,   44,
360     0,   44,   44,   44,   44,   44,    0,    0,    0,    0,
361    44,   44,   44,   44,   44,   44,    0,    0,    0,    0,
362     0,   54,   44,    0,   64,   66,   52,    0,   59,    0,
363    67,   63,   44,   62,   44,   44,  118,   27,   28,   29,
364    30,   96,   31,   32,   33,    0,    0,    0,   34,    0,
365     0,    0,   65,    0,    0,    0,    0,    0,    0,   40,
366     0,   41,   42,   43,   44,   45,    0,    0,    0,    0,
367    46,   47,   48,   49,   50,   51,    0,    0,    0,   60,
368     0,  139,   53,    0,  139,    0,  165,  166,  167,  168,
369     0,    0,   56,    0,   57,   58,    0,    0,  139,  139,
370    26,   27,   28,   29,   30,    0,   31,   32,   33,  176,
371   177,   25,   34,  178,   55,    0,  179,  180,  181,    0,
372     0,    0,    0,   40,    0,   41,   42,   43,   44,   45,
373     0,    0,    0,  139,   46,   47,   48,   49,   50,   51,
374    54,    0,    0,   64,   66,   52,   53,   59,    0,   67,
375    63,    0,   62,    0,    0,    0,   56,    0,   57,   58,
376   165,  166,  167,  168,    0,    0,  128,    0,    0,    0,
377     0,   65,    0,    0,    0,    0,    0,    0,    0,    0,
378   173,  174,  175,  176,  177,    0,    0,  178,    0,    0,
379   179,  180,  181,  165,  166,  167,  168,    0,   60,    0,
380    54,    0,    0,   64,   66,   52,    0,   59,  144,   67,
381    63,    0,   62,    0,  174,  175,  176,  177,    0,    0,
382   178,    0,    0,  179,  180,  181,    0,    0,    0,    0,
383     0,   65,    0,   55,    0,    0,    0,    0,    0,    0,
384     0,    0,    0,    0,    0,  124,   27,   28,   29,   30,
385     0,   31,   32,   33,    0,    0,    0,   34,   60,    0,
386     0,    0,    0,    0,    0,    0,    0,    0,   40,    0,
387    41,   42,   43,   44,   45,    0,    0,    0,    0,   46,
388    47,   48,   49,   50,   51,   54,    0,    0,   64,   66,
389    52,   53,   59,   55,   67,   63,    0,   62,    0,    0,
390     0,   56,    0,   57,   58,    0,    0,    0,    0,    0,
391     0,    0,  139,  139,  139,  139,   65,    0,    0,  139,
392     0,    0,    0,    0,    0,    0,   54,    0,    0,   64,
393    66,   52,    0,   59,  212,   67,   63,    0,   62,    0,
394   139,  139,  139,   60,  139,  146,    0,    0,    0,    0,
395     0,    0,    0,    0,    0,    0,    0,   65,    0,   73,
396     0,    0,   73,    0,   26,   27,   28,   29,   30,    0,
397    31,   32,   33,    0,    0,    0,   34,   73,   55,    0,
398     0,    0,    0,    0,   60,    0,    0,   40,    0,   41,
399    42,   43,   44,   45,    0,    0,    0,    0,   46,   47,
400    48,   49,   50,   51,    0,    0,    0,    0,    0,    0,
401    53,   73,    0,    0,    0,    0,    0,    0,    0,   55,
402    56,    0,   57,   58,   26,   27,   28,   29,   30,    0,
403    31,   32,   33,    0,   54,    0,   34,   64,   66,   52,
404     0,   59,  223,   67,   63,    0,   62,   40,    0,   41,
405    42,   43,   44,   45,    0,    0,    0,    0,   46,   47,
406    48,   49,   50,   51,    0,   65,    0,    0,    0,    0,
407    53,  165,  166,  167,  168,    0,    0,    0,    0,    0,
408    56,    0,   57,   58,    0,    0,    0,   78,    0,    0,
409    78,    0,   60,  175,  176,  177,    0,    0,  178,    0,
410     0,  179,  180,  181,   78,   78,    0,    0,    0,   26,
411    27,   28,   29,   30,    0,   31,   32,   33,    0,    0,
412     0,   34,   74,    0,    0,   74,    0,   55,    0,    0,
413     0,    0,   40,    0,   41,   42,   43,   44,   45,   78,
414    74,    0,    0,   46,   47,   48,   49,   50,   51,    0,
415    26,   27,   28,   29,   30,   53,   31,   32,   33,    0,
416     0,    0,   34,    0,    0,   56,    0,   57,   58,    0,
417     0,    0,    0,   40,   74,   41,   42,   43,   44,   45,
418     0,    0,    0,    0,   46,   47,   48,   49,   50,   51,
419    73,   73,   73,   73,    0,   54,   53,   73,   64,   66,
420    52,    0,   59,  262,   67,   63,   56,   62,   57,   58,
421    98,   98,    0,    0,    0,    0,    0,    0,   73,   73,
422     0,    0,  111,    0,    0,    0,   65,    0,  119,   98,
423   127,    0,    0,    0,  133,   98,    0,    0,    0,    0,
424     0,    0,    0,    0,    0,    0,    0,   98,   98,   98,
425    98,    0,    0,   60,    0,    0,    0,    0,   26,   27,
426    28,   29,   30,    0,   31,   32,   33,    0,   54,    0,
427    34,   64,   66,   52,    0,   59,  270,   67,   63,    0,
428    62,   40,    0,   41,   42,   43,   44,   45,   55,    0,
429     0,    0,   46,   47,   48,   49,   50,   51,  119,   65,
430     0,    0,    0,    0,   53,    0,    0,    0,    0,    0,
431     0,    0,    0,    0,   56,    0,   57,   58,   78,   78,
432    78,   78,    0,    0,    0,   78,   60,    0,    0,    0,
433     0,   54,    0,    0,   64,   66,   52,    0,   59,    0,
434    67,   63,    0,   62,    0,    0,   78,   78,   78,    0,
435     0,    0,    0,   74,   74,   74,   74,    0,    0,    0,
436    74,   55,   65,    0,  259,    0,  161,    0,    0,  161,
437     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
438     0,   74,   74,  161,  161,    0,    0,    0,    0,   60,
439     0,  291,    0,    0,    0,    0,    0,    0,    0,    0,
440     0,    0,    0,    0,   54,    0,    0,   64,   66,   52,
441     0,   59,  303,   67,   63,    0,   62,    0,  161,   26,
442    27,   28,   29,   30,   55,   31,   32,   33,    0,    0,
443     0,   34,    0,    0,    0,   65,    0,    0,    0,    0,
444     0,    0,   40,    0,   41,   42,   43,   44,   45,    0,
445     0,    0,    0,   46,   47,   48,   49,   50,   51,    0,
446     0,    0,   60,    0,    0,   53,    0,    0,    0,    0,
447     0,    0,    0,    0,    0,   56,   54,   57,   58,   64,
448    66,   52,    0,   59,  305,   67,   63,    0,   62,    0,
449     0,    0,   26,   27,   28,   29,   30,   55,   31,   32,
450    33,    0,    0,    0,   34,    0,    0,   65,    0,    0,
451     0,    0,    0,    0,    0,   40,    0,   41,   42,   43,
452    44,   45,    0,    0,    0,    0,   46,   47,   48,   49,
453    50,   51,    0,    0,   60,    0,    0,    0,   53,    0,
454     0,    0,    0,    0,    0,    0,    0,    0,   56,    0,
455    57,   58,    0,    0,   24,   26,   27,   28,   29,   30,
456     0,   31,   32,   33,    0,    0,    0,   34,    0,   55,
457     0,    0,    0,    0,    0,    0,    0,    0,   40,    0,
458    41,   42,   43,   44,   45,    0,    0,    0,    0,   46,
459    47,   48,   49,   50,   51,    0,    0,  161,  161,  161,
460   161,   53,    0,    0,  161,    0,    0,    0,    0,    0,
461     0,   56,   54,   57,   58,   64,   66,   52,    0,   59,
462   314,   67,   63,    0,   62,  161,  161,  161,   26,   27,
463    28,   29,   30,    0,   31,   32,   33,    0,    0,    0,
464    34,    0,    0,   65,    0,    0,    0,    0,    0,    0,
465     0,   40,    0,   41,   42,   43,   44,   45,    0,    0,
466     0,    0,   46,   47,   48,   49,   50,   51,    0,    0,
467    60,    0,    0,    0,   53,    0,    0,    0,    0,    0,
468     0,    0,    0,    0,   56,   54,   57,   58,   64,   66,
469    52,    0,   59,    0,   67,   63,    0,   62,    0,    0,
470    26,   27,   28,   29,   30,   55,   31,   32,   33,    0,
471     0,    0,   34,    0,    0,    0,   65,    0,    0,    0,
472     0,    0,    0,   40,    0,   41,   42,   43,   44,   45,
473     0,    0,    0,    0,   46,   47,   48,   49,   50,   51,
474     0,    0,    0,   60,    0,    0,   53,    0,    0,    0,
475     0,    0,    0,    0,  111,    0,   56,  111,   57,   58,
476     0,    0,  167,    0,    0,  167,    0,    0,    0,    0,
477     0,  111,  111,    0,    0,    0,  111,    0,   55,  167,
478   167,    0,    0,    0,  167,    0,    0,    0,    0,    0,
479     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
480     0,    0,    0,    0,    0,    0,  111,    0,    0,    0,
481     0,    0,    0,    0,  167,    0,    0,    0,    0,    0,
482     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
483     0,    0,    0,    0,    0,    0,   26,   27,   28,   29,
484    30,    0,   31,   32,   33,    0,    0,    0,   34,    0,
485     0,    0,    0,    0,    0,    0,    0,    0,    0,   40,
486     0,   41,   42,   43,   44,   45,    0,    0,    0,    0,
487    46,   47,   48,   49,   50,   51,    0,    0,    0,    0,
488     0,  163,   53,    0,  163,    0,    0,    0,    0,    0,
489     0,    0,   56,    0,   57,   58,    0,    0,  163,  163,
490     0,  102,    0,  163,  102,    0,    0,    0,    0,   26,
491    27,   28,   29,   30,    0,   31,   32,   33,  102,  102,
492     0,   34,    0,    0,    0,    0,    0,    0,    0,    0,
493     0,    0,   40,  163,   41,   42,   43,   44,   45,    0,
494     0,    0,    0,   46,   47,   48,   49,   50,   51,    0,
495     0,  102,    0,  102,   77,   53,    0,   77,    0,  112,
496     0,    0,    0,  117,    0,   56,  126,   57,   58,  131,
497     0,   77,   77,  139,  140,  141,  142,  143,    0,    0,
498     0,  148,  149,    0,    0,  111,  111,  111,  111,    0,
499     0,    0,  111,  167,  167,  167,  167,    0,    0,    0,
500   167,    0,  167,    0,    0,    0,   77,    0,  167,  167,
501   167,  167,    0,  111,  111,  111,    0,  111,    0,    0,
502   201,  167,  167,  167,    0,  167,  167,  167,  167,  167,
503   167,  167,  167,    0,    0,  167,    0,    0,  167,  167,
504   167,    0,    0,    0,    0,    0,  183,    0,    0,  183,
505     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
506     0,    0,    0,  183,  183,    0,    0,    0,  183,    0,
507     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
508     0,    0,    0,  240,  241,  242,  243,  244,  245,  246,
509   247,  248,  249,  250,  251,  252,  253,  254,  183,    0,
510   150,    0,    0,  150,    0,    0,    0,    0,    0,    0,
511     0,  272,  163,  163,  163,  163,    0,  150,  150,  163,
512     0,  163,  150,    0,    0,    0,    0,  163,  163,  163,
513   163,    0,  102,  102,  102,  102,    0,    0,    0,  102,
514   163,  163,  163,    0,  163,  163,  163,  163,  163,  163,
515   163,  163,  150,  145,  163,    0,  145,  163,  163,  163,
516   102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
517   145,  145,    0,    0,    0,  145,    0,    0,    0,    0,
518     0,    0,    0,    0,    0,   77,   77,   77,   77,    0,
519     0,    0,   77,    0,    0,    0,    0,    0,  334,    0,
520     0,  148,    0,    0,  148,  145,    0,    0,    0,    0,
521     0,    0,    0,   77,   77,   77,    0,    0,  148,  148,
522     0,    0,    0,  148,    0,    0,    0,    0,    0,    0,
523     0,  350,    0,    0,    0,    0,    0,    0,    0,    0,
524     0,    0,    0,    0,    0,    0,    0,    0,    0,  146,
525     0,    0,  146,  148,    0,    0,    0,    0,    0,    0,
526     0,    0,    0,    0,    0,    0,  146,  146,    0,    0,
527     0,  146,    0,    0,    0,    0,    0,  183,  183,  183,
528   183,    0,    0,    0,  183,    0,  183,    0,    0,    0,
529     0,    0,  183,  183,  183,  183,    0,    0,    0,    0,
530     0,  146,    0,    0,    0,  183,  183,  183,    0,  183,
531   183,  183,  183,  183,  183,  183,  183,    0,    0,  183,
532     0,    0,  183,  183,  183,    0,    0,    0,    0,    0,
533     0,  150,  150,  150,  150,    0,  156,    0,  150,  156,
534   150,    0,    0,    0,    0,    0,  150,  150,  150,  150,
535     0,    0,    0,  156,  156,    0,    0,    0,  156,  150,
536   150,  150,    0,  150,  150,  150,  150,  150,  150,  150,
537   150,    0,    0,  150,    0,    0,  150,  150,  150,    0,
538     0,    0,    0,    0,  145,  145,  145,  145,  156,    0,
539     0,  145,    0,  145,    0,    0,    0,    0,    0,  145,
540   145,  145,  145,    0,    0,    0,    0,    0,    0,    0,
541     0,    0,  145,  145,  145,    0,  145,  145,  145,  145,
542   145,  145,  145,  145,    0,    0,  145,    0,    0,  145,
543   145,  145,  148,  148,  148,  148,    0,    0,    0,  148,
544     0,  148,    0,    0,    0,    0,    0,  148,  148,  148,
545   148,    0,    0,    0,    0,    0,    0,    0,    0,    0,
546   148,  148,  148,    0,  148,  148,  148,  148,  148,  148,
547   148,  148,    0,    0,  148,    0,    0,  148,  148,  148,
548   146,  146,  146,  146,    0,  174,    0,  146,  174,  146,
549     0,    0,    0,    0,    0,  146,  146,  146,  146,    0,
550     0,    0,  174,  174,    0,    0,    0,  174,  146,  146,
551   146,    0,  146,  146,  146,  146,  146,  146,  146,  146,
552     0,    0,  146,    0,    0,  146,  146,  146,    0,    0,
553     0,    0,    0,    0,    0,  177,    0,  174,  177,    0,
554     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
555     0,    0,  177,  177,    0,    0,    0,  177,    0,    0,
556     0,    0,    0,    0,    0,    0,    0,  156,  156,  156,
557   156,    0,    0,    0,  156,    0,  156,    0,    0,    0,
558     0,    0,  156,  156,  156,  156,    0,  177,    0,    0,
559     0,    0,    0,    0,    0,  156,  156,  156,    0,  156,
560   156,  156,  156,  156,  156,  156,  156,  144,    0,  156,
561   144,    0,  156,  156,  156,    0,    0,    0,    0,    0,
562     0,    0,    0,    0,  144,  144,    0,    0,    0,  144,
563     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
564     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
565     0,    0,    0,    0,    0,   76,    0,    0,   76,  144,
566     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
567     0,    0,   76,   76,    0,    0,    0,   76,    0,    0,
568     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
569     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
570     0,    0,    0,    0,  184,    0,    0,   76,    0,    0,
571     0,    0,    0,    0,    0,    0,  174,  174,  174,  174,
572     0,  184,  184,  174,    0,  174,  184,    0,    0,    0,
573     0,  174,  174,  174,  174,    0,    0,    0,    0,    0,
574     0,    0,    0,    0,  174,  174,  174,    0,  174,  174,
575   174,  174,  174,  174,  174,  174,  184,    0,  174,    0,
576     0,  174,  174,  174,    0,    0,  177,  177,  177,  177,
577     0,   66,    0,  177,   66,  177,    0,    0,    0,    0,
578     0,  177,  177,  177,  177,    0,    0,    0,   66,   66,
579     0,    0,    0,   66,  177,  177,  177,    0,  177,  177,
580   177,  177,  177,  177,  177,  177,    0,    0,  177,    0,
581     0,  177,  177,  177,    0,    0,    0,    0,    0,    0,
582     0,    0,    0,   66,    0,    0,  143,    0,    0,  143,
583     0,    0,    0,    0,    0,    0,    0,    0,  144,  144,
584   144,  144,    0,  143,  143,  144,    0,  144,  143,    0,
585     0,    0,    0,  144,  144,  144,  144,    0,    0,    0,
586     0,    0,    0,    0,    0,    0,  144,  144,  144,    0,
587   144,  144,  144,  144,  144,  144,  144,  144,  143,    0,
588   144,    0,    0,  144,  144,  144,   76,   76,   76,   76,
589     0,   82,    0,   76,   82,   76,    0,    0,    0,    0,
590     0,   76,   76,   76,   76,    0,    0,    0,   82,   82,
591     0,    0,    0,   82,   76,   76,   76,    0,   76,   76,
592    76,   76,   76,   76,   76,   76,    0,    0,   76,    0,
593     0,   76,   76,   76,    0,  184,  184,  184,  184,  162,
594     0,    0,  184,   82,  184,    0,    0,    0,    0,    0,
595   184,  184,  184,  184,    0,    0,  162,  162,    0,    0,
596     0,  162,    0,  184,  184,  184,    0,  184,  184,  184,
597   184,  184,  184,  184,  184,    0,    0,  184,    0,    0,
598   184,  184,  184,    0,    0,    0,    0,    0,    0,    0,
599    79,  162,    0,    0,    0,    0,    0,    0,    0,    0,
600     0,    0,   66,   66,   66,   66,    0,   79,   79,   66,
601     0,   66,   79,    0,    0,    0,    0,   66,   66,   66,
602    66,    0,    0,    0,    0,    0,    0,    0,    0,    0,
603    66,   66,   66,    0,   66,   66,   66,   66,   66,   66,
604    66,   66,   79,    0,   66,    0,    0,   66,   66,   66,
605     0,    0,    0,    0,    0,    0,    0,  143,  143,  143,
606   143,    0,  122,    0,  143,  122,  143,    0,    0,    0,
607     0,    0,  143,  143,  143,  143,    0,    0,    0,  122,
608   122,    0,    0,    0,  122,  143,  143,  143,    0,  143,
609   143,  143,  143,  143,  143,  143,  143,    0,    0,  143,
610     0,    0,  143,  143,  143,    0,    0,    0,    0,    0,
611   123,    0,    0,  123,  122,    0,    0,    0,    0,    0,
612     0,    0,   82,   82,   82,   82,    0,  123,  123,   82,
613     0,   82,  123,    0,    0,    0,    0,   82,   82,   82,
614    82,    0,    0,    0,    0,    0,    0,    0,    0,    0,
615    82,   82,   82,    0,   82,   82,   82,   82,   82,   82,
616    82,   82,  123,    0,   82,    0,    0,   82,   82,   82,
617   162,  162,  162,  162,    0,  118,    0,  162,  118,  162,
618     0,    0,    0,    0,    0,  162,  162,  162,  162,    0,
619     0,    0,  118,  118,    0,    0,    0,  118,  162,  162,
620   162,    0,  162,  162,  162,  162,  162,  162,  162,  162,
621     0,    0,  162,    0,    0,  162,  162,  162,    0,    0,
622     0,   79,   79,   79,   79,    0,  119,  118,   79,  119,
623    79,    0,    0,    0,    0,    0,   79,   79,   79,   79,
624     0,    0,    0,  119,  119,    0,    0,    0,  119,   79,
625    79,   79,    0,   79,   79,   79,   79,   79,   79,   79,
626    79,    0,    0,   79,    0,    0,   79,   79,   79,    0,
627     0,    0,    0,    0,    0,    0,    0,    0,  119,    0,
628     0,  140,    0,    0,  140,    0,    0,    0,    0,    0,
629     0,    0,    0,  122,  122,  122,  122,    0,  140,  140,
630   122,    0,  122,  140,    0,    0,    0,    0,  122,  122,
631   122,  122,    0,    0,    0,    0,    0,    0,    0,    0,
632     0,  122,  122,  122,    0,  122,  122,  122,  122,  122,
633   122,  122,  122,  140,    0,  122,    0,    0,    0,    0,
634     0,  123,  123,  123,  123,    0,  116,    0,  123,  116,
635   123,    0,    0,    0,    0,    0,  123,  123,  123,  123,
636     0,    0,    0,  116,  116,    0,    0,    0,  116,  123,
637   123,  123,    0,  123,  123,  123,  123,  123,  123,  123,
638   123,    0,    0,  123,    0,    0,    0,    0,    0,    0,
639     0,    0,    0,    0,  117,    0,    0,  117,  116,    0,
640     0,    0,    0,    0,    0,    0,  118,  118,  118,  118,
641     0,  117,  117,  118,    0,  118,  117,    0,    0,    0,
642     0,  118,  118,  118,  118,    0,    0,    0,    0,    0,
643     0,    0,    0,    0,  118,  118,  118,    0,  118,  118,
644   118,  118,  118,  118,  118,  118,  117,    0,    0,    0,
645     0,    0,    0,    0,    0,    0,    0,  119,  119,  119,
646   119,    0,    0,    0,  119,    0,  119,    0,    0,    0,
647     0,    0,  119,  119,  119,  119,    0,    0,    0,    0,
648   115,    0,    0,  115,    0,  119,  119,  119,    0,  119,
649   119,  119,  119,  119,  119,  119,  119,  115,  115,    0,
650     0,    0,  115,    0,    0,    0,    0,    0,    0,    0,
651     0,    0,  140,  140,  140,  140,    0,    0,    0,  140,
652     0,  140,    0,    0,    0,    0,    0,  140,  140,  140,
653   140,    0,  115,    0,    0,  103,    0,    0,  103,    0,
654   140,  140,  140,    0,  140,  140,  140,  140,  140,  140,
655   140,  140,  103,  103,    0,    0,    0,  103,    0,    0,
656     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
657     0,    0,    0,    0,    0,    0,    0,  116,  116,  116,
658   116,    0,    0,    0,  116,    0,  116,  103,    0,    0,
659     0,    0,  116,  116,  116,  116,    0,    0,    0,    0,
660   104,    0,    0,  104,    0,  116,  116,  116,    0,  116,
661   116,  116,  116,  116,  116,  116,  116,  104,  104,    0,
662     0,    0,  104,    0,    0,  117,  117,  117,  117,    0,
663     0,    0,  117,    0,  117,    0,    0,    0,    0,    0,
664   117,  117,  117,  117,    0,    0,    0,    0,  105,    0,
665     0,  105,  104,  117,  117,  117,    0,  117,  117,  117,
666   117,  117,  117,  117,  117,  105,  105,    0,    0,    0,
667   105,    0,    0,    0,    0,    0,    0,    0,    0,    0,
668     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
669     0,    0,    0,    0,    0,    0,    0,    0,    0,  106,
670   105,    0,  106,    0,    0,    0,    0,    0,    0,    0,
671     0,  115,  115,  115,  115,    0,  106,  106,  115,    0,
672   115,  106,    0,    0,    0,    0,  115,  115,  115,  115,
673     0,    0,    0,    0,    0,    0,    0,    0,    0,  115,
674   115,  115,    0,  115,  115,  115,  115,  115,  115,  115,
675   115,  106,    0,    0,  166,    0,    0,  166,    0,    0,
676     0,    0,    0,    0,    0,    0,  103,  103,  103,  103,
677     0,  166,  166,  103,    0,  103,  166,    0,    0,    0,
678     0,  103,  103,  103,  103,    0,    0,    0,    0,    0,
679     0,    0,    0,    0,  103,  103,  103,    0,  103,  103,
680   103,  103,  103,  103,  103,  103,  166,    0,    0,    0,
681     0,    0,    0,    0,    0,    0,    0,    0,    0,  165,
682     0,    0,  165,    0,    0,    0,    0,    0,    0,    0,
683     0,  104,  104,  104,  104,    0,  165,  165,  104,    0,
684   104,  165,    0,    0,    0,    0,  104,  104,  104,  104,
685     0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
686   104,  104,    0,  104,  104,  104,  104,  104,  104,  104,
687     0,  165,    0,    0,  129,    0,    0,  129,    0,  105,
688   105,  105,  105,    0,  142,    0,  105,  142,  105,    0,
689     0,  129,  129,    0,  105,  105,  129,  105,    0,    0,
690     0,  142,  142,    0,    0,    0,  142,  105,  105,  105,
691     0,  105,  105,  105,  105,  105,  105,  105,    0,    0,
692     0,    0,    0,    0,    0,  107,  129,    0,  107,    0,
693   106,  106,  106,  106,    0,    0,  142,  106,    0,  106,
694     0,    0,  107,  107,    0,  106,  106,  107,    0,    0,
695     0,    0,    0,    0,    0,    0,    0,    0,  106,  106,
696   106,    0,  106,  106,  106,  106,  106,  106,  106,    0,
697     0,    0,    0,  108,    0,    0,  108,  107,    0,    0,
698     0,    0,    0,    0,    0,  166,  166,  166,  166,    0,
699   108,  108,  166,    0,  166,  108,    0,    0,    0,    0,
700   166,  166,    0,    0,    0,    0,    0,    0,    0,    0,
701     0,    0,    0,  166,  166,  166,    0,  166,  166,  166,
702   166,  166,  166,  109,    0,  108,  109,    0,    0,    0,
703     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704   109,  109,    0,    0,    0,  109,    0,    0,    0,    0,
705   165,  165,  165,  165,    0,    0,    0,  165,    0,  165,
706     0,    0,    0,    0,    0,  165,  165,    0,    0,    0,
707     0,  110,    0,    0,  110,  109,    0,    0,  165,  165,
708   165,    0,  165,  165,  165,  165,  165,  165,  110,  110,
709     0,    0,    0,  110,    0,    0,    0,    0,    0,    0,
710     0,    0,    0,    0,    0,  129,  129,  129,  129,    0,
711   112,    0,  129,  112,  129,  142,  142,  142,  142,    0,
712   129,  129,  142,  110,  142,    0,    0,  112,  112,    0,
713   142,  142,  112,  129,  129,  129,    0,  129,  129,  129,
714   129,  129,  129,  142,  142,  142,    0,  142,  142,  142,
715   142,  142,  142,    0,    0,    0,  107,  107,  107,  107,
716     0,    0,  112,  107,    0,  107,    0,    0,    0,    0,
717     0,    0,  107,    0,    0,    0,    0,  113,    0,    0,
718   113,    0,    0,    0,  107,  107,  107,    0,  107,  107,
719   107,  107,  107,  107,  113,  113,    0,    0,    0,  113,
720     0,    0,    0,    0,  108,  108,  108,  108,    0,    0,
721     0,  108,    0,  108,    0,    0,    0,    0,    0,    0,
722     0,    0,    0,    0,    0,  114,    0,    0,  114,  113,
723     0,    0,  108,  108,  108,    0,  108,  108,  108,  108,
724   108,  108,  114,  114,    0,    0,    0,  114,    0,    0,
725     0,    0,    0,    0,  109,  109,  109,  109,    0,    0,
726     0,  109,    0,  109,    0,    0,    0,    0,    0,    0,
727     0,    0,    0,    0,    0,    0,    0,  114,    0,    0,
728     0,    0,  109,  109,  109,    0,  109,  109,  109,  109,
729   109,  109,    0,    0,    0,    0,    0,    0,    0,    0,
730     0,    0,  110,  110,  110,  110,    0,    0,    0,  110,
731     0,  110,    0,    0,    0,    0,    0,    0,    0,    0,
732     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
733   110,  110,  110,    0,  110,  110,  110,  110,  110,    0,
734     0,  112,  112,  112,  112,    0,    0,    0,  112,    0,
735   112,    0,    0,    0,    0,    0,    0,    0,    0,    0,
736     0,    0,    0,    0,    0,    0,    0,    0,    0,  112,
737   112,  112,    0,  112,  112,  112,  112,    0,    0,    0,
738     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
739     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
740     0,    0,    0,    0,    0,    0,    0,    0,  113,  113,
741   113,  113,    0,    0,    0,  113,    0,  113,    0,    0,
742     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
743     0,    0,    0,    0,    0,    0,  113,  113,  113,    0,
744   113,  113,  113,    0,    0,    0,    0,    0,    0,    0,
745     0,    0,    0,    0,    0,    0,  114,  114,  114,  114,
746     0,    0,    0,  114,    0,  114,    0,    0,    0,    0,
747     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
748     0,    0,    0,    0,  114,  114,  114,    0,  114,  114,
749   114,
750 };
751 static short yycheck[] = {                                      15,
752    94,   44,   41,   36,   59,   41,   41,  123,   44,   36,
753    99,   59,   40,   40,   40,   59,  200,   36,  365,   91,
754    59,   40,  209,   91,   41,  257,   93,   63,   59,  266,
755   267,  268,   48,  270,  271,  276,  277,  104,   41,   93,
756   197,  130,   59,   59,   60,  257,  203,  257,   41,  396,
757    59,  123,   41,   41,   93,  123,   41,    8,    9,   44,
758   297,   59,   40,   91,   91,   91,   59,   40,  123,   40,
759    59,   40,   40,   58,   59,  123,   28,   15,   63,  123,
760    41,   40,  105,  106,  107,  108,  109,  110,  257,    0,
761   123,   40,  123,   45,   46,  123,  123,  123,  114,  115,
762    52,   41,   41,   40,  278,   41,   44,   40,   93,   47,
763   123,  298,   64,   65,   66,   67,  132,   41,   41,   59,
764    59,   41,   33,   59,   59,   36,   37,   38,   41,   40,
765   289,   42,   43,  317,   45,   41,   59,   44,   41,   59,
766   156,  157,  158,  159,  160,  161,  162,  163,   59,  123,
767    88,  260,  311,   64,  341,  314,  257,   41,  317,  318,
768   319,   40,  125,  115,   40,  103,  182,  183,  184,  185,
769   186,  187,  188,  189,  190,   41,  289,  290,   59,   40,
770    91,   59,  298,  298,  200,    0,  275,  210,  204,  205,
771    59,  207,  281,  209,   59,  319,   91,   59,  311,  386,
772   216,  314,  218,  219,  317,  318,  319,  298,  257,   36,
773    37,  227,  123,   40,  125,  126,  154,   36,   33,   93,
774    41,   36,   37,   38,  257,   40,  125,   42,   43,  262,
775    45,  258,   91,  272,  273,  274,  275,   64,  260,  255,
776   279,  257,  258,  298,   59,  281,  300,  301,  302,   64,
777   302,  287,  288,  289,  290,   40,  260,  300,  301,  302,
778    41,  300,  301,  302,   41,  300,  301,  302,  304,  305,
779   306,  307,  308,  309,  310,  311,   91,  296,  314,  373,
780    41,  317,  318,  319,   41,   59,   41,  272,  273,  274,
781   275,  300,  301,  302,  279,  311,  281,  300,  301,  302,
782    40,  317,  287,  288,  289,  290,   93,   41,  123,   93,
783   125,  126,  300,  301,  302,  300,  301,  302,  125,  304,
784   305,  306,  307,  308,  309,  310,  311,  343,   93,  314,
785   125,   93,  317,  318,  319,   93,  274,  125,  276,  300,
786   301,  302,  125,  123,  282,  256,  257,  258,  259,  260,
787   261,   59,  263,  264,  265,  266,  267,  268,  269,  270,
788   271,  272,  273,  274,  275,   41,  382,   41,  279,  280,
789     0,  282,  283,  284,  285,  286,  300,  301,  302,  125,
790   291,  292,  293,  294,  295,  296,  297,  300,  301,  302,
791    59,   41,  303,   40,  300,  301,  302,  300,  301,  302,
792    41,   41,  313,   33,  315,  316,   36,   37,   38,  125,
793    40,  123,   42,   43,   41,   45,  300,  301,  302,  300,
794   301,  302,  300,  301,  302,  123,  300,  301,  302,   59,
795    41,  300,  301,  302,   64,  300,  301,  302,  300,  301,
796   302,  256,  257,  258,  259,  260,  261,   59,  263,  264,
797   265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
798   275,   91,   41,   59,  279,  280,   63,  282,  283,  284,
799   285,  286,   41,   59,  125,   41,  291,  292,  293,  294,
800   295,  296,  297,  300,  301,  302,   34,   51,  303,   51,
801   338,  339,  340,  123,  342,   15,  126,  157,  313,   33,
802   315,  316,   36,   37,   38,  382,   40,   41,   42,   43,
803    44,   45,  343,  300,  301,  302,  300,  301,  302,  207,
804    23,  369,  276,   -1,   58,   59,   -1,   -1,  376,   63,
805    64,   -1,  380,   -1,   -1,  300,  301,  302,  300,  301,
806   302,   -1,  300,  301,  302,  393,  394,   -1,   -1,   -1,
807   266,  267,  268,   -1,  270,  271,   -1,   91,  314,   93,
808    -1,  317,  318,  319,   33,   -1,   -1,   36,   37,   38,
809    -1,   40,   41,   42,   43,   44,   45,   -1,   -1,   -1,
810    -1,  297,  287,  288,  289,  290,  362,  363,   -1,   58,
811    59,  367,  126,   -1,   63,   64,   -1,   -1,   -1,   -1,
812   305,  306,  307,  308,  309,  310,  311,  383,   -1,  314,
813    -1,  387,  317,  318,  319,  266,  267,  268,   -1,  270,
814   271,   -1,   -1,   -1,   93,   41,  256,  257,  258,  259,
815   260,  261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,
816    -1,   -1,  272,  273,  274,  275,  297,   63,   -1,  279,
817   280,   -1,  282,  283,  284,  285,  286,  126,   -1,   -1,
818    -1,  291,  292,  293,  294,  295,  296,   -1,   -1,   -1,
819    -1,   -1,  287,  303,  289,  290,   -1,   -1,   -1,   -1,
820    -1,   -1,   -1,  313,  281,  315,  316,   -1,   -1,   -1,
821   287,  288,  289,  290,   -1,  310,  311,   -1,   -1,  314,
822    58,   -1,  317,  318,  319,   63,   -1,  304,  305,  306,
823   307,  308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,
824   317,  318,  319,  257,  258,  259,  260,  261,   -1,  263,
825   264,  265,   -1,   -1,   -1,  269,   -1,   -1,  272,  273,
826   274,  275,   -1,   -1,   -1,  279,  280,  281,  282,  283,
827   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
828   294,  295,  296,   -1,   -1,   63,  300,  301,  302,  303,
829   304,  305,  306,  307,  308,  309,  310,  311,   -1,  313,
830   314,  315,  316,  317,  318,  319,   -1,   -1,  257,  258,
831   259,  260,  261,   -1,  263,  264,  265,   -1,   -1,   45,
832   269,   -1,   -1,  272,  273,  274,  275,   53,   -1,   -1,
833   279,  280,  281,  282,  283,  284,  285,  286,  287,  288,
834   289,  290,  291,  292,  293,  294,  295,  296,   -1,   -1,
835    -1,  300,  301,  302,  303,  304,  305,  306,  307,  308,
836   309,  310,  311,   -1,  313,  314,  315,  316,  317,  318,
837   319,   33,   -1,   99,   36,   37,   38,   -1,   40,   -1,
838    42,   43,   -1,   45,   -1,  281,   -1,   -1,   -1,   -1,
839    -1,  287,  288,  289,  290,   -1,  122,   59,  272,  273,
840   274,  275,   64,   -1,  130,  279,   -1,   -1,  304,  305,
841   306,  307,  308,  309,  310,  311,   -1,   -1,  314,   -1,
842    -1,  317,  318,  319,   -1,   -1,  300,  301,  302,   91,
843    -1,   -1,   33,   -1,   -1,   36,   37,   38,   -1,   40,
844    -1,   42,   43,  281,   45,   -1,   -1,   -1,   -1,  287,
845   288,  289,  290,   -1,   -1,   -1,   -1,   -1,   59,   -1,
846    -1,  123,   -1,   64,  126,   -1,  304,  305,  306,  307,
847   308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
848   318,  319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
849    91,   -1,   33,   -1,   -1,   36,   37,   38,   -1,   40,
850    -1,   42,   43,  281,   45,   -1,   -1,   -1,   -1,  287,
851   288,  289,  290,  311,   -1,   -1,  314,   -1,   -1,  317,
852   318,  319,  123,   64,   -1,  126,   -1,  305,  306,  307,
853   308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
854   318,  319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  275,
855    91,  289,  290,   -1,   -1,  281,   33,   -1,   -1,   36,
856    37,   38,   -1,   40,   -1,   42,   43,   -1,   45,   -1,
857    -1,   -1,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
858   318,  319,  123,   -1,   -1,  126,   -1,   64,   -1,   -1,
859    -1,   -1,   -1,   -1,  256,  257,  258,  259,  260,  261,
860    -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,   -1,
861   272,  273,  274,  275,   91,   -1,   -1,  279,  280,   -1,
862   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
863   292,  293,  294,  295,  296,   -1,   -1,   -1,   -1,   -1,
864    -1,  303,   -1,   -1,   -1,   -1,  123,   -1,   -1,  126,
865    -1,  313,   -1,  315,  316,  256,  257,  258,  259,  260,
866   261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,
867    -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,  280,
868    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
869   291,  292,  293,  294,  295,  296,   -1,   -1,   -1,   -1,
870    -1,   33,  303,   -1,   36,   37,   38,   -1,   40,   -1,
871    42,   43,  313,   45,  315,  316,  257,  258,  259,  260,
872   261,  262,  263,  264,  265,   -1,   -1,   -1,  269,   -1,
873    -1,   -1,   64,   -1,   -1,   -1,   -1,   -1,   -1,  280,
874    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
875   291,  292,  293,  294,  295,  296,   -1,   -1,   -1,   91,
876    -1,   41,  303,   -1,   44,   -1,  287,  288,  289,  290,
877    -1,   -1,  313,   -1,  315,  316,   -1,   -1,   58,   59,
878   257,  258,  259,  260,  261,   -1,  263,  264,  265,  310,
879   311,  123,  269,  314,  126,   -1,  317,  318,  319,   -1,
880    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
881    -1,   -1,   -1,   93,  291,  292,  293,  294,  295,  296,
882    33,   -1,   -1,   36,   37,   38,  303,   40,   -1,   42,
883    43,   -1,   45,   -1,   -1,   -1,  313,   -1,  315,  316,
884   287,  288,  289,  290,   -1,   -1,   59,   -1,   -1,   -1,
885    -1,   64,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
886   307,  308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,
887   317,  318,  319,  287,  288,  289,  290,   -1,   91,   -1,
888    33,   -1,   -1,   36,   37,   38,   -1,   40,   41,   42,
889    43,   -1,   45,   -1,  308,  309,  310,  311,   -1,   -1,
890   314,   -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,
891    -1,   64,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
892    -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,
893    -1,  263,  264,  265,   -1,   -1,   -1,  269,   91,   -1,
894    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,
895   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
896   292,  293,  294,  295,  296,   33,   -1,   -1,   36,   37,
897    38,  303,   40,  126,   42,   43,   -1,   45,   -1,   -1,
898    -1,  313,   -1,  315,  316,   -1,   -1,   -1,   -1,   -1,
899    -1,   -1,  272,  273,  274,  275,   64,   -1,   -1,  279,
900    -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   36,
901    37,   38,   -1,   40,   41,   42,   43,   -1,   45,   -1,
902   300,  301,  302,   91,  304,   93,   -1,   -1,   -1,   -1,
903    -1,   -1,   -1,   -1,   -1,   -1,   -1,   64,   -1,   41,
904    -1,   -1,   44,   -1,  257,  258,  259,  260,  261,   -1,
905   263,  264,  265,   -1,   -1,   -1,  269,   59,  126,   -1,
906    -1,   -1,   -1,   -1,   91,   -1,   -1,  280,   -1,  282,
907   283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,
908   293,  294,  295,  296,   -1,   -1,   -1,   -1,   -1,   -1,
909   303,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  126,
910   313,   -1,  315,  316,  257,  258,  259,  260,  261,   -1,
911   263,  264,  265,   -1,   33,   -1,  269,   36,   37,   38,
912    -1,   40,   41,   42,   43,   -1,   45,  280,   -1,  282,
913   283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,  292,
914   293,  294,  295,  296,   -1,   64,   -1,   -1,   -1,   -1,
915   303,  287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,
916   313,   -1,  315,  316,   -1,   -1,   -1,   41,   -1,   -1,
917    44,   -1,   91,  309,  310,  311,   -1,   -1,  314,   -1,
918    -1,  317,  318,  319,   58,   59,   -1,   -1,   -1,  257,
919   258,  259,  260,  261,   -1,  263,  264,  265,   -1,   -1,
920    -1,  269,   41,   -1,   -1,   44,   -1,  126,   -1,   -1,
921    -1,   -1,  280,   -1,  282,  283,  284,  285,  286,   93,
922    59,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
923   257,  258,  259,  260,  261,  303,  263,  264,  265,   -1,
924    -1,   -1,  269,   -1,   -1,  313,   -1,  315,  316,   -1,
925    -1,   -1,   -1,  280,   93,  282,  283,  284,  285,  286,
926    -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,  296,
927   272,  273,  274,  275,   -1,   33,  303,  279,   36,   37,
928    38,   -1,   40,   41,   42,   43,  313,   45,  315,  316,
929    27,   28,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,
930    -1,   -1,   39,   -1,   -1,   -1,   64,   -1,   45,   46,
931    47,   -1,   -1,   -1,   51,   52,   -1,   -1,   -1,   -1,
932    -1,   -1,   -1,   -1,   -1,   -1,   -1,   64,   65,   66,
933    67,   -1,   -1,   91,   -1,   -1,   -1,   -1,  257,  258,
934   259,  260,  261,   -1,  263,  264,  265,   -1,   33,   -1,
935   269,   36,   37,   38,   -1,   40,   41,   42,   43,   -1,
936    45,  280,   -1,  282,  283,  284,  285,  286,  126,   -1,
937    -1,   -1,  291,  292,  293,  294,  295,  296,  115,   64,
938    -1,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,   -1,
939    -1,   -1,   -1,   -1,  313,   -1,  315,  316,  272,  273,
940   274,  275,   -1,   -1,   -1,  279,   91,   -1,   -1,   -1,
941    -1,   33,   -1,   -1,   36,   37,   38,   -1,   40,   -1,
942    42,   43,   -1,   45,   -1,   -1,  300,  301,  302,   -1,
943    -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,
944   279,  126,   64,   -1,  181,   -1,   41,   -1,   -1,   44,
945    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
946    -1,  300,  301,   58,   59,   -1,   -1,   -1,   -1,   91,
947    -1,  208,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
948    -1,   -1,   -1,   -1,   33,   -1,   -1,   36,   37,   38,
949    -1,   40,   41,   42,   43,   -1,   45,   -1,   93,  257,
950   258,  259,  260,  261,  126,  263,  264,  265,   -1,   -1,
951    -1,  269,   -1,   -1,   -1,   64,   -1,   -1,   -1,   -1,
952    -1,   -1,  280,   -1,  282,  283,  284,  285,  286,   -1,
953    -1,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
954    -1,   -1,   91,   -1,   -1,  303,   -1,   -1,   -1,   -1,
955    -1,   -1,   -1,   -1,   -1,  313,   33,  315,  316,   36,
956    37,   38,   -1,   40,   41,   42,   43,   -1,   45,   -1,
957    -1,   -1,  257,  258,  259,  260,  261,  126,  263,  264,
958   265,   -1,   -1,   -1,  269,   -1,   -1,   64,   -1,   -1,
959    -1,   -1,   -1,   -1,   -1,  280,   -1,  282,  283,  284,
960   285,  286,   -1,   -1,   -1,   -1,  291,  292,  293,  294,
961   295,  296,   -1,   -1,   91,   -1,   -1,   -1,  303,   -1,
962    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  313,   -1,
963   315,  316,   -1,   -1,  256,  257,  258,  259,  260,  261,
964    -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,  126,
965    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,   -1,
966   282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,  291,
967   292,  293,  294,  295,  296,   -1,   -1,  272,  273,  274,
968   275,  303,   -1,   -1,  279,   -1,   -1,   -1,   -1,   -1,
969    -1,  313,   33,  315,  316,   36,   37,   38,   -1,   40,
970    41,   42,   43,   -1,   45,  300,  301,  302,  257,  258,
971   259,  260,  261,   -1,  263,  264,  265,   -1,   -1,   -1,
972   269,   -1,   -1,   64,   -1,   -1,   -1,   -1,   -1,   -1,
973    -1,  280,   -1,  282,  283,  284,  285,  286,   -1,   -1,
974    -1,   -1,  291,  292,  293,  294,  295,  296,   -1,   -1,
975    91,   -1,   -1,   -1,  303,   -1,   -1,   -1,   -1,   -1,
976    -1,   -1,   -1,   -1,  313,   33,  315,  316,   36,   37,
977    38,   -1,   40,   -1,   42,   43,   -1,   45,   -1,   -1,
978   257,  258,  259,  260,  261,  126,  263,  264,  265,   -1,
979    -1,   -1,  269,   -1,   -1,   -1,   64,   -1,   -1,   -1,
980    -1,   -1,   -1,  280,   -1,  282,  283,  284,  285,  286,
981    -1,   -1,   -1,   -1,  291,  292,  293,  294,  295,  296,
982    -1,   -1,   -1,   91,   -1,   -1,  303,   -1,   -1,   -1,
983    -1,   -1,   -1,   -1,   41,   -1,  313,   44,  315,  316,
984    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
985    -1,   58,   59,   -1,   -1,   -1,   63,   -1,  126,   58,
986    59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,
987    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
988    -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,
989    -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,
990    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
991    -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
992   261,   -1,  263,  264,  265,   -1,   -1,   -1,  269,   -1,
993    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  280,
994    -1,  282,  283,  284,  285,  286,   -1,   -1,   -1,   -1,
995   291,  292,  293,  294,  295,  296,   -1,   -1,   -1,   -1,
996    -1,   41,  303,   -1,   44,   -1,   -1,   -1,   -1,   -1,
997    -1,   -1,  313,   -1,  315,  316,   -1,   -1,   58,   59,
998    -1,   41,   -1,   63,   44,   -1,   -1,   -1,   -1,  257,
999   258,  259,  260,  261,   -1,  263,  264,  265,   58,   59,
1000    -1,  269,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1001    -1,   -1,  280,   93,  282,  283,  284,  285,  286,   -1,
1002    -1,   -1,   -1,  291,  292,  293,  294,  295,  296,   -1,
1003    -1,   32,   -1,   93,   41,  303,   -1,   44,   -1,   40,
1004    -1,   -1,   -1,   44,   -1,  313,   47,  315,  316,   50,
1005    -1,   58,   59,   54,   55,   56,   57,   58,   -1,   -1,
1006    -1,   62,   63,   -1,   -1,  272,  273,  274,  275,   -1,
1007    -1,   -1,  279,  272,  273,  274,  275,   -1,   -1,   -1,
1008   279,   -1,  281,   -1,   -1,   -1,   93,   -1,  287,  288,
1009   289,  290,   -1,  300,  301,  302,   -1,  304,   -1,   -1,
1010   101,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1011   309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,  318,
1012   319,   -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,
1013    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1014    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,
1015    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1016    -1,   -1,   -1,  164,  165,  166,  167,  168,  169,  170,
1017   171,  172,  173,  174,  175,  176,  177,  178,   93,   -1,
1018    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
1019    -1,  192,  272,  273,  274,  275,   -1,   58,   59,  279,
1020    -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,
1021   290,   -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,
1022   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1023   310,  311,   93,   41,  314,   -1,   44,  317,  318,  319,
1024   300,  301,  302,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1025    58,   59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,
1026    -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,
1027    -1,   -1,  279,   -1,   -1,   -1,   -1,   -1,  279,   -1,
1028    -1,   41,   -1,   -1,   44,   93,   -1,   -1,   -1,   -1,
1029    -1,   -1,   -1,  300,  301,  302,   -1,   -1,   58,   59,
1030    -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
1031    -1,  312,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1032    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,
1033    -1,   -1,   44,   93,   -1,   -1,   -1,   -1,   -1,   -1,
1034    -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,
1035    -1,   63,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1036   275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,
1037    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1038    -1,   93,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1039   305,  306,  307,  308,  309,  310,  311,   -1,   -1,  314,
1040    -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,
1041    -1,  272,  273,  274,  275,   -1,   41,   -1,  279,   44,
1042   281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1043    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,
1044   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1045   311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,
1046    -1,   -1,   -1,   -1,  272,  273,  274,  275,   93,   -1,
1047    -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,  287,
1048   288,  289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1049    -1,   -1,  300,  301,  302,   -1,  304,  305,  306,  307,
1050   308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,  317,
1051   318,  319,  272,  273,  274,  275,   -1,   -1,   -1,  279,
1052    -1,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
1053   290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1054   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1055   310,  311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,
1056   272,  273,  274,  275,   -1,   41,   -1,  279,   44,  281,
1057    -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,   -1,
1058    -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,  301,
1059   302,   -1,  304,  305,  306,  307,  308,  309,  310,  311,
1060    -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,   -1,
1061    -1,   -1,   -1,   -1,   -1,   41,   -1,   93,   44,   -1,
1062    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1063    -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,
1064    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1065   275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,
1066    -1,   -1,  287,  288,  289,  290,   -1,   93,   -1,   -1,
1067    -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,
1068   305,  306,  307,  308,  309,  310,  311,   41,   -1,  314,
1069    44,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,
1070    -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,
1071    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1072    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1073    -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   93,
1074    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1075    -1,   -1,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,
1076    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1077    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1078    -1,   -1,   -1,   -1,   41,   -1,   -1,   93,   -1,   -1,
1079    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1080    -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,   -1,
1081    -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,
1082    -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1083   306,  307,  308,  309,  310,  311,   93,   -1,  314,   -1,
1084    -1,  317,  318,  319,   -1,   -1,  272,  273,  274,  275,
1085    -1,   41,   -1,  279,   44,  281,   -1,   -1,   -1,   -1,
1086    -1,  287,  288,  289,  290,   -1,   -1,   -1,   58,   59,
1087    -1,   -1,   -1,   63,  300,  301,  302,   -1,  304,  305,
1088   306,  307,  308,  309,  310,  311,   -1,   -1,  314,   -1,
1089    -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,   -1,
1090    -1,   -1,   -1,   93,   -1,   -1,   41,   -1,   -1,   44,
1091    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1092   274,  275,   -1,   58,   59,  279,   -1,  281,   63,   -1,
1093    -1,   -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,
1094    -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,
1095   304,  305,  306,  307,  308,  309,  310,  311,   93,   -1,
1096   314,   -1,   -1,  317,  318,  319,  272,  273,  274,  275,
1097    -1,   41,   -1,  279,   44,  281,   -1,   -1,   -1,   -1,
1098    -1,  287,  288,  289,  290,   -1,   -1,   -1,   58,   59,
1099    -1,   -1,   -1,   63,  300,  301,  302,   -1,  304,  305,
1100   306,  307,  308,  309,  310,  311,   -1,   -1,  314,   -1,
1101    -1,  317,  318,  319,   -1,  272,  273,  274,  275,   41,
1102    -1,   -1,  279,   93,  281,   -1,   -1,   -1,   -1,   -1,
1103   287,  288,  289,  290,   -1,   -1,   58,   59,   -1,   -1,
1104    -1,   63,   -1,  300,  301,  302,   -1,  304,  305,  306,
1105   307,  308,  309,  310,  311,   -1,   -1,  314,   -1,   -1,
1106   317,  318,  319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1107    41,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1108    -1,   -1,  272,  273,  274,  275,   -1,   58,   59,  279,
1109    -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,
1110   290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1111   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1112   310,  311,   93,   -1,  314,   -1,   -1,  317,  318,  319,
1113    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1114   275,   -1,   41,   -1,  279,   44,  281,   -1,   -1,   -1,
1115    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   58,
1116    59,   -1,   -1,   -1,   63,  300,  301,  302,   -1,  304,
1117   305,  306,  307,  308,  309,  310,  311,   -1,   -1,  314,
1118    -1,   -1,  317,  318,  319,   -1,   -1,   -1,   -1,   -1,
1119    41,   -1,   -1,   44,   93,   -1,   -1,   -1,   -1,   -1,
1120    -1,   -1,  272,  273,  274,  275,   -1,   58,   59,  279,
1121    -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,
1122   290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1123   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1124   310,  311,   93,   -1,  314,   -1,   -1,  317,  318,  319,
1125   272,  273,  274,  275,   -1,   41,   -1,  279,   44,  281,
1126    -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,   -1,
1127    -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,  301,
1128   302,   -1,  304,  305,  306,  307,  308,  309,  310,  311,
1129    -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,   -1,
1130    -1,  272,  273,  274,  275,   -1,   41,   93,  279,   44,
1131   281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1132    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,
1133   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1134   311,   -1,   -1,  314,   -1,   -1,  317,  318,  319,   -1,
1135    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
1136    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
1137    -1,   -1,   -1,  272,  273,  274,  275,   -1,   58,   59,
1138   279,   -1,  281,   63,   -1,   -1,   -1,   -1,  287,  288,
1139   289,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1140    -1,  300,  301,  302,   -1,  304,  305,  306,  307,  308,
1141   309,  310,  311,   93,   -1,  314,   -1,   -1,   -1,   -1,
1142    -1,  272,  273,  274,  275,   -1,   41,   -1,  279,   44,
1143   281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1144    -1,   -1,   -1,   58,   59,   -1,   -1,   -1,   63,  300,
1145   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1146   311,   -1,   -1,  314,   -1,   -1,   -1,   -1,   -1,   -1,
1147    -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   93,   -1,
1148    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1149    -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,   -1,
1150    -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,
1151    -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1152   306,  307,  308,  309,  310,  311,   93,   -1,   -1,   -1,
1153    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1154   275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,
1155    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1156    41,   -1,   -1,   44,   -1,  300,  301,  302,   -1,  304,
1157   305,  306,  307,  308,  309,  310,  311,   58,   59,   -1,
1158    -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1159    -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,
1160    -1,  281,   -1,   -1,   -1,   -1,   -1,  287,  288,  289,
1161   290,   -1,   93,   -1,   -1,   41,   -1,   -1,   44,   -1,
1162   300,  301,  302,   -1,  304,  305,  306,  307,  308,  309,
1163   310,  311,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,
1164    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1165    -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,
1166   275,   -1,   -1,   -1,  279,   -1,  281,   93,   -1,   -1,
1167    -1,   -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,
1168    41,   -1,   -1,   44,   -1,  300,  301,  302,   -1,  304,
1169   305,  306,  307,  308,  309,  310,  311,   58,   59,   -1,
1170    -1,   -1,   63,   -1,   -1,  272,  273,  274,  275,   -1,
1171    -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,
1172   287,  288,  289,  290,   -1,   -1,   -1,   -1,   41,   -1,
1173    -1,   44,   93,  300,  301,  302,   -1,  304,  305,  306,
1174   307,  308,  309,  310,  311,   58,   59,   -1,   -1,   -1,
1175    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1176    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1177    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,
1178    93,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1179    -1,  272,  273,  274,  275,   -1,   58,   59,  279,   -1,
1180   281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1181    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,
1182   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1183   311,   93,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
1184    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1185    -1,   58,   59,  279,   -1,  281,   63,   -1,   -1,   -1,
1186    -1,  287,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,
1187    -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1188   306,  307,  308,  309,  310,  311,   93,   -1,   -1,   -1,
1189    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,
1190    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1191    -1,  272,  273,  274,  275,   -1,   58,   59,  279,   -1,
1192   281,   63,   -1,   -1,   -1,   -1,  287,  288,  289,  290,
1193    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,
1194   301,  302,   -1,  304,  305,  306,  307,  308,  309,  310,
1195    -1,   93,   -1,   -1,   41,   -1,   -1,   44,   -1,  272,
1196   273,  274,  275,   -1,   41,   -1,  279,   44,  281,   -1,
1197    -1,   58,   59,   -1,  287,  288,   63,  290,   -1,   -1,
1198    -1,   58,   59,   -1,   -1,   -1,   63,  300,  301,  302,
1199    -1,  304,  305,  306,  307,  308,  309,  310,   -1,   -1,
1200    -1,   -1,   -1,   -1,   -1,   41,   93,   -1,   44,   -1,
1201   272,  273,  274,  275,   -1,   -1,   93,  279,   -1,  281,
1202    -1,   -1,   58,   59,   -1,  287,  288,   63,   -1,   -1,
1203    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,
1204   302,   -1,  304,  305,  306,  307,  308,  309,  310,   -1,
1205    -1,   -1,   -1,   41,   -1,   -1,   44,   93,   -1,   -1,
1206    -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,
1207    58,   59,  279,   -1,  281,   63,   -1,   -1,   -1,   -1,
1208   287,  288,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1209    -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,  306,
1210   307,  308,  309,   41,   -1,   93,   44,   -1,   -1,   -1,
1211    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1212    58,   59,   -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,
1213   272,  273,  274,  275,   -1,   -1,   -1,  279,   -1,  281,
1214    -1,   -1,   -1,   -1,   -1,  287,  288,   -1,   -1,   -1,
1215    -1,   41,   -1,   -1,   44,   93,   -1,   -1,  300,  301,
1216   302,   -1,  304,  305,  306,  307,  308,  309,   58,   59,
1217    -1,   -1,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,
1218    -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,
1219    41,   -1,  279,   44,  281,  272,  273,  274,  275,   -1,
1220   287,  288,  279,   93,  281,   -1,   -1,   58,   59,   -1,
1221   287,  288,   63,  300,  301,  302,   -1,  304,  305,  306,
1222   307,  308,  309,  300,  301,  302,   -1,  304,  305,  306,
1223   307,  308,  309,   -1,   -1,   -1,  272,  273,  274,  275,
1224    -1,   -1,   93,  279,   -1,  281,   -1,   -1,   -1,   -1,
1225    -1,   -1,  288,   -1,   -1,   -1,   -1,   41,   -1,   -1,
1226    44,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1227   306,  307,  308,  309,   58,   59,   -1,   -1,   -1,   63,
1228    -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,
1229    -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,   -1,
1230    -1,   -1,   -1,   -1,   -1,   41,   -1,   -1,   44,   93,
1231    -1,   -1,  300,  301,  302,   -1,  304,  305,  306,  307,
1232   308,  309,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,
1233    -1,   -1,   -1,   -1,  272,  273,  274,  275,   -1,   -1,
1234    -1,  279,   -1,  281,   -1,   -1,   -1,   -1,   -1,   -1,
1235    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
1236    -1,   -1,  300,  301,  302,   -1,  304,  305,  306,  307,
1237   308,  309,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1238    -1,   -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,
1239    -1,  281,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1240    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1241   300,  301,  302,   -1,  304,  305,  306,  307,  308,   -1,
1242    -1,  272,  273,  274,  275,   -1,   -1,   -1,  279,   -1,
1243   281,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1244    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,
1245   301,  302,   -1,  304,  305,  306,  307,   -1,   -1,   -1,
1246    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1247    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1248    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  272,  273,
1249   274,  275,   -1,   -1,   -1,  279,   -1,  281,   -1,   -1,
1250    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1251    -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,
1252   304,  305,  306,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1253    -1,   -1,   -1,   -1,   -1,   -1,  272,  273,  274,  275,
1254    -1,   -1,   -1,  279,   -1,  281,   -1,   -1,   -1,   -1,
1255    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1256    -1,   -1,   -1,   -1,  300,  301,  302,   -1,  304,  305,
1257   306,
1258 };
1259 #define YYFINAL 1
1260 #ifndef YYDEBUG
1261 #define YYDEBUG 0
1262 #endif
1263 #define YYMAXTOKEN 319
1264 #if YYDEBUG
1265 static char *yyname[] = {
1266 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1267 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1268 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1269 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1270 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1271 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1272 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1273 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1274 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1275 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1276 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1277 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1278 "MYSUB","COLONATTR","PREC_LOW","OROP","DOROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1279 "DORDOR","ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN",
1280 "POWOP","PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1281 };
1282 static char *yyrule[] = {
1283 "$accept : prog",
1284 "prog : progstart lineseq",
1285 "block : '{' remember lineseq '}'",
1286 "remember :",
1287 "progstart :",
1288 "mblock : '{' mremember lineseq '}'",
1289 "mremember :",
1290 "lineseq :",
1291 "lineseq : lineseq decl",
1292 "lineseq : lineseq line",
1293 "line : label cond",
1294 "line : loop",
1295 "line : label ';'",
1296 "line : label sideff ';'",
1297 "sideff : error",
1298 "sideff : expr",
1299 "sideff : expr IF expr",
1300 "sideff : expr UNLESS expr",
1301 "sideff : expr WHILE expr",
1302 "sideff : expr UNTIL iexpr",
1303 "sideff : expr FOR expr",
1304 "else :",
1305 "else : ELSE mblock",
1306 "else : ELSIF '(' mexpr ')' mblock else",
1307 "cond : IF '(' remember mexpr ')' mblock else",
1308 "cond : UNLESS '(' remember miexpr ')' mblock else",
1309 "cont :",
1310 "cont : CONTINUE block",
1311 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1312 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1313 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1314 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1315 "loop : label FOR '(' remember mexpr ')' mblock cont",
1316 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1317 "loop : label block cont",
1318 "nexpr :",
1319 "nexpr : sideff",
1320 "texpr :",
1321 "texpr : expr",
1322 "iexpr : expr",
1323 "mexpr : expr",
1324 "mnexpr : nexpr",
1325 "mtexpr : texpr",
1326 "miexpr : iexpr",
1327 "label :",
1328 "label : LABEL",
1329 "decl : format",
1330 "decl : subrout",
1331 "decl : mysubrout",
1332 "decl : package",
1333 "decl : use",
1334 "format : FORMAT startformsub formname block",
1335 "formname : WORD",
1336 "formname :",
1337 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1338 "subrout : SUB startsub subname proto subattrlist subbody",
1339 "startsub :",
1340 "startanonsub :",
1341 "startformsub :",
1342 "subname : WORD",
1343 "proto :",
1344 "proto : THING",
1345 "subattrlist :",
1346 "subattrlist : COLONATTR THING",
1347 "subattrlist : COLONATTR",
1348 "myattrlist : COLONATTR THING",
1349 "myattrlist : COLONATTR",
1350 "subbody : block",
1351 "subbody : ';'",
1352 "package : PACKAGE WORD ';'",
1353 "$$1 :",
1354 "use : USE startsub $$1 WORD WORD listexpr ';'",
1355 "expr : expr ANDOP expr",
1356 "expr : expr OROP expr",
1357 "expr : expr DOROP expr",
1358 "expr : argexpr",
1359 "argexpr : argexpr ','",
1360 "argexpr : argexpr ',' term",
1361 "argexpr : term",
1362 "listop : LSTOP indirob argexpr",
1363 "listop : FUNC '(' indirob expr ')'",
1364 "listop : term ARROW method '(' listexprcom ')'",
1365 "listop : term ARROW method",
1366 "listop : METHOD indirob listexpr",
1367 "listop : FUNCMETH indirob '(' listexprcom ')'",
1368 "listop : LSTOP listexpr",
1369 "listop : FUNC '(' listexprcom ')'",
1370 "$$2 :",
1371 "listop : LSTOPSUB startanonsub block $$2 listexpr",
1372 "method : METHOD",
1373 "method : scalar",
1374 "subscripted : star '{' expr ';' '}'",
1375 "subscripted : scalar '[' expr ']'",
1376 "subscripted : term ARROW '[' expr ']'",
1377 "subscripted : subscripted '[' expr ']'",
1378 "subscripted : scalar '{' expr ';' '}'",
1379 "subscripted : term ARROW '{' expr ';' '}'",
1380 "subscripted : subscripted '{' expr ';' '}'",
1381 "subscripted : term ARROW '(' ')'",
1382 "subscripted : term ARROW '(' expr ')'",
1383 "subscripted : subscripted '(' expr ')'",
1384 "subscripted : subscripted '(' ')'",
1385 "termbinop : term ASSIGNOP term",
1386 "termbinop : term POWOP term",
1387 "termbinop : term MULOP term",
1388 "termbinop : term ADDOP term",
1389 "termbinop : term SHIFTOP term",
1390 "termbinop : term RELOP term",
1391 "termbinop : term EQOP term",
1392 "termbinop : term BITANDOP term",
1393 "termbinop : term BITOROP term",
1394 "termbinop : term DOTDOT term",
1395 "termbinop : term ANDAND term",
1396 "termbinop : term OROR term",
1397 "termbinop : term DORDOR term",
1398 "termbinop : term MATCHOP term",
1399 "termunop : '-' term",
1400 "termunop : '+' term",
1401 "termunop : '!' term",
1402 "termunop : '~' term",
1403 "termunop : term POSTINC",
1404 "termunop : term POSTDEC",
1405 "termunop : PREINC term",
1406 "termunop : PREDEC term",
1407 "anonymous : '[' expr ']'",
1408 "anonymous : '[' ']'",
1409 "anonymous : HASHBRACK expr ';' '}'",
1410 "anonymous : HASHBRACK ';' '}'",
1411 "anonymous : ANONSUB startanonsub proto subattrlist block",
1412 "termdo : DO term",
1413 "termdo : DO block",
1414 "termdo : DO WORD '(' ')'",
1415 "termdo : DO WORD '(' expr ')'",
1416 "termdo : DO scalar '(' ')'",
1417 "termdo : DO scalar '(' expr ')'",
1418 "term : termbinop",
1419 "term : termunop",
1420 "term : anonymous",
1421 "term : termdo",
1422 "term : term '?' term ':' term",
1423 "term : REFGEN term",
1424 "term : myattrterm",
1425 "term : LOCAL term",
1426 "term : '(' expr ')'",
1427 "term : '(' ')'",
1428 "term : scalar",
1429 "term : star",
1430 "term : hsh",
1431 "term : ary",
1432 "term : arylen",
1433 "term : subscripted",
1434 "term : '(' expr ')' '[' expr ']'",
1435 "term : '(' ')' '[' expr ']'",
1436 "term : ary '[' expr ']'",
1437 "term : ary '{' expr ';' '}'",
1438 "term : THING",
1439 "term : amper",
1440 "term : amper '(' ')'",
1441 "term : amper '(' expr ')'",
1442 "term : NOAMP WORD listexpr",
1443 "term : LOOPEX",
1444 "term : LOOPEX term",
1445 "term : NOTOP argexpr",
1446 "term : UNIOP",
1447 "term : UNIOP block",
1448 "term : UNIOP term",
1449 "term : UNIOPSUB term",
1450 "term : FUNC0",
1451 "term : FUNC0 '(' ')'",
1452 "term : FUNC0SUB",
1453 "term : FUNC1 '(' ')'",
1454 "term : FUNC1 '(' expr ')'",
1455 "term : PMFUNC '(' term ')'",
1456 "term : PMFUNC '(' term ',' term ')'",
1457 "term : WORD",
1458 "term : listop",
1459 "myattrterm : MY myterm myattrlist",
1460 "myattrterm : MY myterm",
1461 "myterm : '(' expr ')'",
1462 "myterm : '(' ')'",
1463 "myterm : scalar",
1464 "myterm : hsh",
1465 "myterm : ary",
1466 "listexpr :",
1467 "listexpr : argexpr",
1468 "listexprcom :",
1469 "listexprcom : expr",
1470 "listexprcom : expr ','",
1471 "my_scalar : scalar",
1472 "amper : '&' indirob",
1473 "scalar : '$' indirob",
1474 "ary : '@' indirob",
1475 "hsh : '%' indirob",
1476 "arylen : DOLSHARP indirob",
1477 "star : '*' indirob",
1478 "indirob : WORD",
1479 "indirob : scalar",
1480 "indirob : block",
1481 "indirob : PRIVATEREF",
1482 };
1483 #endif
1484 #define yyclearin (yychar=(-1))
1485 #define yyerrok (yyerrflag=0)
1486 #ifdef YYSTACKSIZE
1487 #ifndef YYMAXDEPTH
1488 #define YYMAXDEPTH YYSTACKSIZE
1489 #endif
1490 #else
1491 #ifdef YYMAXDEPTH
1492 #define YYSTACKSIZE YYMAXDEPTH
1493 #else
1494 #define YYSTACKSIZE 500
1495 #define YYMAXDEPTH 500
1496 #endif
1497 #endif
1498 #line 795 "perly.y"
1499  /* PROGRAM */
1500
1501 /* more stuff added to make perly_c.diff easier to apply */
1502
1503 #ifdef yyparse
1504 #undef yyparse
1505 #endif
1506 #define yyparse() Perl_yyparse(pTHX)
1507
1508 #line 1508 "perly.c"
1509 #define YYABORT goto yyabort
1510 #define YYACCEPT goto yyaccept
1511 #define YYERROR goto yyerrlab
1512 int
1513 yyparse()
1514 {
1515     register int yym, yyn, yystate;
1516     register short *yyssp;
1517     register YYSTYPE *yyvsp;
1518     short* yyss;
1519     YYSTYPE* yyvs;
1520     unsigned yystacksize = YYSTACKSIZE;
1521     int retval = 0;
1522 #if YYDEBUG
1523     register char *yys;
1524 #endif
1525
1526     struct ysv *ysave;
1527 #ifdef USE_ITHREADS
1528     ENTER;                      /* force yydestruct() before we return */
1529 #endif
1530     New(73, ysave, 1, struct ysv);
1531     SAVEDESTRUCTOR_X(yydestruct, ysave);
1532     ysave->oldyydebug   = yydebug;
1533     ysave->oldyynerrs   = yynerrs;
1534     ysave->oldyyerrflag = yyerrflag;
1535     ysave->oldyychar    = yychar;
1536     ysave->oldyyval     = yyval;
1537     ysave->oldyylval    = yylval;
1538
1539 #if YYDEBUG
1540   {
1541     register int saved_errno = errno;
1542 #ifdef VMS
1543     register int saved_vaxc_errno = vaxc$errno;
1544 #else
1545     register int saved_vaxc_errno = 0;
1546 #endif
1547     if ((yys = getenv("YYDEBUG")))
1548     {
1549         yyn = *yys;
1550         if (yyn >= '0' && yyn <= '9')
1551             yydebug = yyn - '0';
1552     }
1553     else SETERRNO(saved_errno,saved_vaxc_errno);
1554   }
1555 #endif
1556
1557     yynerrs = 0;
1558     yyerrflag = 0;
1559     yychar = (-1);
1560
1561     /*
1562     ** Initialize private stacks (yyparse may be called from an action)
1563     */
1564     New(73, yyss, yystacksize, short);
1565     New(73, yyvs, yystacksize, YYSTYPE);
1566     ysave->yyss = yyss;
1567     ysave->yyvs = yyvs;
1568     if (!yyvs || !yyss)
1569         goto yyoverflow;
1570
1571     yyssp = yyss;
1572     yyvsp = yyvs;
1573     *yyssp = yystate = 0;
1574
1575 yyloop:
1576     if ((yyn = yydefred[yystate])) goto yyreduce;
1577     if (yychar < 0)
1578     {
1579         if ((yychar = yylex()) < 0) yychar = 0;
1580 #if YYDEBUG
1581         if (yydebug)
1582         {
1583             yys = 0;
1584             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1585             if (!yys) yys = "illegal-symbol";
1586             PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1587                     yychar, yys);
1588         }
1589 #endif
1590     }
1591     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1592             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1593     {
1594 #if YYDEBUG
1595         if (yydebug)
1596             PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1597                     yystate, yytable[yyn]);
1598 #endif
1599         if (yyssp >= yyss + yystacksize - 1)
1600         {
1601             /*
1602             ** reallocate and recover.  Note that pointers
1603             ** have to be reset, or bad things will happen
1604             */
1605             int yyps_index = (yyssp - yyss);
1606             int yypv_index = (yyvsp - yyvs);
1607             yystacksize += YYSTACKSIZE;
1608             ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1609             ysave->yyss = Renew(yyss, yystacksize, short);
1610             if (!yyvs || !yyss)
1611             goto yyoverflow;
1612             yyssp = yyss + yyps_index;
1613             yyvsp = yyvs + yypv_index;
1614         }
1615         *++yyssp = yystate = yytable[yyn];
1616         *++yyvsp = yylval;
1617         yychar = (-1);
1618         if (yyerrflag > 0)  --yyerrflag;
1619         goto yyloop;
1620     }
1621     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1622             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1623     {
1624         yyn = yytable[yyn];
1625         goto yyreduce;
1626     }
1627     if (yyerrflag) goto yyinrecovery;
1628 #ifdef lint
1629
1630 #endif
1631
1632     yyerror("syntax error");
1633 #ifdef lint
1634
1635 #endif
1636
1637     ++yynerrs;
1638 yyinrecovery:
1639     if (yyerrflag < 3)
1640     {
1641         yyerrflag = 3;
1642         for (;;)
1643         {
1644             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1645                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1646             {
1647 #if YYDEBUG
1648                 if (yydebug)
1649                     PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1650  to state %d\n", *yyssp, yytable[yyn]);
1651 #endif
1652                 if (yyssp >= yyss + yystacksize - 1)
1653                 {
1654                     /*
1655                     ** reallocate and recover.  Note that pointers
1656                     ** have to be reset, or bad things will happen
1657                     */
1658                     int yyps_index = (yyssp - yyss);
1659                     int yypv_index = (yyvsp - yyvs);
1660                     yystacksize += YYSTACKSIZE;
1661                     ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1662                     ysave->yyss = Renew(yyss, yystacksize, short);
1663                     if (!yyvs || !yyss)
1664                     goto yyoverflow;
1665                     yyssp = yyss + yyps_index;
1666                     yyvsp = yyvs + yypv_index;
1667                 }
1668                 *++yyssp = yystate = yytable[yyn];
1669                 *++yyvsp = yylval;
1670                 goto yyloop;
1671             }
1672             else
1673             {
1674 #if YYDEBUG
1675                 if (yydebug)
1676                     PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1677                             *yyssp);
1678 #endif
1679                 if (yyssp <= yyss) goto yyabort;
1680                 --yyssp;
1681                 --yyvsp;
1682             }
1683         }
1684     }
1685     else
1686     {
1687         if (yychar == 0) goto yyabort;
1688 #if YYDEBUG
1689         if (yydebug)
1690         {
1691             yys = 0;
1692             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1693             if (!yys) yys = "illegal-symbol";
1694             PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1695                     yystate, yychar, yys);
1696         }
1697 #endif
1698         yychar = (-1);
1699         goto yyloop;
1700     }
1701 yyreduce:
1702 #if YYDEBUG
1703     if (yydebug)
1704         PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1705                 yystate, yyn, yyrule[yyn]);
1706 #endif
1707     yym = yylen[yyn];
1708     yyval = yyvsp[1-yym];
1709     switch (yyn)
1710     {
1711 case 1:
1712 #line 131 "perly.y"
1713 { yyval.ival = yyvsp[-1].ival; newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1714 break;
1715 case 2:
1716 #line 136 "perly.y"
1717 { if (PL_copline > (line_t)yyvsp[-3].ival)
1718                               PL_copline = (line_t)yyvsp[-3].ival;
1719                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1720 break;
1721 case 3:
1722 #line 142 "perly.y"
1723 { yyval.ival = block_start(TRUE); }
1724 break;
1725 case 4:
1726 #line 146 "perly.y"
1727 {
1728 #if defined(YYDEBUG) && defined(DEBUGGING)
1729                     yydebug = (DEBUG_p_TEST);
1730 #endif
1731                     PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1732                 }
1733 break;
1734 case 5:
1735 #line 156 "perly.y"
1736 { if (PL_copline > (line_t)yyvsp[-3].ival)
1737                               PL_copline = (line_t)yyvsp[-3].ival;
1738                           yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1739 break;
1740 case 6:
1741 #line 162 "perly.y"
1742 { yyval.ival = block_start(FALSE); }
1743 break;
1744 case 7:
1745 #line 167 "perly.y"
1746 { yyval.opval = Nullop; }
1747 break;
1748 case 8:
1749 #line 169 "perly.y"
1750 { yyval.opval = yyvsp[-1].opval; }
1751 break;
1752 case 9:
1753 #line 171 "perly.y"
1754 {   yyval.opval = append_list(OP_LINESEQ,
1755                                 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1756                             PL_pad_reset_pending = TRUE;
1757                             if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1758 break;
1759 case 10:
1760 #line 179 "perly.y"
1761 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1762 break;
1763 case 12:
1764 #line 182 "perly.y"
1765 { if (yyvsp[-1].pval != Nullch) {
1766                               yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1767                             }
1768                             else {
1769                               yyval.opval = Nullop;
1770                               PL_copline = NOLINE;
1771                             }
1772                             PL_expect = XSTATE; }
1773 break;
1774 case 13:
1775 #line 191 "perly.y"
1776 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1777                           PL_expect = XSTATE; }
1778 break;
1779 case 14:
1780 #line 197 "perly.y"
1781 { yyval.opval = Nullop; }
1782 break;
1783 case 15:
1784 #line 199 "perly.y"
1785 { yyval.opval = yyvsp[0].opval; }
1786 break;
1787 case 16:
1788 #line 201 "perly.y"
1789 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1790 break;
1791 case 17:
1792 #line 203 "perly.y"
1793 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1794 break;
1795 case 18:
1796 #line 205 "perly.y"
1797 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1798 break;
1799 case 19:
1800 #line 207 "perly.y"
1801 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1802 break;
1803 case 20:
1804 #line 209 "perly.y"
1805 { yyval.opval = newFOROP(0, Nullch, (line_t)yyvsp[-1].ival,
1806                                         Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1807 break;
1808 case 21:
1809 #line 215 "perly.y"
1810 { yyval.opval = Nullop; }
1811 break;
1812 case 22:
1813 #line 217 "perly.y"
1814 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1815 break;
1816 case 23:
1817 #line 219 "perly.y"
1818 { PL_copline = (line_t)yyvsp[-5].ival;
1819                             yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1820                             PL_hints |= HINT_BLOCK_SCOPE; }
1821 break;
1822 case 24:
1823 #line 226 "perly.y"
1824 { PL_copline = (line_t)yyvsp[-6].ival;
1825                             yyval.opval = block_end(yyvsp[-4].ival,
1826                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1827 break;
1828 case 25:
1829 #line 230 "perly.y"
1830 { PL_copline = (line_t)yyvsp[-6].ival;
1831                             yyval.opval = block_end(yyvsp[-4].ival,
1832                                    newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1833 break;
1834 case 26:
1835 #line 237 "perly.y"
1836 { yyval.opval = Nullop; }
1837 break;
1838 case 27:
1839 #line 239 "perly.y"
1840 { yyval.opval = scope(yyvsp[0].opval); }
1841 break;
1842 case 28:
1843 #line 244 "perly.y"
1844 { PL_copline = (line_t)yyvsp[-6].ival;
1845                             yyval.opval = block_end(yyvsp[-4].ival,
1846                                    newSTATEOP(0, yyvsp[-7].pval,
1847                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1848                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1849 break;
1850 case 29:
1851 #line 250 "perly.y"
1852 { PL_copline = (line_t)yyvsp[-6].ival;
1853                             yyval.opval = block_end(yyvsp[-4].ival,
1854                                    newSTATEOP(0, yyvsp[-7].pval,
1855                                      newWHILEOP(0, 1, (LOOP*)Nullop,
1856                                                 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1857 break;
1858 case 30:
1859 #line 256 "perly.y"
1860 { yyval.opval = block_end(yyvsp[-6].ival,
1861                                  newFOROP(0, yyvsp[-9].pval, (line_t)yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1862 break;
1863 case 31:
1864 #line 259 "perly.y"
1865 { yyval.opval = block_end(yyvsp[-4].ival,
1866                                  newFOROP(0, yyvsp[-8].pval, (line_t)yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1867                                           yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1868 break;
1869 case 32:
1870 #line 263 "perly.y"
1871 { yyval.opval = block_end(yyvsp[-4].ival,
1872                                  newFOROP(0, yyvsp[-7].pval, (line_t)yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1873 break;
1874 case 33:
1875 #line 267 "perly.y"
1876 { OP *forop;
1877                           PL_copline = (line_t)yyvsp[-9].ival;
1878                           forop = newSTATEOP(0, yyvsp[-10].pval,
1879                                             newWHILEOP(0, 1, (LOOP*)Nullop,
1880                                                 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1881                                                 yyvsp[0].opval, yyvsp[-2].opval));
1882                           if (yyvsp[-6].opval) {
1883                                 forop = append_elem(OP_LINESEQ,
1884                                         newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1885                                                    yyvsp[-6].opval),
1886                                         forop);
1887                           }
1888
1889                           yyval.opval = block_end(yyvsp[-7].ival, forop); }
1890 break;
1891 case 34:
1892 #line 282 "perly.y"
1893 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1894                                  newWHILEOP(0, 1, (LOOP*)Nullop,
1895                                             NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1896 break;
1897 case 35:
1898 #line 289 "perly.y"
1899 { yyval.opval = Nullop; }
1900 break;
1901 case 37:
1902 #line 295 "perly.y"
1903 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1904 break;
1905 case 39:
1906 #line 301 "perly.y"
1907 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1908 break;
1909 case 40:
1910 #line 306 "perly.y"
1911 { yyval.opval = yyvsp[0].opval; intro_my(); }
1912 break;
1913 case 41:
1914 #line 310 "perly.y"
1915 { yyval.opval = yyvsp[0].opval; intro_my(); }
1916 break;
1917 case 42:
1918 #line 314 "perly.y"
1919 { yyval.opval = yyvsp[0].opval; intro_my(); }
1920 break;
1921 case 43:
1922 #line 318 "perly.y"
1923 { yyval.opval = yyvsp[0].opval; intro_my(); }
1924 break;
1925 case 44:
1926 #line 323 "perly.y"
1927 { yyval.pval = Nullch; }
1928 break;
1929 case 46:
1930 #line 329 "perly.y"
1931 { yyval.ival = 0; }
1932 break;
1933 case 47:
1934 #line 331 "perly.y"
1935 { yyval.ival = 0; }
1936 break;
1937 case 48:
1938 #line 333 "perly.y"
1939 { yyval.ival = 0; }
1940 break;
1941 case 49:
1942 #line 335 "perly.y"
1943 { yyval.ival = 0; }
1944 break;
1945 case 50:
1946 #line 337 "perly.y"
1947 { yyval.ival = 0; }
1948 break;
1949 case 51:
1950 #line 341 "perly.y"
1951 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1952 break;
1953 case 52:
1954 #line 344 "perly.y"
1955 { yyval.opval = yyvsp[0].opval; }
1956 break;
1957 case 53:
1958 #line 345 "perly.y"
1959 { yyval.opval = Nullop; }
1960 break;
1961 case 54:
1962 #line 350 "perly.y"
1963 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1964 break;
1965 case 55:
1966 #line 355 "perly.y"
1967 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1968 break;
1969 case 56:
1970 #line 359 "perly.y"
1971 { yyval.ival = start_subparse(FALSE, 0); }
1972 break;
1973 case 57:
1974 #line 363 "perly.y"
1975 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1976 break;
1977 case 58:
1978 #line 367 "perly.y"
1979 { yyval.ival = start_subparse(TRUE, 0); }
1980 break;
1981 case 59:
1982 #line 371 "perly.y"
1983 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1984                           if (strEQ(name, "BEGIN") || strEQ(name, "END")
1985                               || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1986                               CvSPECIAL_on(PL_compcv);
1987                           yyval.opval = yyvsp[0].opval; }
1988 break;
1989 case 60:
1990 #line 380 "perly.y"
1991 { yyval.opval = Nullop; }
1992 break;
1993 case 62:
1994 #line 386 "perly.y"
1995 { yyval.opval = Nullop; }
1996 break;
1997 case 63:
1998 #line 388 "perly.y"
1999 { yyval.opval = yyvsp[0].opval; }
2000 break;
2001 case 64:
2002 #line 390 "perly.y"
2003 { yyval.opval = Nullop; }
2004 break;
2005 case 65:
2006 #line 395 "perly.y"
2007 { yyval.opval = yyvsp[0].opval; }
2008 break;
2009 case 66:
2010 #line 397 "perly.y"
2011 { yyval.opval = Nullop; }
2012 break;
2013 case 67:
2014 #line 401 "perly.y"
2015 { yyval.opval = yyvsp[0].opval; }
2016 break;
2017 case 68:
2018 #line 402 "perly.y"
2019 { yyval.opval = Nullop; PL_expect = XSTATE; }
2020 break;
2021 case 69:
2022 #line 406 "perly.y"
2023 { package(yyvsp[-1].opval); }
2024 break;
2025 case 70:
2026 #line 410 "perly.y"
2027 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
2028 break;
2029 case 71:
2030 #line 412 "perly.y"
2031 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
2032 break;
2033 case 72:
2034 #line 417 "perly.y"
2035 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2036 break;
2037 case 73:
2038 #line 419 "perly.y"
2039 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2040 break;
2041 case 74:
2042 #line 421 "perly.y"
2043 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2044 break;
2045 case 76:
2046 #line 427 "perly.y"
2047 { yyval.opval = yyvsp[-1].opval; }
2048 break;
2049 case 77:
2050 #line 429 "perly.y"
2051 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2052 break;
2053 case 79:
2054 #line 435 "perly.y"
2055 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2056                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
2057 break;
2058 case 80:
2059 #line 438 "perly.y"
2060 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2061                                 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
2062 break;
2063 case 81:
2064 #line 441 "perly.y"
2065 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2066                                 append_elem(OP_LIST,
2067                                     prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
2068                                     newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
2069 break;
2070 case 82:
2071 #line 446 "perly.y"
2072 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2073                                 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
2074                                     newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
2075 break;
2076 case 83:
2077 #line 450 "perly.y"
2078 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2079                                 append_elem(OP_LIST,
2080                                     prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
2081                                     newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
2082 break;
2083 case 84:
2084 #line 455 "perly.y"
2085 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
2086                                 append_elem(OP_LIST,
2087                                     prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
2088                                     newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
2089 break;
2090 case 85:
2091 #line 460 "perly.y"
2092 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2093 break;
2094 case 86:
2095 #line 462 "perly.y"
2096 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2097 break;
2098 case 87:
2099 #line 464 "perly.y"
2100 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
2101 break;
2102 case 88:
2103 #line 466 "perly.y"
2104 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2105                                  append_elem(OP_LIST,
2106                                    prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2107 break;
2108 case 91:
2109 #line 480 "perly.y"
2110 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2111 break;
2112 case 92:
2113 #line 482 "perly.y"
2114 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2115 break;
2116 case 93:
2117 #line 484 "perly.y"
2118 { yyval.opval = newBINOP(OP_AELEM, 0,
2119                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2120                                         scalar(yyvsp[-1].opval));}
2121 break;
2122 case 94:
2123 #line 488 "perly.y"
2124 { yyval.opval = newBINOP(OP_AELEM, 0,
2125                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2126                                         scalar(yyvsp[-1].opval));}
2127 break;
2128 case 95:
2129 #line 492 "perly.y"
2130 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2131                             PL_expect = XOPERATOR; }
2132 break;
2133 case 96:
2134 #line 495 "perly.y"
2135 { yyval.opval = newBINOP(OP_HELEM, 0,
2136                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2137                                         jmaybe(yyvsp[-2].opval));
2138                             PL_expect = XOPERATOR; }
2139 break;
2140 case 97:
2141 #line 500 "perly.y"
2142 { yyval.opval = newBINOP(OP_HELEM, 0,
2143                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2144                                         jmaybe(yyvsp[-2].opval));
2145                             PL_expect = XOPERATOR; }
2146 break;
2147 case 98:
2148 #line 505 "perly.y"
2149 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2150                                    newCVREF(0, scalar(yyvsp[-3].opval))); }
2151 break;
2152 case 99:
2153 #line 508 "perly.y"
2154 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2155                                    append_elem(OP_LIST, yyvsp[-1].opval,
2156                                        newCVREF(0, scalar(yyvsp[-4].opval)))); }
2157 break;
2158 case 100:
2159 #line 513 "perly.y"
2160 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2161                                    append_elem(OP_LIST, yyvsp[-1].opval,
2162                                                newCVREF(0, scalar(yyvsp[-3].opval)))); }
2163 break;
2164 case 101:
2165 #line 517 "perly.y"
2166 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2167                                    newCVREF(0, scalar(yyvsp[-2].opval))); }
2168 break;
2169 case 102:
2170 #line 523 "perly.y"
2171 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2172 break;
2173 case 103:
2174 #line 525 "perly.y"
2175 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2176 break;
2177 case 104:
2178 #line 527 "perly.y"
2179 {   if (yyvsp[-1].ival != OP_REPEAT)
2180                                 scalar(yyvsp[-2].opval);
2181                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2182 break;
2183 case 105:
2184 #line 531 "perly.y"
2185 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2186 break;
2187 case 106:
2188 #line 533 "perly.y"
2189 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2190 break;
2191 case 107:
2192 #line 535 "perly.y"
2193 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2194 break;
2195 case 108:
2196 #line 537 "perly.y"
2197 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2198 break;
2199 case 109:
2200 #line 539 "perly.y"
2201 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2202 break;
2203 case 110:
2204 #line 541 "perly.y"
2205 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2206 break;
2207 case 111:
2208 #line 543 "perly.y"
2209 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2210 break;
2211 case 112:
2212 #line 545 "perly.y"
2213 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2214 break;
2215 case 113:
2216 #line 547 "perly.y"
2217 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2218 break;
2219 case 114:
2220 #line 549 "perly.y"
2221 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2222 break;
2223 case 115:
2224 #line 551 "perly.y"
2225 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2226 break;
2227 case 116:
2228 #line 556 "perly.y"
2229 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2230 break;
2231 case 117:
2232 #line 558 "perly.y"
2233 { yyval.opval = yyvsp[0].opval; }
2234 break;
2235 case 118:
2236 #line 560 "perly.y"
2237 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2238 break;
2239 case 119:
2240 #line 562 "perly.y"
2241 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2242 break;
2243 case 120:
2244 #line 564 "perly.y"
2245 { yyval.opval = newUNOP(OP_POSTINC, 0,
2246                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2247 break;
2248 case 121:
2249 #line 567 "perly.y"
2250 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2251                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2252 break;
2253 case 122:
2254 #line 570 "perly.y"
2255 { yyval.opval = newUNOP(OP_PREINC, 0,
2256                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2257 break;
2258 case 123:
2259 #line 573 "perly.y"
2260 { yyval.opval = newUNOP(OP_PREDEC, 0,
2261                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2262 break;
2263 case 124:
2264 #line 580 "perly.y"
2265 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2266 break;
2267 case 125:
2268 #line 582 "perly.y"
2269 { yyval.opval = newANONLIST(Nullop); }
2270 break;
2271 case 126:
2272 #line 584 "perly.y"
2273 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2274 break;
2275 case 127:
2276 #line 586 "perly.y"
2277 { yyval.opval = newANONHASH(Nullop); }
2278 break;
2279 case 128:
2280 #line 588 "perly.y"
2281 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2282 break;
2283 case 129:
2284 #line 594 "perly.y"
2285 { yyval.opval = dofile(yyvsp[0].opval); }
2286 break;
2287 case 130:
2288 #line 596 "perly.y"
2289 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2290 break;
2291 case 131:
2292 #line 598 "perly.y"
2293 { yyval.opval = newUNOP(OP_ENTERSUB,
2294                             OPf_SPECIAL|OPf_STACKED,
2295                             prepend_elem(OP_LIST,
2296                                 scalar(newCVREF(
2297                                     (OPpENTERSUB_AMPER<<8),
2298                                     scalar(yyvsp[-2].opval)
2299                                 )),Nullop)); dep();}
2300 break;
2301 case 132:
2302 #line 606 "perly.y"
2303 { yyval.opval = newUNOP(OP_ENTERSUB,
2304                             OPf_SPECIAL|OPf_STACKED,
2305                             append_elem(OP_LIST,
2306                                 yyvsp[-1].opval,
2307                                 scalar(newCVREF(
2308                                     (OPpENTERSUB_AMPER<<8),
2309                                     scalar(yyvsp[-3].opval)
2310                                 )))); dep();}
2311 break;
2312 case 133:
2313 #line 615 "perly.y"
2314 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2315                             prepend_elem(OP_LIST,
2316                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2317 break;
2318 case 134:
2319 #line 619 "perly.y"
2320 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2321                             prepend_elem(OP_LIST,
2322                                 yyvsp[-1].opval,
2323                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2324 break;
2325 case 139:
2326 #line 631 "perly.y"
2327 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2328 break;
2329 case 140:
2330 #line 633 "perly.y"
2331 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2332 break;
2333 case 141:
2334 #line 635 "perly.y"
2335 { yyval.opval = yyvsp[0].opval; }
2336 break;
2337 case 142:
2338 #line 637 "perly.y"
2339 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2340 break;
2341 case 143:
2342 #line 639 "perly.y"
2343 { yyval.opval = sawparens(yyvsp[-1].opval); }
2344 break;
2345 case 144:
2346 #line 641 "perly.y"
2347 { yyval.opval = sawparens(newNULLLIST()); }
2348 break;
2349 case 145:
2350 #line 643 "perly.y"
2351 { yyval.opval = yyvsp[0].opval; }
2352 break;
2353 case 146:
2354 #line 645 "perly.y"
2355 { yyval.opval = yyvsp[0].opval; }
2356 break;
2357 case 147:
2358 #line 647 "perly.y"
2359 { yyval.opval = yyvsp[0].opval; }
2360 break;
2361 case 148:
2362 #line 649 "perly.y"
2363 { yyval.opval = yyvsp[0].opval; }
2364 break;
2365 case 149:
2366 #line 651 "perly.y"
2367 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2368 break;
2369 case 150:
2370 #line 653 "perly.y"
2371 { yyval.opval = yyvsp[0].opval; }
2372 break;
2373 case 151:
2374 #line 655 "perly.y"
2375 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2376 break;
2377 case 152:
2378 #line 657 "perly.y"
2379 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2380 break;
2381 case 153:
2382 #line 659 "perly.y"
2383 { yyval.opval = prepend_elem(OP_ASLICE,
2384                                 newOP(OP_PUSHMARK, 0),
2385                                     newLISTOP(OP_ASLICE, 0,
2386                                         list(yyvsp[-1].opval),
2387                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2388 break;
2389 case 154:
2390 #line 665 "perly.y"
2391 { yyval.opval = prepend_elem(OP_HSLICE,
2392                                 newOP(OP_PUSHMARK, 0),
2393                                     newLISTOP(OP_HSLICE, 0,
2394                                         list(yyvsp[-2].opval),
2395                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2396                             PL_expect = XOPERATOR; }
2397 break;
2398 case 155:
2399 #line 672 "perly.y"
2400 { yyval.opval = yyvsp[0].opval; }
2401 break;
2402 case 156:
2403 #line 674 "perly.y"
2404 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2405 break;
2406 case 157:
2407 #line 676 "perly.y"
2408 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2409 break;
2410 case 158:
2411 #line 678 "perly.y"
2412 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2413                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2414 break;
2415 case 159:
2416 #line 681 "perly.y"
2417 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2418                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2419 break;
2420 case 160:
2421 #line 684 "perly.y"
2422 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2423                             PL_hints |= HINT_BLOCK_SCOPE; }
2424 break;
2425 case 161:
2426 #line 687 "perly.y"
2427 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2428 break;
2429 case 162:
2430 #line 689 "perly.y"
2431 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2432 break;
2433 case 163:
2434 #line 691 "perly.y"
2435 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2436 break;
2437 case 164:
2438 #line 693 "perly.y"
2439 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2440 break;
2441 case 165:
2442 #line 695 "perly.y"
2443 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2444 break;
2445 case 166:
2446 #line 697 "perly.y"
2447 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2448                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2449 break;
2450 case 167:
2451 #line 700 "perly.y"
2452 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2453 break;
2454 case 168:
2455 #line 702 "perly.y"
2456 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2457 break;
2458 case 169:
2459 #line 704 "perly.y"
2460 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2461                                 scalar(yyvsp[0].opval)); }
2462 break;
2463 case 170:
2464 #line 707 "perly.y"
2465 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2466 break;
2467 case 171:
2468 #line 709 "perly.y"
2469 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2470 break;
2471 case 172:
2472 #line 711 "perly.y"
2473 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2474 break;
2475 case 173:
2476 #line 713 "perly.y"
2477 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2478 break;
2479 case 176:
2480 #line 720 "perly.y"
2481 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2482 break;
2483 case 177:
2484 #line 722 "perly.y"
2485 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2486 break;
2487 case 178:
2488 #line 727 "perly.y"
2489 { yyval.opval = sawparens(yyvsp[-1].opval); }
2490 break;
2491 case 179:
2492 #line 729 "perly.y"
2493 { yyval.opval = sawparens(newNULLLIST()); }
2494 break;
2495 case 180:
2496 #line 731 "perly.y"
2497 { yyval.opval = yyvsp[0].opval; }
2498 break;
2499 case 181:
2500 #line 733 "perly.y"
2501 { yyval.opval = yyvsp[0].opval; }
2502 break;
2503 case 182:
2504 #line 735 "perly.y"
2505 { yyval.opval = yyvsp[0].opval; }
2506 break;
2507 case 183:
2508 #line 740 "perly.y"
2509 { yyval.opval = Nullop; }
2510 break;
2511 case 184:
2512 #line 742 "perly.y"
2513 { yyval.opval = yyvsp[0].opval; }
2514 break;
2515 case 185:
2516 #line 746 "perly.y"
2517 { yyval.opval = Nullop; }
2518 break;
2519 case 186:
2520 #line 748 "perly.y"
2521 { yyval.opval = yyvsp[0].opval; }
2522 break;
2523 case 187:
2524 #line 750 "perly.y"
2525 { yyval.opval = yyvsp[-1].opval; }
2526 break;
2527 case 188:
2528 #line 756 "perly.y"
2529 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2530 break;
2531 case 189:
2532 #line 760 "perly.y"
2533 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2534 break;
2535 case 190:
2536 #line 764 "perly.y"
2537 { yyval.opval = newSVREF(yyvsp[0].opval); }
2538 break;
2539 case 191:
2540 #line 768 "perly.y"
2541 { yyval.opval = newAVREF(yyvsp[0].opval); }
2542 break;
2543 case 192:
2544 #line 772 "perly.y"
2545 { yyval.opval = newHVREF(yyvsp[0].opval); }
2546 break;
2547 case 193:
2548 #line 776 "perly.y"
2549 { yyval.opval = newAVREF(yyvsp[0].opval); }
2550 break;
2551 case 194:
2552 #line 780 "perly.y"
2553 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2554 break;
2555 case 195:
2556 #line 785 "perly.y"
2557 { yyval.opval = scalar(yyvsp[0].opval); }
2558 break;
2559 case 196:
2560 #line 787 "perly.y"
2561 { yyval.opval = scalar(yyvsp[0].opval);  }
2562 break;
2563 case 197:
2564 #line 789 "perly.y"
2565 { yyval.opval = scope(yyvsp[0].opval); }
2566 break;
2567 case 198:
2568 #line 792 "perly.y"
2569 { yyval.opval = yyvsp[0].opval; }
2570 break;
2571 #line 2562 "perly.c"
2572     }
2573     yyssp -= yym;
2574     yystate = *yyssp;
2575     yyvsp -= yym;
2576     yym = yylhs[yyn];
2577     if (yystate == 0 && yym == 0)
2578     {
2579 #if YYDEBUG
2580         if (yydebug)
2581             PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2582  state %d\n", YYFINAL);
2583 #endif
2584         yystate = YYFINAL;
2585         *++yyssp = YYFINAL;
2586         *++yyvsp = yyval;
2587         if (yychar < 0)
2588         {
2589             if ((yychar = yylex()) < 0) yychar = 0;
2590 #if YYDEBUG
2591             if (yydebug)
2592             {
2593                 yys = 0;
2594                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2595                 if (!yys) yys = "illegal-symbol";
2596                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2597                         YYFINAL, yychar, yys);
2598             }
2599 #endif
2600         }
2601         if (yychar == 0) goto yyaccept;
2602         goto yyloop;
2603     }
2604     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2605             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2606         yystate = yytable[yyn];
2607     else
2608         yystate = yydgoto[yym];
2609 #if YYDEBUG
2610     if (yydebug)
2611         PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2612 to state %d\n", *yyssp, yystate);
2613 #endif
2614     if (yyssp >= yyss + yystacksize - 1)
2615     {
2616         /*
2617         ** reallocate and recover.  Note that pointers
2618         ** have to be reset, or bad things will happen
2619         */
2620         int yyps_index = (yyssp - yyss);
2621         int yypv_index = (yyvsp - yyvs);
2622         yystacksize += YYSTACKSIZE;
2623         ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2624         ysave->yyss = Renew(yyss, yystacksize, short);
2625         if (!yyvs || !yyss)
2626         goto yyoverflow;
2627         yyssp = yyss + yyps_index;
2628         yyvsp = yyvs + yypv_index;
2629     }
2630     *++yyssp = yystate;
2631     *++yyvsp = yyval;
2632     goto yyloop;
2633 yyoverflow:
2634     yyerror("Out of memory for yacc stack");
2635 yyabort:
2636     retval = 1;
2637 yyaccept:
2638 #ifdef USE_ITHREADS
2639     LEAVE;                      /* force yydestruct() before we return */
2640 #endif
2641     return retval;
2642 }
2643
2644 static void
2645 yydestruct(pTHX_ void *ptr)
2646 {
2647     struct ysv* ysave = (struct ysv*)ptr;
2648     if (ysave->yyss) Safefree(ysave->yyss);
2649     if (ysave->yyvs) Safefree(ysave->yyvs);
2650     yydebug     = ysave->oldyydebug;
2651     yynerrs     = ysave->oldyynerrs;
2652     yyerrflag   = ysave->oldyyerrflag;
2653     yychar      = ysave->oldyychar;
2654     yyval       = ysave->oldyyval;
2655     yylval      = ysave->oldyylval;
2656     Safefree(ysave);
2657 }