Perl 5.8.3 patches from the BS2000 port - part 2
[p5sagit/p5-mst-13.2.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 796 "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                             PL_expect = XOPERATOR; }
2112 break;
2113 case 92:
2114 #line 483 "perly.y"
2115 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2116 break;
2117 case 93:
2118 #line 485 "perly.y"
2119 { yyval.opval = newBINOP(OP_AELEM, 0,
2120                                         ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2121                                         scalar(yyvsp[-1].opval));}
2122 break;
2123 case 94:
2124 #line 489 "perly.y"
2125 { yyval.opval = newBINOP(OP_AELEM, 0,
2126                                         ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2127                                         scalar(yyvsp[-1].opval));}
2128 break;
2129 case 95:
2130 #line 493 "perly.y"
2131 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2132                             PL_expect = XOPERATOR; }
2133 break;
2134 case 96:
2135 #line 496 "perly.y"
2136 { yyval.opval = newBINOP(OP_HELEM, 0,
2137                                         ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2138                                         jmaybe(yyvsp[-2].opval));
2139                             PL_expect = XOPERATOR; }
2140 break;
2141 case 97:
2142 #line 501 "perly.y"
2143 { yyval.opval = newBINOP(OP_HELEM, 0,
2144                                         ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2145                                         jmaybe(yyvsp[-2].opval));
2146                             PL_expect = XOPERATOR; }
2147 break;
2148 case 98:
2149 #line 506 "perly.y"
2150 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2151                                    newCVREF(0, scalar(yyvsp[-3].opval))); }
2152 break;
2153 case 99:
2154 #line 509 "perly.y"
2155 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2156                                    append_elem(OP_LIST, yyvsp[-1].opval,
2157                                        newCVREF(0, scalar(yyvsp[-4].opval)))); }
2158 break;
2159 case 100:
2160 #line 514 "perly.y"
2161 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2162                                    append_elem(OP_LIST, yyvsp[-1].opval,
2163                                                newCVREF(0, scalar(yyvsp[-3].opval)))); }
2164 break;
2165 case 101:
2166 #line 518 "perly.y"
2167 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2168                                    newCVREF(0, scalar(yyvsp[-2].opval))); }
2169 break;
2170 case 102:
2171 #line 524 "perly.y"
2172 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2173 break;
2174 case 103:
2175 #line 526 "perly.y"
2176 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2177 break;
2178 case 104:
2179 #line 528 "perly.y"
2180 {   if (yyvsp[-1].ival != OP_REPEAT)
2181                                 scalar(yyvsp[-2].opval);
2182                             yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2183 break;
2184 case 105:
2185 #line 532 "perly.y"
2186 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2187 break;
2188 case 106:
2189 #line 534 "perly.y"
2190 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2191 break;
2192 case 107:
2193 #line 536 "perly.y"
2194 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2195 break;
2196 case 108:
2197 #line 538 "perly.y"
2198 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2199 break;
2200 case 109:
2201 #line 540 "perly.y"
2202 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2203 break;
2204 case 110:
2205 #line 542 "perly.y"
2206 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2207 break;
2208 case 111:
2209 #line 544 "perly.y"
2210 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2211 break;
2212 case 112:
2213 #line 546 "perly.y"
2214 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2215 break;
2216 case 113:
2217 #line 548 "perly.y"
2218 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2219 break;
2220 case 114:
2221 #line 550 "perly.y"
2222 { yyval.opval = newLOGOP(OP_DOR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2223 break;
2224 case 115:
2225 #line 552 "perly.y"
2226 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2227 break;
2228 case 116:
2229 #line 557 "perly.y"
2230 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2231 break;
2232 case 117:
2233 #line 559 "perly.y"
2234 { yyval.opval = yyvsp[0].opval; }
2235 break;
2236 case 118:
2237 #line 561 "perly.y"
2238 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2239 break;
2240 case 119:
2241 #line 563 "perly.y"
2242 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2243 break;
2244 case 120:
2245 #line 565 "perly.y"
2246 { yyval.opval = newUNOP(OP_POSTINC, 0,
2247                                         mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2248 break;
2249 case 121:
2250 #line 568 "perly.y"
2251 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2252                                         mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2253 break;
2254 case 122:
2255 #line 571 "perly.y"
2256 { yyval.opval = newUNOP(OP_PREINC, 0,
2257                                         mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2258 break;
2259 case 123:
2260 #line 574 "perly.y"
2261 { yyval.opval = newUNOP(OP_PREDEC, 0,
2262                                         mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2263 break;
2264 case 124:
2265 #line 581 "perly.y"
2266 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2267 break;
2268 case 125:
2269 #line 583 "perly.y"
2270 { yyval.opval = newANONLIST(Nullop); }
2271 break;
2272 case 126:
2273 #line 585 "perly.y"
2274 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2275 break;
2276 case 127:
2277 #line 587 "perly.y"
2278 { yyval.opval = newANONHASH(Nullop); }
2279 break;
2280 case 128:
2281 #line 589 "perly.y"
2282 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2283 break;
2284 case 129:
2285 #line 595 "perly.y"
2286 { yyval.opval = dofile(yyvsp[0].opval); }
2287 break;
2288 case 130:
2289 #line 597 "perly.y"
2290 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2291 break;
2292 case 131:
2293 #line 599 "perly.y"
2294 { yyval.opval = newUNOP(OP_ENTERSUB,
2295                             OPf_SPECIAL|OPf_STACKED,
2296                             prepend_elem(OP_LIST,
2297                                 scalar(newCVREF(
2298                                     (OPpENTERSUB_AMPER<<8),
2299                                     scalar(yyvsp[-2].opval)
2300                                 )),Nullop)); dep();}
2301 break;
2302 case 132:
2303 #line 607 "perly.y"
2304 { yyval.opval = newUNOP(OP_ENTERSUB,
2305                             OPf_SPECIAL|OPf_STACKED,
2306                             append_elem(OP_LIST,
2307                                 yyvsp[-1].opval,
2308                                 scalar(newCVREF(
2309                                     (OPpENTERSUB_AMPER<<8),
2310                                     scalar(yyvsp[-3].opval)
2311                                 )))); dep();}
2312 break;
2313 case 133:
2314 #line 616 "perly.y"
2315 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2316                             prepend_elem(OP_LIST,
2317                                 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2318 break;
2319 case 134:
2320 #line 620 "perly.y"
2321 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2322                             prepend_elem(OP_LIST,
2323                                 yyvsp[-1].opval,
2324                                 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2325 break;
2326 case 139:
2327 #line 632 "perly.y"
2328 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2329 break;
2330 case 140:
2331 #line 634 "perly.y"
2332 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2333 break;
2334 case 141:
2335 #line 636 "perly.y"
2336 { yyval.opval = yyvsp[0].opval; }
2337 break;
2338 case 142:
2339 #line 638 "perly.y"
2340 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2341 break;
2342 case 143:
2343 #line 640 "perly.y"
2344 { yyval.opval = sawparens(yyvsp[-1].opval); }
2345 break;
2346 case 144:
2347 #line 642 "perly.y"
2348 { yyval.opval = sawparens(newNULLLIST()); }
2349 break;
2350 case 145:
2351 #line 644 "perly.y"
2352 { yyval.opval = yyvsp[0].opval; }
2353 break;
2354 case 146:
2355 #line 646 "perly.y"
2356 { yyval.opval = yyvsp[0].opval; }
2357 break;
2358 case 147:
2359 #line 648 "perly.y"
2360 { yyval.opval = yyvsp[0].opval; }
2361 break;
2362 case 148:
2363 #line 650 "perly.y"
2364 { yyval.opval = yyvsp[0].opval; }
2365 break;
2366 case 149:
2367 #line 652 "perly.y"
2368 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2369 break;
2370 case 150:
2371 #line 654 "perly.y"
2372 { yyval.opval = yyvsp[0].opval; }
2373 break;
2374 case 151:
2375 #line 656 "perly.y"
2376 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2377 break;
2378 case 152:
2379 #line 658 "perly.y"
2380 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2381 break;
2382 case 153:
2383 #line 660 "perly.y"
2384 { yyval.opval = prepend_elem(OP_ASLICE,
2385                                 newOP(OP_PUSHMARK, 0),
2386                                     newLISTOP(OP_ASLICE, 0,
2387                                         list(yyvsp[-1].opval),
2388                                         ref(yyvsp[-3].opval, OP_ASLICE))); }
2389 break;
2390 case 154:
2391 #line 666 "perly.y"
2392 { yyval.opval = prepend_elem(OP_HSLICE,
2393                                 newOP(OP_PUSHMARK, 0),
2394                                     newLISTOP(OP_HSLICE, 0,
2395                                         list(yyvsp[-2].opval),
2396                                         ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2397                             PL_expect = XOPERATOR; }
2398 break;
2399 case 155:
2400 #line 673 "perly.y"
2401 { yyval.opval = yyvsp[0].opval; }
2402 break;
2403 case 156:
2404 #line 675 "perly.y"
2405 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2406 break;
2407 case 157:
2408 #line 677 "perly.y"
2409 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2410 break;
2411 case 158:
2412 #line 679 "perly.y"
2413 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2414                             append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2415 break;
2416 case 159:
2417 #line 682 "perly.y"
2418 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2419                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2420 break;
2421 case 160:
2422 #line 685 "perly.y"
2423 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2424                             PL_hints |= HINT_BLOCK_SCOPE; }
2425 break;
2426 case 161:
2427 #line 688 "perly.y"
2428 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2429 break;
2430 case 162:
2431 #line 690 "perly.y"
2432 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2433 break;
2434 case 163:
2435 #line 692 "perly.y"
2436 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2437 break;
2438 case 164:
2439 #line 694 "perly.y"
2440 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2441 break;
2442 case 165:
2443 #line 696 "perly.y"
2444 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2445 break;
2446 case 166:
2447 #line 698 "perly.y"
2448 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2449                             append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2450 break;
2451 case 167:
2452 #line 701 "perly.y"
2453 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2454 break;
2455 case 168:
2456 #line 703 "perly.y"
2457 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2458 break;
2459 case 169:
2460 #line 705 "perly.y"
2461 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2462                                 scalar(yyvsp[0].opval)); }
2463 break;
2464 case 170:
2465 #line 708 "perly.y"
2466 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2467 break;
2468 case 171:
2469 #line 710 "perly.y"
2470 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2471 break;
2472 case 172:
2473 #line 712 "perly.y"
2474 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2475 break;
2476 case 173:
2477 #line 714 "perly.y"
2478 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2479 break;
2480 case 176:
2481 #line 721 "perly.y"
2482 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2483 break;
2484 case 177:
2485 #line 723 "perly.y"
2486 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2487 break;
2488 case 178:
2489 #line 728 "perly.y"
2490 { yyval.opval = sawparens(yyvsp[-1].opval); }
2491 break;
2492 case 179:
2493 #line 730 "perly.y"
2494 { yyval.opval = sawparens(newNULLLIST()); }
2495 break;
2496 case 180:
2497 #line 732 "perly.y"
2498 { yyval.opval = yyvsp[0].opval; }
2499 break;
2500 case 181:
2501 #line 734 "perly.y"
2502 { yyval.opval = yyvsp[0].opval; }
2503 break;
2504 case 182:
2505 #line 736 "perly.y"
2506 { yyval.opval = yyvsp[0].opval; }
2507 break;
2508 case 183:
2509 #line 741 "perly.y"
2510 { yyval.opval = Nullop; }
2511 break;
2512 case 184:
2513 #line 743 "perly.y"
2514 { yyval.opval = yyvsp[0].opval; }
2515 break;
2516 case 185:
2517 #line 747 "perly.y"
2518 { yyval.opval = Nullop; }
2519 break;
2520 case 186:
2521 #line 749 "perly.y"
2522 { yyval.opval = yyvsp[0].opval; }
2523 break;
2524 case 187:
2525 #line 751 "perly.y"
2526 { yyval.opval = yyvsp[-1].opval; }
2527 break;
2528 case 188:
2529 #line 757 "perly.y"
2530 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2531 break;
2532 case 189:
2533 #line 761 "perly.y"
2534 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2535 break;
2536 case 190:
2537 #line 765 "perly.y"
2538 { yyval.opval = newSVREF(yyvsp[0].opval); }
2539 break;
2540 case 191:
2541 #line 769 "perly.y"
2542 { yyval.opval = newAVREF(yyvsp[0].opval); }
2543 break;
2544 case 192:
2545 #line 773 "perly.y"
2546 { yyval.opval = newHVREF(yyvsp[0].opval); }
2547 break;
2548 case 193:
2549 #line 777 "perly.y"
2550 { yyval.opval = newAVREF(yyvsp[0].opval); }
2551 break;
2552 case 194:
2553 #line 781 "perly.y"
2554 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2555 break;
2556 case 195:
2557 #line 786 "perly.y"
2558 { yyval.opval = scalar(yyvsp[0].opval); }
2559 break;
2560 case 196:
2561 #line 788 "perly.y"
2562 { yyval.opval = scalar(yyvsp[0].opval);  }
2563 break;
2564 case 197:
2565 #line 790 "perly.y"
2566 { yyval.opval = scope(yyvsp[0].opval); }
2567 break;
2568 case 198:
2569 #line 793 "perly.y"
2570 { yyval.opval = yyvsp[0].opval; }
2571 break;
2572 #line 2563 "perly.c"
2573     }
2574     yyssp -= yym;
2575     yystate = *yyssp;
2576     yyvsp -= yym;
2577     yym = yylhs[yyn];
2578     if (yystate == 0 && yym == 0)
2579     {
2580 #if YYDEBUG
2581         if (yydebug)
2582             PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2583  state %d\n", YYFINAL);
2584 #endif
2585         yystate = YYFINAL;
2586         *++yyssp = YYFINAL;
2587         *++yyvsp = yyval;
2588         if (yychar < 0)
2589         {
2590             if ((yychar = yylex()) < 0) yychar = 0;
2591 #if YYDEBUG
2592             if (yydebug)
2593             {
2594                 yys = 0;
2595                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2596                 if (!yys) yys = "illegal-symbol";
2597                 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2598                         YYFINAL, yychar, yys);
2599             }
2600 #endif
2601         }
2602         if (yychar == 0) goto yyaccept;
2603         goto yyloop;
2604     }
2605     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2606             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2607         yystate = yytable[yyn];
2608     else
2609         yystate = yydgoto[yym];
2610 #if YYDEBUG
2611     if (yydebug)
2612         PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2613 to state %d\n", *yyssp, yystate);
2614 #endif
2615     if (yyssp >= yyss + yystacksize - 1)
2616     {
2617         /*
2618         ** reallocate and recover.  Note that pointers
2619         ** have to be reset, or bad things will happen
2620         */
2621         int yyps_index = (yyssp - yyss);
2622         int yypv_index = (yyvsp - yyvs);
2623         yystacksize += YYSTACKSIZE;
2624         ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2625         ysave->yyss = Renew(yyss, yystacksize, short);
2626         if (!yyvs || !yyss)
2627         goto yyoverflow;
2628         yyssp = yyss + yyps_index;
2629         yyvsp = yyvs + yypv_index;
2630     }
2631     *++yyssp = yystate;
2632     *++yyvsp = yyval;
2633     goto yyloop;
2634 yyoverflow:
2635     yyerror("Out of memory for yacc stack");
2636 yyabort:
2637     retval = 1;
2638 yyaccept:
2639 #ifdef USE_ITHREADS
2640     LEAVE;                      /* force yydestruct() before we return */
2641 #endif
2642     return retval;
2643 }
2644
2645 static void
2646 yydestruct(pTHX_ void *ptr)
2647 {
2648     struct ysv* ysave = (struct ysv*)ptr;
2649     if (ysave->yyss) Safefree(ysave->yyss);
2650     if (ysave->yyvs) Safefree(ysave->yyvs);
2651     yydebug     = ysave->oldyydebug;
2652     yynerrs     = ysave->oldyynerrs;
2653     yyerrflag   = ysave->oldyyerrflag;
2654     yychar      = ysave->oldyychar;
2655     yyval       = ysave->oldyyval;
2656     yylval      = ysave->oldyylval;
2657     Safefree(ysave);
2658 }