Coverage Report

Created: 2026-10-28 06:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_parser.c
Line
Count
Source
1
/* A Bison parser, made by GNU Bison 3.8.2.  */
2
3
/* Bison implementation for Yacc-like parsers in C
4
5
   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6
   Inc.
7
8
   This program is free software: you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation, either version 3 of the License, or
11
   (at your option) any later version.
12
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
17
18
   You should have received a copy of the GNU General Public License
19
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
20
21
/* As a special exception, you may create a larger work that contains
22
   part or all of the Bison parser skeleton and distribute that work
23
   under terms of your choice, so long as that work isn't itself a
24
   parser generator using the skeleton or a modified version thereof
25
   as a parser skeleton.  Alternatively, if you modify or redistribute
26
   the parser skeleton itself, you may (at your option) remove this
27
   special exception, which will cause the skeleton and the resulting
28
   Bison output files to be licensed under the GNU General Public
29
   License without this special exception.
30
31
   This special exception was added by the Free Software Foundation in
32
   version 2.2 of Bison.  */
33
34
/* C LALR(1) parser skeleton written by Richard Stallman, by
35
   simplifying the original so-called "semantic" parser.  */
36
37
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38
   especially those whose name start with YY_ or yy_.  They are
39
   private implementation details that can be changed or removed.  */
40
41
/* All symbols defined below should begin with yy or YY, to avoid
42
   infringing on user name space.  This should be done even for local
43
   variables, as they might otherwise be expanded by user macros.
44
   There are some unavoidable exceptions within include files to
45
   define necessary library symbols; they are noted "INFRINGES ON
46
   USER NAME SPACE" below.  */
47
48
/* Identify Bison output, and Bison version.  */
49
#define YYBISON 30802
50
51
/* Bison version string.  */
52
#define YYBISON_VERSION "3.8.2"
53
54
/* Skeleton name.  */
55
#define YYSKELETON_NAME "yacc.c"
56
57
/* Pure parsers.  */
58
#define YYPURE 2
59
60
/* Push parsers.  */
61
#define YYPUSH 0
62
63
/* Pull parsers.  */
64
#define YYPULL 1
65
66
/* "%code top" blocks.  */
67
#line 21 "/src/php-src/Zend/zend_language_parser.y"
68
69
#include "zend.h"
70
#include "zend_list.h"
71
#include "zend_globals.h"
72
#include "zend_API.h"
73
#include "zend_constants.h"
74
#include "zend_language_scanner.h"
75
#include "zend_exceptions.h"
76
77
23.1k
#define YYSIZE_T size_t
78
147k
#define yytnamerr zend_yytnamerr
79
static YYSIZE_T zend_yytnamerr(char*, const char*);
80
81
#ifdef _MSC_VER
82
#define YYMALLOC malloc
83
#define YYFREE free
84
#endif
85
86
#line 87 "/src/php-src/Zend/zend_language_parser.c"
87
/* Substitute the type names.  */
88
541k
#define YYSTYPE         ZENDSTYPE
89
/* Substitute the variable and function names.  */
90
#define yyparse         zendparse
91
5.35M
#define yylex           zendlex
92
50.6k
#define yyerror         zenderror
93
#define yydebug         zenddebug
94
50.7k
#define yynerrs         zendnerrs
95
96
97
# ifndef YY_CAST
98
#  ifdef __cplusplus
99
#   define YY_CAST(Type, Val) static_cast<Type> (Val)
100
#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
101
#  else
102
27.3M
#   define YY_CAST(Type, Val) ((Type) (Val))
103
#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
104
#  endif
105
# endif
106
# ifndef YY_NULLPTR
107
#  if defined __cplusplus
108
#   if 201103L <= __cplusplus
109
#    define YY_NULLPTR nullptr
110
#   else
111
#    define YY_NULLPTR 0
112
#   endif
113
#  else
114
124k
#   define YY_NULLPTR ((void*)0)
115
#  endif
116
# endif
117
118
#include "zend_language_parser.h"
119
/* Symbol kind.  */
120
enum yysymbol_kind_t
121
{
122
  YYSYMBOL_YYEMPTY = -2,
123
  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
124
  YYSYMBOL_YYerror = 1,                    /* error  */
125
  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
126
  YYSYMBOL_PREC_ARROW_FUNCTION = 3,        /* PREC_ARROW_FUNCTION  */
127
  YYSYMBOL_4_ = 4,                         /* '='  */
128
  YYSYMBOL_5_ = 5,                         /* '?'  */
129
  YYSYMBOL_6_ = 6,                         /* ':'  */
130
  YYSYMBOL_7_ = 7,                         /* '|'  */
131
  YYSYMBOL_8_ = 8,                         /* '^'  */
132
  YYSYMBOL_9_ = 9,                         /* '<'  */
133
  YYSYMBOL_10_ = 10,                       /* '>'  */
134
  YYSYMBOL_11_ = 11,                       /* '.'  */
135
  YYSYMBOL_12_ = 12,                       /* '+'  */
136
  YYSYMBOL_13_ = 13,                       /* '-'  */
137
  YYSYMBOL_14_ = 14,                       /* '*'  */
138
  YYSYMBOL_15_ = 15,                       /* '/'  */
139
  YYSYMBOL_16_ = 16,                       /* '%'  */
140
  YYSYMBOL_17_ = 17,                       /* '!'  */
141
  YYSYMBOL_18_ = 18,                       /* '~'  */
142
  YYSYMBOL_19_ = 19,                       /* '@'  */
143
  YYSYMBOL_T_NOELSE = 20,                  /* T_NOELSE  */
144
  YYSYMBOL_T_LNUMBER = 21,                 /* "integer"  */
145
  YYSYMBOL_T_DNUMBER = 22,                 /* "floating-point number"  */
146
  YYSYMBOL_T_STRING = 23,                  /* "identifier"  */
147
  YYSYMBOL_T_NAME_FULLY_QUALIFIED = 24,    /* "fully qualified name"  */
148
  YYSYMBOL_T_NAME_RELATIVE = 25,           /* "namespace-relative name"  */
149
  YYSYMBOL_T_NAME_QUALIFIED = 26,          /* "namespaced name"  */
150
  YYSYMBOL_T_VARIABLE = 27,                /* "variable"  */
151
  YYSYMBOL_T_INLINE_HTML = 28,             /* T_INLINE_HTML  */
152
  YYSYMBOL_T_ENCAPSED_AND_WHITESPACE = 29, /* "string content"  */
153
  YYSYMBOL_T_CONSTANT_ENCAPSED_STRING = 30, /* "quoted string"  */
154
  YYSYMBOL_T_STRING_VARNAME = 31,          /* "variable name"  */
155
  YYSYMBOL_T_NUM_STRING = 32,              /* "number"  */
156
  YYSYMBOL_T_INCLUDE = 33,                 /* "'include'"  */
157
  YYSYMBOL_T_INCLUDE_ONCE = 34,            /* "'include_once'"  */
158
  YYSYMBOL_T_EVAL = 35,                    /* "'eval'"  */
159
  YYSYMBOL_T_REQUIRE = 36,                 /* "'require'"  */
160
  YYSYMBOL_T_REQUIRE_ONCE = 37,            /* "'require_once'"  */
161
  YYSYMBOL_T_LOGICAL_OR = 38,              /* "'or'"  */
162
  YYSYMBOL_T_LOGICAL_XOR = 39,             /* "'xor'"  */
163
  YYSYMBOL_T_LOGICAL_AND = 40,             /* "'and'"  */
164
  YYSYMBOL_T_PRINT = 41,                   /* "'print'"  */
165
  YYSYMBOL_T_YIELD = 42,                   /* "'yield'"  */
166
  YYSYMBOL_T_YIELD_FROM = 43,              /* "'yield from'"  */
167
  YYSYMBOL_T_INSTANCEOF = 44,              /* "'instanceof'"  */
168
  YYSYMBOL_T_NEW = 45,                     /* "'new'"  */
169
  YYSYMBOL_T_CLONE = 46,                   /* "'clone'"  */
170
  YYSYMBOL_T_EXIT = 47,                    /* "'exit'"  */
171
  YYSYMBOL_T_IF = 48,                      /* "'if'"  */
172
  YYSYMBOL_T_ELSEIF = 49,                  /* "'elseif'"  */
173
  YYSYMBOL_T_ELSE = 50,                    /* "'else'"  */
174
  YYSYMBOL_T_ENDIF = 51,                   /* "'endif'"  */
175
  YYSYMBOL_T_ECHO = 52,                    /* "'echo'"  */
176
  YYSYMBOL_T_DO = 53,                      /* "'do'"  */
177
  YYSYMBOL_T_WHILE = 54,                   /* "'while'"  */
178
  YYSYMBOL_T_ENDWHILE = 55,                /* "'endwhile'"  */
179
  YYSYMBOL_T_FOR = 56,                     /* "'for'"  */
180
  YYSYMBOL_T_ENDFOR = 57,                  /* "'endfor'"  */
181
  YYSYMBOL_T_FOREACH = 58,                 /* "'foreach'"  */
182
  YYSYMBOL_T_ENDFOREACH = 59,              /* "'endforeach'"  */
183
  YYSYMBOL_T_DECLARE = 60,                 /* "'declare'"  */
184
  YYSYMBOL_T_ENDDECLARE = 61,              /* "'enddeclare'"  */
185
  YYSYMBOL_T_AS = 62,                      /* "'as'"  */
186
  YYSYMBOL_T_SWITCH = 63,                  /* "'switch'"  */
187
  YYSYMBOL_T_ENDSWITCH = 64,               /* "'endswitch'"  */
188
  YYSYMBOL_T_CASE = 65,                    /* "'case'"  */
189
  YYSYMBOL_T_DEFAULT = 66,                 /* "'default'"  */
190
  YYSYMBOL_T_MATCH = 67,                   /* "'match'"  */
191
  YYSYMBOL_T_BREAK = 68,                   /* "'break'"  */
192
  YYSYMBOL_T_CONTINUE = 69,                /* "'continue'"  */
193
  YYSYMBOL_T_GOTO = 70,                    /* "'goto'"  */
194
  YYSYMBOL_T_FUNCTION = 71,                /* "'function'"  */
195
  YYSYMBOL_T_FN = 72,                      /* "'fn'"  */
196
  YYSYMBOL_T_CONST = 73,                   /* "'const'"  */
197
  YYSYMBOL_T_RETURN = 74,                  /* "'return'"  */
198
  YYSYMBOL_T_TRY = 75,                     /* "'try'"  */
199
  YYSYMBOL_T_CATCH = 76,                   /* "'catch'"  */
200
  YYSYMBOL_T_FINALLY = 77,                 /* "'finally'"  */
201
  YYSYMBOL_T_THROW = 78,                   /* "'throw'"  */
202
  YYSYMBOL_T_USE = 79,                     /* "'use'"  */
203
  YYSYMBOL_T_INSTEADOF = 80,               /* "'insteadof'"  */
204
  YYSYMBOL_T_GLOBAL = 81,                  /* "'global'"  */
205
  YYSYMBOL_T_STATIC = 82,                  /* "'static'"  */
206
  YYSYMBOL_T_ABSTRACT = 83,                /* "'abstract'"  */
207
  YYSYMBOL_T_FINAL = 84,                   /* "'final'"  */
208
  YYSYMBOL_T_PRIVATE = 85,                 /* "'private'"  */
209
  YYSYMBOL_T_PROTECTED = 86,               /* "'protected'"  */
210
  YYSYMBOL_T_PUBLIC = 87,                  /* "'public'"  */
211
  YYSYMBOL_T_PRIVATE_SET = 88,             /* "'private(set)'"  */
212
  YYSYMBOL_T_PROTECTED_SET = 89,           /* "'protected(set)'"  */
213
  YYSYMBOL_T_PUBLIC_SET = 90,              /* "'public(set)'"  */
214
  YYSYMBOL_T_READONLY = 91,                /* "'readonly'"  */
215
  YYSYMBOL_T_VAR = 92,                     /* "'var'"  */
216
  YYSYMBOL_T_UNSET = 93,                   /* "'unset'"  */
217
  YYSYMBOL_T_ISSET = 94,                   /* "'isset'"  */
218
  YYSYMBOL_T_EMPTY = 95,                   /* "'empty'"  */
219
  YYSYMBOL_T_HALT_COMPILER = 96,           /* "'__halt_compiler'"  */
220
  YYSYMBOL_T_CLASS = 97,                   /* "'class'"  */
221
  YYSYMBOL_T_TRAIT = 98,                   /* "'trait'"  */
222
  YYSYMBOL_T_INTERFACE = 99,               /* "'interface'"  */
223
  YYSYMBOL_T_ENUM = 100,                   /* "'enum'"  */
224
  YYSYMBOL_T_EXTENDS = 101,                /* "'extends'"  */
225
  YYSYMBOL_T_IMPLEMENTS = 102,             /* "'implements'"  */
226
  YYSYMBOL_T_NAMESPACE = 103,              /* "'namespace'"  */
227
  YYSYMBOL_T_LIST = 104,                   /* "'list'"  */
228
  YYSYMBOL_T_ARRAY = 105,                  /* "'array'"  */
229
  YYSYMBOL_T_CALLABLE = 106,               /* "'callable'"  */
230
  YYSYMBOL_T_LINE = 107,                   /* "'__LINE__'"  */
231
  YYSYMBOL_T_FILE = 108,                   /* "'__FILE__'"  */
232
  YYSYMBOL_T_DIR = 109,                    /* "'__DIR__'"  */
233
  YYSYMBOL_T_CLASS_C = 110,                /* "'__CLASS__'"  */
234
  YYSYMBOL_T_TRAIT_C = 111,                /* "'__TRAIT__'"  */
235
  YYSYMBOL_T_METHOD_C = 112,               /* "'__METHOD__'"  */
236
  YYSYMBOL_T_FUNC_C = 113,                 /* "'__FUNCTION__'"  */
237
  YYSYMBOL_T_PROPERTY_C = 114,             /* "'__PROPERTY__'"  */
238
  YYSYMBOL_T_NS_C = 115,                   /* "'__NAMESPACE__'"  */
239
  YYSYMBOL_T_ATTRIBUTE = 116,              /* "'#['"  */
240
  YYSYMBOL_T_PLUS_EQUAL = 117,             /* "'+='"  */
241
  YYSYMBOL_T_MINUS_EQUAL = 118,            /* "'-='"  */
242
  YYSYMBOL_T_MUL_EQUAL = 119,              /* "'*='"  */
243
  YYSYMBOL_T_DIV_EQUAL = 120,              /* "'/='"  */
244
  YYSYMBOL_T_CONCAT_EQUAL = 121,           /* "'.='"  */
245
  YYSYMBOL_T_MOD_EQUAL = 122,              /* "'%='"  */
246
  YYSYMBOL_T_AND_EQUAL = 123,              /* "'&='"  */
247
  YYSYMBOL_T_OR_EQUAL = 124,               /* "'|='"  */
248
  YYSYMBOL_T_XOR_EQUAL = 125,              /* "'^='"  */
249
  YYSYMBOL_T_SL_EQUAL = 126,               /* "'<<='"  */
250
  YYSYMBOL_T_SR_EQUAL = 127,               /* "'>>='"  */
251
  YYSYMBOL_T_COALESCE_EQUAL = 128,         /* "'??='"  */
252
  YYSYMBOL_T_BOOLEAN_OR = 129,             /* "'||'"  */
253
  YYSYMBOL_T_BOOLEAN_AND = 130,            /* "'&&'"  */
254
  YYSYMBOL_T_IS_EQUAL = 131,               /* "'=='"  */
255
  YYSYMBOL_T_IS_NOT_EQUAL = 132,           /* "'!='"  */
256
  YYSYMBOL_T_IS_IDENTICAL = 133,           /* "'==='"  */
257
  YYSYMBOL_T_IS_NOT_IDENTICAL = 134,       /* "'!=='"  */
258
  YYSYMBOL_T_IS_SMALLER_OR_EQUAL = 135,    /* "'<='"  */
259
  YYSYMBOL_T_IS_GREATER_OR_EQUAL = 136,    /* "'>='"  */
260
  YYSYMBOL_T_SPACESHIP = 137,              /* "'<=>'"  */
261
  YYSYMBOL_T_SL = 138,                     /* "'<<'"  */
262
  YYSYMBOL_T_SR = 139,                     /* "'>>'"  */
263
  YYSYMBOL_T_INC = 140,                    /* "'++'"  */
264
  YYSYMBOL_T_DEC = 141,                    /* "'--'"  */
265
  YYSYMBOL_T_INT_CAST = 142,               /* "'(int)'"  */
266
  YYSYMBOL_T_DOUBLE_CAST = 143,            /* "'(float)'"  */
267
  YYSYMBOL_T_STRING_CAST = 144,            /* "'(string)'"  */
268
  YYSYMBOL_T_ARRAY_CAST = 145,             /* "'(array)'"  */
269
  YYSYMBOL_T_OBJECT_CAST = 146,            /* "'(object)'"  */
270
  YYSYMBOL_T_BOOL_CAST = 147,              /* "'(bool)'"  */
271
  YYSYMBOL_T_UNSET_CAST = 148,             /* "'(unset)'"  */
272
  YYSYMBOL_T_VOID_CAST = 149,              /* "'(void)'"  */
273
  YYSYMBOL_T_OBJECT_OPERATOR = 150,        /* "'->'"  */
274
  YYSYMBOL_T_NULLSAFE_OBJECT_OPERATOR = 151, /* "'?->'"  */
275
  YYSYMBOL_T_DOUBLE_ARROW = 152,           /* "'=>'"  */
276
  YYSYMBOL_T_COMMENT = 153,                /* "comment"  */
277
  YYSYMBOL_T_DOC_COMMENT = 154,            /* "doc comment"  */
278
  YYSYMBOL_T_OPEN_TAG = 155,               /* "open tag"  */
279
  YYSYMBOL_T_OPEN_TAG_WITH_ECHO = 156,     /* "'<?='"  */
280
  YYSYMBOL_T_CLOSE_TAG = 157,              /* "'?>'"  */
281
  YYSYMBOL_T_WHITESPACE = 158,             /* "whitespace"  */
282
  YYSYMBOL_T_START_HEREDOC = 159,          /* "heredoc start"  */
283
  YYSYMBOL_T_END_HEREDOC = 160,            /* "heredoc end"  */
284
  YYSYMBOL_T_DOLLAR_OPEN_CURLY_BRACES = 161, /* "'${'"  */
285
  YYSYMBOL_T_CURLY_OPEN = 162,             /* "'{$'"  */
286
  YYSYMBOL_T_PAAMAYIM_NEKUDOTAYIM = 163,   /* "'::'"  */
287
  YYSYMBOL_T_NS_SEPARATOR = 164,           /* "'\\'"  */
288
  YYSYMBOL_T_ELLIPSIS = 165,               /* "'...'"  */
289
  YYSYMBOL_T_COALESCE = 166,               /* "'??'"  */
290
  YYSYMBOL_T_POW = 167,                    /* "'**'"  */
291
  YYSYMBOL_T_POW_EQUAL = 168,              /* "'**='"  */
292
  YYSYMBOL_T_PIPE = 169,                   /* "'|>'"  */
293
  YYSYMBOL_T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 170, /* "'&'"  */
294
  YYSYMBOL_T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 171, /* "amp"  */
295
  YYSYMBOL_T_BAD_CHARACTER = 172,          /* "invalid character"  */
296
  YYSYMBOL_T_ERROR = 173,                  /* T_ERROR  */
297
  YYSYMBOL_174_ = 174,                     /* ','  */
298
  YYSYMBOL_175_ = 175,                     /* ']'  */
299
  YYSYMBOL_176_ = 176,                     /* ';'  */
300
  YYSYMBOL_177_ = 177,                     /* '('  */
301
  YYSYMBOL_178_ = 178,                     /* ')'  */
302
  YYSYMBOL_179_ = 179,                     /* '{'  */
303
  YYSYMBOL_180_ = 180,                     /* '}'  */
304
  YYSYMBOL_181_ = 181,                     /* '['  */
305
  YYSYMBOL_182_ = 182,                     /* '`'  */
306
  YYSYMBOL_183_ = 183,                     /* '"'  */
307
  YYSYMBOL_184_ = 184,                     /* '$'  */
308
  YYSYMBOL_YYACCEPT = 185,                 /* $accept  */
309
  YYSYMBOL_start = 186,                    /* start  */
310
  YYSYMBOL_reserved_non_modifiers = 187,   /* reserved_non_modifiers  */
311
  YYSYMBOL_semi_reserved = 188,            /* semi_reserved  */
312
  YYSYMBOL_ampersand = 189,                /* ampersand  */
313
  YYSYMBOL_identifier = 190,               /* identifier  */
314
  YYSYMBOL_top_statement_list = 191,       /* top_statement_list  */
315
  YYSYMBOL_namespace_declaration_name = 192, /* namespace_declaration_name  */
316
  YYSYMBOL_namespace_name = 193,           /* namespace_name  */
317
  YYSYMBOL_legacy_namespace_name = 194,    /* legacy_namespace_name  */
318
  YYSYMBOL_name = 195,                     /* name  */
319
  YYSYMBOL_attribute_decl = 196,           /* attribute_decl  */
320
  YYSYMBOL_attribute_group = 197,          /* attribute_group  */
321
  YYSYMBOL_attribute = 198,                /* attribute  */
322
  YYSYMBOL_attributes = 199,               /* attributes  */
323
  YYSYMBOL_attributed_statement = 200,     /* attributed_statement  */
324
  YYSYMBOL_attributed_top_statement = 201, /* attributed_top_statement  */
325
  YYSYMBOL_top_statement = 202,            /* top_statement  */
326
  YYSYMBOL_203_1 = 203,                    /* $@1  */
327
  YYSYMBOL_204_2 = 204,                    /* $@2  */
328
  YYSYMBOL_use_type = 205,                 /* use_type  */
329
  YYSYMBOL_group_use_declaration = 206,    /* group_use_declaration  */
330
  YYSYMBOL_mixed_group_use_declaration = 207, /* mixed_group_use_declaration  */
331
  YYSYMBOL_possible_comma = 208,           /* possible_comma  */
332
  YYSYMBOL_inline_use_declarations = 209,  /* inline_use_declarations  */
333
  YYSYMBOL_unprefixed_use_declarations = 210, /* unprefixed_use_declarations  */
334
  YYSYMBOL_use_declarations = 211,         /* use_declarations  */
335
  YYSYMBOL_inline_use_declaration = 212,   /* inline_use_declaration  */
336
  YYSYMBOL_unprefixed_use_declaration = 213, /* unprefixed_use_declaration  */
337
  YYSYMBOL_use_declaration = 214,          /* use_declaration  */
338
  YYSYMBOL_const_list = 215,               /* const_list  */
339
  YYSYMBOL_inner_statement_list = 216,     /* inner_statement_list  */
340
  YYSYMBOL_inner_statement = 217,          /* inner_statement  */
341
  YYSYMBOL_statement = 218,                /* statement  */
342
  YYSYMBOL_219_3 = 219,                    /* $@3  */
343
  YYSYMBOL_catch_list = 220,               /* catch_list  */
344
  YYSYMBOL_catch_name_list = 221,          /* catch_name_list  */
345
  YYSYMBOL_optional_variable = 222,        /* optional_variable  */
346
  YYSYMBOL_finally_statement = 223,        /* finally_statement  */
347
  YYSYMBOL_unset_variables = 224,          /* unset_variables  */
348
  YYSYMBOL_unset_variable = 225,           /* unset_variable  */
349
  YYSYMBOL_function_name = 226,            /* function_name  */
350
  YYSYMBOL_function_declaration_statement = 227, /* function_declaration_statement  */
351
  YYSYMBOL_is_reference = 228,             /* is_reference  */
352
  YYSYMBOL_is_variadic = 229,              /* is_variadic  */
353
  YYSYMBOL_class_declaration_statement = 230, /* class_declaration_statement  */
354
  YYSYMBOL_231_4 = 231,                    /* @4  */
355
  YYSYMBOL_232_5 = 232,                    /* @5  */
356
  YYSYMBOL_class_modifiers = 233,          /* class_modifiers  */
357
  YYSYMBOL_anonymous_class_modifiers = 234, /* anonymous_class_modifiers  */
358
  YYSYMBOL_anonymous_class_modifiers_optional = 235, /* anonymous_class_modifiers_optional  */
359
  YYSYMBOL_class_modifier = 236,           /* class_modifier  */
360
  YYSYMBOL_trait_declaration_statement = 237, /* trait_declaration_statement  */
361
  YYSYMBOL_238_6 = 238,                    /* @6  */
362
  YYSYMBOL_interface_declaration_statement = 239, /* interface_declaration_statement  */
363
  YYSYMBOL_240_7 = 240,                    /* @7  */
364
  YYSYMBOL_enum_declaration_statement = 241, /* enum_declaration_statement  */
365
  YYSYMBOL_242_8 = 242,                    /* @8  */
366
  YYSYMBOL_enum_backing_type = 243,        /* enum_backing_type  */
367
  YYSYMBOL_enum_case = 244,                /* enum_case  */
368
  YYSYMBOL_enum_case_expr = 245,           /* enum_case_expr  */
369
  YYSYMBOL_extends_from = 246,             /* extends_from  */
370
  YYSYMBOL_interface_extends_list = 247,   /* interface_extends_list  */
371
  YYSYMBOL_implements_list = 248,          /* implements_list  */
372
  YYSYMBOL_foreach_variable = 249,         /* foreach_variable  */
373
  YYSYMBOL_for_statement = 250,            /* for_statement  */
374
  YYSYMBOL_foreach_statement = 251,        /* foreach_statement  */
375
  YYSYMBOL_declare_statement = 252,        /* declare_statement  */
376
  YYSYMBOL_switch_case_list = 253,         /* switch_case_list  */
377
  YYSYMBOL_case_list = 254,                /* case_list  */
378
  YYSYMBOL_match = 255,                    /* match  */
379
  YYSYMBOL_match_arm_list = 256,           /* match_arm_list  */
380
  YYSYMBOL_non_empty_match_arm_list = 257, /* non_empty_match_arm_list  */
381
  YYSYMBOL_match_arm = 258,                /* match_arm  */
382
  YYSYMBOL_match_arm_cond_list = 259,      /* match_arm_cond_list  */
383
  YYSYMBOL_while_statement = 260,          /* while_statement  */
384
  YYSYMBOL_if_stmt_without_else = 261,     /* if_stmt_without_else  */
385
  YYSYMBOL_if_stmt = 262,                  /* if_stmt  */
386
  YYSYMBOL_alt_if_stmt_without_else = 263, /* alt_if_stmt_without_else  */
387
  YYSYMBOL_alt_if_stmt = 264,              /* alt_if_stmt  */
388
  YYSYMBOL_parameter_list = 265,           /* parameter_list  */
389
  YYSYMBOL_non_empty_parameter_list = 266, /* non_empty_parameter_list  */
390
  YYSYMBOL_attributed_parameter = 267,     /* attributed_parameter  */
391
  YYSYMBOL_optional_cpp_modifiers = 268,   /* optional_cpp_modifiers  */
392
  YYSYMBOL_parameter = 269,                /* parameter  */
393
  YYSYMBOL_optional_type_without_static = 270, /* optional_type_without_static  */
394
  YYSYMBOL_type_expr = 271,                /* type_expr  */
395
  YYSYMBOL_type = 272,                     /* type  */
396
  YYSYMBOL_union_type_element = 273,       /* union_type_element  */
397
  YYSYMBOL_union_type = 274,               /* union_type  */
398
  YYSYMBOL_intersection_type = 275,        /* intersection_type  */
399
  YYSYMBOL_type_expr_without_static = 276, /* type_expr_without_static  */
400
  YYSYMBOL_type_without_static = 277,      /* type_without_static  */
401
  YYSYMBOL_union_type_without_static_element = 278, /* union_type_without_static_element  */
402
  YYSYMBOL_union_type_without_static = 279, /* union_type_without_static  */
403
  YYSYMBOL_intersection_type_without_static = 280, /* intersection_type_without_static  */
404
  YYSYMBOL_return_type = 281,              /* return_type  */
405
  YYSYMBOL_argument_list = 282,            /* argument_list  */
406
  YYSYMBOL_non_empty_argument_list = 283,  /* non_empty_argument_list  */
407
  YYSYMBOL_clone_argument_list = 284,      /* clone_argument_list  */
408
  YYSYMBOL_non_empty_clone_argument_list = 285, /* non_empty_clone_argument_list  */
409
  YYSYMBOL_argument_no_expr = 286,         /* argument_no_expr  */
410
  YYSYMBOL_argument = 287,                 /* argument  */
411
  YYSYMBOL_global_var_list = 288,          /* global_var_list  */
412
  YYSYMBOL_global_var = 289,               /* global_var  */
413
  YYSYMBOL_static_var_list = 290,          /* static_var_list  */
414
  YYSYMBOL_static_var = 291,               /* static_var  */
415
  YYSYMBOL_class_statement_list = 292,     /* class_statement_list  */
416
  YYSYMBOL_attributed_class_statement = 293, /* attributed_class_statement  */
417
  YYSYMBOL_class_statement = 294,          /* class_statement  */
418
  YYSYMBOL_class_name_list = 295,          /* class_name_list  */
419
  YYSYMBOL_trait_adaptations = 296,        /* trait_adaptations  */
420
  YYSYMBOL_trait_adaptation_list = 297,    /* trait_adaptation_list  */
421
  YYSYMBOL_trait_adaptation = 298,         /* trait_adaptation  */
422
  YYSYMBOL_trait_precedence = 299,         /* trait_precedence  */
423
  YYSYMBOL_trait_alias = 300,              /* trait_alias  */
424
  YYSYMBOL_trait_method_reference = 301,   /* trait_method_reference  */
425
  YYSYMBOL_absolute_trait_method_reference = 302, /* absolute_trait_method_reference  */
426
  YYSYMBOL_method_body = 303,              /* method_body  */
427
  YYSYMBOL_property_modifiers = 304,       /* property_modifiers  */
428
  YYSYMBOL_method_modifiers = 305,         /* method_modifiers  */
429
  YYSYMBOL_class_const_modifiers = 306,    /* class_const_modifiers  */
430
  YYSYMBOL_non_empty_member_modifiers = 307, /* non_empty_member_modifiers  */
431
  YYSYMBOL_member_modifier = 308,          /* member_modifier  */
432
  YYSYMBOL_property_list = 309,            /* property_list  */
433
  YYSYMBOL_property = 310,                 /* property  */
434
  YYSYMBOL_hooked_property = 311,          /* hooked_property  */
435
  YYSYMBOL_property_hook_list = 312,       /* property_hook_list  */
436
  YYSYMBOL_optional_property_hook_list = 313, /* optional_property_hook_list  */
437
  YYSYMBOL_property_hook_modifiers = 314,  /* property_hook_modifiers  */
438
  YYSYMBOL_property_hook = 315,            /* property_hook  */
439
  YYSYMBOL_316_9 = 316,                    /* @9  */
440
  YYSYMBOL_property_hook_body = 317,       /* property_hook_body  */
441
  YYSYMBOL_optional_parameter_list = 318,  /* optional_parameter_list  */
442
  YYSYMBOL_class_const_list = 319,         /* class_const_list  */
443
  YYSYMBOL_class_const_decl = 320,         /* class_const_decl  */
444
  YYSYMBOL_const_decl = 321,               /* const_decl  */
445
  YYSYMBOL_echo_expr_list = 322,           /* echo_expr_list  */
446
  YYSYMBOL_echo_expr = 323,                /* echo_expr  */
447
  YYSYMBOL_for_cond_exprs = 324,           /* for_cond_exprs  */
448
  YYSYMBOL_for_exprs = 325,                /* for_exprs  */
449
  YYSYMBOL_non_empty_for_exprs = 326,      /* non_empty_for_exprs  */
450
  YYSYMBOL_anonymous_class = 327,          /* anonymous_class  */
451
  YYSYMBOL_328_10 = 328,                   /* @10  */
452
  YYSYMBOL_new_dereferenceable = 329,      /* new_dereferenceable  */
453
  YYSYMBOL_new_non_dereferenceable = 330,  /* new_non_dereferenceable  */
454
  YYSYMBOL_expr = 331,                     /* expr  */
455
  YYSYMBOL_inline_function = 332,          /* inline_function  */
456
  YYSYMBOL_fn = 333,                       /* fn  */
457
  YYSYMBOL_function = 334,                 /* function  */
458
  YYSYMBOL_backup_doc_comment = 335,       /* backup_doc_comment  */
459
  YYSYMBOL_backup_fn_flags = 336,          /* backup_fn_flags  */
460
  YYSYMBOL_returns_ref = 337,              /* returns_ref  */
461
  YYSYMBOL_lexical_vars = 338,             /* lexical_vars  */
462
  YYSYMBOL_lexical_var_list = 339,         /* lexical_var_list  */
463
  YYSYMBOL_lexical_var = 340,              /* lexical_var  */
464
  YYSYMBOL_function_call = 341,            /* function_call  */
465
  YYSYMBOL_342_11 = 342,                   /* @11  */
466
  YYSYMBOL_class_name = 343,               /* class_name  */
467
  YYSYMBOL_class_name_reference = 344,     /* class_name_reference  */
468
  YYSYMBOL_backticks_expr = 345,           /* backticks_expr  */
469
  YYSYMBOL_ctor_arguments = 346,           /* ctor_arguments  */
470
  YYSYMBOL_dereferenceable_scalar = 347,   /* dereferenceable_scalar  */
471
  YYSYMBOL_scalar = 348,                   /* scalar  */
472
  YYSYMBOL_constant = 349,                 /* constant  */
473
  YYSYMBOL_class_constant = 350,           /* class_constant  */
474
  YYSYMBOL_optional_expr = 351,            /* optional_expr  */
475
  YYSYMBOL_variable_class_name = 352,      /* variable_class_name  */
476
  YYSYMBOL_fully_dereferenceable = 353,    /* fully_dereferenceable  */
477
  YYSYMBOL_array_object_dereferenceable = 354, /* array_object_dereferenceable  */
478
  YYSYMBOL_callable_expr = 355,            /* callable_expr  */
479
  YYSYMBOL_callable_variable = 356,        /* callable_variable  */
480
  YYSYMBOL_variable = 357,                 /* variable  */
481
  YYSYMBOL_simple_variable = 358,          /* simple_variable  */
482
  YYSYMBOL_static_member = 359,            /* static_member  */
483
  YYSYMBOL_new_variable = 360,             /* new_variable  */
484
  YYSYMBOL_member_name = 361,              /* member_name  */
485
  YYSYMBOL_property_name = 362,            /* property_name  */
486
  YYSYMBOL_array_pair_list = 363,          /* array_pair_list  */
487
  YYSYMBOL_possible_array_pair = 364,      /* possible_array_pair  */
488
  YYSYMBOL_non_empty_array_pair_list = 365, /* non_empty_array_pair_list  */
489
  YYSYMBOL_array_pair = 366,               /* array_pair  */
490
  YYSYMBOL_encaps_list = 367,              /* encaps_list  */
491
  YYSYMBOL_encaps_var = 368,               /* encaps_var  */
492
  YYSYMBOL_encaps_var_offset = 369,        /* encaps_var_offset  */
493
  YYSYMBOL_internal_functions_in_yacc = 370, /* internal_functions_in_yacc  */
494
  YYSYMBOL_isset_variables = 371,          /* isset_variables  */
495
  YYSYMBOL_isset_variable = 372            /* isset_variable  */
496
};
497
typedef enum yysymbol_kind_t yysymbol_kind_t;
498
499
500
501
502
#ifdef short
503
# undef short
504
#endif
505
506
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
507
   <limits.h> and (if available) <stdint.h> are included
508
   so that the code can choose integer types of a good width.  */
509
510
#ifndef __PTRDIFF_MAX__
511
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
512
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
513
#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
514
#  define YY_STDINT_H
515
# endif
516
#endif
517
518
/* Narrow types that promote to a signed type and that can represent a
519
   signed or unsigned integer of at least N bits.  In tables they can
520
   save space and decrease cache pressure.  Promoting to a signed type
521
   helps avoid bugs in integer arithmetic.  */
522
523
#ifdef __INT_LEAST8_MAX__
524
typedef __INT_LEAST8_TYPE__ yytype_int8;
525
#elif defined YY_STDINT_H
526
typedef int_least8_t yytype_int8;
527
#else
528
typedef signed char yytype_int8;
529
#endif
530
531
#ifdef __INT_LEAST16_MAX__
532
typedef __INT_LEAST16_TYPE__ yytype_int16;
533
#elif defined YY_STDINT_H
534
typedef int_least16_t yytype_int16;
535
#else
536
typedef short yytype_int16;
537
#endif
538
539
/* Work around bug in HP-UX 11.23, which defines these macros
540
   incorrectly for preprocessor constants.  This workaround can likely
541
   be removed in 2023, as HPE has promised support for HP-UX 11.23
542
   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
543
   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
544
#ifdef __hpux
545
# undef UINT_LEAST8_MAX
546
# undef UINT_LEAST16_MAX
547
# define UINT_LEAST8_MAX 255
548
# define UINT_LEAST16_MAX 65535
549
#endif
550
551
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
552
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
553
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
554
       && UINT_LEAST8_MAX <= INT_MAX)
555
typedef uint_least8_t yytype_uint8;
556
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
557
typedef unsigned char yytype_uint8;
558
#else
559
typedef short yytype_uint8;
560
#endif
561
562
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
563
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
564
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
565
       && UINT_LEAST16_MAX <= INT_MAX)
566
typedef uint_least16_t yytype_uint16;
567
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
568
typedef unsigned short yytype_uint16;
569
#else
570
typedef int yytype_uint16;
571
#endif
572
573
#ifndef YYPTRDIFF_T
574
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
575
348k
#  define YYPTRDIFF_T __PTRDIFF_TYPE__
576
#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
577
# elif defined PTRDIFF_MAX
578
#  ifndef ptrdiff_t
579
#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
580
#  endif
581
#  define YYPTRDIFF_T ptrdiff_t
582
#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
583
# else
584
#  define YYPTRDIFF_T long
585
#  define YYPTRDIFF_MAXIMUM LONG_MAX
586
# endif
587
#endif
588
589
#ifndef YYSIZE_T
590
# ifdef __SIZE_TYPE__
591
#  define YYSIZE_T __SIZE_TYPE__
592
# elif defined size_t
593
#  define YYSIZE_T size_t
594
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
595
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
596
#  define YYSIZE_T size_t
597
# else
598
#  define YYSIZE_T unsigned
599
# endif
600
#endif
601
602
#define YYSIZE_MAXIMUM                                  \
603
73.8k
  YY_CAST (YYPTRDIFF_T,                                 \
604
           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
605
            ? YYPTRDIFF_MAXIMUM                         \
606
            : YY_CAST (YYSIZE_T, -1)))
607
608
14.9k
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
609
610
611
/* Stored state numbers (used for stacks). */
612
typedef yytype_int16 yy_state_t;
613
614
/* State numbers in computations.  */
615
typedef int yy_state_fast_t;
616
617
#ifndef YY_
618
# if defined YYENABLE_NLS && YYENABLE_NLS
619
#  if ENABLE_NLS
620
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
621
#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
622
#  endif
623
# endif
624
# ifndef YY_
625
50.6k
#  define YY_(Msgid) Msgid
626
# endif
627
#endif
628
629
630
#ifndef YY_ATTRIBUTE_PURE
631
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
632
#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
633
# else
634
#  define YY_ATTRIBUTE_PURE
635
# endif
636
#endif
637
638
#ifndef YY_ATTRIBUTE_UNUSED
639
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
640
#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
641
# else
642
#  define YY_ATTRIBUTE_UNUSED
643
# endif
644
#endif
645
646
/* Suppress unused-variable warnings by "using" E.  */
647
#if ! defined lint || defined __GNUC__
648
751k
# define YY_USE(E) ((void) (E))
649
#else
650
# define YY_USE(E) /* empty */
651
#endif
652
653
/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
654
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
655
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
656
#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
657
    _Pragma ("GCC diagnostic push")                                     \
658
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
659
# else
660
#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
661
    _Pragma ("GCC diagnostic push")                                     \
662
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
663
    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
664
# endif
665
# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
666
    _Pragma ("GCC diagnostic pop")
667
#else
668
216k
# define YY_INITIAL_VALUE(Value) Value
669
#endif
670
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
671
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
672
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
673
#endif
674
#ifndef YY_INITIAL_VALUE
675
# define YY_INITIAL_VALUE(Value) /* Nothing. */
676
#endif
677
678
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
679
# define YY_IGNORE_USELESS_CAST_BEGIN                          \
680
    _Pragma ("GCC diagnostic push")                            \
681
    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
682
# define YY_IGNORE_USELESS_CAST_END            \
683
    _Pragma ("GCC diagnostic pop")
684
#endif
685
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
686
# define YY_IGNORE_USELESS_CAST_BEGIN
687
# define YY_IGNORE_USELESS_CAST_END
688
#endif
689
690
691
16.2M
#define YY_ASSERT(E) ((void) (0 && (E)))
692
693
#if 1
694
695
/* The parser invokes alloca or malloc; define the necessary symbols.  */
696
697
# ifdef YYSTACK_USE_ALLOCA
698
#  if YYSTACK_USE_ALLOCA
699
#   ifdef __GNUC__
700
#    define YYSTACK_ALLOC __builtin_alloca
701
#   elif defined __BUILTIN_VA_ARG_INCR
702
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
703
#   elif defined _AIX
704
#    define YYSTACK_ALLOC __alloca
705
#   elif defined _MSC_VER
706
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
707
#    define alloca _alloca
708
#   else
709
#    define YYSTACK_ALLOC alloca
710
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
711
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
712
      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
713
#     ifndef EXIT_SUCCESS
714
#      define EXIT_SUCCESS 0
715
#     endif
716
#    endif
717
#   endif
718
#  endif
719
# endif
720
721
# ifdef YYSTACK_ALLOC
722
   /* Pacify GCC's 'empty if-body' warning.  */
723
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
724
#  ifndef YYSTACK_ALLOC_MAXIMUM
725
    /* The OS might guarantee only one guard page at the bottom of the stack,
726
       and a page size can be as small as 4096 bytes.  So we cannot safely
727
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
728
       to allow for a few compiler-allocated temporary stack slots.  */
729
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
730
#  endif
731
# else
732
#  define YYSTACK_ALLOC YYMALLOC
733
2.49k
#  define YYSTACK_FREE YYFREE
734
#  ifndef YYSTACK_ALLOC_MAXIMUM
735
73.8k
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
736
#  endif
737
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
738
       && ! ((defined YYMALLOC || defined malloc) \
739
             && (defined YYFREE || defined free)))
740
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
741
#   ifndef EXIT_SUCCESS
742
#    define EXIT_SUCCESS 0
743
#   endif
744
#  endif
745
#  ifndef YYMALLOC
746
#   define YYMALLOC malloc
747
#   if ! defined malloc && ! defined EXIT_SUCCESS
748
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
749
#   endif
750
#  endif
751
#  ifndef YYFREE
752
2.49k
#   define YYFREE free
753
#   if ! defined free && ! defined EXIT_SUCCESS
754
void free (void *); /* INFRINGES ON USER NAME SPACE */
755
#   endif
756
#  endif
757
# endif
758
#endif /* 1 */
759
760
#if (! defined yyoverflow \
761
     && (! defined __cplusplus \
762
         || (defined ZENDSTYPE_IS_TRIVIAL && ZENDSTYPE_IS_TRIVIAL)))
763
764
/* A type that is properly aligned for any stack member.  */
765
union yyalloc
766
{
767
  yy_state_t yyss_alloc;
768
  YYSTYPE yyvs_alloc;
769
};
770
771
/* The size of the maximum gap between one aligned stack and the next.  */
772
4.97k
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
773
774
/* The size of an array large to enough to hold all stacks, each with
775
   N elements.  */
776
# define YYSTACK_BYTES(N) \
777
     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
778
      + YYSTACK_GAP_MAXIMUM)
779
780
# define YYCOPY_NEEDED 1
781
782
/* Relocate STACK from its old location to the new one.  The
783
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
784
   elements in the stack, and YYPTR gives the new location of the
785
   stack.  Advance YYPTR to a properly aligned location for the next
786
   stack.  */
787
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
788
4.97k
    do                                                                  \
789
4.97k
      {                                                                 \
790
4.97k
        YYPTRDIFF_T yynewbytes;                                         \
791
4.97k
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
792
4.97k
        Stack = &yyptr->Stack_alloc;                                    \
793
4.97k
        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
794
4.97k
        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
795
4.97k
      }                                                                 \
796
4.97k
    while (0)
797
798
#endif
799
800
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
801
/* Copy COUNT objects from SRC to DST.  The source and destination do
802
   not overlap.  */
803
# ifndef YYCOPY
804
#  if defined __GNUC__ && 1 < __GNUC__
805
#   define YYCOPY(Dst, Src, Count) \
806
4.97k
      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
807
#  else
808
#   define YYCOPY(Dst, Src, Count)              \
809
      do                                        \
810
        {                                       \
811
          YYPTRDIFF_T yyi;                      \
812
          for (yyi = 0; yyi < (Count); yyi++)   \
813
            (Dst)[yyi] = (Src)[yyi];            \
814
        }                                       \
815
      while (0)
816
#  endif
817
# endif
818
#endif /* !YYCOPY_NEEDED */
819
820
/* YYFINAL -- State number of the termination state.  */
821
16.2M
#define YYFINAL  3
822
/* YYLAST -- Last index in YYTABLE.  */
823
29.1M
#define YYLAST   11085
824
825
/* YYNTOKENS -- Number of terminals.  */
826
10.9M
#define YYNTOKENS  185
827
/* YYNNTS -- Number of nonterminals.  */
828
#define YYNNTS  188
829
/* YYNRULES -- Number of rules.  */
830
#define YYNRULES  635
831
/* YYNSTATES -- Number of states.  */
832
#define YYNSTATES  1203
833
834
/* YYMAXUTOK -- Last valid token kind.  */
835
10.0M
#define YYMAXUTOK   412
836
837
838
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
839
   as returned by yylex, with out-of-bounds checking.  */
840
#define YYTRANSLATE(YYX)                                \
841
10.0M
  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
842
10.0M
   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
843
10.0M
   : YYSYMBOL_YYUNDEF)
844
845
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
846
   as returned by yylex.  */
847
static const yytype_uint8 yytranslate[] =
848
{
849
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
850
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
851
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
852
       2,     2,     2,    17,   183,     2,   184,    16,     2,     2,
853
     177,   178,    14,    12,   174,    13,    11,    15,     2,     2,
854
       2,     2,     2,     2,     2,     2,     2,     2,     6,   176,
855
       9,     4,    10,     5,    19,     2,     2,     2,     2,     2,
856
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
857
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
858
       2,   181,     2,   175,     8,     2,   182,     2,     2,     2,
859
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
860
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
861
       2,     2,     2,   179,     7,   180,    18,     2,     2,     2,
862
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
863
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
864
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
865
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
866
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
867
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
868
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
869
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
870
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
871
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
872
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
873
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
874
       2,     2,     2,     2,     2,     2,     1,     2,     3,    20,
875
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
876
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
877
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
878
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
879
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
880
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
881
      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
882
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
883
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
884
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
885
     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
886
     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
887
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
888
     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
889
     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
890
     171,   172,   173
891
};
892
893
#if ZENDDEBUG
894
/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
895
static const yytype_int16 yyrline[] =
896
{
897
       0,   302,   302,   306,   306,   306,   306,   306,   306,   306,
898
     306,   307,   307,   307,   307,   307,   307,   307,   307,   307,
899
     307,   307,   307,   308,   308,   308,   308,   308,   308,   308,
900
     308,   308,   308,   309,   309,   309,   309,   309,   309,   309,
901
     309,   309,   309,   310,   310,   310,   310,   310,   310,   310,
902
     310,   310,   310,   310,   311,   311,   311,   311,   311,   311,
903
     311,   311,   312,   312,   312,   312,   312,   312,   312,   312,
904
     312,   312,   312,   313,   317,   318,   318,   318,   318,   318,
905
     318,   318,   322,   323,   327,   328,   336,   337,   342,   343,
906
     348,   349,   354,   355,   359,   360,   361,   362,   366,   368,
907
     373,   375,   380,   384,   385,   389,   390,   391,   392,   393,
908
     397,   398,   402,   403,   404,   405,   409,   412,   412,   415,
909
     415,   418,   419,   420,   421,   425,   426,   430,   435,   440,
910
     441,   445,   447,   452,   454,   459,   461,   466,   467,   471,
911
     473,   478,   480,   485,   486,   490,   492,   498,   499,   500,
912
     501,   508,   509,   510,   511,   513,   515,   517,   519,   520,
913
     521,   522,   523,   524,   525,   526,   527,   528,   530,   534,
914
     533,   537,   538,   540,   541,   542,   546,   548,   553,   554,
915
     558,   559,   563,   564,   568,   569,   573,   577,   578,   586,
916
     593,   594,   598,   599,   603,   603,   606,   606,   612,   613,
917
     618,   620,   625,   626,   630,   631,   632,   636,   636,   642,
918
     642,   648,   648,   654,   655,   659,   664,   665,   669,   670,
919
     674,   675,   679,   680,   684,   685,   686,   687,   691,   692,
920
     696,   697,   701,   702,   706,   707,   708,   709,   713,   714,
921
     716,   718,   720,   726,   731,   732,   736,   737,   741,   743,
922
     748,   749,   754,   755,   760,   763,   769,   770,   775,   778,
923
     784,   785,   791,   792,   797,   799,   804,   805,   809,   811,
924
     817,   821,   828,   829,   833,   834,   835,   836,   840,   841,
925
     845,   846,   850,   852,   857,   858,   865,   866,   867,   868,
926
     872,   873,   874,   878,   879,   883,   885,   890,   892,   897,
927
     898,   902,   903,   907,   909,   923,   924,   925,   929,   931,
928
     933,   938,   940,   942,   944,   946,   951,   952,   956,   957,
929
     961,   967,   968,   972,   973,   977,   979,   985,   988,   991,
930
     994,   997,  1001,  1005,  1006,  1007,  1012,  1013,  1017,  1018,
931
    1019,  1023,  1025,  1030,  1031,  1035,  1040,  1042,  1046,  1051,
932
    1059,  1061,  1065,  1070,  1071,  1075,  1078,  1083,  1085,  1092,
933
    1094,  1101,  1103,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
934
    1115,  1116,  1117,  1121,  1122,  1126,  1128,  1133,  1135,  1140,
935
    1141,  1142,  1148,  1149,  1153,  1154,  1162,  1161,  1172,  1173,
936
    1174,  1179,  1180,  1184,  1185,  1189,  1190,  1198,  1202,  1203,
937
    1206,  1210,  1211,  1212,  1216,  1217,  1221,  1222,  1223,  1224,
938
    1228,  1228,  1238,  1240,  1242,  1247,  1252,  1254,  1256,  1258,
939
    1260,  1262,  1267,  1272,  1274,  1276,  1278,  1280,  1282,  1284,
940
    1286,  1288,  1290,  1292,  1294,  1296,  1298,  1299,  1300,  1301,
941
    1302,  1304,  1306,  1308,  1310,  1312,  1313,  1314,  1315,  1316,
942
    1317,  1318,  1319,  1320,  1321,  1322,  1323,  1324,  1325,  1326,
943
    1327,  1328,  1329,  1331,  1333,  1335,  1337,  1339,  1341,  1343,
944
    1345,  1347,  1349,  1351,  1356,  1357,  1358,  1360,  1362,  1364,
945
    1365,  1366,  1367,  1368,  1369,  1370,  1371,  1372,  1377,  1378,
946
    1379,  1380,  1381,  1382,  1383,  1384,  1385,  1386,  1387,  1388,
947
    1389,  1391,  1396,  1401,  1409,  1413,  1417,  1421,  1425,  1426,
948
    1430,  1431,  1435,  1436,  1440,  1441,  1445,  1447,  1452,  1454,
949
    1456,  1456,  1463,  1466,  1470,  1471,  1472,  1476,  1478,  1479,
950
    1484,  1485,  1490,  1491,  1492,  1493,  1497,  1498,  1499,  1500,
951
    1502,  1503,  1504,  1505,  1509,  1510,  1511,  1512,  1513,  1514,
952
    1515,  1516,  1517,  1518,  1522,  1524,  1526,  1528,  1533,  1534,
953
    1538,  1542,  1543,  1547,  1548,  1549,  1553,  1554,  1558,  1559,
954
    1560,  1561,  1565,  1567,  1569,  1571,  1573,  1577,  1579,  1581,
955
    1583,  1588,  1589,  1590,  1594,  1596,  1601,  1603,  1605,  1607,
956
    1609,  1611,  1616,  1617,  1618,  1622,  1623,  1624,  1628,  1633,
957
    1634,  1638,  1640,  1645,  1647,  1649,  1651,  1653,  1655,  1658,
958
    1664,  1666,  1668,  1670,  1675,  1677,  1680,  1683,  1686,  1688,
959
    1690,  1693,  1697,  1698,  1699,  1700,  1705,  1706,  1707,  1709,
960
    1711,  1713,  1715,  1720,  1721,  1726
961
};
962
#endif
963
964
/** Accessing symbol of state STATE.  */
965
700k
#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
966
967
#if 1
968
/* The user-facing name of the symbol whose (internal) number is
969
   YYSYMBOL.  No bounds checking.  */
970
static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
971
972
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
973
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
974
static const char *const yytname[] =
975
{
976
  "\"end of file\"", "error", "\"invalid token\"", "PREC_ARROW_FUNCTION",
977
  "'='", "'?'", "':'", "'|'", "'^'", "'<'", "'>'", "'.'", "'+'", "'-'",
978
  "'*'", "'/'", "'%'", "'!'", "'~'", "'@'", "T_NOELSE", "\"integer\"",
979
  "\"floating-point number\"", "\"identifier\"",
980
  "\"fully qualified name\"", "\"namespace-relative name\"",
981
  "\"namespaced name\"", "\"variable\"", "T_INLINE_HTML",
982
  "\"string content\"", "\"quoted string\"", "\"variable name\"",
983
  "\"number\"", "\"'include'\"", "\"'include_once'\"", "\"'eval'\"",
984
  "\"'require'\"", "\"'require_once'\"", "\"'or'\"", "\"'xor'\"",
985
  "\"'and'\"", "\"'print'\"", "\"'yield'\"", "\"'yield from'\"",
986
  "\"'instanceof'\"", "\"'new'\"", "\"'clone'\"", "\"'exit'\"", "\"'if'\"",
987
  "\"'elseif'\"", "\"'else'\"", "\"'endif'\"", "\"'echo'\"", "\"'do'\"",
988
  "\"'while'\"", "\"'endwhile'\"", "\"'for'\"", "\"'endfor'\"",
989
  "\"'foreach'\"", "\"'endforeach'\"", "\"'declare'\"", "\"'enddeclare'\"",
990
  "\"'as'\"", "\"'switch'\"", "\"'endswitch'\"", "\"'case'\"",
991
  "\"'default'\"", "\"'match'\"", "\"'break'\"", "\"'continue'\"",
992
  "\"'goto'\"", "\"'function'\"", "\"'fn'\"", "\"'const'\"",
993
  "\"'return'\"", "\"'try'\"", "\"'catch'\"", "\"'finally'\"",
994
  "\"'throw'\"", "\"'use'\"", "\"'insteadof'\"", "\"'global'\"",
995
  "\"'static'\"", "\"'abstract'\"", "\"'final'\"", "\"'private'\"",
996
  "\"'protected'\"", "\"'public'\"", "\"'private(set)'\"",
997
  "\"'protected(set)'\"", "\"'public(set)'\"", "\"'readonly'\"",
998
  "\"'var'\"", "\"'unset'\"", "\"'isset'\"", "\"'empty'\"",
999
  "\"'__halt_compiler'\"", "\"'class'\"", "\"'trait'\"", "\"'interface'\"",
1000
  "\"'enum'\"", "\"'extends'\"", "\"'implements'\"", "\"'namespace'\"",
1001
  "\"'list'\"", "\"'array'\"", "\"'callable'\"", "\"'__LINE__'\"",
1002
  "\"'__FILE__'\"", "\"'__DIR__'\"", "\"'__CLASS__'\"", "\"'__TRAIT__'\"",
1003
  "\"'__METHOD__'\"", "\"'__FUNCTION__'\"", "\"'__PROPERTY__'\"",
1004
  "\"'__NAMESPACE__'\"", "\"'#['\"", "\"'+='\"", "\"'-='\"", "\"'*='\"",
1005
  "\"'/='\"", "\"'.='\"", "\"'%='\"", "\"'&='\"", "\"'|='\"", "\"'^='\"",
1006
  "\"'<<='\"", "\"'>>='\"", "\"'?""?='\"", "\"'||'\"", "\"'&&'\"",
1007
  "\"'=='\"", "\"'!='\"", "\"'==='\"", "\"'!=='\"", "\"'<='\"", "\"'>='\"",
1008
  "\"'<=>'\"", "\"'<<'\"", "\"'>>'\"", "\"'++'\"", "\"'--'\"",
1009
  "\"'(int)'\"", "\"'(float)'\"", "\"'(string)'\"", "\"'(array)'\"",
1010
  "\"'(object)'\"", "\"'(bool)'\"", "\"'(unset)'\"", "\"'(void)'\"",
1011
  "\"'->'\"", "\"'?->'\"", "\"'=>'\"", "\"comment\"", "\"doc comment\"",
1012
  "\"open tag\"", "\"'<?='\"", "\"'?>'\"", "\"whitespace\"",
1013
  "\"heredoc start\"", "\"heredoc end\"", "\"'${'\"", "\"'{$'\"",
1014
  "\"'::'\"", "\"'\\\\'\"", "\"'...'\"", "\"'?""?'\"", "\"'**'\"",
1015
  "\"'**='\"", "\"'|>'\"", "\"'&'\"", "\"amp\"", "\"invalid character\"",
1016
  "T_ERROR", "','", "']'", "';'", "'('", "')'", "'{'", "'}'", "'['", "'`'",
1017
  "'\"'", "'$'", "$accept", "start", "reserved_non_modifiers",
1018
  "semi_reserved", "ampersand", "identifier", "top_statement_list",
1019
  "namespace_declaration_name", "namespace_name", "legacy_namespace_name",
1020
  "name", "attribute_decl", "attribute_group", "attribute", "attributes",
1021
  "attributed_statement", "attributed_top_statement", "top_statement",
1022
  "$@1", "$@2", "use_type", "group_use_declaration",
1023
  "mixed_group_use_declaration", "possible_comma",
1024
  "inline_use_declarations", "unprefixed_use_declarations",
1025
  "use_declarations", "inline_use_declaration",
1026
  "unprefixed_use_declaration", "use_declaration", "const_list",
1027
  "inner_statement_list", "inner_statement", "statement", "$@3",
1028
  "catch_list", "catch_name_list", "optional_variable",
1029
  "finally_statement", "unset_variables", "unset_variable",
1030
  "function_name", "function_declaration_statement", "is_reference",
1031
  "is_variadic", "class_declaration_statement", "@4", "@5",
1032
  "class_modifiers", "anonymous_class_modifiers",
1033
  "anonymous_class_modifiers_optional", "class_modifier",
1034
  "trait_declaration_statement", "@6", "interface_declaration_statement",
1035
  "@7", "enum_declaration_statement", "@8", "enum_backing_type",
1036
  "enum_case", "enum_case_expr", "extends_from", "interface_extends_list",
1037
  "implements_list", "foreach_variable", "for_statement",
1038
  "foreach_statement", "declare_statement", "switch_case_list",
1039
  "case_list", "match", "match_arm_list", "non_empty_match_arm_list",
1040
  "match_arm", "match_arm_cond_list", "while_statement",
1041
  "if_stmt_without_else", "if_stmt", "alt_if_stmt_without_else",
1042
  "alt_if_stmt", "parameter_list", "non_empty_parameter_list",
1043
  "attributed_parameter", "optional_cpp_modifiers", "parameter",
1044
  "optional_type_without_static", "type_expr", "type",
1045
  "union_type_element", "union_type", "intersection_type",
1046
  "type_expr_without_static", "type_without_static",
1047
  "union_type_without_static_element", "union_type_without_static",
1048
  "intersection_type_without_static", "return_type", "argument_list",
1049
  "non_empty_argument_list", "clone_argument_list",
1050
  "non_empty_clone_argument_list", "argument_no_expr", "argument",
1051
  "global_var_list", "global_var", "static_var_list", "static_var",
1052
  "class_statement_list", "attributed_class_statement", "class_statement",
1053
  "class_name_list", "trait_adaptations", "trait_adaptation_list",
1054
  "trait_adaptation", "trait_precedence", "trait_alias",
1055
  "trait_method_reference", "absolute_trait_method_reference",
1056
  "method_body", "property_modifiers", "method_modifiers",
1057
  "class_const_modifiers", "non_empty_member_modifiers", "member_modifier",
1058
  "property_list", "property", "hooked_property", "property_hook_list",
1059
  "optional_property_hook_list", "property_hook_modifiers",
1060
  "property_hook", "@9", "property_hook_body", "optional_parameter_list",
1061
  "class_const_list", "class_const_decl", "const_decl", "echo_expr_list",
1062
  "echo_expr", "for_cond_exprs", "for_exprs", "non_empty_for_exprs",
1063
  "anonymous_class", "@10", "new_dereferenceable",
1064
  "new_non_dereferenceable", "expr", "inline_function", "fn", "function",
1065
  "backup_doc_comment", "backup_fn_flags", "returns_ref", "lexical_vars",
1066
  "lexical_var_list", "lexical_var", "function_call", "@11", "class_name",
1067
  "class_name_reference", "backticks_expr", "ctor_arguments",
1068
  "dereferenceable_scalar", "scalar", "constant", "class_constant",
1069
  "optional_expr", "variable_class_name", "fully_dereferenceable",
1070
  "array_object_dereferenceable", "callable_expr", "callable_variable",
1071
  "variable", "simple_variable", "static_member", "new_variable",
1072
  "member_name", "property_name", "array_pair_list", "possible_array_pair",
1073
  "non_empty_array_pair_list", "array_pair", "encaps_list", "encaps_var",
1074
  "encaps_var_offset", "internal_functions_in_yacc", "isset_variables",
1075
  "isset_variable", YY_NULLPTR
1076
};
1077
1078
static const char *
1079
yysymbol_name (yysymbol_kind_t yysymbol)
1080
0
{
1081
0
  return yytname[yysymbol];
1082
0
}
1083
#endif
1084
1085
16.9M
#define YYPACT_NINF (-953)
1086
1087
#define yypact_value_is_default(Yyn) \
1088
16.9M
  ((Yyn) == YYPACT_NINF)
1089
1090
498k
#define YYTABLE_NINF (-607)
1091
1092
#define yytable_value_is_error(Yyn) \
1093
498k
  ((Yyn) == YYTABLE_NINF)
1094
1095
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1096
   STATE-NUM.  */
1097
static const yytype_int16 yypact[] =
1098
{
1099
    -953,    66,  4564,  -953,  8636,  8636,  8636,  8636,  8636,  -953,
1100
    -953,    96,  -953,  -953,  -953,  -953,  -953,  -953,  8636,  8636,
1101
     -36,  8636,  8636,  8636,  8636,  8636,   852,  8809,   -23,    -8,
1102
    8636,  7252,    31,   116,   124,   146,   252,   260,  8636,  8636,
1103
     221,  -953,  -953,   309,  8636,   169,  8636,   257,    55,   171,
1104
    -953,  -953,   -23,   263,   274,   279,   297,  -953,  -953,  -953,
1105
    -953, 10784,   319,   322,  -953,  -953,  -953,  -953,  -953,  -953,
1106
    -953,  -953,  -953,  -953, 10081, 10081,  8636,  8636,  8636,  8636,
1107
    8636,  8636,  8636,  8636,    86,  -953,  8636,  -953,  7425,    93,
1108
     136,    37,    48,  -953,   707,  -953,  -953,  -953,  -953,  -953,
1109
    -953,   605,  -953,  -953,  -953,  -953,  -953,   165,  -953,   426,
1110
    -953,   385,  -953,  8969,  -953,   341,   341,  -953,   103,   517,
1111
    -953,   155,   205,   204,   345,   320,  -953,   351,  1270,  -953,
1112
    -953,  -953,  -953,   449,   -23,   191,   365,   341,   365,    18,
1113
     365,   365,  -953,  9469,  9469,  8636,  9469,  9469,  9671,  9616,
1114
    9671,  -953,  -953,  8636,  -953,   243,   188,   440,  -953,  -953,
1115
     384,   -23,  -953,   383,  1423,  -953,  -953,  1597,  -953,  -953,
1116
    8636,    60,  -953,  9469,   496,  8636,  7944,  8636,   309,  8636,
1117
    8636,  9469,   377,   401,   404,   590,   312,  -953,   422,  -953,
1118
    9469,  -953,  -953,  -953,  -953,  -953,  -953,    13,   323,   436,
1119
     380,  -953,   421,  -953,  -953,   612,   453,  -953,  -953,  -953,
1120
   10081,  8636,  8636,   448,   615,   621,   625,   632,  -953,  -953,
1121
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1122
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1123
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1124
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1125
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1126
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1127
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1128
    -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1129
    -953,   483,   490,  7425,  7425,   328,   852,  8636,  7425,   495,
1130
     498,  -953,  -953,   500,   500,   365,   365,   365,   365,   365,
1131
     365,   365,  8989,   389,   108,  -953,  8117, 10081,    98,  -953,
1132
    3555,  4737,   505,  8636,  -953,  -953, 10081,  9367,   516,  -953,
1133
     545,  -953,    56,   541,   147,    56,    45,  8636,  -953,  -953,
1134
     449,  -953,  -953,  -953,  -953,  -953,   547,  7252,   554,   728,
1135
     564,  2988,  8636,  8636,  8636,  8636,  8636,  8636,  8636,  8636,
1136
    8636,  8636,  8636,  8636,  8636,    80,  8636,  8636,  8636,  8636,
1137
    8636,  8636,  8636,  8636,  8636,  8636,  8636,  8636,  8636,  8636,
1138
    8636,  8636,  -953,  -953,  -953,    20,  9823,  9976,    40,    40,
1139
    8636,   -23,  7598,  8636,  8636,  8636,  8636,  8636,  8636,  8636,
1140
    8636,  8636,  8636,  8636,  8636,  -953,  -953,  8636,  -953,  3625,
1141
    8636,  3690,  -953,  -953,  -953,    55,  -953,    40,    40,    55,
1142
    8636,  -953,    64,  8636,  8636,   -36,  8636,  8636,  8636,  3161,
1143
     499,  8809,    16,   260,   740,   742,  8636,    67,   -23,   274,
1144
     279,   319,   322,   744,   745,   752,   755,   757,   758,   760,
1145
     769,   770,  8636,  -953,   780,   613,  -953,  3488,  -953,   614,
1146
    -953,  -953,  9469,  3703,  8636,  -953,   617,  3760,  8636,   619,
1147
     622,  9469,  9410,   268,  3773,  3838,  -953,  -953,  -953,  8636,
1148
     309,  -953,  -953,  4910,   777,   623,    19,   633,   523,  -953,
1149
     323,  -953,    55,  -953,  8636,   783,  -953,   637,  -953,   290,
1150
    9469,   638,  -953,  3908,   641,   712,  -953,   713,   809,  -953,
1151
     642,  -953,   640,   644,  -953,   650,   -23,   -23,  3973,   645,
1152
    -953,   802,   803,   639,  -953,  -953,   407,  3273,   647,  -953,
1153
    -953,  -953,   575,   651,  -953,   960,  -953,  -953,  -953,  7425,
1154
    9469,   187,  7771,   826,  7425,  -953,  -953,  3341,  -953,   808,
1155
    8636,  -953,  8636,  -953,  -953,  8636,  9422,  8450,  8623,  1210,
1156
    1210,   466,   129,   129,    18,    18,    18,  9604,  9659,  9671,
1157
    -953,  2105,  8277, 10155, 10155, 10155, 10155,  1210,  1210, 10155,
1158
     276,   276,  9682,   365,   392, 10194, 10194,   656,  -953,  -953,
1159
    -953,   659,  8636,   661,   662,   -23,  8636,   661,   662,   -23,
1160
    -953,  8636,  -953,   -23,   -23,   665,  -953, 10081,  9671,  9671,
1161
    9671,  9671,  9671,  9671,  9671,  9671,  9671,  9671,  9671,  9671,
1162
    9671,  9671,  -953,  9671,  -953,   -23,  -953,  -953,  -953,  -953,
1163
     667,  9469,  1223,  1945,   666,  1771,  1945,   668,  2118,  -953,
1164
    8636,  2292,  9469,  7944,  8290, 10070,  -953,    15,   669,  9469,
1165
    -953,  -953,  -953,   446,   670,  -953,  -953,   785,  -953,  -953,
1166
    9469,  -953, 10081,   675,  8636,   678,  -953,  -953,   328,   743,
1167
     679,   328,  -953,    54,   743,  -953,  4218,   855,  -953,   328,
1168
     687,  -953,   686,  -953,  -953,  -953,   833,  -953,  -953,  -953,
1169
     691,  -953,  8636,  -953,  -953,   690,  -953,   692,   695, 10081,
1170
    9469,  8636,  -953,  -953,   712,  3986,  4043,  5083,  9682,  8636,
1171
    2163,   696,  2163,  3353,  -953,  3408,  -953,  3420,  -953,  -953,
1172
    -953,   500,   712,  -953,  -953,  9469,  -953,  -953,  -953,  -953,
1173
    -953,  -953,  -953,  -953,  4056,  -953,  -953,  -953,   693,   716,
1174
    9218,  8636,  9469,   714,  7425, 10081,   134,   143,  2466,   719,
1175
     721,  -953,  8463,  -953,   531,   830,    95,   724,  -953,  -953,
1176
      95,  -953,   723,  -953,  -953,  -953,   328,  -953,  -953,   726,
1177
    -953,   727,   479,  -953,  -953,  -953,   479,  -953,  -953,    24,
1178
     895,   898,   736,  -953,  -953,  4391,  -953,  8636,  -953,  -953,
1179
    -953,  -953,  9171,   732,   855,  7425,   284,  9671,   743,  7252,
1180
     903,   734,  9682,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1181
    -953,  -953,  -953,  1268,   735,   738,  -953,   107,  -953,  1490,
1182
    -953,  2163,   741,   739,   739,  -953,   743,  6986,   746,  5256,
1183
    7944,  8290,  9469,  7425,   749,   275, 10070,  2640,  -953,  -953,
1184
    -953,  -953,   646,  -953,    87,   747,   748,   751,  -953,   753,
1185
    9469,   754,   750,  -953,   897,  -953,   446,   761,   756,  -953,
1186
    -953,   726,   759,  8952,   328,  -953,  -953,   766,    78,   479,
1187
     595,   595,   479,   765,  -953,  9671,   767,  -953,   771,  -953,
1188
    -953,  -953,  -953,  -953,   912,  2327,  -953,   519,   519,   775,
1189
    -953,    30,   919,   941,   779,  -953,   773,   877,  -953,  -953,
1190
     782,   781,  9230,   786,   283,   787,  -953,  -953,  -953,  5429,
1191
     717,   784,  8636,    21,   102,  -953,  -953,   814,  -953,  8463,
1192
    -953,  8636,   815,   328,  -953,  -953,  -953,  -953,    95,   790,
1193
    -953,  -953,   328,  -953,  -953,  1041,  -953,  -953,  -953,   107,
1194
     890,   899,  1469,  -953,  9884,  -953,  -953,  -953,  -953,  -953,
1195
    -953,  -953,  -953,   855,   792,  6986,    54,   821,  -953,  -953,
1196
     805,   132,  -953,   812,   519,   469,   469,   519,   912,   797,
1197
     912,   801,  -953,  2814,  -953,  2640,  5602,   807,   810,  -953,
1198
    8921,  -953,  -953,  -953,  8636,  -953,  9469,  8636,    89,  -953,
1199
    5775,  -953,  -953, 10057, 10877,   393,  -953,   958,   341,  7148,
1200
    -953, 10384,  -953,  -953,  -953,  -953,  -953,   961,  -953,  -953,
1201
    -953,  -953,  -953,  -953,    82,  -953,  -953,  -953,  -953,  -953,
1202
    -953,   811,  -953,  -953,  -953,  -953,  6986,  6986,  9469,  9469,
1203
     328,  -953,   816,  -953,  -953,   988,  -953, 10331,  -953,   989,
1204
     540,  -953,  -953, 10877,   992,   993,   995,   998,   999, 10970,
1205
     553,  -953,  -953, 10519,  8636,  1002,   828,  -953,   983,   837,
1206
    -953,   834, 10554,  5948,  -953,  6986,  6986,  -953,   839,  8636,
1207
     840,   856,  -953,  -953, 10468,  -953,   844,   845,   962,   942,
1208
     862,  8636,   848,  1001,  -953,  -953,  8636,  8636,   992,   561,
1209
   10970,  -953,  -953,  9469,  8636,   851,  -953,  -953,    82,   859,
1210
    -953,  -953,   857,  -953,  9469,  -953,  -953,  -953,  -953,  -953,
1211
   10691,   328, 10877,  9469,  -953,  1034,  -953,   868,  9469,  9469,
1212
    -953,  -953,  -953,  9469,  -953,  -953,  6121,  -953,  -953,  6294,
1213
    -953,  6467,  -953,  -953, 10877,   726,  -953,   867,   798,  8636,
1214
    -953,  2163,  -953,  -953,   851,  1982,  -953,  -953,  -953,  -953,
1215
    -953,  -953,  1268,  1490,   341,  -953,  9469,   869,  -953,  -953,
1216
    -953,  -953,  1993,  -953,  1029,  -953,   912,  -953,  -953,  -953,
1217
    -953,   190,   878,  -953,  -953,  -953,  2163,  -953,  6640,  -953,
1218
     876,   164,  -953,  -953,  8636,  -953,  -953,  -953,  9159,  6813,
1219
    -953,  -953,  -953
1220
};
1221
1222
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1223
   Performed when YYTABLE does not specify something else to do.  Zero
1224
   means the default is an error.  */
1225
static const yytype_int16 yydefact[] =
1226
{
1227
      87,     0,     2,     1,     0,     0,     0,     0,     0,   536,
1228
     537,    94,    96,    97,    95,   581,   164,   534,     0,     0,
1229
       0,     0,     0,     0,   492,     0,   202,     0,   530,     0,
1230
       0,     0,     0,     0,     0,     0,     0,     0,   558,   558,
1231
       0,   505,   504,     0,   558,     0,     0,     0,     0,   522,
1232
     204,   205,   206,     0,     0,     0,     0,   196,   207,   209,
1233
     211,   119,     0,     0,   545,   546,   547,   553,   548,   549,
1234
     550,   551,   552,   506,     0,     0,     0,     0,     0,     0,
1235
       0,     0,     0,     0,     0,   171,     0,   146,   599,   527,
1236
       0,     0,   544,   103,     0,   110,   113,    86,   112,   105,
1237
     106,     0,   198,   107,   108,   109,   501,   256,   152,     0,
1238
     153,   474,   475,     0,   497,   508,   508,   576,     0,   541,
1239
     489,   542,   543,     0,   566,     0,   520,   577,   416,   572,
1240
     578,   479,    94,   522,     0,     0,   458,   508,   459,   460,
1241
     461,   488,   174,   628,   629,     0,   631,   632,   491,   493,
1242
     495,   522,   206,     0,   523,   202,   203,     0,   200,   413,
1243
     524,   415,   586,   525,     0,   421,   422,     0,   531,   487,
1244
       0,     0,   399,   400,     0,     0,   404,     0,     0,     0,
1245
       0,   559,     0,     0,     0,     0,     0,   144,     0,   146,
1246
     496,    90,    93,    91,   125,   126,    92,   141,     0,     0,
1247
       0,   136,     0,   319,   320,   323,     0,   322,   499,   517,
1248
       0,     0,     0,     0,     0,     0,     0,     0,    84,    89,
1249
       3,     4,     5,     6,     7,     8,     9,    10,    46,    47,
1250
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1251
      21,    22,    23,    24,    25,    26,    27,    28,    29,    49,
1252
      50,    51,    52,    71,    53,    41,    42,    43,    70,    44,
1253
      45,    30,    31,    32,    33,    34,    35,    36,    75,    76,
1254
      77,    78,    79,    80,    81,    37,    38,    39,    40,    61,
1255
      59,    60,    72,    56,    57,    58,    48,    54,    55,    66,
1256
      67,    68,    62,    63,    65,    64,    73,    69,    74,    85,
1257
      88,   117,     0,   599,   599,     0,   202,     0,   599,   565,
1258
     563,   567,   564,   437,   439,   480,   481,   482,   483,   484,
1259
     485,   486,     0,   614,     0,   539,     0,     0,     0,   612,
1260
       0,     0,     0,     0,    82,    83,     0,   604,     0,   602,
1261
     598,   600,   528,     0,   529,     0,     0,     0,   583,   516,
1262
       0,   104,   114,   498,   194,   199,     0,     0,     0,     0,
1263
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1264
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1265
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1266
       0,     0,   165,   509,   506,   506,     0,     0,     0,     0,
1267
     558,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1268
       0,     0,     0,     0,     0,   436,   438,     0,   506,     0,
1269
       0,     0,   414,   201,   410,     0,   412,     0,     0,     0,
1270
     558,   313,    94,     3,     4,     5,     6,     7,    46,   492,
1271
      12,    13,   530,    71,   505,   504,    33,    75,    81,    39,
1272
      40,    48,    54,   545,   546,   547,   553,   548,   549,   550,
1273
     551,   552,   312,   305,     0,   129,   309,     0,   301,   129,
1274
     317,   303,   316,     0,     0,   163,     0,     0,     0,     0,
1275
     405,   409,     0,     0,     0,     0,   158,   159,   173,     0,
1276
       0,   111,   160,     0,     0,     0,   141,     0,     0,   121,
1277
       0,   123,     0,   161,     0,     0,   162,   129,   184,   561,
1278
     635,   129,   633,     0,     0,   218,   506,   220,   213,   116,
1279
       0,    87,     0,     0,   100,   129,    98,     0,     0,     0,
1280
     175,     0,     0,     0,   538,   613,     0,     0,   561,   611,
1281
     540,   610,   473,     0,   151,     0,   148,   145,   147,   599,
1282
     607,   561,     0,   533,   599,   490,   535,     0,   500,     0,
1283
       0,   257,     0,   146,   260,     0,     0,   445,   448,   467,
1284
     469,   449,   450,   451,   452,   454,   455,   442,   444,   443,
1285
     472,   440,   441,   464,   465,   462,   463,   468,   470,   471,
1286
     456,   457,   478,   453,   466,   447,   446,     0,   187,   188,
1287
     506,     0,     0,   554,   584,     0,     0,   555,   585,     0,
1288
     595,     0,   597,   579,   580,     0,   521,     0,   419,   423,
1289
     424,   425,   427,   428,   429,   430,   431,   432,   433,   434,
1290
     435,   426,   630,   494,   526,   530,   590,   588,   589,   591,
1291
       0,   315,     0,   130,     0,     0,   130,     0,     0,   398,
1292
       0,     0,   408,   401,     0,     0,   169,     0,     0,   506,
1293
     143,   176,   142,     0,     0,   122,   124,   141,   135,   318,
1294
     324,   321,   130,     0,   130,     0,   627,   115,     0,   222,
1295
       0,     0,   506,     0,   222,    87,     0,     0,   532,   130,
1296
       0,    99,   562,   533,   616,   617,     0,   622,   625,   623,
1297
       0,   619,     0,   618,   621,     0,   149,     0,     0,     0,
1298
     603,     0,   601,   582,   218,     0,     0,     0,   477,     0,
1299
     268,     0,   268,     0,   518,     0,   519,     0,   574,   575,
1300
     573,   420,   218,   587,   314,   311,   310,   306,   307,   308,
1301
     304,   302,   146,   254,     0,   146,   252,   154,     0,     0,
1302
     403,     0,   406,     0,   599,     0,     0,   561,     0,   238,
1303
     238,   157,   244,   397,   182,   139,     0,   129,   132,   137,
1304
       0,   185,     0,   634,   626,   219,     0,   506,   326,   221,
1305
     336,     0,     0,   279,   290,   291,     0,   292,   214,   274,
1306
       0,   276,   277,   278,   506,     0,   120,     0,   101,   102,
1307
     624,   615,     0,     0,   609,   599,   561,   418,   222,     0,
1308
       0,     0,   476,   369,   370,   371,   365,   364,   363,   368,
1309
     367,   366,   372,   268,     0,   129,   264,   272,   267,   269,
1310
     361,   268,     0,   556,   557,   596,   222,   258,     0,     0,
1311
     404,     0,   407,   599,     0,   561,     0,     0,   146,   232,
1312
     170,   238,     0,   238,     0,   129,     0,   129,   246,   129,
1313
     250,     0,     0,   172,     0,   138,   130,     0,   129,   134,
1314
     166,   223,     0,   357,     0,   326,   275,     0,     0,     0,
1315
       0,     0,     0,     0,   118,   417,     0,   150,     0,   506,
1316
     255,   146,   261,   266,   299,   268,   262,     0,     0,   190,
1317
     273,   286,     0,   288,   289,   362,     0,   510,   506,   155,
1318
       0,     0,   402,     0,   533,     0,   146,   230,   167,     0,
1319
       0,     0,     0,     0,     0,   234,   130,     0,   243,   130,
1320
     245,   130,     0,     0,   146,   140,   131,   128,   130,     0,
1321
     326,   506,     0,   356,   208,   357,   332,   333,   325,   272,
1322
       0,     0,   355,   337,   357,   281,   284,   280,   282,   283,
1323
     285,   326,   620,   608,     0,   259,     0,     0,   265,   287,
1324
       0,     0,   191,   192,     0,     0,     0,     0,   299,     0,
1325
     299,     0,   253,     0,   226,     0,     0,     0,     0,   236,
1326
       0,   146,   146,   235,     0,   247,   251,     0,   180,   178,
1327
       0,   133,   127,   357,     0,     0,   334,     0,   508,     0,
1328
     210,   357,   326,   300,   507,   294,   193,     0,   297,   293,
1329
     295,   296,   298,   507,     0,   507,   326,   146,   228,   156,
1330
     168,     0,   233,   237,   146,   146,   241,   242,   249,   248,
1331
       0,   181,     0,   183,   197,   216,   338,     0,   335,   506,
1332
       0,   374,   328,     0,    94,   279,   290,   291,     0,     0,
1333
       0,   394,   212,   357,     0,   506,     0,   514,     0,   129,
1334
     513,     0,   357,     0,   231,   239,   240,   179,     0,     0,
1335
       0,    75,   339,   350,     0,   341,     0,     0,     0,   351,
1336
       0,     0,   375,     0,   327,   506,     0,     0,     0,     0,
1337
       0,   329,   195,   507,     0,   382,   146,   515,   130,     0,
1338
     146,   411,     0,   146,   217,   215,   340,   342,   343,   344,
1339
       0,     0,     0,   506,   379,   506,   373,     0,   506,   506,
1340
     330,   393,   503,   506,   379,   270,     0,   512,   511,     0,
1341
     229,     0,   346,   347,   349,   345,   352,   376,   384,     0,
1342
     375,   268,   395,   396,   382,   384,   507,   507,   177,   348,
1343
     379,   377,   384,   385,   508,   380,   506,     0,   271,   383,
1344
     189,   502,   384,   381,     0,   376,   299,   378,   506,   507,
1345
     386,     0,   391,   353,   146,   507,   268,   507,     0,   331,
1346
       0,     0,   354,   392,     0,   388,   146,   507,     0,     0,
1347
     387,   390,   389
1348
};
1349
1350
/* YYPGOTO[NTERM-NUM].  */
1351
static const yytype_int16 yypgoto[] =
1352
{
1353
    -953,  -953,   -64,  -880,   -69,   -58,  -493,  -953,   -40,  -189,
1354
     334,   373,  -953,   -90,    -2,     6,   969,  -953,  -953,  -953,
1355
    1019,  -953,  -953,  -341,  -953,  -953,   870,   201,  -756,   569,
1356
     900,  -131,  -953,   106,  -953,  -953,  -953,  -953,  -953,  -953,
1357
     409,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1358
    -953,    -6,  -953,  -953,  -953,  -953,  -953,  -953,  -953,  -953,
1359
    -953,  -663,  -953,  -599,   236,  -953,    99,  -953,  -953,  -613,
1360
    -953,  -953,  -953,   154,  -953,  -953,  -953,  -953,  -953,  -953,
1361
    -721,  -953,   193,  -953,   262,   144,  -890,  -137,  -194,  -953,
1362
     306,  -953,  -340,  -272,  -953,   196,  -926,    65,  -953,  -953,
1363
    -953,   932,  -443,  -953,   597,  -953,   592,  -751,   156,  -953,
1364
    -771,  -953,  -953,    25,  -953,  -953,  -953,  -953,  -953,  -953,
1365
    -953,  -953,  -831,  -818,  -953,    10,  -953,  -835,   -54,  -953,
1366
     -51,  -953,  -953,  -953,    53,    17,   628,  -953,   673,  -953,
1367
     273,   468,   964,  -953,   -62,  -953,    11,     7,  -953,     4,
1368
      73,  -952,  -114,  -953,  -953,    27,  -953,  -953,    58,  -220,
1369
    -953,   501,   -49,  -953,   -14,   202,     9,  -953,  -953,  -953,
1370
    -953,  -953,   432,   203,  -953,  -953,   762,   -57,  -264,   594,
1371
    -953,  -953,   618,   425,  -953,  -953,  -953,   470
1372
};
1373
1374
/* YYDEFGOTO[NTERM-NUM].  */
1375
static const yytype_int16 yydefgoto[] =
1376
{
1377
       0,     1,   298,   299,   336,   464,     2,   301,   765,   197,
1378
      92,   524,   525,    93,   135,   546,    96,    97,   520,   302,
1379
     766,   497,   199,   644,   767,   868,   200,   768,   769,   201,
1380
     186,   331,   547,   548,   758,   764,   998,  1042,   863,   507,
1381
     508,   600,    99,   973,  1017,   100,   559,   214,   101,   156,
1382
     157,   102,   103,   215,   104,   216,   105,   217,   684,   946,
1383
    1080,   679,   682,   777,   756,  1029,   918,   850,   761,   852,
1384
     106,   856,   857,   858,   859,   747,   107,   108,   109,   110,
1385
     824,   825,   826,   827,   828,   899,   788,   789,   790,   791,
1386
     792,   900,   793,   902,   903,   904,   967,   168,   469,   165,
1387
     465,   470,   471,   202,   203,   206,   207,   873,   947,   948,
1388
     779,  1048,  1084,  1085,  1086,  1087,  1088,  1089,  1185,   949,
1389
     950,   951,   829,   830,  1050,  1051,  1052,  1148,  1135,  1164,
1390
    1165,  1182,  1197,  1187,  1060,  1061,   187,   171,   172,   748,
1391
     479,   480,   159,   635,   111,   112,   113,   114,   115,   137,
1392
     601,  1064,   394,   980,  1069,  1070,   117,   401,   118,   161,
1393
     343,   169,   119,   120,   121,   122,   182,   123,   124,   125,
1394
     126,   127,   128,   129,   130,   163,   605,   613,   338,   339,
1395
     340,   341,   328,   329,   700,   131,   511,   512
1396
};
1397
1398
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1399
   positive, shift that token.  If negative, reduce the rule whose
1400
   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1401
static const yytype_int16 yytable[] =
1402
{
1403
      94,   832,   395,   300,   351,   871,   116,   196,    95,   496,
1404
     865,   905,   309,   309,   869,   136,   138,   139,   140,   141,
1405
     158,   759,   -14,   418,   155,   310,   310,   991,   686,   143,
1406
     144,  -280,   146,   147,   148,   149,   150,  -293,   166,   522,
1407
     523,   173,   952,   598,   529,   351,   393,   393,   183,   181,
1408
     181,   808,  1023,   188,  1025,   181,   208,   190,   493,   782,
1409
     311,   311,   375,   610,    15,   351,     3,    15,   393,   836,
1410
     -84,  1066,   323,  1071,   539,   494,  1013,   132,    12,    13,
1411
      14,   494,    15,   323,   160,   794,   527,   315,   316,   317,
1412
     318,   319,   320,   321,   322,   355,  1040,   330,   116,   337,
1413
      95,   353,   142,   132,    12,    13,    14,    15,    98,  1067,
1414
     906,   599,   897,   323,   952,   324,  1041,   209,   191,  1059,
1415
     323,   193,   342,   952,   954,   323,   -84,   539,   647,  1058,
1416
     132,    12,    13,    14,   905,   323,   783,   174,    41,    42,
1417
     208,   145,   353,   369,   370,   371,   305,   854,   309,   158,
1418
     423,  1132,   922,   923,   167,   580,   419,   349,   196,   784,
1419
     785,   310,   151,   323,   421,   345,   673,   922,   923,   170,
1420
     675,  1005,   952,   375,   323,   467,   539,   495,   472,  1058,
1421
     952,   473,  1001,   664,   690,   388,   477,   481,   482,  1003,
1422
     484,   485,   795,   167,   760,   879,   311,   992,   205,   209,
1423
     736,   974,   739,   740,  1170,  1171,   326,   327,   175,   889,
1424
    1011,  -523,   784,   785,   356,   357,   347,   326,   327,   611,
1425
    1058,    91,   510,   513,    91,   167,   426,  1181,   556,   162,
1426
    -522,   786,   952,  1189,   474,  1191,   475,   908,   920,    91,
1427
     924,   952,    41,    42,   184,  1200,   325,   326,   327,   882,
1428
    1179,   204,   334,   335,   326,   327,   955,   153,   540,   326,
1429
     327,  1063,    41,    42,    91,   309,   396,   925,   534,   326,
1430
     327,    50,    51,   350,   309,  1072,   312,   312,   310,   152,
1431
     191,   192,   993,   193,   898,   707,   846,   310,   367,   368,
1432
     369,   370,   371,   176,   348,  -224,   388,   326,   327,  1155,
1433
     158,   177,  1144,   977,   155,  -567,  -567,    73,   326,   327,
1434
    1015,   667,   847,   311,   337,   337,  1194,  1163,   528,   337,
1435
     375,  -224,   311,   178,  1163,  1172,    50,    51,   194,   545,
1436
     195,  1163,   185,   617,   152,   116,  -567,   537,   603,   607,
1437
    1195,  1163,   614,  1196,   550,   905,   191,   192,   189,   193,
1438
    1145,   132,    12,    13,    14,  -564,  -564,   558,   557,    73,
1439
     154,  -606,  -606,   526,   160,  -606,  1183,   397,  -564,  1184,
1440
     637,   638,   566,   567,   568,   569,   570,   571,   572,   573,
1441
     574,   575,   576,   577,   578,   579,  -564,   581,   582,   583,
1442
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
1443
     594,   595,   596,   366,   367,   368,   369,   370,   371,   615,
1444
     151,   181,   312,   618,   619,   620,   621,   622,   623,   624,
1445
     625,   626,   627,   628,   629,   630,   867,  -225,   631,   179,
1446
    1167,   633,   717,   160,   158,  -227,   375,   180,   155,   640,
1447
     210,   181,   490,   388,   143,   144,   656,   146,   147,   148,
1448
     149,   211,   166,  -225,   208,   351,   212,   190,  -605,  -605,
1449
     196,  -227,  -605,   561,  -186,  1190,   616,   597,  -186,   191,
1450
     398,   399,   193,   641,   213,   358,   359,   360,   367,   368,
1451
     369,   370,   371,   709,   896,   173,   490,   901,   491,   652,
1452
     844,   545,   132,    12,    13,    14,   303,   116,   160,   304,
1453
     659,   400,   132,    12,    13,    14,   313,   314,  -560,   162,
1454
     375,   334,   335,   209,   927,   670,   930,   194,   932,   195,
1455
      41,    42,   132,    12,    13,    14,    15,   939,  -568,   312,
1456
     385,   386,   388,   427,   428,  -565,  -565,   424,   312,   531,
1457
     532,   888,   132,    12,    13,    14,   429,   425,  -565,   116,
1458
     476,   706,   353,   486,   500,   309,   501,   969,   970,   388,
1459
     337,   783,  -571,   710,   430,   337,  -565,   874,   310,  1046,
1460
     533,   715,  1047,   716,   784,   785,   718,   487,   162,   913,
1461
     488,   151,    50,    51,   784,   785,   755,   701,   702,   680,
1462
     152,   691,   426,   309,   489,   502,  -202,   503,   492,   604,
1463
     608,   612,   612,   311,   385,   386,   310,   861,   862,   901,
1464
     309,   837,   499,   723,   839,    73,   504,   725,   132,    12,
1465
      13,    14,   727,   310,   784,   785,   514,   505,   636,   506,
1466
     612,   612,   639,   388,  1018,  1019,  1019,  1022,   515,   154,
1467
     154,   311,   509,   162,   516,   876,   898,   309,   517,   877,
1468
    -561,  -561,   696,   735,   472,   518,   472,   472,   311,   519,
1469
     310,   744,   697,  -561,   750,   752,   698,  -563,  -563,   521,
1470
     724,   699,  -571,   721,   726,  -570,   153,   783,   728,   729,
1471
    -563,  -561,   549,    91,    94,   510,   958,   959,    50,    51,
1472
     116,   553,    95,   309,  -570,   311,   152,   500,  -563,   666,
1473
     784,   785,   354,  1020,  1021,   204,   310,   344,   346,   154,
1474
     921,   922,   923,   802,  1093,   545,  1094,   919,   823,   554,
1475
     823,   116,   807,   555,   560,  -562,  -562,  1100,  1109,  1101,
1476
     812,   562,   763,   351,   563,  1100,   775,  1130,  -562,   780,
1477
     564,   311,   956,   957,   957,   960,   -43,   526,   -70,   535,
1478
     -66,   -67,  -569,   541,   743,   781,  -562,   746,   -68,   538,
1479
     965,   -62,   842,   -63,   -65,   337,   -64,   535,   551,   541,
1480
     535,   541,   786,   860,   154,   -73,   -69,   755,    41,    42,
1481
      43,   988,   922,   923,   309,   986,   642,   643,   646,   350,
1482
      50,    51,    98,    94,   650,   653,   654,   310,   152,   116,
1483
     662,    95,   663,  1000,    57,    58,    59,    60,   885,   665,
1484
     205,   672,   674,   678,   681,   683,   337,   677,   687,   312,
1485
     693,   685,   688,    73,   689,   694,   695,   704,   705,   823,
1486
     711,   714,   311,   720,   780,   545,   722,   545,  -592,  -594,
1487
     730,   116,   733,   116,   737,   776,   741,   494,   762,   770,
1488
     872,   481,   912,   772,   337,   351,   774,   312,   778,   797,
1489
    1036,  1037,   799,  -569,   849,   800,   801,   883,   803,   840,
1490
     804,   945,   805,   831,   312,   132,    12,    13,    14,    15,
1491
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1492
     841,   843,   864,   823,  1053,   851,  1073,   853,   866,   870,
1493
     874,    98,   880,  1075,  1076,   881,   875,   882,   887,   891,
1494
     892,   312,   895,   894,    73,   890,  -593,   545,   966,   907,
1495
     935,   926,   909,   116,   914,   929,   975,   931,   928,   934,
1496
     938,   933,   953,   990,   151,    50,    51,   879,   940,   393,
1497
     860,   937,   996,   152,   961,   972,  1045,   962,   976,   963,
1498
     977,   978,   945,   917,  1008,  1068,   979,   312,   982,   983,
1499
     989,    41,   964,   545,   984,   985,   994,   997,    73,   116,
1500
    1002,  1012,  1009,  1014,  1024,  1136,   974,  1016,  1161,  1139,
1501
    1026,   981,  1141,  1032,   545,  1049,  1033,  1074,  1065,  1083,
1502
     116,   999,  1079,  1091,  1078,  1095,  1096,   -75,   545,   -54,
1503
     780,   945,   -55,  1097,   116,  1038,  1104,  1106,  1039,   945,
1504
    1107,  1108,   154,  1110,  1004,   154,  1115,   787,  1113,  -522,
1505
    1118,  1119,  1121,   154,  1120,  1122,  1083,  1124,  1125,   153,
1506
    1134,    41,    42,  1140,   545,   545,    91,  1138,  1149,  1068,
1507
     116,   116,   350,    50,    51,  1151,  1160,  1176,   312,   731,
1508
    1174,   152,  1178,  1188,  1193,  1186,  1143,    57,    58,    59,
1509
      60,   945,   798,   352,  1146,  1199,   198,   936,   498,   668,
1510
     945,   545,   351,   545,   545,  1103,    73,   116,   483,   116,
1511
     116,   771,   915,   995,  1030,   893,  1159,   757,   968,  1028,
1512
    1114,   917,   878,  1007,   971,   393,   466,   671,  1077,   669,
1513
    1168,  1006,  1123,  1126,   509,  1090,   941,  1128,  1129,  1117,
1514
     154,  1173,  1099,   911,  -359,  1133,   787,  1131,   660,   422,
1515
     787,   749,  1092,   813,   814,   815,   816,   817,   818,   819,
1516
     820,   821,   822,   943,   545,  1137,   732,   545,  1105,   545,
1517
     116,   806,  1090,   116,   773,   116,  1162,   649,   712,   823,
1518
       0,     0,     0,  1162,     0,     0,     0,    73,     0,   609,
1519
    1166,   787,     0,     0,     0,     0,     0,     0,  1127,     0,
1520
    1162,     0,     0,     0,     0,     0,     0,     0,     0,   780,
1521
       0,     0,     0,     0,   823,     0,   545,   845,     0,     0,
1522
       0,     0,   116,     0,     0,     0,  1147,   545,  1150,     0,
1523
       0,  1152,  1153,   116,     0,  1198,  1154,     0,   154,     0,
1524
       0,     0,     0,   787,   787,   787,   787,     0,     0,  -607,
1525
    -607,   366,   367,   368,   369,   370,   371,     0,   734,     0,
1526
       0,   787,   787,     0,     0,     4,     5,     0,     0,  1175,
1527
       6,     7,     8,     0,     9,    10,   132,    12,    13,    14,
1528
      15,  1180,     0,    17,   375,     0,    18,    19,    20,    21,
1529
      22,     0,     0,     0,    23,    24,    25,   154,    26,    27,
1530
      28,     0,     0,     0,   402,     0,   154,     0,   757,     0,
1531
       0,     0,     0,   787,     0,     0,     0,     0,     0,     0,
1532
      37,     0,     0,     0,    41,    42,     0,     0,     0,     0,
1533
     787,    46,     0,     0,     0,   133,     0,     0,   787,   787,
1534
     787,   787,     0,     0,   134,     0,     0,    54,    55,     0,
1535
       0,     0,     0,     0,     0,     0,     0,    62,    63,     0,
1536
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1537
       0,     0,     0,   787,     0,  -607,  -607,     0,   385,   386,
1538
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1539
       0,     0,     0,    74,    75,    76,    77,    78,    79,    80,
1540
      81,    82,     0,     0,   154,     0,     0,   388,     0,   389,
1541
       0,   154,    84,     0,    73,     0,     0,   403,   404,   405,
1542
     406,   407,   408,   409,   410,   411,   412,   413,   414,     0,
1543
      86,     0,     0,     0,    88,    89,    90,    91,     0,     0,
1544
     415,   416,     0,     0,     0,     0,     0,     0,   154,     0,
1545
    -561,  -561,     0,     0,     0,     0,     0,     0,   431,     0,
1546
       0,     0,     0,  -561,     0,     4,     5,     0,   417,     0,
1547
       6,     7,     8,     0,     9,    10,   432,    12,    13,    14,
1548
      15,  -561,     0,    17,     0,   154,   433,   434,   435,   436,
1549
     437,   225,   226,   227,   438,   439,    25,   230,   440,   441,
1550
     442,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1551
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1552
     443,   254,   255,   256,   444,   445,   259,   260,   261,   262,
1553
     263,   446,   265,   266,   267,   447,   269,   270,   271,   272,
1554
     273,     0,     0,     0,   448,   275,   276,   449,   450,     0,
1555
     279,   280,   281,   282,   283,   284,   285,   451,   452,   288,
1556
     453,   454,   455,   456,   457,   458,   459,   460,   461,    73,
1557
    -358,     0,  -360,     0,     0,     0,     0,     0,     0,     0,
1558
       0,   813,   814,   815,   816,   817,   818,   819,   820,   821,
1559
     822,     0,     0,    74,    75,    76,    77,    78,    79,    80,
1560
      81,    82,   813,   814,   815,   816,   817,   818,   819,   820,
1561
     821,   822,    84,     0,     0,     0,     0,     0,   462,     0,
1562
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1563
      86,   463,   431,     0,    88,    89,    90,    91,     0,     4,
1564
       5,     0,     0,     0,     6,     7,     8,     0,     9,    10,
1565
     432,    12,    13,    14,    15,     0,     0,    17,     0,     0,
1566
     433,   434,   435,   436,   437,   225,   226,   227,   438,   439,
1567
      25,   230,   440,   441,   442,   234,   235,   236,   237,   238,
1568
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1569
     249,   250,   251,   252,   443,   254,   255,   256,   444,   445,
1570
     259,   260,   261,   262,   263,   446,   265,   266,   267,   447,
1571
     269,   270,   271,   272,   273,     0,     0,     0,   448,   275,
1572
     276,   449,   450,     0,   279,   280,   281,   282,   283,   284,
1573
     285,   451,   452,   288,   453,   454,   455,   456,   457,   458,
1574
     459,   460,   461,    73,     0,     0,     0,     0,     0,     0,
1575
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576
       0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
1577
      77,    78,    79,    80,    81,    82,     0,     0,     0,     0,
1578
       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
1579
       0,     0,   462,     0,     0,     0,     0,     0,     0,     0,
1580
       0,     0,     0,     0,    86,   468,   431,     0,    88,    89,
1581
      90,    91,     0,     4,     5,     0,     0,     0,     6,     7,
1582
       8,     0,     9,    10,   432,    12,    13,    14,    15,     0,
1583
       0,    17,     0,     0,   433,   434,   435,   436,   437,   225,
1584
     226,   227,   438,   439,    25,   230,   440,   441,   442,   234,
1585
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1586
     245,   246,   247,   248,   249,   250,   251,   252,   443,   254,
1587
     255,   256,   444,   445,   259,   260,   261,   262,   263,   446,
1588
     265,   266,   267,   447,   269,   270,   271,   272,   273,     0,
1589
       0,     0,   448,   275,   276,   449,   450,     0,   279,   280,
1590
     281,   282,   283,   284,   285,   451,   452,   288,   453,   454,
1591
     455,   456,   457,   458,   459,   460,   461,    73,     0,     0,
1592
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1593
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1594
       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1595
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1596
      84,     0,     0,     0,     0,     0,   462,     0,     0,     0,
1597
       0,     0,     0,     0,     0,     0,     0,     0,    86,   738,
1598
     431,     0,    88,    89,    90,    91,     0,     4,     5,     0,
1599
       0,     0,     6,     7,     8,     0,     9,    10,   432,    12,
1600
      13,    14,    15,     0,     0,    17,     0,     0,   433,   434,
1601
     435,   436,   437,   225,   226,   227,   438,   439,    25,   230,
1602
     440,   441,   442,   234,   235,   236,   237,   238,   239,   240,
1603
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1604
     251,   252,   443,   254,   255,   256,   444,   445,   259,   260,
1605
     261,   262,   263,   446,   265,   266,   267,   447,   269,   270,
1606
     271,   272,   273,     0,     0,     0,   448,   275,   276,   449,
1607
     450,     0,   279,   280,   281,   282,   283,   284,   285,   451,
1608
     452,   288,   453,   454,   455,   456,   457,   458,   459,   460,
1609
     461,    73,     0,     0,   813,   814,   815,   816,   817,   818,
1610
     819,   820,   821,   822,     0,   813,   814,   815,   816,   817,
1611
     818,   819,   820,   821,   822,    74,    75,    76,    77,    78,
1612
      79,    80,    81,    82,     0,     0,     0,     0,    73,     0,
1613
       0,     0,     0,     0,    84,     0,     0,     0,     0,    73,
1614
     462,     0,   362,   363,   364,   365,   366,   367,   368,   369,
1615
     370,   371,    86,     0,   742,     0,    88,    89,    90,    91,
1616
       4,     5,     0,     0,     0,     6,     7,     8,     0,     9,
1617
      10,    11,    12,    13,    14,    15,    16,     0,    17,   375,
1618
       0,    18,    19,    20,    21,    22,     0,     0,     0,    23,
1619
      24,    25,  1169,    26,    27,    28,    29,     0,     0,     0,
1620
      30,    31,    32,  1177,    33,     0,    34,     0,    35,     0,
1621
       0,    36,     0,     0,     0,    37,    38,    39,    40,    41,
1622
      42,     0,    44,    45,     0,     0,    46,     0,     0,    48,
1623
      49,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1624
       0,    53,    54,    55,     0,     0,     0,     0,     0,     0,
1625
       0,     0,    62,    63,     0,    64,    65,    66,    67,    68,
1626
      69,    70,    71,    72,    73,   377,   378,   379,   380,   381,
1627
     382,   383,   384,   385,   386,   813,   814,   815,   816,   817,
1628
     818,   819,   820,   821,   822,     0,     0,     0,    74,    75,
1629
      76,    77,    78,    79,    80,    81,    82,    83,     0,     0,
1630
       0,     0,   388,     0,   389,   390,   391,    84,     0,    73,
1631
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632
       0,     0,     0,     0,    85,    86,     0,    87,   745,    88,
1633
      89,    90,    91,     0,     4,     5,     0,     0,     0,     6,
1634
       7,     8,     0,     9,    10,    11,    12,    13,    14,    15,
1635
      16,     0,    17,     0,     0,    18,    19,    20,    21,    22,
1636
       0,     0,     0,    23,    24,    25,     0,    26,    27,    28,
1637
      29,  -263,     0,     0,    30,    31,    32,     0,    33,     0,
1638
      34,     0,    35,     0,     0,    36,     0,     0,     0,    37,
1639
      38,    39,    40,    41,    42,     0,    44,    45,     0,     0,
1640
      46,     0,     0,    48,    49,     0,     0,     0,     0,     0,
1641
       0,     0,     0,   134,     0,    53,    54,    55,     0,     0,
1642
       0,     0,     0,     0,     0,     0,    62,    63,     0,    64,
1643
      65,    66,    67,    68,    69,    70,    71,    72,    73,   813,
1644
     814,   815,   816,   817,   818,   819,   820,   821,   822,     0,
1645
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1646
       0,     0,    74,    75,    76,    77,    78,    79,    80,    81,
1647
      82,    83,     0,    73,     0,     0,     0,     0,     0,     0,
1648
       0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
1649
       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
1650
       0,    87,   848,    88,    89,    90,    91,     0,     4,     5,
1651
       0,     0,     0,     6,     7,     8,     0,     9,    10,    11,
1652
      12,    13,    14,    15,    16,     0,    17,     0,     0,    18,
1653
      19,    20,    21,    22,     0,  -130,     0,    23,    24,    25,
1654
       0,    26,    27,    28,    29,     0,     0,     0,    30,    31,
1655
      32,     0,    33,     0,    34,     0,    35,     0,     0,    36,
1656
       0,     0,     0,    37,    38,    39,    40,    41,    42,     0,
1657
      44,    45,     0,     0,    46,     0,     0,    48,    49,     0,
1658
       0,     0,     0,     0,     0,     0,     0,   134,     0,    53,
1659
      54,    55,     0,     0,     0,     0,     0,     0,     0,     0,
1660
      62,    63,     0,    64,    65,    66,    67,    68,    69,    70,
1661
      71,    72,    73,     0,     0,     0,     0,     0,     0,     0,
1662
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1663
       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
1664
      78,    79,    80,    81,    82,    83,     0,     0,     0,     0,
1665
       0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
1666
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1667
       0,     0,    85,    86,     0,    87,   916,    88,    89,    90,
1668
      91,     0,     4,     5,     0,     0,     0,     6,     7,     8,
1669
       0,     9,    10,    11,    12,    13,    14,    15,    16,     0,
1670
      17,     0,     0,    18,    19,    20,    21,    22,     0,     0,
1671
       0,    23,    24,    25,     0,    26,    27,    28,    29,     0,
1672
       0,     0,    30,    31,    32,     0,    33,     0,    34,     0,
1673
      35,     0,     0,    36,     0,     0,     0,    37,    38,    39,
1674
      40,    41,    42,     0,    44,    45,     0,     0,    46,     0,
1675
       0,    48,    49,     0,     0,     0,     0,     0,     0,     0,
1676
       0,   134,     0,    53,    54,    55,     0,     0,     0,     0,
1677
       0,     0,     0,     0,    62,    63,     0,    64,    65,    66,
1678
      67,    68,    69,    70,    71,    72,    73,     0,     0,     0,
1679
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1682
       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
1683
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1684
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1685
    1027,    88,    89,    90,    91,     0,     4,     5,     0,     0,
1686
       0,     6,     7,     8,     0,     9,    10,    11,    12,    13,
1687
      14,    15,    16,     0,    17,     0,     0,    18,    19,    20,
1688
      21,    22,     0,     0,     0,    23,    24,    25,     0,    26,
1689
      27,    28,    29,     0,     0,     0,    30,    31,    32,     0,
1690
      33,     0,    34,     0,    35,     0,     0,    36,     0,     0,
1691
       0,    37,    38,    39,    40,    41,    42,     0,    44,    45,
1692
       0,     0,    46,     0,     0,    48,    49,     0,     0,     0,
1693
       0,     0,     0,     0,     0,   134,     0,    53,    54,    55,
1694
       0,     0,     0,     0,     0,     0,     0,     0,    62,    63,
1695
       0,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1696
      73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698
       0,     0,     0,     0,    74,    75,    76,    77,    78,    79,
1699
      80,    81,    82,    83,     0,     0,     0,     0,     0,     0,
1700
       0,     0,     0,    84,     0,     0,     0,     0,     0,     0,
1701
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702
      85,    86,     0,    87,   565,    88,    89,    90,    91,     0,
1703
       4,     5,     0,     0,     0,     6,     7,     8,     0,     9,
1704
      10,   132,    12,    13,    14,    15,     0,     0,    17,     0,
1705
       0,    18,    19,    20,    21,    22,     0,     0,     0,    23,
1706
      24,    25,     0,    26,    27,    28,     0,     0,     0,     0,
1707
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1708
       0,     0,     0,     0,     0,    37,     0,     0,     0,    41,
1709
      42,     0,     0,     0,     0,     0,    46,     0,     0,     0,
1710
     133,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1711
       0,     0,    54,    55,     0,     0,     0,     0,     0,     0,
1712
       0,     0,    62,    63,     0,    64,    65,    66,    67,    68,
1713
      69,    70,    71,    72,    73,     0,     0,     0,     0,     0,
1714
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715
       0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
1716
      76,    77,    78,    79,    80,    81,    82,     0,     0,     0,
1717
       0,     0,     0,     0,     0,     0,     0,    84,     0,     0,
1718
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719
       0,     0,     0,     0,     0,    86,     0,   -47,     0,    88,
1720
      89,    90,    91,     4,     5,     0,     0,     0,     6,     7,
1721
       8,     0,     9,    10,   132,    12,    13,    14,    15,     0,
1722
       0,    17,     0,     0,    18,    19,    20,    21,    22,     0,
1723
       0,     0,    23,    24,    25,     0,    26,    27,    28,     0,
1724
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1725
       0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
1726
       0,     0,    41,    42,     0,     0,     0,     0,     0,    46,
1727
       0,     0,     0,   133,     0,     0,     0,     0,     0,     0,
1728
       0,     0,   134,     0,     0,    54,    55,     0,     0,     0,
1729
       0,     0,     0,     0,     0,    62,    63,     0,    64,    65,
1730
      66,    67,    68,    69,    70,    71,    72,    73,   361,     0,
1731
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1732
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733
       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1734
       0,   372,   373,   374,     0,     0,     0,   375,     0,     0,
1735
      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1736
       0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
1737
       0,     0,    88,    89,    90,    91,   361,     0,   362,   363,
1738
     364,   365,   366,   367,   368,   369,   370,   371,   361,     0,
1739
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1740
       0,     0,     0,     0,     0,     0,     0,     0,     0,   372,
1741
     373,   374,     0,     0,     0,   375,     0,     0,     0,     0,
1742
       0,   372,   373,   374,     0,     0,     0,   375,     0,     0,
1743
       0,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1744
     384,   385,   386,   361,     0,   362,   363,   364,   365,   366,
1745
     367,   368,   369,   370,   371,   361,     0,   362,   363,   364,
1746
     365,   366,   367,   368,   369,   370,   371,     0,     0,   387,
1747
     388,     0,   389,   390,   391,     0,   372,   373,   374,     0,
1748
       0,     0,   375,   703,     0,     0,     0,     0,   372,   373,
1749
     374,     0,     0,     0,   375,     0,     0,     0,     0,     0,
1750
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1751
     386,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1752
     384,   385,   386,   361,     0,   362,   363,   364,   365,   366,
1753
     367,   368,   369,   370,   371,     0,     0,   387,   388,     0,
1754
     389,   390,   391,     0,     0,     0,     0,     0,     0,   387,
1755
     388,   713,   389,   390,   391,     0,   372,   373,   374,     0,
1756
       0,     0,   375,   833,     0,     0,     0,   376,   377,   378,
1757
     379,   380,   381,   382,   383,   384,   385,   386,     0,   376,
1758
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1759
     361,     0,   362,   363,   364,   365,   366,   367,   368,   369,
1760
     370,   371,     0,     0,   387,   388,     0,   389,   390,   391,
1761
       0,     0,     0,     0,     0,     0,   387,   388,   834,   389,
1762
     390,   391,     0,   372,   373,   374,     0,     0,     0,   375,
1763
     835,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764
       0,     0,     0,     0,     0,     0,     0,   376,   377,   378,
1765
     379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
1766
     361,     0,   362,   363,   364,   365,   366,   367,   368,   369,
1767
     370,   371,     0,     0,     0,     0,     0,     0,     0,     0,
1768
       0,     0,     0,     0,   387,   388,     0,   389,   390,   391,
1769
       0,     0,   645,   372,   373,   374,   542,     0,     0,   375,
1770
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771
       0,     0,     0,     0,   376,   377,   378,   379,   380,   381,
1772
     382,   383,   384,   385,   386,   361,     0,   362,   363,   364,
1773
     365,   366,   367,   368,   369,   370,   371,     0,   361,     0,
1774
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1775
       0,   387,   388,     0,   389,   390,   391,     0,   372,   373,
1776
     374,     0,     0,   542,   375,     0,     0,     0,     0,     0,
1777
       0,   372,   373,   374,     0,     0,     0,   375,     0,     0,
1778
       0,     0,     0,     0,   376,   377,   378,   379,   380,   381,
1779
     382,   383,   384,   385,   386,   361,     0,   362,   363,   364,
1780
     365,   366,   367,   368,   369,   370,   371,     0,   361,     0,
1781
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1782
       0,   387,   388,     0,   389,   390,   391,     0,   372,   373,
1783
     374,     0,     0,   632,   375,     0,     0,     0,     0,     0,
1784
       0,   372,   373,   374,     0,     0,     0,   375,     0,   376,
1785
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1786
       0,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1787
     384,   385,   386,   361,     0,   362,   363,   364,   365,   366,
1788
     367,   368,   369,   370,   371,     0,   387,   388,     0,   389,
1789
     390,   391,     0,     0,     0,     0,     0,     0,   634,   387,
1790
     388,     0,   389,   390,   391,     0,   372,   373,   374,     0,
1791
       0,   648,   375,     0,     0,     0,     0,     0,     0,   376,
1792
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1793
       0,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1794
     384,   385,   386,   361,     0,   362,   363,   364,   365,   366,
1795
     367,   368,   369,   370,   371,     0,   387,   388,     0,   389,
1796
     390,   391,     0,     0,     0,     0,     0,     0,   651,   387,
1797
     388,     0,   389,   390,   391,     0,   372,   373,   374,     0,
1798
       0,   657,   375,     0,     0,     0,     0,     0,     0,     0,
1799
       0,     0,     0,     0,     0,     0,     0,   376,   377,   378,
1800
     379,   380,   381,   382,   383,   384,   385,   386,   361,     0,
1801
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1802
       0,   361,     0,   362,   363,   364,   365,   366,   367,   368,
1803
     369,   370,   371,     0,   387,   388,     0,   389,   390,   391,
1804
       0,   372,   373,   374,     0,     0,   658,   375,     0,     0,
1805
       0,     0,     0,     0,   372,   373,   374,     0,     0,     0,
1806
     375,     0,     0,     0,     0,     0,     0,   376,   377,   378,
1807
     379,   380,   381,   382,   383,   384,   385,   386,   361,     0,
1808
     362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
1809
       0,   361,     0,   362,   363,   364,   365,   366,   367,   368,
1810
     369,   370,   371,     0,   387,   388,     0,   389,   390,   391,
1811
       0,   372,   373,   374,     0,     0,   676,   375,     0,     0,
1812
       0,     0,     0,     0,   372,   373,   374,     0,     0,     0,
1813
     375,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1814
     384,   385,   386,     0,     0,   376,   377,   378,   379,   380,
1815
     381,   382,   383,   384,   385,   386,     0,     0,     0,     0,
1816
       0,     0,     0,     0,     0,     0,     0,     0,     0,   387,
1817
     388,     0,   389,   390,   391,     0,     0,     0,     0,     0,
1818
       0,   692,   387,   388,     0,   389,   390,   391,     0,     0,
1819
       0,     0,     0,     0,   809,     0,     0,     0,     0,     0,
1820
       0,     0,   376,   377,   378,   379,   380,   381,   382,   383,
1821
     384,   385,   386,     0,     0,   376,   377,   378,   379,   380,
1822
     381,   382,   383,   384,   385,   386,     0,     0,     0,     0,
1823
       0,     0,     0,     0,     0,     0,     0,     0,     0,   387,
1824
     388,     0,   389,   390,   391,     0,     0,     0,     0,     0,
1825
       0,   810,   387,   388,     0,   389,   390,   391,     0,     0,
1826
       4,     5,     0,     0,   838,     6,     7,     8,     0,     9,
1827
      10,    11,    12,    13,    14,    15,    16,     0,    17,     0,
1828
       0,    18,    19,    20,    21,    22,     0,     0,     0,    23,
1829
      24,    25,     0,    26,    27,    28,    29,     0,     0,     0,
1830
      30,    31,    32,     0,    33,     0,    34,     0,    35,     0,
1831
       0,    36,     0,     0,     0,    37,    38,    39,    40,    41,
1832
      42,    43,    44,    45,     0,     0,    46,    47,     0,    48,
1833
      49,    50,    51,     0,     0,     0,     0,     0,     0,    52,
1834
       0,    53,    54,    55,    56,    57,    58,    59,    60,     0,
1835
       0,    61,    62,    63,     0,    64,    65,    66,    67,    68,
1836
      69,    70,    71,    72,    73,     0,     0,     0,     0,     0,
1837
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838
       0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
1839
      76,    77,    78,    79,    80,    81,    82,    83,     0,     0,
1840
       0,     0,     0,     0,     0,     0,     0,    84,     0,     0,
1841
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1842
       0,     0,     0,     0,    85,    86,     0,    87,   796,    88,
1843
      89,    90,    91,     4,     5,     0,     0,     0,     6,     7,
1844
       8,     0,     9,    10,    11,    12,    13,    14,    15,    16,
1845
       0,    17,     0,     0,    18,    19,    20,    21,    22,     0,
1846
       0,     0,    23,    24,    25,     0,    26,    27,    28,    29,
1847
       0,     0,     0,    30,    31,    32,     0,    33,     0,    34,
1848
       0,    35,     0,     0,    36,     0,     0,     0,    37,    38,
1849
      39,    40,    41,    42,    43,    44,    45,     0,     0,    46,
1850
      47,     0,    48,    49,    50,    51,     0,     0,     0,     0,
1851
       0,     0,    52,     0,    53,    54,    55,    56,    57,    58,
1852
      59,    60,     0,     0,    61,    62,    63,     0,    64,    65,
1853
      66,    67,    68,    69,    70,    71,    72,    73,     0,     0,
1854
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1855
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1856
       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1857
      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1858
      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1859
       0,     0,     0,     0,     0,     0,     0,    85,    86,     0,
1860
      87,   884,    88,    89,    90,    91,     4,     5,     0,     0,
1861
       0,     6,     7,     8,     0,     9,    10,    11,    12,    13,
1862
      14,    15,    16,     0,    17,     0,     0,    18,    19,    20,
1863
      21,    22,     0,     0,     0,    23,    24,    25,     0,    26,
1864
      27,    28,    29,     0,     0,     0,    30,    31,    32,     0,
1865
      33,     0,    34,     0,    35,     0,     0,    36,     0,     0,
1866
       0,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1867
       0,     0,    46,    47,     0,    48,    49,    50,    51,     0,
1868
       0,     0,     0,     0,     0,    52,     0,    53,    54,    55,
1869
      56,    57,    58,    59,    60,     0,     0,    61,    62,    63,
1870
       0,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1871
      73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1872
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1873
       0,     0,     0,     0,    74,    75,    76,    77,    78,    79,
1874
      80,    81,    82,    83,     0,     0,     0,     0,     0,     0,
1875
       0,     0,     0,    84,     0,     0,     0,     0,     0,     0,
1876
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1877
      85,    86,     0,    87,     0,    88,    89,    90,    91,     4,
1878
       5,     0,     0,     0,     6,     7,     8,     0,     9,    10,
1879
      11,    12,    13,    14,    15,    16,     0,    17,     0,     0,
1880
      18,    19,    20,    21,    22,     0,     0,     0,    23,    24,
1881
      25,     0,    26,    27,    28,    29,     0,     0,     0,    30,
1882
      31,    32,     0,    33,     0,    34,     0,    35,     0,     0,
1883
      36,     0,     0,     0,    37,    38,    39,    40,    41,    42,
1884
       0,    44,    45,     0,     0,    46,     0,     0,    48,    49,
1885
      50,    51,     0,     0,     0,     0,     0,     0,    52,     0,
1886
      53,    54,    55,   543,    57,    58,    59,    60,     0,     0,
1887
       0,    62,    63,     0,    64,    65,    66,    67,    68,    69,
1888
      70,    71,    72,    73,     0,     0,     0,     0,     0,     0,
1889
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1890
       0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
1891
      77,    78,    79,    80,    81,    82,    83,     0,     0,     0,
1892
       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
1893
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894
       0,     0,     0,    85,    86,     0,    87,   544,    88,    89,
1895
      90,    91,     4,     5,     0,     0,     0,     6,     7,     8,
1896
       0,     9,    10,    11,    12,    13,    14,    15,    16,     0,
1897
      17,     0,     0,    18,    19,    20,    21,    22,     0,     0,
1898
       0,    23,    24,    25,     0,    26,    27,    28,    29,     0,
1899
       0,     0,    30,    31,    32,     0,    33,     0,    34,     0,
1900
      35,     0,     0,    36,     0,     0,     0,    37,    38,    39,
1901
      40,    41,    42,     0,    44,    45,     0,     0,    46,     0,
1902
       0,    48,    49,    50,    51,     0,     0,     0,     0,     0,
1903
       0,    52,     0,    53,    54,    55,   543,    57,    58,    59,
1904
      60,     0,     0,     0,    62,    63,     0,    64,    65,    66,
1905
      67,    68,    69,    70,    71,    72,    73,     0,     0,     0,
1906
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1907
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1908
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1909
       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
1910
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1912
     661,    88,    89,    90,    91,     4,     5,     0,     0,     0,
1913
       6,     7,     8,     0,     9,    10,    11,    12,    13,    14,
1914
      15,    16,     0,    17,     0,     0,    18,    19,    20,    21,
1915
      22,     0,     0,     0,    23,    24,    25,     0,    26,    27,
1916
      28,    29,     0,     0,   811,    30,    31,    32,     0,    33,
1917
       0,    34,     0,    35,     0,     0,    36,     0,     0,     0,
1918
      37,    38,    39,    40,    41,    42,     0,    44,    45,     0,
1919
       0,    46,     0,     0,    48,    49,    50,    51,     0,     0,
1920
       0,     0,     0,     0,    52,     0,    53,    54,    55,   543,
1921
      57,    58,    59,    60,     0,     0,     0,    62,    63,     0,
1922
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1923
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1924
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1925
       0,     0,     0,    74,    75,    76,    77,    78,    79,    80,
1926
      81,    82,    83,     0,     0,     0,     0,     0,     0,     0,
1927
       0,     0,    84,     0,     0,     0,     0,     0,     0,     0,
1928
       0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
1929
      86,     0,    87,     0,    88,    89,    90,    91,     4,     5,
1930
       0,     0,     0,     6,     7,     8,     0,     9,    10,    11,
1931
      12,    13,    14,    15,    16,     0,    17,     0,     0,    18,
1932
      19,    20,    21,    22,     0,     0,     0,    23,    24,    25,
1933
       0,    26,    27,    28,    29,     0,     0,     0,    30,    31,
1934
      32,   910,    33,     0,    34,     0,    35,     0,     0,    36,
1935
       0,     0,     0,    37,    38,    39,    40,    41,    42,     0,
1936
      44,    45,     0,     0,    46,     0,     0,    48,    49,    50,
1937
      51,     0,     0,     0,     0,     0,     0,    52,     0,    53,
1938
      54,    55,   543,    57,    58,    59,    60,     0,     0,     0,
1939
      62,    63,     0,    64,    65,    66,    67,    68,    69,    70,
1940
      71,    72,    73,     0,     0,     0,     0,     0,     0,     0,
1941
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1942
       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
1943
      78,    79,    80,    81,    82,    83,     0,     0,     0,     0,
1944
       0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
1945
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1946
       0,     0,    85,    86,     0,    87,     0,    88,    89,    90,
1947
      91,     4,     5,     0,     0,     0,     6,     7,     8,     0,
1948
       9,    10,    11,    12,    13,    14,    15,    16,     0,    17,
1949
       0,     0,    18,    19,    20,    21,    22,     0,     0,     0,
1950
      23,    24,    25,     0,    26,    27,    28,    29,     0,     0,
1951
       0,    30,    31,    32,     0,    33,     0,    34,     0,    35,
1952
     987,     0,    36,     0,     0,     0,    37,    38,    39,    40,
1953
      41,    42,     0,    44,    45,     0,     0,    46,     0,     0,
1954
      48,    49,    50,    51,     0,     0,     0,     0,     0,     0,
1955
      52,     0,    53,    54,    55,   543,    57,    58,    59,    60,
1956
       0,     0,     0,    62,    63,     0,    64,    65,    66,    67,
1957
      68,    69,    70,    71,    72,    73,     0,     0,     0,     0,
1958
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1959
       0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
1960
      75,    76,    77,    78,    79,    80,    81,    82,    83,     0,
1961
       0,     0,     0,     0,     0,     0,     0,     0,    84,     0,
1962
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1963
       0,     0,     0,     0,     0,    85,    86,     0,    87,     0,
1964
      88,    89,    90,    91,     4,     5,     0,     0,     0,     6,
1965
       7,     8,     0,     9,    10,    11,    12,    13,    14,    15,
1966
      16,     0,    17,     0,     0,    18,    19,    20,    21,    22,
1967
       0,     0,     0,    23,    24,    25,     0,    26,    27,    28,
1968
      29,     0,     0,     0,    30,    31,    32,     0,    33,     0,
1969
      34,  1031,    35,     0,     0,    36,     0,     0,     0,    37,
1970
      38,    39,    40,    41,    42,     0,    44,    45,     0,     0,
1971
      46,     0,     0,    48,    49,    50,    51,     0,     0,     0,
1972
       0,     0,     0,    52,     0,    53,    54,    55,   543,    57,
1973
      58,    59,    60,     0,     0,     0,    62,    63,     0,    64,
1974
      65,    66,    67,    68,    69,    70,    71,    72,    73,     0,
1975
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1976
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1977
       0,     0,    74,    75,    76,    77,    78,    79,    80,    81,
1978
      82,    83,     0,     0,     0,     0,     0,     0,     0,     0,
1979
       0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
1980
       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
1981
       0,    87,     0,    88,    89,    90,    91,     4,     5,     0,
1982
       0,     0,     6,     7,     8,     0,     9,    10,    11,    12,
1983
      13,    14,    15,    16,     0,    17,     0,     0,    18,    19,
1984
      20,    21,    22,     0,     0,     0,    23,    24,    25,     0,
1985
      26,    27,    28,    29,     0,     0,     0,    30,    31,    32,
1986
       0,    33,     0,    34,     0,    35,     0,     0,    36,     0,
1987
       0,     0,    37,    38,    39,    40,    41,    42,     0,    44,
1988
      45,     0,     0,    46,     0,     0,    48,    49,    50,    51,
1989
       0,     0,     0,     0,     0,     0,    52,     0,    53,    54,
1990
      55,   543,    57,    58,    59,    60,     0,     0,     0,    62,
1991
      63,     0,    64,    65,    66,    67,    68,    69,    70,    71,
1992
      72,    73,     0,     0,     0,     0,     0,     0,     0,     0,
1993
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1994
       0,     0,     0,     0,     0,    74,    75,    76,    77,    78,
1995
      79,    80,    81,    82,    83,     0,     0,     0,     0,     0,
1996
       0,     0,     0,     0,    84,     0,     0,     0,     0,     0,
1997
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1998
       0,    85,    86,     0,    87,  1043,    88,    89,    90,    91,
1999
       4,     5,     0,     0,     0,     6,     7,     8,     0,     9,
2000
      10,    11,    12,    13,    14,    15,    16,     0,    17,     0,
2001
       0,    18,    19,    20,    21,    22,     0,     0,     0,    23,
2002
      24,    25,     0,    26,    27,    28,    29,     0,     0,     0,
2003
      30,    31,    32,     0,    33,  1112,    34,     0,    35,     0,
2004
       0,    36,     0,     0,     0,    37,    38,    39,    40,    41,
2005
      42,     0,    44,    45,     0,     0,    46,     0,     0,    48,
2006
      49,    50,    51,     0,     0,     0,     0,     0,     0,    52,
2007
       0,    53,    54,    55,   543,    57,    58,    59,    60,     0,
2008
       0,     0,    62,    63,     0,    64,    65,    66,    67,    68,
2009
      69,    70,    71,    72,    73,     0,     0,     0,     0,     0,
2010
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2011
       0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
2012
      76,    77,    78,    79,    80,    81,    82,    83,     0,     0,
2013
       0,     0,     0,     0,     0,     0,     0,    84,     0,     0,
2014
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2015
       0,     0,     0,     0,    85,    86,     0,    87,     0,    88,
2016
      89,    90,    91,     4,     5,     0,     0,     0,     6,     7,
2017
       8,     0,     9,    10,    11,    12,    13,    14,    15,    16,
2018
       0,    17,     0,     0,    18,    19,    20,    21,    22,     0,
2019
       0,     0,    23,    24,    25,     0,    26,    27,    28,    29,
2020
       0,     0,     0,    30,    31,    32,     0,    33,     0,    34,
2021
       0,    35,     0,     0,    36,     0,     0,     0,    37,    38,
2022
      39,    40,    41,    42,     0,    44,    45,     0,     0,    46,
2023
       0,     0,    48,    49,    50,    51,     0,     0,     0,     0,
2024
       0,     0,    52,     0,    53,    54,    55,   543,    57,    58,
2025
      59,    60,     0,     0,     0,    62,    63,     0,    64,    65,
2026
      66,    67,    68,    69,    70,    71,    72,    73,     0,     0,
2027
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2028
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2029
       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2030
      83,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2031
      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2032
       0,     0,     0,     0,     0,     0,     0,    85,    86,     0,
2033
      87,  1156,    88,    89,    90,    91,     4,     5,     0,     0,
2034
       0,     6,     7,     8,     0,     9,    10,    11,    12,    13,
2035
      14,    15,    16,     0,    17,     0,     0,    18,    19,    20,
2036
      21,    22,     0,     0,     0,    23,    24,    25,     0,    26,
2037
      27,    28,    29,     0,     0,     0,    30,    31,    32,     0,
2038
      33,     0,    34,     0,    35,     0,     0,    36,     0,     0,
2039
       0,    37,    38,    39,    40,    41,    42,     0,    44,    45,
2040
       0,     0,    46,     0,     0,    48,    49,    50,    51,     0,
2041
       0,     0,     0,     0,     0,    52,     0,    53,    54,    55,
2042
     543,    57,    58,    59,    60,     0,     0,     0,    62,    63,
2043
       0,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2044
      73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2045
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2046
       0,     0,     0,     0,    74,    75,    76,    77,    78,    79,
2047
      80,    81,    82,    83,     0,     0,     0,     0,     0,     0,
2048
       0,     0,     0,    84,     0,     0,     0,     0,     0,     0,
2049
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2050
      85,    86,     0,    87,  1157,    88,    89,    90,    91,     4,
2051
       5,     0,     0,     0,     6,     7,     8,     0,     9,    10,
2052
      11,    12,    13,    14,    15,    16,     0,    17,     0,     0,
2053
      18,    19,    20,    21,    22,     0,     0,     0,    23,    24,
2054
      25,     0,    26,    27,    28,    29,     0,     0,     0,    30,
2055
      31,    32,     0,    33,     0,    34,     0,    35,     0,     0,
2056
      36,     0,     0,     0,    37,    38,    39,    40,    41,    42,
2057
       0,    44,    45,     0,     0,    46,     0,     0,    48,    49,
2058
      50,    51,     0,     0,     0,     0,     0,     0,    52,     0,
2059
      53,    54,    55,   543,    57,    58,    59,    60,     0,     0,
2060
       0,    62,    63,     0,    64,    65,    66,    67,    68,    69,
2061
      70,    71,    72,    73,     0,     0,     0,     0,     0,     0,
2062
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063
       0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
2064
      77,    78,    79,    80,    81,    82,    83,     0,     0,     0,
2065
       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
2066
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067
       0,     0,     0,    85,    86,     0,    87,  1158,    88,    89,
2068
      90,    91,     4,     5,     0,     0,     0,     6,     7,     8,
2069
       0,     9,    10,    11,    12,    13,    14,    15,    16,     0,
2070
      17,     0,     0,    18,    19,    20,    21,    22,     0,     0,
2071
       0,    23,    24,    25,     0,    26,    27,    28,    29,     0,
2072
       0,     0,    30,    31,    32,     0,    33,     0,    34,     0,
2073
      35,     0,     0,    36,     0,     0,     0,    37,    38,    39,
2074
      40,    41,    42,     0,    44,    45,     0,     0,    46,     0,
2075
       0,    48,    49,    50,    51,     0,     0,     0,     0,     0,
2076
       0,    52,     0,    53,    54,    55,   543,    57,    58,    59,
2077
      60,     0,     0,     0,    62,    63,     0,    64,    65,    66,
2078
      67,    68,    69,    70,    71,    72,    73,     0,     0,     0,
2079
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2080
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2081
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2082
       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
2083
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2084
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
2085
    1192,    88,    89,    90,    91,     4,     5,     0,     0,     0,
2086
       6,     7,     8,     0,     9,    10,    11,    12,    13,    14,
2087
      15,    16,     0,    17,     0,     0,    18,    19,    20,    21,
2088
      22,     0,     0,     0,    23,    24,    25,     0,    26,    27,
2089
      28,    29,     0,     0,     0,    30,    31,    32,     0,    33,
2090
       0,    34,     0,    35,     0,     0,    36,     0,     0,     0,
2091
      37,    38,    39,    40,    41,    42,     0,    44,    45,     0,
2092
       0,    46,     0,     0,    48,    49,    50,    51,     0,     0,
2093
       0,     0,     0,     0,    52,     0,    53,    54,    55,   543,
2094
      57,    58,    59,    60,     0,     0,     0,    62,    63,     0,
2095
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2096
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2097
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2098
       0,     0,     0,    74,    75,    76,    77,    78,    79,    80,
2099
      81,    82,    83,     0,     0,     0,     0,     0,     0,     0,
2100
       0,     0,    84,     0,     0,     0,     0,     0,     0,     0,
2101
       0,     0,     0,     0,     0,     0,     0,     0,     0,    85,
2102
      86,     0,    87,  1202,    88,    89,    90,    91,     4,     5,
2103
       0,     0,     0,     6,     7,     8,     0,     9,    10,    11,
2104
      12,    13,    14,    15,    16,     0,    17,     0,     0,    18,
2105
      19,    20,    21,    22,     0,     0,     0,    23,    24,    25,
2106
       0,    26,    27,    28,    29,     0,     0,     0,    30,    31,
2107
      32,     0,    33,     0,    34,     0,    35,     0,     0,    36,
2108
       0,     0,     0,    37,    38,    39,    40,    41,    42,     0,
2109
      44,    45,     0,     0,    46,     0,     0,    48,    49,    50,
2110
      51,     0,     0,     0,     0,     0,     0,    52,     0,    53,
2111
      54,    55,   543,    57,    58,    59,    60,     0,     0,     0,
2112
      62,    63,     0,    64,    65,    66,    67,    68,    69,    70,
2113
      71,    72,    73,     0,     0,     0,     0,     0,     0,     0,
2114
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2115
       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
2116
      78,    79,    80,    81,    82,    83,     0,     0,     0,     0,
2117
       0,     0,     0,     0,     0,    84,     0,     0,     0,     0,
2118
       0,     0,     0,   782,     0,     0,     0,     0,     0,     0,
2119
       0,     0,    85,    86,     0,    87,     0,    88,    89,    90,
2120
      91,  1054,    12,    13,    14,     0,     0,     0,     0,     0,
2121
       0,   220,   221,   222,   223,   224,   225,   226,   227,   228,
2122
     229,     0,   230,   231,   232,   233,   234,   235,   236,   237,
2123
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
2124
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2125
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2126
    1055,   269,   270,   271,   272,   273,     0,     0,     0,   274,
2127
     275,   276,   277,   278,     0,   279,   280,   281,   282,   283,
2128
     284,   285,   286,  1056,  1057,   289,   290,   291,   292,   293,
2129
     294,   295,   296,   297,     4,     5,     0,     0,     0,     6,
2130
       7,     8,     0,     9,    10,    11,    12,    13,    14,    15,
2131
      16,     0,    17,     0,     0,    18,    19,    20,    21,    22,
2132
       0,     0,     0,    23,    24,    25,     0,    26,    27,    28,
2133
      29,     0,     0,     0,    30,    31,    32,     0,    33,     0,
2134
      34,     0,    35,     0,     0,    36,     0,     0,     0,    37,
2135
      38,    39,    40,    41,    42,   786,    44,    45,     0,     0,
2136
      46,     0,     0,    48,    49,     0,     0,     0,     0,     0,
2137
       0,     0,     0,   134,     0,    53,    54,    55,     0,     0,
2138
       0,     0,     0,     0,     0,     0,    62,    63,     0,    64,
2139
      65,    66,    67,    68,    69,    70,    71,    72,    73,     0,
2140
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2141
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2142
       0,     0,    74,    75,    76,    77,    78,    79,    80,    81,
2143
      82,    83,     0,     0,     0,     0,     0,     0,     0,     0,
2144
       0,    84,     0,     0,     0,     0,     0,     0,     0,     0,
2145
       0,     0,     0,     0,     0,     0,     0,     0,    85,    86,
2146
       0,    87,     0,    88,    89,    90,    91,     4,     5,     0,
2147
       0,     0,     6,     7,     8,     0,     9,    10,   132,    12,
2148
      13,    14,    15,     0,     0,    17,     0,     0,    18,    19,
2149
      20,    21,    22,     0,     0,     0,    23,    24,    25,     0,
2150
      26,    27,    28,     0,     0,     0,     0,     0,     0,     0,
2151
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2152
       0,     0,    37,     0,     0,     0,    41,    42,     0,     0,
2153
       0,     0,     0,    46,     0,     0,     0,   133,     0,     0,
2154
       0,     0,     0,     0,     0,     0,   134,     0,     0,    54,
2155
      55,     0,     0,     0,     0,     0,     0,     0,     0,   332,
2156
      63,     0,    64,    65,    66,    67,    68,    69,    70,    71,
2157
      72,    73,     0,     0,     0,     0,     0,     0,     0,     0,
2158
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2159
       0,     0,     0,     0,     0,    74,    75,    76,    77,    78,
2160
      79,    80,    81,    82,     0,     0,     0,     0,     0,     0,
2161
       0,     0,     0,     0,    84,     0,     0,     0,     0,     0,
2162
     333,     0,     0,     0,     0,   334,   335,     0,     0,     0,
2163
       0,     0,    86,     0,     0,     0,    88,    89,    90,    91,
2164
       4,     5,     0,     0,     0,     6,     7,     8,     0,     9,
2165
      10,   132,    12,    13,    14,    15,     0,     0,    17,     0,
2166
       0,    18,    19,    20,    21,    22,     0,     0,     0,    23,
2167
      24,    25,     0,    26,    27,    28,     0,     0,     0,     0,
2168
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2169
       0,     0,     0,     0,     0,    37,     0,     0,     0,    41,
2170
      42,     0,     0,     0,     0,     0,    46,     0,     0,     0,
2171
     133,     0,     0,     0,     0,     0,     0,     0,     0,   134,
2172
       0,     0,    54,    55,     0,     0,     0,     0,     0,     0,
2173
       0,     0,    62,    63,     0,    64,    65,    66,    67,    68,
2174
      69,    70,    71,    72,    73,     0,     0,     0,     0,     0,
2175
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2176
       0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
2177
      76,    77,    78,    79,    80,    81,    82,     0,     0,     0,
2178
       0,     0,     0,     0,     0,     0,     0,    84,     0,     0,
2179
       0,     0,     0,     0,     0,     0,     0,     0,   334,   335,
2180
       0,     0,     0,     0,     0,    86,     0,     0,     0,    88,
2181
      89,    90,    91,     4,     5,     0,     0,     0,     6,     7,
2182
       8,     0,     9,    10,   132,    12,    13,    14,    15,     0,
2183
       0,    17,     0,     0,    18,    19,    20,    21,    22,     0,
2184
       0,     0,    23,    24,    25,     0,    26,    27,    28,     0,
2185
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2186
       0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
2187
       0,     0,    41,    42,     0,     0,     0,     0,     0,    46,
2188
       0,     0,     0,   133,     0,     0,     0,     0,     0,     0,
2189
       0,     0,   134,     0,     0,    54,    55,     0,     0,     0,
2190
       0,     0,     0,     0,     0,   708,    63,     0,    64,    65,
2191
      66,    67,    68,    69,    70,    71,    72,    73,     0,     0,
2192
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2193
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2194
       0,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2195
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2196
      84,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2197
       0,   334,   335,     0,     0,     0,     0,     0,    86,     0,
2198
       0,     0,    88,    89,    90,    91,     4,     5,     0,     0,
2199
       0,     6,     7,     8,     0,     9,    10,   132,    12,    13,
2200
      14,    15,     0,     0,    17,     0,     0,    18,    19,    20,
2201
      21,    22,     0,     0,     0,    23,    24,    25,     0,    26,
2202
      27,    28,     0,     0,     0,     0,     0,     0,     0,     0,
2203
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2204
       0,    37,     0,     0,     0,    41,    42,     0,     0,     0,
2205
       0,     0,    46,     0,     0,     0,   133,     0,     0,     0,
2206
       0,     0,     0,     0,     0,   134,     0,     0,    54,    55,
2207
       0,     0,     0,     0,     0,     0,     0,     0,    62,    63,
2208
       0,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2209
      73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2210
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2211
       0,     0,     0,     0,    74,    75,    76,    77,    78,    79,
2212
      80,    81,    82,   478,     0,     0,     0,     0,     0,     0,
2213
       0,     0,     0,    84,     0,     0,     0,     0,     0,     0,
2214
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2215
       0,    86,     0,     0,     0,    88,    89,    90,    91,     4,
2216
       5,     0,     0,     0,     6,     7,     8,     0,     9,    10,
2217
     132,    12,    13,    14,    15,     0,     0,    17,   536,     0,
2218
      18,    19,    20,    21,    22,     0,     0,     0,    23,    24,
2219
      25,     0,    26,    27,    28,     0,     0,     0,     0,     0,
2220
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2221
       0,     0,     0,     0,    37,     0,     0,     0,    41,    42,
2222
       0,     0,     0,     0,     0,    46,     0,     0,     0,   133,
2223
       0,     0,     0,     0,     0,     0,     0,     0,   134,     0,
2224
       0,    54,    55,     0,     0,     0,     0,     0,     0,     0,
2225
       0,    62,    63,     0,    64,    65,    66,    67,    68,    69,
2226
      70,    71,    72,    73,     0,     0,     0,     0,     0,     0,
2227
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2228
       0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
2229
      77,    78,    79,    80,    81,    82,     0,     0,     0,     0,
2230
       0,     0,     0,     0,     0,     0,    84,     0,     0,     0,
2231
       0,     0,     0,     0,   362,   363,   364,   365,   366,   367,
2232
     368,   369,   370,   371,    86,     0,     0,     0,    88,    89,
2233
      90,    91,     4,     5,     0,     0,     0,     6,     7,     8,
2234
       0,     9,    10,   132,    12,    13,    14,    15,     0,     0,
2235
      17,   375,     0,    18,    19,    20,    21,    22,     0,     0,
2236
       0,    23,    24,    25,     0,    26,    27,    28,     0,     0,
2237
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2238
       0,     0,     0,     0,     0,     0,     0,    37,     0,     0,
2239
       0,    41,    42,     0,     0,     0,     0,     0,    46,     0,
2240
       0,     0,   133,     0,     0,     0,     0,     0,     0,     0,
2241
       0,   134,     0,     0,    54,    55,     0,     0,     0,     0,
2242
       0,     0,     0,     0,    62,    63,     0,    64,    65,    66,
2243
      67,    68,    69,    70,    71,    72,    73,     0,   378,   379,
2244
     380,   381,   382,   383,   384,   385,   386,     0,     0,     0,
2245
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2246
      74,    75,    76,    77,    78,    79,    80,    81,    82,   751,
2247
       0,     0,     0,     0,   388,     0,   389,   390,   391,    84,
2248
       0,     0,     0,     0,     0,     0,     0,     0,   363,   364,
2249
     365,   366,   367,   368,   369,   370,   371,    86,     0,     0,
2250
       0,    88,    89,    90,    91,     4,     5,     0,     0,     0,
2251
       6,     7,     8,     0,     9,    10,   132,    12,    13,    14,
2252
      15,     0,     0,    17,   375,     0,    18,    19,    20,    21,
2253
      22,     0,     0,     0,    23,    24,    25,     0,    26,    27,
2254
      28,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2255
       0,     0,     0,     0,     0,     0,     0,     0,     0,   855,
2256
      37,     0,     0,     0,    41,    42,     0,     0,     0,     0,
2257
       0,    46,     0,     0,     0,   133,     0,     0,     0,     0,
2258
       0,     0,     0,     0,   134,     0,     0,    54,    55,     0,
2259
       0,     0,     0,     0,     0,     0,     0,    62,    63,     0,
2260
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2261
       0,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2262
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2263
       0,     0,     0,    74,    75,    76,    77,    78,    79,    80,
2264
      81,    82,     0,     0,     0,     0,     0,   388,     0,   389,
2265
     390,   391,    84,     0,     0,     0,     0,     0,     0,     0,
2266
       0,     0,   364,   365,   366,   367,   368,   369,   370,   371,
2267
      86,     0,     0,     0,    88,    89,    90,    91,     4,     5,
2268
       0,     0,     0,     6,     7,     8,     0,     9,    10,   132,
2269
      12,    13,    14,    15,     0,     0,    17,   375,     0,    18,
2270
      19,    20,    21,    22,     0,     0,     0,    23,    24,    25,
2271
       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
2272
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2273
       0,     0,     0,    37,     0,     0,     0,    41,    42,     0,
2274
       0,     0,     0,     0,    46,     0,     0,     0,   133,     0,
2275
       0,     0,     0,     0,     0,     0,     0,   134,     0,     0,
2276
      54,    55,     0,     0,     0,     0,     0,     0,     0,     0,
2277
      62,    63,     0,    64,    65,    66,    67,    68,    69,    70,
2278
      71,    72,    73,     0,   378,   379,   380,   381,   382,   383,
2279
     384,   385,   386,     0,     0,     0,     0,     0,     0,     0,
2280
       0,     0,     0,     0,     0,     0,    74,    75,    76,    77,
2281
      78,    79,    80,    81,    82,     0,     0,     0,     0,     0,
2282
     388,     0,   389,   390,   391,    84,     0,     0,     0,     0,
2283
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2284
       0,     0,     0,    86,     0,     0,     0,    88,    89,    90,
2285
      91,     4,     5,     0,     0,     0,     6,     7,     8,     0,
2286
       9,    10,   132,    12,    13,    14,    15,     0,     0,    17,
2287
       0,     0,    18,    19,    20,    21,    22,     0,     0,     0,
2288
      23,    24,    25,     0,    26,    27,    28,     0,     0,     0,
2289
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2290
       0,     0,     0,     0,     0,     0,    37,     0,     0,     0,
2291
      41,    42,     0,     0,     0,     0,     0,    46,     0,     0,
2292
       0,   133,     0,     0,     0,     0,     0,     0,     0,     0,
2293
     134,     0,     0,    54,    55,     0,     0,     0,     0,     0,
2294
       0,     0,     0,    62,    63,     0,    64,    65,    66,    67,
2295
      68,    69,    70,    71,    72,    73,   361,  1034,   362,   363,
2296
     364,   365,   366,   367,   368,   369,   370,   371,     0,     0,
2297
       0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
2298
      75,    76,    77,    78,    79,    80,    81,    82,     0,   372,
2299
     373,   374,     0,     0,     0,   375,     0,     0,    84,     0,
2300
       0,     0,     0,     0,   361,     0,   362,   363,   364,   365,
2301
     366,   367,   368,   369,   370,   371,   164,     0,     0,     0,
2302
      88,    89,    90,    91,   361,     0,   362,   363,   364,   365,
2303
     366,   367,   368,   369,   370,   371,     0,   372,   373,   374,
2304
       0,     0,     0,   375,     0,     0,     0,   941,     0,     0,
2305
       0,     0,     0,     0,     0,  -359,     0,   372,   373,   374,
2306
       0,   942,     0,   375,   813,   814,   815,   816,   817,   818,
2307
     819,   820,   821,   822,   943,     0,     0,     0,     0,     0,
2308
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2309
     386,     0,     0,     0,     0,     0,     0,     0,    73,     0,
2310
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2311
       0,     0,     0,     0,     0,     0,     0,   387,   388,     0,
2312
     389,   390,   391,     0,     0,     0,     0,  1035,   376,   377,
2313
     378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
2314
       0,     0,     0,     0,     0,     0,     0,     0,   376,   377,
2315
     378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
2316
       0,     0,   944,     0,     0,   387,   388,     0,   389,   390,
2317
     391,     0,     0,     0,     0,   392,     0,     0,     0,     0,
2318
       0,     0,     0,     0,     0,   387,   388,     0,   389,   390,
2319
     391,     0,     0,     0,   361,   530,   362,   363,   364,   365,
2320
     366,   367,   368,   369,   370,   371,   361,     0,   362,   363,
2321
     364,   365,   366,   367,   368,   369,   370,   371,     0,     0,
2322
       0,     0,     0,     0,     0,     0,     0,   372,   373,   374,
2323
       0,     0,     0,   375,     0,     0,     0,     0,     0,   372,
2324
     373,   374,     0,     0,     0,   375,     0,     0,     0,     0,
2325
       0,     0,     0,   361,     0,   362,   363,   364,   365,   366,
2326
     367,   368,   369,   370,   371,   361,     0,   362,   363,   364,
2327
     365,   366,   367,   368,   369,   370,   371,     0,     0,     0,
2328
       0,     0,     0,     0,     0,     0,   372,   373,   374,     0,
2329
       0,     0,   375,     0,     0,     0,     0,     0,   372,   373,
2330
     374,     0,     0,     0,   375,     0,     0,     0,     0,     0,
2331
       0,     0,     0,     0,     0,     0,     0,     0,   376,   377,
2332
     378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
2333
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2334
     386,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2335
       0,     0,     0,     0,     0,   387,   388,     0,   389,   390,
2336
     391,     0,     0,     0,     0,  1201,     0,   387,   388,     0,
2337
     389,   390,   391,     0,     0,     0,   886,   376,   377,   378,
2338
     379,   380,   381,   382,   383,   384,   385,   386,     0,   376,
2339
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2340
       0,     0,   361,     0,   362,   363,   364,   365,   366,   367,
2341
     368,   369,   370,   371,   387,   388,     0,   389,   390,   391,
2342
       0,     0,  -409,     0,     0,     0,   387,   388,     0,   389,
2343
     390,   391,     0,     0,  -406,   372,   373,   374,     0,     0,
2344
       0,   375,     0,     0,     0,   361,     0,   362,   363,   364,
2345
     365,   366,   367,   368,   369,   370,   371,   361,   719,   362,
2346
     363,   364,   365,   366,   367,   368,   369,   370,   371,     0,
2347
       0,     0,     0,     0,     0,     0,     0,     0,   372,   373,
2348
     374,     0,     0,     0,   375,     0,     0,     0,     0,     0,
2349
     372,   373,   374,     0,     0,     0,   375,     0,     0,     0,
2350
       0,     0,   655,     0,   361,     0,   362,   363,   364,   365,
2351
     366,   367,   368,   369,   370,   371,     0,     0,     0,     0,
2352
       0,     0,     0,     0,     0,     0,   376,   377,   378,   379,
2353
     380,   381,   382,   383,   384,   385,   386,   372,   373,   374,
2354
       0,     0,     0,   375,     0,     0,     0,     0,     0,   552,
2355
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2356
       0,     0,     0,   387,   388,     0,   389,   390,   391,   376,
2357
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2358
       0,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2359
     385,   386,     0,     0,     0,     0,     0,     0,     0,     0,
2360
       0,     0,     0,     0,     0,     0,   387,   388,     0,   389,
2361
     390,   391,     0,     0,     0,     0,     0,     0,   387,   388,
2362
       0,   389,   390,   391,     0,     0,     0,     0,   376,   377,
2363
     378,   379,   380,   381,   382,   383,   384,   385,   386,   361,
2364
       0,   362,   363,   364,   365,   366,   367,   368,   369,   370,
2365
     371,   361,     0,   362,   363,   364,   365,   366,   367,   368,
2366
     369,   370,   371,     0,     0,   387,   388,     0,   389,   390,
2367
     391,     0,     0,   373,   374,     0,     0,     0,   375,     0,
2368
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2369
     375,     0,     0,     0,   361,     0,   362,   363,   364,   365,
2370
     366,   367,   368,   369,   370,   371,   361,     0,   362,   363,
2371
     364,   365,   366,   367,   368,   369,   370,   371,     0,   362,
2372
     363,   364,   365,   366,   367,   368,   369,   370,   371,   374,
2373
       0,     0,     0,   375,     0,     0,     0,     0,     0,     0,
2374
       0,     0,     0,     0,     0,   375,     0,     0,     0,     0,
2375
       0,     0,     0,     0,     0,     0,   375,     0,     0,     0,
2376
       0,     0,     0,   376,   377,   378,   379,   380,   381,   382,
2377
     383,   384,   385,   386,     0,   376,   377,   378,   379,   380,
2378
     381,   382,   383,   384,   385,   386,     0,     0,     0,     0,
2379
       0,     0,     0,     0,     0,     0,     0,     0,   420,     0,
2380
     387,   388,     0,   389,   390,   391,     0,     0,     0,     0,
2381
       0,     0,   387,   388,     0,   389,   390,   391,   376,   377,
2382
     378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
2383
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2384
     386,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2385
     385,   386,     0,     0,     0,   387,   388,     0,   389,   390,
2386
     391,     0,     0,     0,     0,     0,     0,   387,   388,     0,
2387
     389,   390,   391,     0,     0,     0,   218,     0,   387,   388,
2388
      15,   389,   390,   391,     0,     0,   220,   221,   222,   223,
2389
     224,   225,   226,   227,   228,   229,     0,   230,   231,   232,
2390
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
2391
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
2392
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
2393
     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
2394
     273,     0,     0,     0,   274,   275,   276,   277,   278,     0,
2395
     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
2396
     289,   290,   291,   292,   293,   294,   295,   296,   297,     0,
2397
       0,     0,     0,     0,     0,     0,     0,     0,     0,   941,
2398
       0,     0,     0,     0,     0,     0,     0,  -359,     0,     0,
2399
       0,     0,     0,   942,     0,     0,   813,   814,   815,   816,
2400
     817,   818,   819,   820,   821,   822,   943,     0,     0,     0,
2401
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2402
       0,     0,     0,     0,     0,     0,     0,     0,     0,   218,
2403
      73,     0,   602,    15,     0,     0,     0,    91,     0,   220,
2404
     221,   222,   223,   224,   225,   226,   227,   228,   229,     0,
2405
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
2406
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2407
     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
2408
     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
2409
     270,   271,   272,   273,  1010,     0,     0,   274,   275,   276,
2410
     277,   278,     0,   279,   280,   281,   282,   283,   284,   285,
2411
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
2412
     296,   297,     0,   132,    12,    13,    14,    15,     0,     0,
2413
      17,     0,     0,     0,   132,    12,    13,    14,    15,     0,
2414
       0,    17,     0,     0,     0,   306,     0,     0,     0,     0,
2415
       0,     0,   941,     0,     0,     0,   306,     0,     0,     0,
2416
    -359,     0,     0,     0,     0,     0,   942,     0,     0,   813,
2417
     814,   815,   816,   817,   818,   819,   820,   821,   822,   943,
2418
       0,     0,   151,     0,     0,   606,     0,     0,     0,     0,
2419
      91,   134,     0,   151,   364,   365,   366,   367,   368,   369,
2420
     370,   371,   134,    73,   753,    63,     0,    64,    65,    66,
2421
      67,    68,    69,    70,    71,    72,    63,     0,    64,    65,
2422
      66,    67,    68,    69,    70,    71,    72,     0,     0,   375,
2423
       0,     0,     0,   364,   365,   366,   367,   368,   369,   370,
2424
     371,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2425
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2426
       0,     0,     0,     0,     0,     0,     0,  1044,   375,     0,
2427
     334,   335,     0,     0,     0,     0,     0,   307,     0,     0,
2428
       0,   754,     0,    90,    91,     0,     0,     0,   307,     0,
2429
       0,     0,   308,     0,    90,    91,     0,     0,     0,     0,
2430
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2431
       0,     0,     0,     0,     0,     0,  -607,  -607,  -607,  -607,
2432
     382,   383,  -607,   385,   386,     0,     0,     0,     0,     0,
2433
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2434
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2435
       0,     0,   388,     0,   389,   378,   379,   380,   381,   382,
2436
     383,   384,   385,   386,     0,     0,     0,     0,     0,     0,
2437
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2438
       0,     0,     0,     0,   432,    12,    13,    14,     0,     0,
2439
       0,   388,     0,   389,   220,   221,   222,   223,   224,   225,
2440
     226,   227,   228,   229,     0,   230,   231,   232,   233,   234,
2441
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
2442
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
2443
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2444
     265,   266,   267,  1081,   269,   270,   271,   272,   273,     0,
2445
       0,     0,   274,   275,   276,   277,   278,     0,   279,   280,
2446
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
2447
     291,   292,   293,   294,   295,   296,   297,     0,     0,   941,
2448
       0,     0,     0,     0,     0,     0,     0,  -359,     0,     0,
2449
       0,     0,     0,   942,     0,     0,   813,   814,   815,   816,
2450
     817,   818,   819,   820,   821,   822,   943,     0,     0,     0,
2451
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2452
       0,   432,    12,    13,    14,     0,     0,     0,     0,     0,
2453
      73,   220,   221,   222,   223,   224,   225,   226,   227,   228,
2454
     229,  1082,   230,   231,   232,   233,   234,   235,   236,   237,
2455
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
2456
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2457
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2458
    1081,   269,   270,   271,   272,   273,     0,     0,     0,   274,
2459
     275,   276,   277,   278,  1062,   279,   280,   281,   282,   283,
2460
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
2461
     294,   295,   296,   297,   941,     0,     0,     0,     0,     0,
2462
       0,     0,  -359,     0,     0,     0,     0,     0,   942,     0,
2463
       0,   813,   814,   815,   816,   817,   818,   819,   820,   821,
2464
     822,   943,     0,     0,     0,     0,     0,     0,     0,   941,
2465
       0,     0,     0,     0,     0,     0,     0,  -359,     0,     0,
2466
       0,     0,     0,   942,     0,    73,   813,   814,   815,   816,
2467
     817,   818,   819,   820,   821,   822,   943,     0,  1116,     0,
2468
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2469
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2470
      73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2471
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2472
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1102,
2473
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2474
       0,     0,     0,     0,  1142,     0,     0,     0,     0,     0,
2475
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
2476
     226,   227,   228,   229,  1111,   230,   231,   232,   233,   234,
2477
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
2478
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
2479
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
2480
     265,   266,   267,   813,   814,   815,   816,   817,   818,   819,
2481
     820,   821,   822,   275,   276,   277,   278,     0,   279,   280,
2482
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
2483
     291,   292,   293,   294,   295,   296,   297,   218,     0,     0,
2484
     219,     0,     0,     0,     0,     0,     0,   220,   221,   222,
2485
     223,   224,   225,   226,   227,   228,   229,     0,   230,   231,
2486
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2487
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2488
     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2489
     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2490
     272,   273,     0,     0,     0,   274,   275,   276,   277,   278,
2491
       0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
2492
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
2493
     218,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2494
     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
2495
       0,   230,   231,   232,   233,   234,   235,   236,   237,   238,
2496
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2497
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
2498
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
2499
     269,   270,   271,   272,   273,     0,     0,     0,   274,   275,
2500
     276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
2501
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
2502
     295,   296,   297,  1098,     0,     0,     0,     0,     0,     0,
2503
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
2504
     227,   228,   229,     0,   230,   231,   232,   233,   234,   235,
2505
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
2506
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2507
     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2508
     266,   267,   268,   269,   270,   271,   272,   273,     0,     0,
2509
       0,   274,   275,   276,   277,   278,     0,   279,   280,   281,
2510
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
2511
     292,   293,   294,   295,   296,   297
2512
};
2513
2514
static const yytype_int16 yycheck[] =
2515
{
2516
       2,   722,   116,    61,    94,   776,     2,    47,     2,   198,
2517
     766,   829,    74,    75,   770,     4,     5,     6,     7,     8,
2518
      26,     6,     6,   137,    26,    74,    75,     6,   521,    18,
2519
      19,     7,    21,    22,    23,    24,    25,     7,    27,   303,
2520
     304,    30,   873,    23,   308,   135,   115,   116,    39,    38,
2521
      39,   714,   978,    44,   980,    44,    49,    46,   189,     5,
2522
      74,    75,    44,    23,    27,   155,     0,    27,   137,   732,
2523
       6,  1023,    27,  1025,    29,    62,   966,    23,    24,    25,
2524
      26,    62,    27,    27,    26,   684,   306,    76,    77,    78,
2525
      79,    80,    81,    82,    83,   101,     7,    86,    94,    88,
2526
      94,    94,     6,    23,    24,    25,    26,    27,     2,    27,
2527
     831,    91,     5,    27,   945,    29,    27,    52,    23,  1009,
2528
      27,    26,    29,   954,   875,    27,    62,    29,   469,  1009,
2529
      23,    24,    25,    26,   952,    27,    82,    31,    71,    72,
2530
     133,   177,   135,    14,    15,    16,    73,   760,   210,   155,
2531
     156,  1103,    65,    66,   177,   375,   145,    92,   198,   105,
2532
     106,   210,    82,    27,   153,    29,   507,    65,    66,   177,
2533
     511,   942,  1003,    44,    27,   164,    29,   164,   167,  1059,
2534
    1011,   170,   938,   164,   525,   167,   175,   176,   177,   940,
2535
     179,   180,   685,   177,   179,   171,   210,   176,    27,   134,
2536
     643,   171,   645,   646,  1156,  1157,   161,   162,   177,   808,
2537
     961,   163,   105,   106,    49,    50,   179,   161,   162,   179,
2538
    1100,   184,   211,   212,   184,   177,   161,  1179,   183,    26,
2539
     163,   177,  1063,  1185,   174,  1187,   176,   836,   851,   184,
2540
     853,  1072,    71,    72,    23,  1197,   160,   161,   162,   171,
2541
    1176,    48,   170,   171,   161,   162,   178,   177,   160,   161,
2542
     162,  1012,    71,    72,   184,   327,   163,   180,   160,   161,
2543
     162,    83,    84,    82,   336,  1026,    74,    75,   327,    91,
2544
      23,    24,   180,    26,   177,   549,   152,   336,    12,    13,
2545
      14,    15,    16,   177,    91,   152,   167,   161,   162,  1134,
2546
     306,   177,  1120,   171,   306,   150,   151,   116,   161,   162,
2547
     178,   500,   178,   327,   303,   304,   152,  1148,   307,   308,
2548
      44,   178,   336,   177,  1155,  1160,    83,    84,    71,   331,
2549
      73,  1162,    23,   402,    91,   331,   181,   326,   396,   397,
2550
     176,  1172,   399,   179,   333,  1163,    23,    24,   179,    26,
2551
    1121,    23,    24,    25,    26,   150,   151,   350,   347,   116,
2552
      26,   174,   175,   305,   306,   178,   176,   163,   163,   179,
2553
     427,   428,   361,   362,   363,   364,   365,   366,   367,   368,
2554
     369,   370,   371,   372,   373,   374,   181,   376,   377,   378,
2555
     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
2556
     389,   390,   391,    11,    12,    13,    14,    15,    16,   400,
2557
      82,   400,   210,   402,   403,   404,   405,   406,   407,   408,
2558
     409,   410,   411,   412,   413,   414,   767,   152,   417,   177,
2559
    1151,   420,   563,   375,   440,   152,    44,   177,   440,   430,
2560
     177,   430,   174,   167,   433,   434,   178,   436,   437,   438,
2561
     439,   177,   441,   178,   447,   545,   177,   446,   174,   175,
2562
     500,   178,   178,   357,   174,  1186,   401,   394,   178,    23,
2563
     150,   151,    26,   462,   177,    49,    50,    51,    12,    13,
2564
      14,    15,    16,   552,   825,   474,   174,   827,   176,   478,
2565
     754,   493,    23,    24,    25,    26,   177,   493,   440,   177,
2566
     489,   181,    23,    24,    25,    26,    74,    75,   163,   306,
2567
      44,   170,   171,   448,   855,   504,   857,    71,   859,    73,
2568
      71,    72,    23,    24,    25,    26,    27,   868,   177,   327,
2569
     138,   139,   167,   150,   151,   150,   151,    97,   336,   150,
2570
     151,   805,    23,    24,    25,    26,   163,   163,   163,   545,
2571
      54,   545,   545,   176,   174,   617,   176,   897,   898,   167,
2572
     549,    82,   177,   552,   181,   554,   181,   174,   617,   176,
2573
     181,   560,   179,   562,   105,   106,   565,   176,   375,   843,
2574
     176,    82,    83,    84,   105,   106,   655,   180,   181,   516,
2575
      91,   526,   527,   655,     4,   174,    97,   176,   176,   396,
2576
     397,   398,   399,   617,   138,   139,   655,    76,    77,   949,
2577
     672,   742,   176,   602,   745,   116,     4,   606,    23,    24,
2578
      25,    26,   611,   672,   105,   106,   178,   174,   425,   176,
2579
     427,   428,   429,   167,   974,   975,   976,   977,    23,   305,
2580
     306,   655,   210,   440,    23,   782,   177,   709,    23,   786,
2581
     150,   151,    13,   642,   643,    23,   645,   646,   672,   176,
2582
     709,   650,    23,   163,   653,   654,    27,   150,   151,   179,
2583
     605,    32,   177,   600,   609,   177,   177,    82,   613,   614,
2584
     163,   181,   177,   184,   686,   674,   880,   881,    83,    84,
2585
     686,   175,   686,   755,   177,   709,    91,   174,   181,   176,
2586
     105,   106,    97,   975,   976,   502,   755,    89,    90,   375,
2587
      64,    65,    66,   702,   174,   717,   176,   848,   720,   174,
2588
     722,   717,   711,   182,   177,   150,   151,   174,  1069,   176,
2589
     719,   177,   659,   823,     6,   174,   678,   176,   163,   681,
2590
     176,   755,   879,   880,   881,   882,     6,   689,     6,   324,
2591
       6,     6,   177,   328,   648,   682,   181,   651,     6,   327,
2592
     891,     6,   751,     6,     6,   754,     6,   342,   336,   344,
2593
     345,   346,   177,   762,   440,     6,     6,   846,    71,    72,
2594
      73,    64,    65,    66,   846,   916,     6,   174,   174,    82,
2595
      83,    84,   686,   795,   177,   176,   174,   846,    91,   795,
2596
      23,   795,   179,   934,    97,    98,    99,   100,   797,   176,
2597
      27,   174,   174,   101,   101,     6,   805,   176,   178,   617,
2598
     175,   179,   178,   116,   174,    23,    23,   180,   177,   831,
2599
       4,    23,   846,   177,   776,   837,   177,   839,   177,   177,
2600
     175,   837,   175,   839,   178,   102,   178,    62,   179,   179,
2601
     777,   840,   841,   178,   843,   945,   178,   655,   179,     4,
2602
     991,   992,   175,   177,   758,    32,   175,   794,   178,   176,
2603
     178,   873,   177,   177,   672,    23,    24,    25,    26,    27,
2604
      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2605
     174,   177,    62,   895,  1008,   176,  1027,   176,   174,   176,
2606
     174,   795,     7,  1034,  1035,     7,   179,   171,   176,     6,
2607
     176,   709,   174,   178,   116,   809,   177,   919,     6,   178,
2608
      23,   174,   176,   919,   175,   174,     7,   174,   180,   179,
2609
     174,   177,   874,   922,    82,    83,    84,   171,   179,  1008,
2610
     929,   180,   931,    91,   179,   170,  1004,   180,     7,   178,
2611
     171,   178,   954,   847,   950,  1024,    79,   755,   176,   178,
2612
     176,    71,   889,   965,   178,   178,   152,   152,   116,   965,
2613
     180,   179,    73,   152,   177,  1106,   171,   165,   180,  1110,
2614
     179,   908,  1113,   176,   986,    27,   176,   176,    27,  1047,
2615
     986,   933,     4,     4,   178,  1053,     4,     4,  1000,     4,
2616
     942,  1003,     4,     4,  1000,   994,     4,   179,   997,  1011,
2617
      27,   174,   678,   179,   941,   681,   176,   683,   179,   163,
2618
     176,   176,    80,   689,    62,   163,  1084,   179,    27,   177,
2619
     179,    71,    72,   176,  1036,  1037,   184,   178,     4,  1108,
2620
    1036,  1037,    82,    83,    84,   177,   179,   178,   846,   617,
2621
    1164,    91,    23,  1184,   178,   177,  1120,    97,    98,    99,
2622
     100,  1063,   689,    94,  1122,  1196,    47,   866,   198,   500,
2623
    1072,  1073,  1162,  1075,  1076,  1064,   116,  1073,   178,  1075,
2624
    1076,   672,   846,   929,   985,   823,  1144,   655,   895,   983,
2625
    1079,   985,   786,   949,   898,  1164,   164,   505,  1040,   502,
2626
    1154,   945,  1091,  1093,   672,  1047,    65,  1096,  1097,  1084,
2627
     776,  1162,  1059,   840,    73,  1104,   782,  1100,   490,   155,
2628
     786,   653,  1049,    82,    83,    84,    85,    86,    87,    88,
2629
      89,    90,    91,    92,  1136,  1108,   635,  1139,  1065,  1141,
2630
    1136,   709,  1084,  1139,   674,  1141,  1148,   474,   554,  1151,
2631
      -1,    -1,    -1,  1155,    -1,    -1,    -1,   116,    -1,   397,
2632
    1149,   827,    -1,    -1,    -1,    -1,    -1,    -1,  1095,    -1,
2633
    1172,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1121,
2634
      -1,    -1,    -1,    -1,  1186,    -1,  1188,   755,    -1,    -1,
2635
      -1,    -1,  1188,    -1,    -1,    -1,  1123,  1199,  1125,    -1,
2636
      -1,  1128,  1129,  1199,    -1,  1194,  1133,    -1,   874,    -1,
2637
      -1,    -1,    -1,   879,   880,   881,   882,    -1,    -1,     9,
2638
      10,    11,    12,    13,    14,    15,    16,    -1,     5,    -1,
2639
      -1,   897,   898,    -1,    -1,    12,    13,    -1,    -1,  1166,
2640
      17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
2641
      27,  1178,    -1,    30,    44,    -1,    33,    34,    35,    36,
2642
      37,    -1,    -1,    -1,    41,    42,    43,   933,    45,    46,
2643
      47,    -1,    -1,    -1,     4,    -1,   942,    -1,   846,    -1,
2644
      -1,    -1,    -1,   949,    -1,    -1,    -1,    -1,    -1,    -1,
2645
      67,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,    -1,
2646
     966,    78,    -1,    -1,    -1,    82,    -1,    -1,   974,   975,
2647
     976,   977,    -1,    -1,    91,    -1,    -1,    94,    95,    -1,
2648
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,
2649
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2650
      -1,    -1,    -1,  1009,    -1,   135,   136,    -1,   138,   139,
2651
      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2652
      -1,    -1,    -1,   140,   141,   142,   143,   144,   145,   146,
2653
     147,   148,    -1,    -1,  1040,    -1,    -1,   167,    -1,   169,
2654
      -1,  1047,   159,    -1,   116,    -1,    -1,   117,   118,   119,
2655
     120,   121,   122,   123,   124,   125,   126,   127,   128,    -1,
2656
     177,    -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
2657
     140,   141,    -1,    -1,    -1,    -1,    -1,    -1,  1084,    -1,
2658
     150,   151,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,
2659
      -1,    -1,    -1,   163,    -1,    12,    13,    -1,   168,    -1,
2660
      17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
2661
      27,   181,    -1,    30,    -1,  1121,    33,    34,    35,    36,
2662
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2663
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2664
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2665
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2666
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2667
      87,    -1,    -1,    -1,    91,    92,    93,    94,    95,    -1,
2668
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2669
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2670
      71,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2671
      -1,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2672
      91,    -1,    -1,   140,   141,   142,   143,   144,   145,   146,
2673
     147,   148,    82,    83,    84,    85,    86,    87,    88,    89,
2674
      90,    91,   159,    -1,    -1,    -1,    -1,    -1,   165,    -1,
2675
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2676
     177,   178,     5,    -1,   181,   182,   183,   184,    -1,    12,
2677
      13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,
2678
      23,    24,    25,    26,    27,    -1,    -1,    30,    -1,    -1,
2679
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2680
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2681
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2682
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2683
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2684
      83,    84,    85,    86,    87,    -1,    -1,    -1,    91,    92,
2685
      93,    94,    95,    -1,    97,    98,    99,   100,   101,   102,
2686
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2687
     113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,
2688
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2689
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,
2690
     143,   144,   145,   146,   147,   148,    -1,    -1,    -1,    -1,
2691
      -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
2692
      -1,    -1,   165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2693
      -1,    -1,    -1,    -1,   177,   178,     5,    -1,   181,   182,
2694
     183,   184,    -1,    12,    13,    -1,    -1,    -1,    17,    18,
2695
      19,    -1,    21,    22,    23,    24,    25,    26,    27,    -1,
2696
      -1,    30,    -1,    -1,    33,    34,    35,    36,    37,    38,
2697
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2698
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2699
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2700
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2701
      79,    80,    81,    82,    83,    84,    85,    86,    87,    -1,
2702
      -1,    -1,    91,    92,    93,    94,    95,    -1,    97,    98,
2703
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2704
     109,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
2705
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2706
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2707
      -1,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2708
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2709
     159,    -1,    -1,    -1,    -1,    -1,   165,    -1,    -1,    -1,
2710
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,   178,
2711
       5,    -1,   181,   182,   183,   184,    -1,    12,    13,    -1,
2712
      -1,    -1,    17,    18,    19,    -1,    21,    22,    23,    24,
2713
      25,    26,    27,    -1,    -1,    30,    -1,    -1,    33,    34,
2714
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2715
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2716
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2717
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2718
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2719
      85,    86,    87,    -1,    -1,    -1,    91,    92,    93,    94,
2720
      95,    -1,    97,    98,    99,   100,   101,   102,   103,   104,
2721
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2722
     115,   116,    -1,    -1,    82,    83,    84,    85,    86,    87,
2723
      88,    89,    90,    91,    -1,    82,    83,    84,    85,    86,
2724
      87,    88,    89,    90,    91,   140,   141,   142,   143,   144,
2725
     145,   146,   147,   148,    -1,    -1,    -1,    -1,   116,    -1,
2726
      -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,   116,
2727
     165,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
2728
      15,    16,   177,    -1,     6,    -1,   181,   182,   183,   184,
2729
      12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,
2730
      22,    23,    24,    25,    26,    27,    28,    -1,    30,    44,
2731
      -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,    41,
2732
      42,    43,   180,    45,    46,    47,    48,    -1,    -1,    -1,
2733
      52,    53,    54,   180,    56,    -1,    58,    -1,    60,    -1,
2734
      -1,    63,    -1,    -1,    -1,    67,    68,    69,    70,    71,
2735
      72,    -1,    74,    75,    -1,    -1,    78,    -1,    -1,    81,
2736
      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
2737
      -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
2738
      -1,    -1,   104,   105,    -1,   107,   108,   109,   110,   111,
2739
     112,   113,   114,   115,   116,   130,   131,   132,   133,   134,
2740
     135,   136,   137,   138,   139,    82,    83,    84,    85,    86,
2741
      87,    88,    89,    90,    91,    -1,    -1,    -1,   140,   141,
2742
     142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
2743
      -1,    -1,   167,    -1,   169,   170,   171,   159,    -1,   116,
2744
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2745
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,     6,   181,
2746
     182,   183,   184,    -1,    12,    13,    -1,    -1,    -1,    17,
2747
      18,    19,    -1,    21,    22,    23,    24,    25,    26,    27,
2748
      28,    -1,    30,    -1,    -1,    33,    34,    35,    36,    37,
2749
      -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,    47,
2750
      48,   178,    -1,    -1,    52,    53,    54,    -1,    56,    -1,
2751
      58,    -1,    60,    -1,    -1,    63,    -1,    -1,    -1,    67,
2752
      68,    69,    70,    71,    72,    -1,    74,    75,    -1,    -1,
2753
      78,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,
2754
      -1,    -1,    -1,    91,    -1,    93,    94,    95,    -1,    -1,
2755
      -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,   107,
2756
     108,   109,   110,   111,   112,   113,   114,   115,   116,    82,
2757
      83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
2758
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2759
      -1,    -1,   140,   141,   142,   143,   144,   145,   146,   147,
2760
     148,   149,    -1,   116,    -1,    -1,    -1,    -1,    -1,    -1,
2761
      -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2762
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,
2763
      -1,   179,     6,   181,   182,   183,   184,    -1,    12,    13,
2764
      -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,    23,
2765
      24,    25,    26,    27,    28,    -1,    30,    -1,    -1,    33,
2766
      34,    35,    36,    37,    -1,   178,    -1,    41,    42,    43,
2767
      -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
2768
      54,    -1,    56,    -1,    58,    -1,    60,    -1,    -1,    63,
2769
      -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    -1,
2770
      74,    75,    -1,    -1,    78,    -1,    -1,    81,    82,    -1,
2771
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    93,
2772
      94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2773
     104,   105,    -1,   107,   108,   109,   110,   111,   112,   113,
2774
     114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2775
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2776
      -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,
2777
     144,   145,   146,   147,   148,   149,    -1,    -1,    -1,    -1,
2778
      -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,
2779
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2780
      -1,    -1,   176,   177,    -1,   179,     6,   181,   182,   183,
2781
     184,    -1,    12,    13,    -1,    -1,    -1,    17,    18,    19,
2782
      -1,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
2783
      30,    -1,    -1,    33,    34,    35,    36,    37,    -1,    -1,
2784
      -1,    41,    42,    43,    -1,    45,    46,    47,    48,    -1,
2785
      -1,    -1,    52,    53,    54,    -1,    56,    -1,    58,    -1,
2786
      60,    -1,    -1,    63,    -1,    -1,    -1,    67,    68,    69,
2787
      70,    71,    72,    -1,    74,    75,    -1,    -1,    78,    -1,
2788
      -1,    81,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2789
      -1,    91,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,
2790
      -1,    -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,
2791
     110,   111,   112,   113,   114,   115,   116,    -1,    -1,    -1,
2792
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2793
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2794
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2795
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,
2796
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2797
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2798
       6,   181,   182,   183,   184,    -1,    12,    13,    -1,    -1,
2799
      -1,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
2800
      26,    27,    28,    -1,    30,    -1,    -1,    33,    34,    35,
2801
      36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,
2802
      46,    47,    48,    -1,    -1,    -1,    52,    53,    54,    -1,
2803
      56,    -1,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,
2804
      -1,    67,    68,    69,    70,    71,    72,    -1,    74,    75,
2805
      -1,    -1,    78,    -1,    -1,    81,    82,    -1,    -1,    -1,
2806
      -1,    -1,    -1,    -1,    -1,    91,    -1,    93,    94,    95,
2807
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
2808
      -1,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2809
     116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2810
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2811
      -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,   145,
2812
     146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,
2813
      -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,
2814
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2815
     176,   177,    -1,   179,     6,   181,   182,   183,   184,    -1,
2816
      12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,
2817
      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    -1,
2818
      -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,    41,
2819
      42,    43,    -1,    45,    46,    47,    -1,    -1,    -1,    -1,
2820
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2821
      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    71,
2822
      72,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
2823
      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
2824
      -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
2825
      -1,    -1,   104,   105,    -1,   107,   108,   109,   110,   111,
2826
     112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
2827
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2828
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
2829
     142,   143,   144,   145,   146,   147,   148,    -1,    -1,    -1,
2830
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
2831
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2832
      -1,    -1,    -1,    -1,    -1,   177,    -1,     6,    -1,   181,
2833
     182,   183,   184,    12,    13,    -1,    -1,    -1,    17,    18,
2834
      19,    -1,    21,    22,    23,    24,    25,    26,    27,    -1,
2835
      -1,    30,    -1,    -1,    33,    34,    35,    36,    37,    -1,
2836
      -1,    -1,    41,    42,    43,    -1,    45,    46,    47,    -1,
2837
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2838
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
2839
      -1,    -1,    71,    72,    -1,    -1,    -1,    -1,    -1,    78,
2840
      -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
2841
      -1,    -1,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,
2842
      -1,    -1,    -1,    -1,    -1,   104,   105,    -1,   107,   108,
2843
     109,   110,   111,   112,   113,   114,   115,   116,     5,    -1,
2844
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2845
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2846
      -1,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2847
      -1,    38,    39,    40,    -1,    -1,    -1,    44,    -1,    -1,
2848
     159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2849
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
2850
      -1,    -1,   181,   182,   183,   184,     5,    -1,     7,     8,
2851
       9,    10,    11,    12,    13,    14,    15,    16,     5,    -1,
2852
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2853
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,
2854
      39,    40,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
2855
      -1,    38,    39,    40,    -1,    -1,    -1,    44,    -1,    -1,
2856
      -1,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2857
     137,   138,   139,     5,    -1,     7,     8,     9,    10,    11,
2858
      12,    13,    14,    15,    16,     5,    -1,     7,     8,     9,
2859
      10,    11,    12,    13,    14,    15,    16,    -1,    -1,   166,
2860
     167,    -1,   169,   170,   171,    -1,    38,    39,    40,    -1,
2861
      -1,    -1,    44,   180,    -1,    -1,    -1,    -1,    38,    39,
2862
      40,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
2863
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2864
     139,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2865
     137,   138,   139,     5,    -1,     7,     8,     9,    10,    11,
2866
      12,    13,    14,    15,    16,    -1,    -1,   166,   167,    -1,
2867
     169,   170,   171,    -1,    -1,    -1,    -1,    -1,    -1,   166,
2868
     167,   180,   169,   170,   171,    -1,    38,    39,    40,    -1,
2869
      -1,    -1,    44,   180,    -1,    -1,    -1,   129,   130,   131,
2870
     132,   133,   134,   135,   136,   137,   138,   139,    -1,   129,
2871
     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2872
       5,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
2873
      15,    16,    -1,    -1,   166,   167,    -1,   169,   170,   171,
2874
      -1,    -1,    -1,    -1,    -1,    -1,   166,   167,   180,   169,
2875
     170,   171,    -1,    38,    39,    40,    -1,    -1,    -1,    44,
2876
     180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2877
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,
2878
     132,   133,   134,   135,   136,   137,   138,   139,    -1,    -1,
2879
       5,    -1,     7,     8,     9,    10,    11,    12,    13,    14,
2880
      15,    16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2881
      -1,    -1,    -1,    -1,   166,   167,    -1,   169,   170,   171,
2882
      -1,    -1,   174,    38,    39,    40,   178,    -1,    -1,    44,
2883
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2884
      -1,    -1,    -1,    -1,   129,   130,   131,   132,   133,   134,
2885
     135,   136,   137,   138,   139,     5,    -1,     7,     8,     9,
2886
      10,    11,    12,    13,    14,    15,    16,    -1,     5,    -1,
2887
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2888
      -1,   166,   167,    -1,   169,   170,   171,    -1,    38,    39,
2889
      40,    -1,    -1,   178,    44,    -1,    -1,    -1,    -1,    -1,
2890
      -1,    38,    39,    40,    -1,    -1,    -1,    44,    -1,    -1,
2891
      -1,    -1,    -1,    -1,   129,   130,   131,   132,   133,   134,
2892
     135,   136,   137,   138,   139,     5,    -1,     7,     8,     9,
2893
      10,    11,    12,    13,    14,    15,    16,    -1,     5,    -1,
2894
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2895
      -1,   166,   167,    -1,   169,   170,   171,    -1,    38,    39,
2896
      40,    -1,    -1,   178,    44,    -1,    -1,    -1,    -1,    -1,
2897
      -1,    38,    39,    40,    -1,    -1,    -1,    44,    -1,   129,
2898
     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2899
      -1,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2900
     137,   138,   139,     5,    -1,     7,     8,     9,    10,    11,
2901
      12,    13,    14,    15,    16,    -1,   166,   167,    -1,   169,
2902
     170,   171,    -1,    -1,    -1,    -1,    -1,    -1,   178,   166,
2903
     167,    -1,   169,   170,   171,    -1,    38,    39,    40,    -1,
2904
      -1,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,   129,
2905
     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2906
      -1,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2907
     137,   138,   139,     5,    -1,     7,     8,     9,    10,    11,
2908
      12,    13,    14,    15,    16,    -1,   166,   167,    -1,   169,
2909
     170,   171,    -1,    -1,    -1,    -1,    -1,    -1,   178,   166,
2910
     167,    -1,   169,   170,   171,    -1,    38,    39,    40,    -1,
2911
      -1,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2912
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,
2913
     132,   133,   134,   135,   136,   137,   138,   139,     5,    -1,
2914
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2915
      -1,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
2916
      14,    15,    16,    -1,   166,   167,    -1,   169,   170,   171,
2917
      -1,    38,    39,    40,    -1,    -1,   178,    44,    -1,    -1,
2918
      -1,    -1,    -1,    -1,    38,    39,    40,    -1,    -1,    -1,
2919
      44,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,
2920
     132,   133,   134,   135,   136,   137,   138,   139,     5,    -1,
2921
       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2922
      -1,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
2923
      14,    15,    16,    -1,   166,   167,    -1,   169,   170,   171,
2924
      -1,    38,    39,    40,    -1,    -1,   178,    44,    -1,    -1,
2925
      -1,    -1,    -1,    -1,    38,    39,    40,    -1,    -1,    -1,
2926
      44,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2927
     137,   138,   139,    -1,    -1,   129,   130,   131,   132,   133,
2928
     134,   135,   136,   137,   138,   139,    -1,    -1,    -1,    -1,
2929
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,
2930
     167,    -1,   169,   170,   171,    -1,    -1,    -1,    -1,    -1,
2931
      -1,   178,   166,   167,    -1,   169,   170,   171,    -1,    -1,
2932
      -1,    -1,    -1,    -1,   178,    -1,    -1,    -1,    -1,    -1,
2933
      -1,    -1,   129,   130,   131,   132,   133,   134,   135,   136,
2934
     137,   138,   139,    -1,    -1,   129,   130,   131,   132,   133,
2935
     134,   135,   136,   137,   138,   139,    -1,    -1,    -1,    -1,
2936
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,
2937
     167,    -1,   169,   170,   171,    -1,    -1,    -1,    -1,    -1,
2938
      -1,   178,   166,   167,    -1,   169,   170,   171,    -1,    -1,
2939
      12,    13,    -1,    -1,   178,    17,    18,    19,    -1,    21,
2940
      22,    23,    24,    25,    26,    27,    28,    -1,    30,    -1,
2941
      -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,    41,
2942
      42,    43,    -1,    45,    46,    47,    48,    -1,    -1,    -1,
2943
      52,    53,    54,    -1,    56,    -1,    58,    -1,    60,    -1,
2944
      -1,    63,    -1,    -1,    -1,    67,    68,    69,    70,    71,
2945
      72,    73,    74,    75,    -1,    -1,    78,    79,    -1,    81,
2946
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,
2947
      -1,    93,    94,    95,    96,    97,    98,    99,   100,    -1,
2948
      -1,   103,   104,   105,    -1,   107,   108,   109,   110,   111,
2949
     112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
2950
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2951
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
2952
     142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
2953
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
2954
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2955
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,
2956
     182,   183,   184,    12,    13,    -1,    -1,    -1,    17,    18,
2957
      19,    -1,    21,    22,    23,    24,    25,    26,    27,    28,
2958
      -1,    30,    -1,    -1,    33,    34,    35,    36,    37,    -1,
2959
      -1,    -1,    41,    42,    43,    -1,    45,    46,    47,    48,
2960
      -1,    -1,    -1,    52,    53,    54,    -1,    56,    -1,    58,
2961
      -1,    60,    -1,    -1,    63,    -1,    -1,    -1,    67,    68,
2962
      69,    70,    71,    72,    73,    74,    75,    -1,    -1,    78,
2963
      79,    -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
2964
      -1,    -1,    91,    -1,    93,    94,    95,    96,    97,    98,
2965
      99,   100,    -1,    -1,   103,   104,   105,    -1,   107,   108,
2966
     109,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
2967
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2968
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2969
      -1,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2970
     149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2971
     159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2972
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,
2973
     179,   180,   181,   182,   183,   184,    12,    13,    -1,    -1,
2974
      -1,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
2975
      26,    27,    28,    -1,    30,    -1,    -1,    33,    34,    35,
2976
      36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,
2977
      46,    47,    48,    -1,    -1,    -1,    52,    53,    54,    -1,
2978
      56,    -1,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,
2979
      -1,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2980
      -1,    -1,    78,    79,    -1,    81,    82,    83,    84,    -1,
2981
      -1,    -1,    -1,    -1,    -1,    91,    -1,    93,    94,    95,
2982
      96,    97,    98,    99,   100,    -1,    -1,   103,   104,   105,
2983
      -1,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2984
     116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2985
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2986
      -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,   145,
2987
     146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,
2988
      -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,
2989
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2990
     176,   177,    -1,   179,    -1,   181,   182,   183,   184,    12,
2991
      13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,
2992
      23,    24,    25,    26,    27,    28,    -1,    30,    -1,    -1,
2993
      33,    34,    35,    36,    37,    -1,    -1,    -1,    41,    42,
2994
      43,    -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,
2995
      53,    54,    -1,    56,    -1,    58,    -1,    60,    -1,    -1,
2996
      63,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
2997
      -1,    74,    75,    -1,    -1,    78,    -1,    -1,    81,    82,
2998
      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,
2999
      93,    94,    95,    96,    97,    98,    99,   100,    -1,    -1,
3000
      -1,   104,   105,    -1,   107,   108,   109,   110,   111,   112,
3001
     113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,
3002
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3003
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,
3004
     143,   144,   145,   146,   147,   148,   149,    -1,    -1,    -1,
3005
      -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
3006
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3007
      -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,   182,
3008
     183,   184,    12,    13,    -1,    -1,    -1,    17,    18,    19,
3009
      -1,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
3010
      30,    -1,    -1,    33,    34,    35,    36,    37,    -1,    -1,
3011
      -1,    41,    42,    43,    -1,    45,    46,    47,    48,    -1,
3012
      -1,    -1,    52,    53,    54,    -1,    56,    -1,    58,    -1,
3013
      60,    -1,    -1,    63,    -1,    -1,    -1,    67,    68,    69,
3014
      70,    71,    72,    -1,    74,    75,    -1,    -1,    78,    -1,
3015
      -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,
3016
      -1,    91,    -1,    93,    94,    95,    96,    97,    98,    99,
3017
     100,    -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,
3018
     110,   111,   112,   113,   114,   115,   116,    -1,    -1,    -1,
3019
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3020
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3021
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
3022
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,
3023
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3024
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
3025
     180,   181,   182,   183,   184,    12,    13,    -1,    -1,    -1,
3026
      17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
3027
      27,    28,    -1,    30,    -1,    -1,    33,    34,    35,    36,
3028
      37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,
3029
      47,    48,    -1,    -1,    51,    52,    53,    54,    -1,    56,
3030
      -1,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,    -1,
3031
      67,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
3032
      -1,    78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,
3033
      -1,    -1,    -1,    -1,    91,    -1,    93,    94,    95,    96,
3034
      97,    98,    99,   100,    -1,    -1,    -1,   104,   105,    -1,
3035
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
3036
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3037
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3038
      -1,    -1,    -1,   140,   141,   142,   143,   144,   145,   146,
3039
     147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3040
      -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3041
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,
3042
     177,    -1,   179,    -1,   181,   182,   183,   184,    12,    13,
3043
      -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,    23,
3044
      24,    25,    26,    27,    28,    -1,    30,    -1,    -1,    33,
3045
      34,    35,    36,    37,    -1,    -1,    -1,    41,    42,    43,
3046
      -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
3047
      54,    55,    56,    -1,    58,    -1,    60,    -1,    -1,    63,
3048
      -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    -1,
3049
      74,    75,    -1,    -1,    78,    -1,    -1,    81,    82,    83,
3050
      84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    93,
3051
      94,    95,    96,    97,    98,    99,   100,    -1,    -1,    -1,
3052
     104,   105,    -1,   107,   108,   109,   110,   111,   112,   113,
3053
     114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3054
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3055
      -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,
3056
     144,   145,   146,   147,   148,   149,    -1,    -1,    -1,    -1,
3057
      -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,
3058
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3059
      -1,    -1,   176,   177,    -1,   179,    -1,   181,   182,   183,
3060
     184,    12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
3061
      21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
3062
      -1,    -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,
3063
      41,    42,    43,    -1,    45,    46,    47,    48,    -1,    -1,
3064
      -1,    52,    53,    54,    -1,    56,    -1,    58,    -1,    60,
3065
      61,    -1,    63,    -1,    -1,    -1,    67,    68,    69,    70,
3066
      71,    72,    -1,    74,    75,    -1,    -1,    78,    -1,    -1,
3067
      81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
3068
      91,    -1,    93,    94,    95,    96,    97,    98,    99,   100,
3069
      -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,   110,
3070
     111,   112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,
3071
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3072
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,
3073
     141,   142,   143,   144,   145,   146,   147,   148,   149,    -1,
3074
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,
3075
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3076
      -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,
3077
     181,   182,   183,   184,    12,    13,    -1,    -1,    -1,    17,
3078
      18,    19,    -1,    21,    22,    23,    24,    25,    26,    27,
3079
      28,    -1,    30,    -1,    -1,    33,    34,    35,    36,    37,
3080
      -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,    47,
3081
      48,    -1,    -1,    -1,    52,    53,    54,    -1,    56,    -1,
3082
      58,    59,    60,    -1,    -1,    63,    -1,    -1,    -1,    67,
3083
      68,    69,    70,    71,    72,    -1,    74,    75,    -1,    -1,
3084
      78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,
3085
      -1,    -1,    -1,    91,    -1,    93,    94,    95,    96,    97,
3086
      98,    99,   100,    -1,    -1,    -1,   104,   105,    -1,   107,
3087
     108,   109,   110,   111,   112,   113,   114,   115,   116,    -1,
3088
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3089
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3090
      -1,    -1,   140,   141,   142,   143,   144,   145,   146,   147,
3091
     148,   149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3092
      -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3093
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,
3094
      -1,   179,    -1,   181,   182,   183,   184,    12,    13,    -1,
3095
      -1,    -1,    17,    18,    19,    -1,    21,    22,    23,    24,
3096
      25,    26,    27,    28,    -1,    30,    -1,    -1,    33,    34,
3097
      35,    36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,
3098
      45,    46,    47,    48,    -1,    -1,    -1,    52,    53,    54,
3099
      -1,    56,    -1,    58,    -1,    60,    -1,    -1,    63,    -1,
3100
      -1,    -1,    67,    68,    69,    70,    71,    72,    -1,    74,
3101
      75,    -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,
3102
      -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    93,    94,
3103
      95,    96,    97,    98,    99,   100,    -1,    -1,    -1,   104,
3104
     105,    -1,   107,   108,   109,   110,   111,   112,   113,   114,
3105
     115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3106
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3107
      -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,
3108
     145,   146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,
3109
      -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,
3110
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3111
      -1,   176,   177,    -1,   179,   180,   181,   182,   183,   184,
3112
      12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,
3113
      22,    23,    24,    25,    26,    27,    28,    -1,    30,    -1,
3114
      -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,    41,
3115
      42,    43,    -1,    45,    46,    47,    48,    -1,    -1,    -1,
3116
      52,    53,    54,    -1,    56,    57,    58,    -1,    60,    -1,
3117
      -1,    63,    -1,    -1,    -1,    67,    68,    69,    70,    71,
3118
      72,    -1,    74,    75,    -1,    -1,    78,    -1,    -1,    81,
3119
      82,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,
3120
      -1,    93,    94,    95,    96,    97,    98,    99,   100,    -1,
3121
      -1,    -1,   104,   105,    -1,   107,   108,   109,   110,   111,
3122
     112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
3123
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3124
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
3125
     142,   143,   144,   145,   146,   147,   148,   149,    -1,    -1,
3126
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
3127
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3128
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,   181,
3129
     182,   183,   184,    12,    13,    -1,    -1,    -1,    17,    18,
3130
      19,    -1,    21,    22,    23,    24,    25,    26,    27,    28,
3131
      -1,    30,    -1,    -1,    33,    34,    35,    36,    37,    -1,
3132
      -1,    -1,    41,    42,    43,    -1,    45,    46,    47,    48,
3133
      -1,    -1,    -1,    52,    53,    54,    -1,    56,    -1,    58,
3134
      -1,    60,    -1,    -1,    63,    -1,    -1,    -1,    67,    68,
3135
      69,    70,    71,    72,    -1,    74,    75,    -1,    -1,    78,
3136
      -1,    -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,
3137
      -1,    -1,    91,    -1,    93,    94,    95,    96,    97,    98,
3138
      99,   100,    -1,    -1,    -1,   104,   105,    -1,   107,   108,
3139
     109,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
3140
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3141
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3142
      -1,   140,   141,   142,   143,   144,   145,   146,   147,   148,
3143
     149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3144
     159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3145
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,
3146
     179,   180,   181,   182,   183,   184,    12,    13,    -1,    -1,
3147
      -1,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
3148
      26,    27,    28,    -1,    30,    -1,    -1,    33,    34,    35,
3149
      36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,
3150
      46,    47,    48,    -1,    -1,    -1,    52,    53,    54,    -1,
3151
      56,    -1,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,
3152
      -1,    67,    68,    69,    70,    71,    72,    -1,    74,    75,
3153
      -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,    -1,
3154
      -1,    -1,    -1,    -1,    -1,    91,    -1,    93,    94,    95,
3155
      96,    97,    98,    99,   100,    -1,    -1,    -1,   104,   105,
3156
      -1,   107,   108,   109,   110,   111,   112,   113,   114,   115,
3157
     116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3158
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3159
      -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,   145,
3160
     146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,
3161
      -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,
3162
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3163
     176,   177,    -1,   179,   180,   181,   182,   183,   184,    12,
3164
      13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,
3165
      23,    24,    25,    26,    27,    28,    -1,    30,    -1,    -1,
3166
      33,    34,    35,    36,    37,    -1,    -1,    -1,    41,    42,
3167
      43,    -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,
3168
      53,    54,    -1,    56,    -1,    58,    -1,    60,    -1,    -1,
3169
      63,    -1,    -1,    -1,    67,    68,    69,    70,    71,    72,
3170
      -1,    74,    75,    -1,    -1,    78,    -1,    -1,    81,    82,
3171
      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,
3172
      93,    94,    95,    96,    97,    98,    99,   100,    -1,    -1,
3173
      -1,   104,   105,    -1,   107,   108,   109,   110,   111,   112,
3174
     113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,
3175
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3176
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,
3177
     143,   144,   145,   146,   147,   148,   149,    -1,    -1,    -1,
3178
      -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
3179
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3180
      -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,   182,
3181
     183,   184,    12,    13,    -1,    -1,    -1,    17,    18,    19,
3182
      -1,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
3183
      30,    -1,    -1,    33,    34,    35,    36,    37,    -1,    -1,
3184
      -1,    41,    42,    43,    -1,    45,    46,    47,    48,    -1,
3185
      -1,    -1,    52,    53,    54,    -1,    56,    -1,    58,    -1,
3186
      60,    -1,    -1,    63,    -1,    -1,    -1,    67,    68,    69,
3187
      70,    71,    72,    -1,    74,    75,    -1,    -1,    78,    -1,
3188
      -1,    81,    82,    83,    84,    -1,    -1,    -1,    -1,    -1,
3189
      -1,    91,    -1,    93,    94,    95,    96,    97,    98,    99,
3190
     100,    -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,
3191
     110,   111,   112,   113,   114,   115,   116,    -1,    -1,    -1,
3192
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3193
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3194
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
3195
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,
3196
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3197
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
3198
     180,   181,   182,   183,   184,    12,    13,    -1,    -1,    -1,
3199
      17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
3200
      27,    28,    -1,    30,    -1,    -1,    33,    34,    35,    36,
3201
      37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,
3202
      47,    48,    -1,    -1,    -1,    52,    53,    54,    -1,    56,
3203
      -1,    58,    -1,    60,    -1,    -1,    63,    -1,    -1,    -1,
3204
      67,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
3205
      -1,    78,    -1,    -1,    81,    82,    83,    84,    -1,    -1,
3206
      -1,    -1,    -1,    -1,    91,    -1,    93,    94,    95,    96,
3207
      97,    98,    99,   100,    -1,    -1,    -1,   104,   105,    -1,
3208
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
3209
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3210
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3211
      -1,    -1,    -1,   140,   141,   142,   143,   144,   145,   146,
3212
     147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3213
      -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3214
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,
3215
     177,    -1,   179,   180,   181,   182,   183,   184,    12,    13,
3216
      -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,    23,
3217
      24,    25,    26,    27,    28,    -1,    30,    -1,    -1,    33,
3218
      34,    35,    36,    37,    -1,    -1,    -1,    41,    42,    43,
3219
      -1,    45,    46,    47,    48,    -1,    -1,    -1,    52,    53,
3220
      54,    -1,    56,    -1,    58,    -1,    60,    -1,    -1,    63,
3221
      -1,    -1,    -1,    67,    68,    69,    70,    71,    72,    -1,
3222
      74,    75,    -1,    -1,    78,    -1,    -1,    81,    82,    83,
3223
      84,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    93,
3224
      94,    95,    96,    97,    98,    99,   100,    -1,    -1,    -1,
3225
     104,   105,    -1,   107,   108,   109,   110,   111,   112,   113,
3226
     114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3227
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3228
      -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,
3229
     144,   145,   146,   147,   148,   149,    -1,    -1,    -1,    -1,
3230
      -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,
3231
      -1,    -1,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,
3232
      -1,    -1,   176,   177,    -1,   179,    -1,   181,   182,   183,
3233
     184,    23,    24,    25,    26,    -1,    -1,    -1,    -1,    -1,
3234
      -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3235
      42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
3236
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
3237
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
3238
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3239
      82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    91,
3240
      92,    93,    94,    95,    -1,    97,    98,    99,   100,   101,
3241
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3242
     112,   113,   114,   115,    12,    13,    -1,    -1,    -1,    17,
3243
      18,    19,    -1,    21,    22,    23,    24,    25,    26,    27,
3244
      28,    -1,    30,    -1,    -1,    33,    34,    35,    36,    37,
3245
      -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,    47,
3246
      48,    -1,    -1,    -1,    52,    53,    54,    -1,    56,    -1,
3247
      58,    -1,    60,    -1,    -1,    63,    -1,    -1,    -1,    67,
3248
      68,    69,    70,    71,    72,   177,    74,    75,    -1,    -1,
3249
      78,    -1,    -1,    81,    82,    -1,    -1,    -1,    -1,    -1,
3250
      -1,    -1,    -1,    91,    -1,    93,    94,    95,    -1,    -1,
3251
      -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,   107,
3252
     108,   109,   110,   111,   112,   113,   114,   115,   116,    -1,
3253
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3254
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3255
      -1,    -1,   140,   141,   142,   143,   144,   145,   146,   147,
3256
     148,   149,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3257
      -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3258
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,
3259
      -1,   179,    -1,   181,   182,   183,   184,    12,    13,    -1,
3260
      -1,    -1,    17,    18,    19,    -1,    21,    22,    23,    24,
3261
      25,    26,    27,    -1,    -1,    30,    -1,    -1,    33,    34,
3262
      35,    36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,
3263
      45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3264
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3265
      -1,    -1,    67,    -1,    -1,    -1,    71,    72,    -1,    -1,
3266
      -1,    -1,    -1,    78,    -1,    -1,    -1,    82,    -1,    -1,
3267
      -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,
3268
      95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
3269
     105,    -1,   107,   108,   109,   110,   111,   112,   113,   114,
3270
     115,   116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3271
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3272
      -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,
3273
     145,   146,   147,   148,    -1,    -1,    -1,    -1,    -1,    -1,
3274
      -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,
3275
     165,    -1,    -1,    -1,    -1,   170,   171,    -1,    -1,    -1,
3276
      -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,
3277
      12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,
3278
      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    -1,
3279
      -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,    41,
3280
      42,    43,    -1,    45,    46,    47,    -1,    -1,    -1,    -1,
3281
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3282
      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    71,
3283
      72,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
3284
      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
3285
      -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
3286
      -1,    -1,   104,   105,    -1,   107,   108,   109,   110,   111,
3287
     112,   113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,
3288
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3289
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,
3290
     142,   143,   144,   145,   146,   147,   148,    -1,    -1,    -1,
3291
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
3292
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   170,   171,
3293
      -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   181,
3294
     182,   183,   184,    12,    13,    -1,    -1,    -1,    17,    18,
3295
      19,    -1,    21,    22,    23,    24,    25,    26,    27,    -1,
3296
      -1,    30,    -1,    -1,    33,    34,    35,    36,    37,    -1,
3297
      -1,    -1,    41,    42,    43,    -1,    45,    46,    47,    -1,
3298
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3299
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
3300
      -1,    -1,    71,    72,    -1,    -1,    -1,    -1,    -1,    78,
3301
      -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
3302
      -1,    -1,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,
3303
      -1,    -1,    -1,    -1,    -1,   104,   105,    -1,   107,   108,
3304
     109,   110,   111,   112,   113,   114,   115,   116,    -1,    -1,
3305
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3306
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3307
      -1,   140,   141,   142,   143,   144,   145,   146,   147,   148,
3308
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3309
     159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3310
      -1,   170,   171,    -1,    -1,    -1,    -1,    -1,   177,    -1,
3311
      -1,    -1,   181,   182,   183,   184,    12,    13,    -1,    -1,
3312
      -1,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
3313
      26,    27,    -1,    -1,    30,    -1,    -1,    33,    34,    35,
3314
      36,    37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,
3315
      46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3316
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3317
      -1,    67,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,
3318
      -1,    -1,    78,    -1,    -1,    -1,    82,    -1,    -1,    -1,
3319
      -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    95,
3320
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
3321
      -1,   107,   108,   109,   110,   111,   112,   113,   114,   115,
3322
     116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3323
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3324
      -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,   145,
3325
     146,   147,   148,   149,    -1,    -1,    -1,    -1,    -1,    -1,
3326
      -1,    -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,
3327
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3328
      -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,    12,
3329
      13,    -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,
3330
      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    -1,
3331
      33,    34,    35,    36,    37,    -1,    -1,    -1,    41,    42,
3332
      43,    -1,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,
3333
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3334
      -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    71,    72,
3335
      -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    82,
3336
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,
3337
      -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3338
      -1,   104,   105,    -1,   107,   108,   109,   110,   111,   112,
3339
     113,   114,   115,   116,    -1,    -1,    -1,    -1,    -1,    -1,
3340
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3341
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,
3342
     143,   144,   145,   146,   147,   148,    -1,    -1,    -1,    -1,
3343
      -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
3344
      -1,    -1,    -1,    -1,     7,     8,     9,    10,    11,    12,
3345
      13,    14,    15,    16,   177,    -1,    -1,    -1,   181,   182,
3346
     183,   184,    12,    13,    -1,    -1,    -1,    17,    18,    19,
3347
      -1,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
3348
      30,    44,    -1,    33,    34,    35,    36,    37,    -1,    -1,
3349
      -1,    41,    42,    43,    -1,    45,    46,    47,    -1,    -1,
3350
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3351
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
3352
      -1,    71,    72,    -1,    -1,    -1,    -1,    -1,    78,    -1,
3353
      -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3354
      -1,    91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
3355
      -1,    -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,
3356
     110,   111,   112,   113,   114,   115,   116,    -1,   131,   132,
3357
     133,   134,   135,   136,   137,   138,   139,    -1,    -1,    -1,
3358
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3359
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
3360
      -1,    -1,    -1,    -1,   167,    -1,   169,   170,   171,   159,
3361
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,     9,
3362
      10,    11,    12,    13,    14,    15,    16,   177,    -1,    -1,
3363
      -1,   181,   182,   183,   184,    12,    13,    -1,    -1,    -1,
3364
      17,    18,    19,    -1,    21,    22,    23,    24,    25,    26,
3365
      27,    -1,    -1,    30,    44,    -1,    33,    34,    35,    36,
3366
      37,    -1,    -1,    -1,    41,    42,    43,    -1,    45,    46,
3367
      47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3368
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
3369
      67,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,    -1,
3370
      -1,    78,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
3371
      -1,    -1,    -1,    -1,    91,    -1,    -1,    94,    95,    -1,
3372
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,
3373
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
3374
      -1,   131,   132,   133,   134,   135,   136,   137,   138,   139,
3375
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3376
      -1,    -1,    -1,   140,   141,   142,   143,   144,   145,   146,
3377
     147,   148,    -1,    -1,    -1,    -1,    -1,   167,    -1,   169,
3378
     170,   171,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3379
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
3380
     177,    -1,    -1,    -1,   181,   182,   183,   184,    12,    13,
3381
      -1,    -1,    -1,    17,    18,    19,    -1,    21,    22,    23,
3382
      24,    25,    26,    27,    -1,    -1,    30,    44,    -1,    33,
3383
      34,    35,    36,    37,    -1,    -1,    -1,    41,    42,    43,
3384
      -1,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,
3385
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3386
      -1,    -1,    -1,    67,    -1,    -1,    -1,    71,    72,    -1,
3387
      -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    82,    -1,
3388
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,
3389
      94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3390
     104,   105,    -1,   107,   108,   109,   110,   111,   112,   113,
3391
     114,   115,   116,    -1,   131,   132,   133,   134,   135,   136,
3392
     137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3393
      -1,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,
3394
     144,   145,   146,   147,   148,    -1,    -1,    -1,    -1,    -1,
3395
     167,    -1,   169,   170,   171,   159,    -1,    -1,    -1,    -1,
3396
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3397
      -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,
3398
     184,    12,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
3399
      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
3400
      -1,    -1,    33,    34,    35,    36,    37,    -1,    -1,    -1,
3401
      41,    42,    43,    -1,    45,    46,    47,    -1,    -1,    -1,
3402
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3403
      -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
3404
      71,    72,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
3405
      -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3406
      91,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,
3407
      -1,    -1,    -1,   104,   105,    -1,   107,   108,   109,   110,
3408
     111,   112,   113,   114,   115,   116,     5,     6,     7,     8,
3409
       9,    10,    11,    12,    13,    14,    15,    16,    -1,    -1,
3410
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,
3411
     141,   142,   143,   144,   145,   146,   147,   148,    -1,    38,
3412
      39,    40,    -1,    -1,    -1,    44,    -1,    -1,   159,    -1,
3413
      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
3414
      11,    12,    13,    14,    15,    16,   177,    -1,    -1,    -1,
3415
     181,   182,   183,   184,     5,    -1,     7,     8,     9,    10,
3416
      11,    12,    13,    14,    15,    16,    -1,    38,    39,    40,
3417
      -1,    -1,    -1,    44,    -1,    -1,    -1,    65,    -1,    -1,
3418
      -1,    -1,    -1,    -1,    -1,    73,    -1,    38,    39,    40,
3419
      -1,    79,    -1,    44,    82,    83,    84,    85,    86,    87,
3420
      88,    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
3421
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
3422
     139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,
3423
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3424
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,
3425
     169,   170,   171,    -1,    -1,    -1,    -1,   176,   129,   130,
3426
     131,   132,   133,   134,   135,   136,   137,   138,   139,    -1,
3427
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,
3428
     131,   132,   133,   134,   135,   136,   137,   138,   139,    -1,
3429
      -1,    -1,   180,    -1,    -1,   166,   167,    -1,   169,   170,
3430
     171,    -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,
3431
      -1,    -1,    -1,    -1,    -1,   166,   167,    -1,   169,   170,
3432
     171,    -1,    -1,    -1,     5,   176,     7,     8,     9,    10,
3433
      11,    12,    13,    14,    15,    16,     5,    -1,     7,     8,
3434
       9,    10,    11,    12,    13,    14,    15,    16,    -1,    -1,
3435
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    40,
3436
      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    38,
3437
      39,    40,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
3438
      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11,
3439
      12,    13,    14,    15,    16,     5,    -1,     7,     8,     9,
3440
      10,    11,    12,    13,    14,    15,    16,    -1,    -1,    -1,
3441
      -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    40,    -1,
3442
      -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    38,    39,
3443
      40,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
3444
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,
3445
     131,   132,   133,   134,   135,   136,   137,   138,   139,    -1,
3446
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
3447
     139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3448
      -1,    -1,    -1,    -1,    -1,   166,   167,    -1,   169,   170,
3449
     171,    -1,    -1,    -1,    -1,   176,    -1,   166,   167,    -1,
3450
     169,   170,   171,    -1,    -1,    -1,   175,   129,   130,   131,
3451
     132,   133,   134,   135,   136,   137,   138,   139,    -1,   129,
3452
     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
3453
      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    12,
3454
      13,    14,    15,    16,   166,   167,    -1,   169,   170,   171,
3455
      -1,    -1,   174,    -1,    -1,    -1,   166,   167,    -1,   169,
3456
     170,   171,    -1,    -1,   174,    38,    39,    40,    -1,    -1,
3457
      -1,    44,    -1,    -1,    -1,     5,    -1,     7,     8,     9,
3458
      10,    11,    12,    13,    14,    15,    16,     5,     6,     7,
3459
       8,     9,    10,    11,    12,    13,    14,    15,    16,    -1,
3460
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
3461
      40,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,
3462
      38,    39,    40,    -1,    -1,    -1,    44,    -1,    -1,    -1,
3463
      -1,    -1,    62,    -1,     5,    -1,     7,     8,     9,    10,
3464
      11,    12,    13,    14,    15,    16,    -1,    -1,    -1,    -1,
3465
      -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,   132,
3466
     133,   134,   135,   136,   137,   138,   139,    38,    39,    40,
3467
      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,   152,
3468
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3469
      -1,    -1,    -1,   166,   167,    -1,   169,   170,   171,   129,
3470
     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
3471
      -1,   129,   130,   131,   132,   133,   134,   135,   136,   137,
3472
     138,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3473
      -1,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,   169,
3474
     170,   171,    -1,    -1,    -1,    -1,    -1,    -1,   166,   167,
3475
      -1,   169,   170,   171,    -1,    -1,    -1,    -1,   129,   130,
3476
     131,   132,   133,   134,   135,   136,   137,   138,   139,     5,
3477
      -1,     7,     8,     9,    10,    11,    12,    13,    14,    15,
3478
      16,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
3479
      14,    15,    16,    -1,    -1,   166,   167,    -1,   169,   170,
3480
     171,    -1,    -1,    39,    40,    -1,    -1,    -1,    44,    -1,
3481
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3482
      44,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
3483
      11,    12,    13,    14,    15,    16,     5,    -1,     7,     8,
3484
       9,    10,    11,    12,    13,    14,    15,    16,    -1,     7,
3485
       8,     9,    10,    11,    12,    13,    14,    15,    16,    40,
3486
      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
3487
      -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
3488
      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
3489
      -1,    -1,    -1,   129,   130,   131,   132,   133,   134,   135,
3490
     136,   137,   138,   139,    -1,   129,   130,   131,   132,   133,
3491
     134,   135,   136,   137,   138,   139,    -1,    -1,    -1,    -1,
3492
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   152,    -1,
3493
     166,   167,    -1,   169,   170,   171,    -1,    -1,    -1,    -1,
3494
      -1,    -1,   166,   167,    -1,   169,   170,   171,   129,   130,
3495
     131,   132,   133,   134,   135,   136,   137,   138,   139,    -1,
3496
     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
3497
     139,   129,   130,   131,   132,   133,   134,   135,   136,   137,
3498
     138,   139,    -1,    -1,    -1,   166,   167,    -1,   169,   170,
3499
     171,    -1,    -1,    -1,    -1,    -1,    -1,   166,   167,    -1,
3500
     169,   170,   171,    -1,    -1,    -1,    23,    -1,   166,   167,
3501
      27,   169,   170,   171,    -1,    -1,    33,    34,    35,    36,
3502
      37,    38,    39,    40,    41,    42,    -1,    44,    45,    46,
3503
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3504
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
3505
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
3506
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
3507
      87,    -1,    -1,    -1,    91,    92,    93,    94,    95,    -1,
3508
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
3509
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
3510
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
3511
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,
3512
      -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
3513
      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    -1,
3514
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3515
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    23,
3516
     116,    -1,   179,    27,    -1,    -1,    -1,   184,    -1,    33,
3517
      34,    35,    36,    37,    38,    39,    40,    41,    42,    -1,
3518
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3519
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
3520
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
3521
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3522
      84,    85,    86,    87,   180,    -1,    -1,    91,    92,    93,
3523
      94,    95,    -1,    97,    98,    99,   100,   101,   102,   103,
3524
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
3525
     114,   115,    -1,    23,    24,    25,    26,    27,    -1,    -1,
3526
      30,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
3527
      -1,    30,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
3528
      -1,    -1,    65,    -1,    -1,    -1,    45,    -1,    -1,    -1,
3529
      73,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    82,
3530
      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
3531
      -1,    -1,    82,    -1,    -1,   179,    -1,    -1,    -1,    -1,
3532
     184,    91,    -1,    82,     9,    10,    11,    12,    13,    14,
3533
      15,    16,    91,   116,   104,   105,    -1,   107,   108,   109,
3534
     110,   111,   112,   113,   114,   115,   105,    -1,   107,   108,
3535
     109,   110,   111,   112,   113,   114,   115,    -1,    -1,    44,
3536
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
3537
      16,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3538
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3539
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    44,    -1,
3540
     170,   171,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,
3541
      -1,   181,    -1,   183,   184,    -1,    -1,    -1,   177,    -1,
3542
      -1,    -1,   181,    -1,   183,   184,    -1,    -1,    -1,    -1,
3543
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3544
      -1,    -1,    -1,    -1,    -1,    -1,   131,   132,   133,   134,
3545
     135,   136,   137,   138,   139,    -1,    -1,    -1,    -1,    -1,
3546
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3547
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3548
      -1,    -1,   167,    -1,   169,   131,   132,   133,   134,   135,
3549
     136,   137,   138,   139,    -1,    -1,    -1,    -1,    -1,    -1,
3550
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3551
      -1,    -1,    -1,    -1,    23,    24,    25,    26,    -1,    -1,
3552
      -1,   167,    -1,   169,    33,    34,    35,    36,    37,    38,
3553
      39,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
3554
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
3555
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
3556
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3557
      79,    80,    81,    82,    83,    84,    85,    86,    87,    -1,
3558
      -1,    -1,    91,    92,    93,    94,    95,    -1,    97,    98,
3559
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
3560
     109,   110,   111,   112,   113,   114,   115,    -1,    -1,    65,
3561
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,
3562
      -1,    -1,    -1,    79,    -1,    -1,    82,    83,    84,    85,
3563
      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    -1,
3564
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3565
      -1,    23,    24,    25,    26,    -1,    -1,    -1,    -1,    -1,
3566
     116,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3567
      42,   180,    44,    45,    46,    47,    48,    49,    50,    51,
3568
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
3569
      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
3570
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
3571
      82,    83,    84,    85,    86,    87,    -1,    -1,    -1,    91,
3572
      92,    93,    94,    95,   180,    97,    98,    99,   100,   101,
3573
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3574
     112,   113,   114,   115,    65,    -1,    -1,    -1,    -1,    -1,
3575
      -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,    79,    -1,
3576
      -1,    82,    83,    84,    85,    86,    87,    88,    89,    90,
3577
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
3578
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,
3579
      -1,    -1,    -1,    79,    -1,   116,    82,    83,    84,    85,
3580
      86,    87,    88,    89,    90,    91,    92,    -1,   180,    -1,
3581
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3582
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3583
     116,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3584
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3585
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
3586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3587
      -1,    -1,    -1,    -1,    23,    -1,    -1,    -1,    -1,    -1,
3588
      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
3589
      39,    40,    41,    42,   180,    44,    45,    46,    47,    48,
3590
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
3591
      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
3592
      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
3593
      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
3594
      89,    90,    91,    92,    93,    94,    95,    -1,    97,    98,
3595
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
3596
     109,   110,   111,   112,   113,   114,   115,    23,    -1,    -1,
3597
      26,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,
3598
      36,    37,    38,    39,    40,    41,    42,    -1,    44,    45,
3599
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
3600
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
3601
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
3602
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
3603
      86,    87,    -1,    -1,    -1,    91,    92,    93,    94,    95,
3604
      -1,    97,    98,    99,   100,   101,   102,   103,   104,   105,
3605
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
3606
      23,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3607
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3608
      -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3609
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
3610
      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
3611
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
3612
      83,    84,    85,    86,    87,    -1,    -1,    -1,    91,    92,
3613
      93,    94,    95,    -1,    97,    98,    99,   100,   101,   102,
3614
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
3615
     113,   114,   115,    23,    -1,    -1,    -1,    -1,    -1,    -1,
3616
      -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
3617
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
3618
      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
3619
      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
3620
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
3621
      80,    81,    82,    83,    84,    85,    86,    87,    -1,    -1,
3622
      -1,    91,    92,    93,    94,    95,    -1,    97,    98,    99,
3623
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
3624
     110,   111,   112,   113,   114,   115
3625
};
3626
3627
/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
3628
   state STATE-NUM.  */
3629
static const yytype_int16 yystos[] =
3630
{
3631
       0,   186,   191,     0,    12,    13,    17,    18,    19,    21,
3632
      22,    23,    24,    25,    26,    27,    28,    30,    33,    34,
3633
      35,    36,    37,    41,    42,    43,    45,    46,    47,    48,
3634
      52,    53,    54,    56,    58,    60,    63,    67,    68,    69,
3635
      70,    71,    72,    73,    74,    75,    78,    79,    81,    82,
3636
      83,    84,    91,    93,    94,    95,    96,    97,    98,    99,
3637
     100,   103,   104,   105,   107,   108,   109,   110,   111,   112,
3638
     113,   114,   115,   116,   140,   141,   142,   143,   144,   145,
3639
     146,   147,   148,   149,   159,   176,   177,   179,   181,   182,
3640
     183,   184,   195,   198,   199,   200,   201,   202,   218,   227,
3641
     230,   233,   236,   237,   239,   241,   255,   261,   262,   263,
3642
     264,   329,   330,   331,   332,   333,   334,   341,   343,   347,
3643
     348,   349,   350,   352,   353,   354,   355,   356,   357,   358,
3644
     359,   370,    23,    82,    91,   199,   331,   334,   331,   331,
3645
     331,   331,     6,   331,   331,   177,   331,   331,   331,   331,
3646
     331,    82,    91,   177,   195,   199,   234,   235,   236,   327,
3647
     343,   344,   358,   360,   177,   284,   331,   177,   282,   346,
3648
     177,   322,   323,   331,   218,   177,   177,   177,   177,   177,
3649
     177,   331,   351,   351,    23,    23,   215,   321,   351,   179,
3650
     331,    23,    24,    26,    71,    73,   193,   194,   205,   207,
3651
     211,   214,   288,   289,   358,    27,   290,   291,   332,   282,
3652
     177,   177,   177,   177,   232,   238,   240,   242,    23,    26,
3653
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3654
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3655
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
3656
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
3657
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
3658
      84,    85,    86,    87,    91,    92,    93,    94,    95,    97,
3659
      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
3660
     108,   109,   110,   111,   112,   113,   114,   115,   187,   188,
3661
     190,   192,   204,   177,   177,   335,    45,   177,   181,   329,
3662
     347,   349,   350,   357,   357,   331,   331,   331,   331,   331,
3663
     331,   331,   331,    27,    29,   160,   161,   162,   367,   368,
3664
     331,   216,   104,   165,   170,   171,   189,   331,   363,   364,
3665
     365,   366,    29,   345,   367,    29,   367,   179,   358,   282,
3666
      82,   198,   201,   332,    97,   236,    49,    50,    49,    50,
3667
      51,     5,     7,     8,     9,    10,    11,    12,    13,    14,
3668
      15,    16,    38,    39,    40,    44,   129,   130,   131,   132,
3669
     133,   134,   135,   136,   137,   138,   139,   166,   167,   169,
3670
     170,   171,   176,   189,   337,   337,   163,   163,   150,   151,
3671
     181,   342,     4,   117,   118,   119,   120,   121,   122,   123,
3672
     124,   125,   126,   127,   128,   140,   141,   168,   337,   331,
3673
     152,   331,   327,   236,    97,   163,   282,   150,   151,   163,
3674
     181,     5,    23,    33,    34,    35,    36,    37,    41,    42,
3675
      45,    46,    47,    67,    71,    72,    78,    82,    91,    94,
3676
      95,   104,   105,   107,   108,   109,   110,   111,   112,   113,
3677
     114,   115,   165,   178,   190,   285,   286,   331,   178,   283,
3678
     286,   287,   331,   331,   174,   176,    54,   331,   149,   325,
3679
     326,   331,   331,   215,   331,   331,   176,   176,   176,     4,
3680
     174,   176,   176,   216,    62,   164,   194,   206,   211,   176,
3681
     174,   176,   174,   176,     4,   174,   176,   224,   225,   357,
3682
     331,   371,   372,   331,   178,    23,    23,    23,    23,   176,
3683
     203,   179,   363,   363,   196,   197,   343,   344,   331,   363,
3684
     176,   150,   151,   181,   160,   368,    31,   331,   357,    29,
3685
     160,   368,   178,    96,   180,   199,   200,   217,   218,   177,
3686
     331,   357,   152,   175,   174,   182,   183,   331,   332,   231,
3687
     177,   218,   177,     6,   176,     6,   331,   331,   331,   331,
3688
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3689
     344,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3690
     331,   331,   331,   331,   331,   331,   331,   335,    23,    91,
3691
     226,   335,   179,   190,   358,   361,   179,   190,   358,   361,
3692
      23,   179,   358,   362,   362,   351,   282,   189,   331,   331,
3693
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3694
     331,   331,   178,   331,   178,   328,   358,   362,   362,   358,
3695
     351,   331,     6,   174,   208,   174,   174,   208,   178,   323,
3696
     177,   178,   331,   176,   174,    62,   178,   178,   178,   331,
3697
     321,   180,    23,   179,   164,   176,   176,   194,   214,   289,
3698
     331,   291,   174,   208,   174,   208,   178,   176,   101,   246,
3699
     335,   101,   247,     6,   243,   179,   191,   178,   178,   174,
3700
     208,   282,   178,   175,    23,    23,    13,    23,    27,    32,
3701
     369,   180,   181,   180,   180,   177,   200,   363,   104,   189,
3702
     331,     4,   364,   180,    23,   331,   331,   216,   331,     6,
3703
     177,   335,   177,   331,   282,   331,   282,   331,   282,   282,
3704
     175,   357,   346,   175,     5,   331,   287,   178,   178,   287,
3705
     287,   178,     6,   218,   331,     6,   218,   260,   324,   326,
3706
     331,   149,   331,   104,   181,   189,   249,   357,   219,     6,
3707
     179,   253,   179,   335,   220,   193,   205,   209,   212,   213,
3708
     179,   225,   178,   372,   178,   343,   102,   248,   179,   295,
3709
     343,   335,     5,    82,   105,   106,   177,   195,   271,   272,
3710
     273,   274,   275,   277,   248,   191,   180,     4,   196,   175,
3711
      32,   175,   331,   178,   178,   177,   357,   331,   246,   178,
3712
     178,    51,   331,    82,    83,    84,    85,    86,    87,    88,
3713
      89,    90,    91,   199,   265,   266,   267,   268,   269,   307,
3714
     308,   177,   265,   180,   180,   180,   246,   216,   178,   216,
3715
     176,   174,   331,   177,   363,   357,   152,   178,     6,   218,
3716
     252,   176,   254,   176,   254,    66,   256,   257,   258,   259,
3717
     331,    76,    77,   223,    62,   213,   174,   208,   210,   213,
3718
     176,   295,   335,   292,   174,   179,   272,   272,   275,   171,
3719
       7,     7,   171,   335,   180,   331,   175,   176,   363,   248,
3720
     218,     6,   176,   269,   178,   174,   208,     5,   177,   270,
3721
     276,   277,   278,   279,   280,   308,   265,   178,   248,   176,
3722
      55,   325,   331,   363,   175,   249,     6,   218,   251,   216,
3723
     254,    64,    65,    66,   254,   180,   174,   208,   180,   174,
3724
     208,   174,   208,   177,   179,    23,   212,   180,   174,   208,
3725
     179,    65,    79,    92,   180,   199,   244,   293,   294,   304,
3726
     305,   306,   307,   343,   292,   178,   272,   272,   273,   273,
3727
     272,   179,   180,   178,   335,   216,     6,   281,   267,   277,
3728
     277,   280,   170,   228,   171,     7,     7,   171,   178,    79,
3729
     338,   335,   176,   178,   178,   178,   216,    61,    64,   176,
3730
     331,     6,   176,   180,   152,   258,   331,   152,   221,   343,
3731
     216,   213,   180,   292,   335,   295,   293,   270,   334,    73,
3732
     180,   292,   179,   271,   152,   178,   165,   229,   277,   277,
3733
     278,   278,   277,   281,   177,   281,   179,     6,   218,   250,
3734
     251,    59,   176,   176,     6,   176,   216,   216,   331,   331,
3735
       7,    27,   222,   180,   180,   190,   176,   179,   296,    27,
3736
     309,   310,   311,   337,    23,    82,   105,   106,   188,   271,
3737
     319,   320,   180,   292,   336,    27,   336,    27,   189,   339,
3738
     340,   336,   292,   216,   176,   216,   216,   343,   178,     4,
3739
     245,    82,   180,   190,   297,   298,   299,   300,   301,   302,
3740
     343,     4,   335,   174,   176,   190,     4,     4,    23,   319,
3741
     174,   176,   180,   331,     4,   335,   179,    27,   174,   208,
3742
     179,   180,    57,   179,   331,   176,   180,   298,   176,   176,
3743
      62,    80,   163,   331,   179,    27,   310,   335,   331,   331,
3744
     176,   320,   336,   331,   179,   313,   216,   340,   178,   216,
3745
     176,   216,    23,   187,   308,   295,   190,   335,   312,     4,
3746
     335,   177,   335,   335,   335,   312,   180,   180,   180,   190,
3747
     179,   180,   199,   307,   314,   315,   331,   265,   313,   180,
3748
     336,   336,   312,   315,   337,   335,   178,   180,    23,   281,
3749
     335,   336,   316,   176,   179,   303,   177,   318,   216,   336,
3750
     265,   336,   180,   178,   152,   176,   179,   317,   331,   216,
3751
     336,   176,   180
3752
};
3753
3754
/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
3755
static const yytype_int16 yyr1[] =
3756
{
3757
       0,   185,   186,   187,   187,   187,   187,   187,   187,   187,
3758
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3759
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3760
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3761
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3762
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3763
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3764
     187,   187,   187,   187,   188,   188,   188,   188,   188,   188,
3765
     188,   188,   189,   189,   190,   190,   191,   191,   192,   192,
3766
     193,   193,   194,   194,   195,   195,   195,   195,   196,   196,
3767
     197,   197,   198,   199,   199,   200,   200,   200,   200,   200,
3768
     201,   201,   202,   202,   202,   202,   202,   203,   202,   204,
3769
     202,   202,   202,   202,   202,   205,   205,   206,   207,   208,
3770
     208,   209,   209,   210,   210,   211,   211,   212,   212,   213,
3771
     213,   214,   214,   215,   215,   216,   216,   217,   217,   217,
3772
     217,   218,   218,   218,   218,   218,   218,   218,   218,   218,
3773
     218,   218,   218,   218,   218,   218,   218,   218,   218,   219,
3774
     218,   218,   218,   218,   218,   218,   220,   220,   221,   221,
3775
     222,   222,   223,   223,   224,   224,   225,   226,   226,   227,
3776
     228,   228,   229,   229,   231,   230,   232,   230,   233,   233,
3777
     234,   234,   235,   235,   236,   236,   236,   238,   237,   240,
3778
     239,   242,   241,   243,   243,   244,   245,   245,   246,   246,
3779
     247,   247,   248,   248,   249,   249,   249,   249,   250,   250,
3780
     251,   251,   252,   252,   253,   253,   253,   253,   254,   254,
3781
     254,   254,   254,   255,   256,   256,   257,   257,   258,   258,
3782
     259,   259,   260,   260,   261,   261,   262,   262,   263,   263,
3783
     264,   264,   265,   265,   266,   266,   267,   267,   268,   268,
3784
     269,   269,   270,   270,   271,   271,   271,   271,   272,   272,
3785
     273,   273,   274,   274,   275,   275,   276,   276,   276,   276,
3786
     277,   277,   277,   278,   278,   279,   279,   280,   280,   281,
3787
     281,   282,   282,   283,   283,   284,   284,   284,   285,   285,
3788
     285,   286,   286,   286,   286,   286,   287,   287,   288,   288,
3789
     289,   290,   290,   291,   291,   292,   292,   293,   293,   293,
3790
     293,   293,   293,   294,   294,   294,   295,   295,   296,   296,
3791
     296,   297,   297,   298,   298,   299,   300,   300,   300,   300,
3792
     301,   301,   302,   303,   303,   304,   304,   305,   305,   306,
3793
     306,   307,   307,   308,   308,   308,   308,   308,   308,   308,
3794
     308,   308,   308,   309,   309,   310,   310,   311,   311,   312,
3795
     312,   312,   313,   313,   314,   314,   316,   315,   317,   317,
3796
     317,   318,   318,   319,   319,   320,   320,   321,   322,   322,
3797
     323,   324,   324,   324,   325,   325,   326,   326,   326,   326,
3798
     328,   327,   329,   329,   329,   330,   331,   331,   331,   331,
3799
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3800
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3801
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3802
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3803
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3804
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3805
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3806
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3807
     331,   331,   332,   332,   333,   334,   335,   336,   337,   337,
3808
     338,   338,   339,   339,   340,   340,   341,   341,   341,   341,
3809
     342,   341,   343,   343,   344,   344,   344,   345,   345,   345,
3810
     346,   346,   347,   347,   347,   347,   348,   348,   348,   348,
3811
     348,   348,   348,   348,   349,   349,   349,   349,   349,   349,
3812
     349,   349,   349,   349,   350,   350,   350,   350,   351,   351,
3813
     352,   353,   353,   353,   353,   353,   354,   354,   355,   355,
3814
     355,   355,   356,   356,   356,   356,   356,   357,   357,   357,
3815
     357,   358,   358,   358,   359,   359,   360,   360,   360,   360,
3816
     360,   360,   361,   361,   361,   362,   362,   362,   363,   364,
3817
     364,   365,   365,   366,   366,   366,   366,   366,   366,   366,
3818
     367,   367,   367,   367,   368,   368,   368,   368,   368,   368,
3819
     368,   368,   369,   369,   369,   369,   370,   370,   370,   370,
3820
     370,   370,   370,   371,   371,   372
3821
};
3822
3823
/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
3824
static const yytype_int8 yyr2[] =
3825
{
3826
       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
3827
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3828
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3829
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3830
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3831
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3832
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3833
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3834
       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
3835
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
3836
       1,     3,     5,     1,     2,     1,     1,     1,     1,     1,
3837
       1,     3,     1,     1,     2,     4,     3,     0,     6,     0,
3838
       5,     3,     4,     3,     4,     1,     1,     6,     6,     0,
3839
       1,     3,     1,     3,     1,     3,     1,     1,     2,     1,
3840
       3,     1,     3,     3,     1,     2,     0,     1,     1,     2,
3841
       4,     3,     1,     1,     5,     7,     9,     5,     3,     3,
3842
       3,     3,     3,     3,     1,     2,     6,     7,     9,     0,
3843
       6,     1,     6,     3,     2,     3,     0,     9,     1,     3,
3844
       0,     1,     0,     4,     1,     3,     1,     1,     1,    13,
3845
       0,     1,     0,     1,     0,    10,     0,     9,     1,     2,
3846
       1,     2,     0,     1,     1,     1,     1,     0,     7,     0,
3847
       8,     0,     9,     0,     2,     5,     0,     2,     0,     2,
3848
       0,     2,     0,     2,     1,     2,     4,     3,     1,     4,
3849
       1,     4,     1,     4,     3,     4,     4,     5,     0,     5,
3850
       5,     4,     4,     7,     0,     2,     1,     3,     4,     4,
3851
       1,     3,     1,     4,     5,     6,     1,     3,     6,     7,
3852
       3,     6,     2,     0,     1,     3,     2,     1,     0,     1,
3853
       7,     9,     0,     1,     1,     2,     1,     1,     1,     1,
3854
       1,     3,     3,     3,     3,     3,     1,     2,     1,     1,
3855
       1,     1,     1,     1,     3,     3,     3,     3,     3,     0,
3856
       2,     2,     4,     1,     3,     2,     4,     4,     3,     1,
3857
       3,     3,     1,     1,     3,     2,     1,     1,     3,     1,
3858
       1,     3,     1,     1,     3,     2,     0,     4,     3,     4,
3859
       5,    12,     1,     1,     2,     3,     1,     3,     1,     2,
3860
       3,     1,     2,     2,     2,     3,     3,     3,     4,     3,
3861
       1,     1,     3,     1,     3,     1,     1,     0,     1,     0,
3862
       1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
3863
       1,     1,     1,     3,     1,     2,     4,     5,     7,     0,
3864
       2,     3,     0,     3,     0,     1,     0,     9,     1,     3,
3865
       3,     0,     3,     3,     1,     4,     4,     4,     3,     1,
3866
       1,     0,     3,     1,     0,     1,     3,     4,     2,     1,
3867
       0,    10,     3,     2,     3,     2,     1,     6,     5,     3,
3868
       4,     2,     2,     3,     3,     3,     3,     3,     3,     3,
3869
       3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
3870
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
3871
       3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
3872
       2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
3873
       3,     3,     3,     3,     1,     1,     5,     4,     3,     1,
3874
       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
3875
       3,     2,     1,     2,     4,     2,     2,     1,     2,     2,
3876
       3,     1,    13,    11,     1,     1,     0,     0,     0,     1,
3877
       0,     5,     3,     1,     1,     2,     2,     2,     4,     4,
3878
       0,     3,     1,     1,     1,     1,     3,     0,     1,     1,
3879
       0,     1,     4,     3,     1,     3,     1,     1,     3,     2,
3880
       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3881
       1,     1,     1,     1,     3,     3,     5,     5,     0,     1,
3882
       1,     1,     3,     1,     1,     1,     1,     1,     1,     3,
3883
       1,     1,     1,     4,     4,     4,     1,     1,     1,     3,
3884
       3,     1,     4,     2,     3,     3,     1,     4,     3,     3,
3885
       3,     3,     1,     3,     1,     1,     3,     1,     1,     0,
3886
       1,     3,     1,     3,     1,     4,     2,     2,     6,     4,
3887
       2,     2,     1,     2,     1,     4,     3,     3,     3,     3,
3888
       6,     3,     1,     1,     2,     1,     5,     4,     2,     2,
3889
       4,     2,     2,     1,     3,     1
3890
};
3891
3892
3893
enum { YYENOMEM = -2 };
3894
3895
#define yyerrok         (yyerrstatus = 0)
3896
#define yyclearin       (yychar = ZENDEMPTY)
3897
3898
57.5k
#define YYACCEPT        goto yyacceptlab
3899
50.7k
#define YYABORT         goto yyabortlab
3900
107
#define YYERROR         goto yyerrorlab
3901
1
#define YYNOMEM         goto yyexhaustedlab
3902
3903
3904
#define YYRECOVERING()  (!!yyerrstatus)
3905
3906
#define YYBACKUP(Token, Value)                                    \
3907
  do                                                              \
3908
    if (yychar == ZENDEMPTY)                                        \
3909
      {                                                           \
3910
        yychar = (Token);                                         \
3911
        yylval = (Value);                                         \
3912
        YYPOPSTACK (yylen);                                       \
3913
        yystate = *yyssp;                                         \
3914
        goto yybackup;                                            \
3915
      }                                                           \
3916
    else                                                          \
3917
      {                                                           \
3918
        yyerror (YY_("syntax error: cannot back up")); \
3919
        YYERROR;                                                  \
3920
      }                                                           \
3921
  while (0)
3922
3923
/* Backward compatibility with an undocumented macro.
3924
   Use ZENDerror or ZENDUNDEF. */
3925
#define YYERRCODE ZENDUNDEF
3926
3927
3928
/* Enable debugging if requested.  */
3929
#if ZENDDEBUG
3930
3931
# ifndef YYFPRINTF
3932
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3933
#  define YYFPRINTF fprintf
3934
# endif
3935
3936
# define YYDPRINTF(Args)                        \
3937
do {                                            \
3938
  if (yydebug)                                  \
3939
    YYFPRINTF Args;                             \
3940
} while (0)
3941
3942
3943
3944
3945
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
3946
do {                                                                      \
3947
  if (yydebug)                                                            \
3948
    {                                                                     \
3949
      YYFPRINTF (stderr, "%s ", Title);                                   \
3950
      yy_symbol_print (stderr,                                            \
3951
                  Kind, Value); \
3952
      YYFPRINTF (stderr, "\n");                                           \
3953
    }                                                                     \
3954
} while (0)
3955
3956
3957
/*-----------------------------------.
3958
| Print this symbol's value on YYO.  |
3959
`-----------------------------------*/
3960
3961
static void
3962
yy_symbol_value_print (FILE *yyo,
3963
                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
3964
{
3965
  FILE *yyoutput = yyo;
3966
  YY_USE (yyoutput);
3967
  if (!yyvaluep)
3968
    return;
3969
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3970
  YY_USE (yykind);
3971
  YY_IGNORE_MAYBE_UNINITIALIZED_END
3972
}
3973
3974
3975
/*---------------------------.
3976
| Print this symbol on YYO.  |
3977
`---------------------------*/
3978
3979
static void
3980
yy_symbol_print (FILE *yyo,
3981
                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
3982
{
3983
  YYFPRINTF (yyo, "%s %s (",
3984
             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
3985
3986
  yy_symbol_value_print (yyo, yykind, yyvaluep);
3987
  YYFPRINTF (yyo, ")");
3988
}
3989
3990
/*------------------------------------------------------------------.
3991
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3992
| TOP (included).                                                   |
3993
`------------------------------------------------------------------*/
3994
3995
static void
3996
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
3997
{
3998
  YYFPRINTF (stderr, "Stack now");
3999
  for (; yybottom <= yytop; yybottom++)
4000
    {
4001
      int yybot = *yybottom;
4002
      YYFPRINTF (stderr, " %d", yybot);
4003
    }
4004
  YYFPRINTF (stderr, "\n");
4005
}
4006
4007
# define YY_STACK_PRINT(Bottom, Top)                            \
4008
do {                                                            \
4009
  if (yydebug)                                                  \
4010
    yy_stack_print ((Bottom), (Top));                           \
4011
} while (0)
4012
4013
4014
/*------------------------------------------------.
4015
| Report that the YYRULE is going to be reduced.  |
4016
`------------------------------------------------*/
4017
4018
static void
4019
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
4020
                 int yyrule)
4021
{
4022
  int yylno = yyrline[yyrule];
4023
  int yynrhs = yyr2[yyrule];
4024
  int yyi;
4025
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
4026
             yyrule - 1, yylno);
4027
  /* The symbols being reduced.  */
4028
  for (yyi = 0; yyi < yynrhs; yyi++)
4029
    {
4030
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
4031
      yy_symbol_print (stderr,
4032
                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
4033
                       &yyvsp[(yyi + 1) - (yynrhs)]);
4034
      YYFPRINTF (stderr, "\n");
4035
    }
4036
}
4037
4038
# define YY_REDUCE_PRINT(Rule)          \
4039
do {                                    \
4040
  if (yydebug)                          \
4041
    yy_reduce_print (yyssp, yyvsp, Rule); \
4042
} while (0)
4043
4044
/* Nonzero means print parse trace.  It is left uninitialized so that
4045
   multiple parsers can coexist.  */
4046
int yydebug;
4047
#else /* !ZENDDEBUG */
4048
21.8M
# define YYDPRINTF(Args) ((void) 0)
4049
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
4050
# define YY_STACK_PRINT(Bottom, Top)
4051
# define YY_REDUCE_PRINT(Rule)
4052
#endif /* !ZENDDEBUG */
4053
4054
4055
/* YYINITDEPTH -- initial size of the parser's stacks.  */
4056
#ifndef YYINITDEPTH
4057
108k
# define YYINITDEPTH 200
4058
#endif
4059
4060
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4061
   if the built-in stack extension method is used).
4062
4063
   Do not make this value too large; the results are undefined if
4064
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4065
   evaluated with infinite-precision integer arithmetic.  */
4066
4067
#ifndef YYMAXDEPTH
4068
4.98k
# define YYMAXDEPTH 10000
4069
#endif
4070
4071
4072
/* Context of a parse error.  */
4073
typedef struct
4074
{
4075
  yy_state_t *yyssp;
4076
  yysymbol_kind_t yytoken;
4077
} yypcontext_t;
4078
4079
/* Put in YYARG at most YYARGN of the expected tokens given the
4080
   current YYCTX, and return the number of tokens stored in YYARG.  If
4081
   YYARG is null, return the number of expected tokens (guaranteed to
4082
   be less than YYNTOKENS).  Return YYENOMEM on memory exhaustion.
4083
   Return 0 if there are more than YYARGN expected tokens, yet fill
4084
   YYARG up to YYARGN. */
4085
static int
4086
yypcontext_expected_tokens (const yypcontext_t *yyctx,
4087
                            yysymbol_kind_t yyarg[], int yyargn)
4088
50.6k
{
4089
  /* Actual size of YYARG. */
4090
50.6k
  int yycount = 0;
4091
50.6k
  int yyn = yypact[+*yyctx->yyssp];
4092
50.6k
  if (!yypact_value_is_default (yyn))
4093
50.6k
    {
4094
      /* Start YYX at -YYN if negative to avoid negative indexes in
4095
         YYCHECK.  In other words, skip the first -YYN actions for
4096
         this state because they are default actions.  */
4097
50.6k
      int yyxbegin = yyn < 0 ? -yyn : 0;
4098
      /* Stay within bounds of both yycheck and yytname.  */
4099
50.6k
      int yychecklim = YYLAST - yyn + 1;
4100
50.6k
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4101
50.6k
      int yyx;
4102
3.23M
      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4103
3.22M
        if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
4104
211k
            && !yytable_value_is_error (yytable[yyx + yyn]))
4105
211k
          {
4106
211k
            if (!yyarg)
4107
0
              ++yycount;
4108
211k
            else if (yycount == yyargn)
4109
37.6k
              return 0;
4110
173k
            else
4111
173k
              yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
4112
211k
          }
4113
50.6k
    }
4114
12.9k
  if (yyarg && yycount == 0 && 0 < yyargn)
4115
0
    yyarg[0] = YYSYMBOL_YYEMPTY;
4116
12.9k
  return yycount;
4117
50.6k
}
4118
4119
4120
4121
4122
#ifndef yystrlen
4123
# if defined __GLIBC__ && defined _STRING_H
4124
50.6k
#  define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
4125
# else
4126
/* Return the length of YYSTR.  */
4127
static YYPTRDIFF_T
4128
yystrlen (const char *yystr)
4129
{
4130
  YYPTRDIFF_T yylen;
4131
  for (yylen = 0; yystr[yylen]; yylen++)
4132
    continue;
4133
  return yylen;
4134
}
4135
# endif
4136
#endif
4137
4138
#ifndef yystpcpy
4139
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4140
50.6k
#  define yystpcpy stpcpy
4141
# else
4142
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4143
   YYDEST.  */
4144
static char *
4145
yystpcpy (char *yydest, const char *yysrc)
4146
{
4147
  char *yyd = yydest;
4148
  const char *yys = yysrc;
4149
4150
  while ((*yyd++ = *yys++) != '\0')
4151
    continue;
4152
4153
  return yyd - 1;
4154
}
4155
# endif
4156
#endif
4157
4158
#ifndef yytnamerr
4159
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4160
   quotes and backslashes, so that it's suitable for yyerror.  The
4161
   heuristic is that double-quoting is unnecessary unless the string
4162
   contains an apostrophe, a comma, or backslash (other than
4163
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
4164
   null, do not copy; instead, return the length of what the result
4165
   would have been.  */
4166
static YYPTRDIFF_T
4167
yytnamerr (char *yyres, const char *yystr)
4168
{
4169
  if (*yystr == '"')
4170
    {
4171
      YYPTRDIFF_T yyn = 0;
4172
      char const *yyp = yystr;
4173
      for (;;)
4174
        switch (*++yyp)
4175
          {
4176
          case '\'':
4177
          case ',':
4178
            goto do_not_strip_quotes;
4179
4180
          case '\\':
4181
            if (*++yyp != '\\')
4182
              goto do_not_strip_quotes;
4183
            else
4184
              goto append;
4185
4186
          append:
4187
          default:
4188
            if (yyres)
4189
              yyres[yyn] = *yyp;
4190
            yyn++;
4191
            break;
4192
4193
          case '"':
4194
            if (yyres)
4195
              yyres[yyn] = '\0';
4196
            return yyn;
4197
          }
4198
    do_not_strip_quotes: ;
4199
    }
4200
4201
  if (yyres)
4202
    return yystpcpy (yyres, yystr) - yyres;
4203
  else
4204
    return yystrlen (yystr);
4205
}
4206
#endif
4207
4208
4209
static int
4210
yy_syntax_error_arguments (const yypcontext_t *yyctx,
4211
                           yysymbol_kind_t yyarg[], int yyargn)
4212
50.6k
{
4213
  /* Actual size of YYARG. */
4214
50.6k
  int yycount = 0;
4215
  /* There are many possibilities here to consider:
4216
     - If this state is a consistent state with a default action, then
4217
       the only way this function was invoked is if the default action
4218
       is an error action.  In that case, don't check for expected
4219
       tokens because there are none.
4220
     - The only way there can be no lookahead present (in yychar) is if
4221
       this state is a consistent state with a default action.  Thus,
4222
       detecting the absence of a lookahead is sufficient to determine
4223
       that there is no unexpected or expected token to report.  In that
4224
       case, just report a simple "syntax error".
4225
     - Don't assume there isn't a lookahead just because this state is a
4226
       consistent state with a default action.  There might have been a
4227
       previous inconsistent state, consistent state with a non-default
4228
       action, or user semantic action that manipulated yychar.
4229
     - Of course, the expected token list depends on states to have
4230
       correct lookahead information, and it depends on the parser not
4231
       to perform extra reductions after fetching a lookahead from the
4232
       scanner and before detecting a syntax error.  Thus, state merging
4233
       (from LALR or IELR) and default reductions corrupt the expected
4234
       token list.  However, the list is correct for canonical LR with
4235
       one exception: it will still contain any token that will not be
4236
       accepted due to an error action in a later state.
4237
  */
4238
50.6k
  if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
4239
50.6k
    {
4240
50.6k
      int yyn;
4241
50.6k
      if (yyarg)
4242
50.6k
        yyarg[yycount] = yyctx->yytoken;
4243
50.6k
      ++yycount;
4244
50.6k
      yyn = yypcontext_expected_tokens (yyctx,
4245
50.6k
                                        yyarg ? yyarg + 1 : yyarg, yyargn - 1);
4246
50.6k
      if (yyn == YYENOMEM)
4247
0
        return YYENOMEM;
4248
50.6k
      else
4249
50.6k
        yycount += yyn;
4250
50.6k
    }
4251
50.6k
  return yycount;
4252
50.6k
}
4253
4254
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
4255
   about the unexpected token YYTOKEN for the state stack whose top is
4256
   YYSSP.
4257
4258
   Return 0 if *YYMSG was successfully written.  Return -1 if *YYMSG is
4259
   not large enough to hold the message.  In that case, also set
4260
   *YYMSG_ALLOC to the required number of bytes.  Return YYENOMEM if the
4261
   required number of bytes is too large to store.  */
4262
static int
4263
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
4264
                const yypcontext_t *yyctx)
4265
50.6k
{
4266
50.6k
  enum { YYARGS_MAX = 5 };
4267
  /* Internationalized format string. */
4268
50.6k
  const char *yyformat = YY_NULLPTR;
4269
  /* Arguments of yyformat: reported tokens (one for the "unexpected",
4270
     one per "expected"). */
4271
50.6k
  yysymbol_kind_t yyarg[YYARGS_MAX];
4272
  /* Cumulated lengths of YYARG.  */
4273
50.6k
  YYPTRDIFF_T yysize = 0;
4274
4275
  /* Actual size of YYARG. */
4276
50.6k
  int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
4277
50.6k
  if (yycount == YYENOMEM)
4278
0
    return YYENOMEM;
4279
4280
50.6k
  switch (yycount)
4281
50.6k
    {
4282
0
#define YYCASE_(N, S)                       \
4283
50.6k
      case N:                               \
4284
50.6k
        yyformat = S;                       \
4285
50.6k
        break
4286
0
    default: /* Avoid compiler warnings. */
4287
0
      YYCASE_(0, YY_("syntax error"));
4288
37.6k
      YYCASE_(1, YY_("syntax error, unexpected %s"));
4289
8.86k
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
4290
304
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
4291
1.62k
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
4292
50.6k
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
4293
50.6k
#undef YYCASE_
4294
50.6k
    }
4295
4296
  /* Compute error message size.  Don't count the "%s"s, but reserve
4297
     room for the terminator.  */
4298
50.6k
  yysize = yystrlen (yyformat) - 2 * yycount + 1;
4299
50.6k
  {
4300
50.6k
    int yyi;
4301
124k
    for (yyi = 0; yyi < yycount; ++yyi)
4302
73.8k
      {
4303
73.8k
        YYPTRDIFF_T yysize1
4304
73.8k
          = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
4305
73.8k
        if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
4306
73.8k
          yysize = yysize1;
4307
0
        else
4308
0
          return YYENOMEM;
4309
73.8k
      }
4310
50.6k
  }
4311
4312
50.6k
  if (*yymsg_alloc < yysize)
4313
8
    {
4314
8
      *yymsg_alloc = 2 * yysize;
4315
8
      if (! (yysize <= *yymsg_alloc
4316
8
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
4317
0
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
4318
8
      return -1;
4319
8
    }
4320
4321
  /* Avoid sprintf, as that infringes on the user's name space.
4322
     Don't have undefined behavior even if the translation
4323
     produced a string with the wrong number of "%s"s.  */
4324
50.6k
  {
4325
50.6k
    char *yyp = *yymsg;
4326
50.6k
    int yyi = 0;
4327
1.58M
    while ((*yyp = *yyformat) != '\0')
4328
1.53M
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
4329
73.7k
        {
4330
73.7k
          yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
4331
73.7k
          yyformat += 2;
4332
73.7k
        }
4333
1.46M
      else
4334
1.46M
        {
4335
1.46M
          ++yyp;
4336
1.46M
          ++yyformat;
4337
1.46M
        }
4338
50.6k
  }
4339
50.6k
  return 0;
4340
50.6k
}
4341
4342
4343
/*-----------------------------------------------.
4344
| Release the memory associated to this symbol.  |
4345
`-----------------------------------------------*/
4346
4347
static void
4348
yydestruct (const char *yymsg,
4349
            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
4350
751k
{
4351
751k
  YY_USE (yyvaluep);
4352
751k
  if (!yymsg)
4353
0
    yymsg = "Deleting";
4354
751k
  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
4355
4356
751k
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4357
751k
  switch (yykind)
4358
751k
    {
4359
227
    case YYSYMBOL_T_LNUMBER: /* "integer"  */
4360
227
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4361
227
            { zend_ast_destroy(((*yyvaluep).ast)); }
4362
227
#line 4363 "/src/php-src/Zend/zend_language_parser.c"
4363
227
        break;
4364
4365
326
    case YYSYMBOL_T_DNUMBER: /* "floating-point number"  */
4366
326
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4367
326
            { zend_ast_destroy(((*yyvaluep).ast)); }
4368
326
#line 4369 "/src/php-src/Zend/zend_language_parser.c"
4369
326
        break;
4370
4371
6.73k
    case YYSYMBOL_T_STRING: /* "identifier"  */
4372
6.73k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4373
6.73k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4374
6.73k
#line 4375 "/src/php-src/Zend/zend_language_parser.c"
4375
6.73k
        break;
4376
4377
83
    case YYSYMBOL_T_NAME_FULLY_QUALIFIED: /* "fully qualified name"  */
4378
83
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4379
83
            { zend_ast_destroy(((*yyvaluep).ast)); }
4380
83
#line 4381 "/src/php-src/Zend/zend_language_parser.c"
4381
83
        break;
4382
4383
89
    case YYSYMBOL_T_NAME_RELATIVE: /* "namespace-relative name"  */
4384
89
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4385
89
            { zend_ast_destroy(((*yyvaluep).ast)); }
4386
89
#line 4387 "/src/php-src/Zend/zend_language_parser.c"
4387
89
        break;
4388
4389
69
    case YYSYMBOL_T_NAME_QUALIFIED: /* "namespaced name"  */
4390
69
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4391
69
            { zend_ast_destroy(((*yyvaluep).ast)); }
4392
69
#line 4393 "/src/php-src/Zend/zend_language_parser.c"
4393
69
        break;
4394
4395
3.18k
    case YYSYMBOL_T_VARIABLE: /* "variable"  */
4396
3.18k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4397
3.18k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4398
3.18k
#line 4399 "/src/php-src/Zend/zend_language_parser.c"
4399
3.18k
        break;
4400
4401
10
    case YYSYMBOL_T_INLINE_HTML: /* T_INLINE_HTML  */
4402
10
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4403
10
            { zend_ast_destroy(((*yyvaluep).ast)); }
4404
10
#line 4405 "/src/php-src/Zend/zend_language_parser.c"
4405
10
        break;
4406
4407
24.0k
    case YYSYMBOL_T_ENCAPSED_AND_WHITESPACE: /* "string content"  */
4408
24.0k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4409
24.0k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4410
24.0k
#line 4411 "/src/php-src/Zend/zend_language_parser.c"
4411
24.0k
        break;
4412
4413
360
    case YYSYMBOL_T_CONSTANT_ENCAPSED_STRING: /* "quoted string"  */
4414
360
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4415
360
            { zend_ast_destroy(((*yyvaluep).ast)); }
4416
360
#line 4417 "/src/php-src/Zend/zend_language_parser.c"
4417
360
        break;
4418
4419
164
    case YYSYMBOL_T_STRING_VARNAME: /* "variable name"  */
4420
164
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4421
164
            { zend_ast_destroy(((*yyvaluep).ast)); }
4422
164
#line 4423 "/src/php-src/Zend/zend_language_parser.c"
4423
164
        break;
4424
4425
6
    case YYSYMBOL_T_NUM_STRING: /* "number"  */
4426
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4427
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4428
6
#line 4429 "/src/php-src/Zend/zend_language_parser.c"
4429
6
        break;
4430
4431
424
    case YYSYMBOL_identifier: /* identifier  */
4432
424
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4433
424
            { zend_ast_destroy(((*yyvaluep).ast)); }
4434
424
#line 4435 "/src/php-src/Zend/zend_language_parser.c"
4435
424
        break;
4436
4437
49.7k
    case YYSYMBOL_top_statement_list: /* top_statement_list  */
4438
49.7k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4439
49.7k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4440
49.7k
#line 4441 "/src/php-src/Zend/zend_language_parser.c"
4441
49.7k
        break;
4442
4443
440
    case YYSYMBOL_namespace_declaration_name: /* namespace_declaration_name  */
4444
440
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4445
440
            { zend_ast_destroy(((*yyvaluep).ast)); }
4446
440
#line 4447 "/src/php-src/Zend/zend_language_parser.c"
4447
440
        break;
4448
4449
1
    case YYSYMBOL_namespace_name: /* namespace_name  */
4450
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4451
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4452
1
#line 4453 "/src/php-src/Zend/zend_language_parser.c"
4453
1
        break;
4454
4455
68
    case YYSYMBOL_legacy_namespace_name: /* legacy_namespace_name  */
4456
68
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4457
68
            { zend_ast_destroy(((*yyvaluep).ast)); }
4458
68
#line 4459 "/src/php-src/Zend/zend_language_parser.c"
4459
68
        break;
4460
4461
7.30k
    case YYSYMBOL_name: /* name  */
4462
7.30k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4463
7.30k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4464
7.30k
#line 4465 "/src/php-src/Zend/zend_language_parser.c"
4465
7.30k
        break;
4466
4467
0
    case YYSYMBOL_attribute_decl: /* attribute_decl  */
4468
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4469
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4470
0
#line 4471 "/src/php-src/Zend/zend_language_parser.c"
4471
0
        break;
4472
4473
114
    case YYSYMBOL_attribute_group: /* attribute_group  */
4474
114
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4475
114
            { zend_ast_destroy(((*yyvaluep).ast)); }
4476
114
#line 4477 "/src/php-src/Zend/zend_language_parser.c"
4477
114
        break;
4478
4479
0
    case YYSYMBOL_attribute: /* attribute  */
4480
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4481
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4482
0
#line 4483 "/src/php-src/Zend/zend_language_parser.c"
4483
0
        break;
4484
4485
408
    case YYSYMBOL_attributes: /* attributes  */
4486
408
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4487
408
            { zend_ast_destroy(((*yyvaluep).ast)); }
4488
408
#line 4489 "/src/php-src/Zend/zend_language_parser.c"
4489
408
        break;
4490
4491
0
    case YYSYMBOL_attributed_statement: /* attributed_statement  */
4492
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4493
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4494
0
#line 4495 "/src/php-src/Zend/zend_language_parser.c"
4495
0
        break;
4496
4497
0
    case YYSYMBOL_attributed_top_statement: /* attributed_top_statement  */
4498
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4499
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4500
0
#line 4501 "/src/php-src/Zend/zend_language_parser.c"
4501
0
        break;
4502
4503
0
    case YYSYMBOL_top_statement: /* top_statement  */
4504
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4505
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4506
0
#line 4507 "/src/php-src/Zend/zend_language_parser.c"
4507
0
        break;
4508
4509
4
    case YYSYMBOL_group_use_declaration: /* group_use_declaration  */
4510
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4511
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4512
4
#line 4513 "/src/php-src/Zend/zend_language_parser.c"
4513
4
        break;
4514
4515
3
    case YYSYMBOL_mixed_group_use_declaration: /* mixed_group_use_declaration  */
4516
3
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4517
3
            { zend_ast_destroy(((*yyvaluep).ast)); }
4518
3
#line 4519 "/src/php-src/Zend/zend_language_parser.c"
4519
3
        break;
4520
4521
43
    case YYSYMBOL_inline_use_declarations: /* inline_use_declarations  */
4522
43
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4523
43
            { zend_ast_destroy(((*yyvaluep).ast)); }
4524
43
#line 4525 "/src/php-src/Zend/zend_language_parser.c"
4525
43
        break;
4526
4527
12
    case YYSYMBOL_unprefixed_use_declarations: /* unprefixed_use_declarations  */
4528
12
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4529
12
            { zend_ast_destroy(((*yyvaluep).ast)); }
4530
12
#line 4531 "/src/php-src/Zend/zend_language_parser.c"
4531
12
        break;
4532
4533
52
    case YYSYMBOL_use_declarations: /* use_declarations  */
4534
52
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4535
52
            { zend_ast_destroy(((*yyvaluep).ast)); }
4536
52
#line 4537 "/src/php-src/Zend/zend_language_parser.c"
4537
52
        break;
4538
4539
0
    case YYSYMBOL_inline_use_declaration: /* inline_use_declaration  */
4540
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4541
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4542
0
#line 4543 "/src/php-src/Zend/zend_language_parser.c"
4543
0
        break;
4544
4545
0
    case YYSYMBOL_unprefixed_use_declaration: /* unprefixed_use_declaration  */
4546
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4547
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4548
0
#line 4549 "/src/php-src/Zend/zend_language_parser.c"
4549
0
        break;
4550
4551
0
    case YYSYMBOL_use_declaration: /* use_declaration  */
4552
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4553
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4554
0
#line 4555 "/src/php-src/Zend/zend_language_parser.c"
4555
0
        break;
4556
4557
96
    case YYSYMBOL_const_list: /* const_list  */
4558
96
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4559
96
            { zend_ast_destroy(((*yyvaluep).ast)); }
4560
96
#line 4561 "/src/php-src/Zend/zend_language_parser.c"
4561
96
        break;
4562
4563
33.3k
    case YYSYMBOL_inner_statement_list: /* inner_statement_list  */
4564
33.3k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4565
33.3k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4566
33.3k
#line 4567 "/src/php-src/Zend/zend_language_parser.c"
4567
33.3k
        break;
4568
4569
0
    case YYSYMBOL_inner_statement: /* inner_statement  */
4570
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4571
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4572
0
#line 4573 "/src/php-src/Zend/zend_language_parser.c"
4573
0
        break;
4574
4575
71
    case YYSYMBOL_statement: /* statement  */
4576
71
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4577
71
            { zend_ast_destroy(((*yyvaluep).ast)); }
4578
71
#line 4579 "/src/php-src/Zend/zend_language_parser.c"
4579
71
        break;
4580
4581
241
    case YYSYMBOL_catch_list: /* catch_list  */
4582
241
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4583
241
            { zend_ast_destroy(((*yyvaluep).ast)); }
4584
241
#line 4585 "/src/php-src/Zend/zend_language_parser.c"
4585
241
        break;
4586
4587
44
    case YYSYMBOL_catch_name_list: /* catch_name_list  */
4588
44
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4589
44
            { zend_ast_destroy(((*yyvaluep).ast)); }
4590
44
#line 4591 "/src/php-src/Zend/zend_language_parser.c"
4591
44
        break;
4592
4593
44
    case YYSYMBOL_optional_variable: /* optional_variable  */
4594
44
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4595
44
            { zend_ast_destroy(((*yyvaluep).ast)); }
4596
44
#line 4597 "/src/php-src/Zend/zend_language_parser.c"
4597
44
        break;
4598
4599
0
    case YYSYMBOL_finally_statement: /* finally_statement  */
4600
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4601
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4602
0
#line 4603 "/src/php-src/Zend/zend_language_parser.c"
4603
0
        break;
4604
4605
76
    case YYSYMBOL_unset_variables: /* unset_variables  */
4606
76
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4607
76
            { zend_ast_destroy(((*yyvaluep).ast)); }
4608
76
#line 4609 "/src/php-src/Zend/zend_language_parser.c"
4609
76
        break;
4610
4611
0
    case YYSYMBOL_unset_variable: /* unset_variable  */
4612
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4613
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4614
0
#line 4615 "/src/php-src/Zend/zend_language_parser.c"
4615
0
        break;
4616
4617
582
    case YYSYMBOL_function_name: /* function_name  */
4618
582
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4619
582
            { zend_ast_destroy(((*yyvaluep).ast)); }
4620
582
#line 4621 "/src/php-src/Zend/zend_language_parser.c"
4621
582
        break;
4622
4623
0
    case YYSYMBOL_function_declaration_statement: /* function_declaration_statement  */
4624
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4625
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4626
0
#line 4627 "/src/php-src/Zend/zend_language_parser.c"
4627
0
        break;
4628
4629
0
    case YYSYMBOL_class_declaration_statement: /* class_declaration_statement  */
4630
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4631
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4632
0
#line 4633 "/src/php-src/Zend/zend_language_parser.c"
4633
0
        break;
4634
4635
0
    case YYSYMBOL_trait_declaration_statement: /* trait_declaration_statement  */
4636
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4637
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4638
0
#line 4639 "/src/php-src/Zend/zend_language_parser.c"
4639
0
        break;
4640
4641
0
    case YYSYMBOL_interface_declaration_statement: /* interface_declaration_statement  */
4642
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4643
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4644
0
#line 4645 "/src/php-src/Zend/zend_language_parser.c"
4645
0
        break;
4646
4647
0
    case YYSYMBOL_enum_declaration_statement: /* enum_declaration_statement  */
4648
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4649
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4650
0
#line 4651 "/src/php-src/Zend/zend_language_parser.c"
4651
0
        break;
4652
4653
520
    case YYSYMBOL_enum_backing_type: /* enum_backing_type  */
4654
520
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4655
520
            { zend_ast_destroy(((*yyvaluep).ast)); }
4656
520
#line 4657 "/src/php-src/Zend/zend_language_parser.c"
4657
520
        break;
4658
4659
0
    case YYSYMBOL_enum_case: /* enum_case  */
4660
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4661
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4662
0
#line 4663 "/src/php-src/Zend/zend_language_parser.c"
4663
0
        break;
4664
4665
9
    case YYSYMBOL_enum_case_expr: /* enum_case_expr  */
4666
9
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4667
9
            { zend_ast_destroy(((*yyvaluep).ast)); }
4668
9
#line 4669 "/src/php-src/Zend/zend_language_parser.c"
4669
9
        break;
4670
4671
550
    case YYSYMBOL_extends_from: /* extends_from  */
4672
550
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4673
550
            { zend_ast_destroy(((*yyvaluep).ast)); }
4674
550
#line 4675 "/src/php-src/Zend/zend_language_parser.c"
4675
550
        break;
4676
4677
108
    case YYSYMBOL_interface_extends_list: /* interface_extends_list  */
4678
108
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4679
108
            { zend_ast_destroy(((*yyvaluep).ast)); }
4680
108
#line 4681 "/src/php-src/Zend/zend_language_parser.c"
4681
108
        break;
4682
4683
1.07k
    case YYSYMBOL_implements_list: /* implements_list  */
4684
1.07k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4685
1.07k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4686
1.07k
#line 4687 "/src/php-src/Zend/zend_language_parser.c"
4687
1.07k
        break;
4688
4689
218
    case YYSYMBOL_foreach_variable: /* foreach_variable  */
4690
218
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4691
218
            { zend_ast_destroy(((*yyvaluep).ast)); }
4692
218
#line 4693 "/src/php-src/Zend/zend_language_parser.c"
4693
218
        break;
4694
4695
0
    case YYSYMBOL_for_statement: /* for_statement  */
4696
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4697
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4698
0
#line 4699 "/src/php-src/Zend/zend_language_parser.c"
4699
0
        break;
4700
4701
0
    case YYSYMBOL_foreach_statement: /* foreach_statement  */
4702
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4703
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4704
0
#line 4705 "/src/php-src/Zend/zend_language_parser.c"
4705
0
        break;
4706
4707
0
    case YYSYMBOL_declare_statement: /* declare_statement  */
4708
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4709
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4710
0
#line 4711 "/src/php-src/Zend/zend_language_parser.c"
4711
0
        break;
4712
4713
0
    case YYSYMBOL_switch_case_list: /* switch_case_list  */
4714
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4715
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4716
0
#line 4717 "/src/php-src/Zend/zend_language_parser.c"
4717
0
        break;
4718
4719
56
    case YYSYMBOL_case_list: /* case_list  */
4720
56
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4721
56
            { zend_ast_destroy(((*yyvaluep).ast)); }
4722
56
#line 4723 "/src/php-src/Zend/zend_language_parser.c"
4723
56
        break;
4724
4725
0
    case YYSYMBOL_match: /* match  */
4726
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4727
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4728
0
#line 4729 "/src/php-src/Zend/zend_language_parser.c"
4729
0
        break;
4730
4731
15
    case YYSYMBOL_match_arm_list: /* match_arm_list  */
4732
15
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4733
15
            { zend_ast_destroy(((*yyvaluep).ast)); }
4734
15
#line 4735 "/src/php-src/Zend/zend_language_parser.c"
4735
15
        break;
4736
4737
247
    case YYSYMBOL_non_empty_match_arm_list: /* non_empty_match_arm_list  */
4738
247
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4739
247
            { zend_ast_destroy(((*yyvaluep).ast)); }
4740
247
#line 4741 "/src/php-src/Zend/zend_language_parser.c"
4741
247
        break;
4742
4743
0
    case YYSYMBOL_match_arm: /* match_arm  */
4744
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4745
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4746
0
#line 4747 "/src/php-src/Zend/zend_language_parser.c"
4747
0
        break;
4748
4749
99
    case YYSYMBOL_match_arm_cond_list: /* match_arm_cond_list  */
4750
99
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4751
99
            { zend_ast_destroy(((*yyvaluep).ast)); }
4752
99
#line 4753 "/src/php-src/Zend/zend_language_parser.c"
4753
99
        break;
4754
4755
0
    case YYSYMBOL_while_statement: /* while_statement  */
4756
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4757
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4758
0
#line 4759 "/src/php-src/Zend/zend_language_parser.c"
4759
0
        break;
4760
4761
34
    case YYSYMBOL_if_stmt_without_else: /* if_stmt_without_else  */
4762
34
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4763
34
            { zend_ast_destroy(((*yyvaluep).ast)); }
4764
34
#line 4765 "/src/php-src/Zend/zend_language_parser.c"
4765
34
        break;
4766
4767
0
    case YYSYMBOL_if_stmt: /* if_stmt  */
4768
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4769
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4770
0
#line 4771 "/src/php-src/Zend/zend_language_parser.c"
4771
0
        break;
4772
4773
74
    case YYSYMBOL_alt_if_stmt_without_else: /* alt_if_stmt_without_else  */
4774
74
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4775
74
            { zend_ast_destroy(((*yyvaluep).ast)); }
4776
74
#line 4777 "/src/php-src/Zend/zend_language_parser.c"
4777
74
        break;
4778
4779
0
    case YYSYMBOL_alt_if_stmt: /* alt_if_stmt  */
4780
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4781
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4782
0
#line 4783 "/src/php-src/Zend/zend_language_parser.c"
4783
0
        break;
4784
4785
2.28k
    case YYSYMBOL_parameter_list: /* parameter_list  */
4786
2.28k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4787
2.28k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4788
2.28k
#line 4789 "/src/php-src/Zend/zend_language_parser.c"
4789
2.28k
        break;
4790
4791
227
    case YYSYMBOL_non_empty_parameter_list: /* non_empty_parameter_list  */
4792
227
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4793
227
            { zend_ast_destroy(((*yyvaluep).ast)); }
4794
227
#line 4795 "/src/php-src/Zend/zend_language_parser.c"
4795
227
        break;
4796
4797
0
    case YYSYMBOL_attributed_parameter: /* attributed_parameter  */
4798
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4799
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4800
0
#line 4801 "/src/php-src/Zend/zend_language_parser.c"
4801
0
        break;
4802
4803
0
    case YYSYMBOL_parameter: /* parameter  */
4804
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4805
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4806
0
#line 4807 "/src/php-src/Zend/zend_language_parser.c"
4807
0
        break;
4808
4809
1.77k
    case YYSYMBOL_optional_type_without_static: /* optional_type_without_static  */
4810
1.77k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4811
1.77k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4812
1.77k
#line 4813 "/src/php-src/Zend/zend_language_parser.c"
4813
1.77k
        break;
4814
4815
48
    case YYSYMBOL_type_expr: /* type_expr  */
4816
48
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4817
48
            { zend_ast_destroy(((*yyvaluep).ast)); }
4818
48
#line 4819 "/src/php-src/Zend/zend_language_parser.c"
4819
48
        break;
4820
4821
10
    case YYSYMBOL_type: /* type  */
4822
10
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4823
10
            { zend_ast_destroy(((*yyvaluep).ast)); }
4824
10
#line 4825 "/src/php-src/Zend/zend_language_parser.c"
4825
10
        break;
4826
4827
6
    case YYSYMBOL_union_type_element: /* union_type_element  */
4828
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4829
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4830
6
#line 4831 "/src/php-src/Zend/zend_language_parser.c"
4831
6
        break;
4832
4833
5
    case YYSYMBOL_union_type: /* union_type  */
4834
5
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4835
5
            { zend_ast_destroy(((*yyvaluep).ast)); }
4836
5
#line 4837 "/src/php-src/Zend/zend_language_parser.c"
4837
5
        break;
4838
4839
7
    case YYSYMBOL_intersection_type: /* intersection_type  */
4840
7
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4841
7
            { zend_ast_destroy(((*yyvaluep).ast)); }
4842
7
#line 4843 "/src/php-src/Zend/zend_language_parser.c"
4843
7
        break;
4844
4845
0
    case YYSYMBOL_type_expr_without_static: /* type_expr_without_static  */
4846
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4847
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4848
0
#line 4849 "/src/php-src/Zend/zend_language_parser.c"
4849
0
        break;
4850
4851
7
    case YYSYMBOL_type_without_static: /* type_without_static  */
4852
7
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4853
7
            { zend_ast_destroy(((*yyvaluep).ast)); }
4854
7
#line 4855 "/src/php-src/Zend/zend_language_parser.c"
4855
7
        break;
4856
4857
8
    case YYSYMBOL_union_type_without_static_element: /* union_type_without_static_element  */
4858
8
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4859
8
            { zend_ast_destroy(((*yyvaluep).ast)); }
4860
8
#line 4861 "/src/php-src/Zend/zend_language_parser.c"
4861
8
        break;
4862
4863
12
    case YYSYMBOL_union_type_without_static: /* union_type_without_static  */
4864
12
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4865
12
            { zend_ast_destroy(((*yyvaluep).ast)); }
4866
12
#line 4867 "/src/php-src/Zend/zend_language_parser.c"
4867
12
        break;
4868
4869
8
    case YYSYMBOL_intersection_type_without_static: /* intersection_type_without_static  */
4870
8
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4871
8
            { zend_ast_destroy(((*yyvaluep).ast)); }
4872
8
#line 4873 "/src/php-src/Zend/zend_language_parser.c"
4873
8
        break;
4874
4875
2.17k
    case YYSYMBOL_return_type: /* return_type  */
4876
2.17k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4877
2.17k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4878
2.17k
#line 4879 "/src/php-src/Zend/zend_language_parser.c"
4879
2.17k
        break;
4880
4881
0
    case YYSYMBOL_argument_list: /* argument_list  */
4882
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4883
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4884
0
#line 4885 "/src/php-src/Zend/zend_language_parser.c"
4885
0
        break;
4886
4887
3.50k
    case YYSYMBOL_non_empty_argument_list: /* non_empty_argument_list  */
4888
3.50k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4889
3.50k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4890
3.50k
#line 4891 "/src/php-src/Zend/zend_language_parser.c"
4891
3.50k
        break;
4892
4893
0
    case YYSYMBOL_clone_argument_list: /* clone_argument_list  */
4894
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4895
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4896
0
#line 4897 "/src/php-src/Zend/zend_language_parser.c"
4897
0
        break;
4898
4899
410
    case YYSYMBOL_non_empty_clone_argument_list: /* non_empty_clone_argument_list  */
4900
410
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4901
410
            { zend_ast_destroy(((*yyvaluep).ast)); }
4902
410
#line 4903 "/src/php-src/Zend/zend_language_parser.c"
4903
410
        break;
4904
4905
0
    case YYSYMBOL_argument_no_expr: /* argument_no_expr  */
4906
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4907
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4908
0
#line 4909 "/src/php-src/Zend/zend_language_parser.c"
4909
0
        break;
4910
4911
0
    case YYSYMBOL_argument: /* argument  */
4912
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4913
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4914
0
#line 4915 "/src/php-src/Zend/zend_language_parser.c"
4915
0
        break;
4916
4917
9
    case YYSYMBOL_global_var_list: /* global_var_list  */
4918
9
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4919
9
            { zend_ast_destroy(((*yyvaluep).ast)); }
4920
9
#line 4921 "/src/php-src/Zend/zend_language_parser.c"
4921
9
        break;
4922
4923
0
    case YYSYMBOL_global_var: /* global_var  */
4924
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4925
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4926
0
#line 4927 "/src/php-src/Zend/zend_language_parser.c"
4927
0
        break;
4928
4929
79
    case YYSYMBOL_static_var_list: /* static_var_list  */
4930
79
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4931
79
            { zend_ast_destroy(((*yyvaluep).ast)); }
4932
79
#line 4933 "/src/php-src/Zend/zend_language_parser.c"
4933
79
        break;
4934
4935
0
    case YYSYMBOL_static_var: /* static_var  */
4936
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4937
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4938
0
#line 4939 "/src/php-src/Zend/zend_language_parser.c"
4939
0
        break;
4940
4941
701
    case YYSYMBOL_class_statement_list: /* class_statement_list  */
4942
701
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4943
701
            { zend_ast_destroy(((*yyvaluep).ast)); }
4944
701
#line 4945 "/src/php-src/Zend/zend_language_parser.c"
4945
701
        break;
4946
4947
0
    case YYSYMBOL_attributed_class_statement: /* attributed_class_statement  */
4948
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4949
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4950
0
#line 4951 "/src/php-src/Zend/zend_language_parser.c"
4951
0
        break;
4952
4953
0
    case YYSYMBOL_class_statement: /* class_statement  */
4954
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4955
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4956
0
#line 4957 "/src/php-src/Zend/zend_language_parser.c"
4957
0
        break;
4958
4959
53
    case YYSYMBOL_class_name_list: /* class_name_list  */
4960
53
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4961
53
            { zend_ast_destroy(((*yyvaluep).ast)); }
4962
53
#line 4963 "/src/php-src/Zend/zend_language_parser.c"
4963
53
        break;
4964
4965
0
    case YYSYMBOL_trait_adaptations: /* trait_adaptations  */
4966
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4967
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4968
0
#line 4969 "/src/php-src/Zend/zend_language_parser.c"
4969
0
        break;
4970
4971
31
    case YYSYMBOL_trait_adaptation_list: /* trait_adaptation_list  */
4972
31
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4973
31
            { zend_ast_destroy(((*yyvaluep).ast)); }
4974
31
#line 4975 "/src/php-src/Zend/zend_language_parser.c"
4975
31
        break;
4976
4977
0
    case YYSYMBOL_trait_adaptation: /* trait_adaptation  */
4978
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4979
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4980
0
#line 4981 "/src/php-src/Zend/zend_language_parser.c"
4981
0
        break;
4982
4983
1
    case YYSYMBOL_trait_precedence: /* trait_precedence  */
4984
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4985
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4986
1
#line 4987 "/src/php-src/Zend/zend_language_parser.c"
4987
1
        break;
4988
4989
9
    case YYSYMBOL_trait_alias: /* trait_alias  */
4990
9
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4991
9
            { zend_ast_destroy(((*yyvaluep).ast)); }
4992
9
#line 4993 "/src/php-src/Zend/zend_language_parser.c"
4993
9
        break;
4994
4995
7
    case YYSYMBOL_trait_method_reference: /* trait_method_reference  */
4996
7
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4997
7
            { zend_ast_destroy(((*yyvaluep).ast)); }
4998
7
#line 4999 "/src/php-src/Zend/zend_language_parser.c"
4999
7
        break;
5000
5001
2
    case YYSYMBOL_absolute_trait_method_reference: /* absolute_trait_method_reference  */
5002
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5003
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
5004
2
#line 5005 "/src/php-src/Zend/zend_language_parser.c"
5005
2
        break;
5006
5007
0
    case YYSYMBOL_method_body: /* method_body  */
5008
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5009
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5010
0
#line 5011 "/src/php-src/Zend/zend_language_parser.c"
5011
0
        break;
5012
5013
0
    case YYSYMBOL_non_empty_member_modifiers: /* non_empty_member_modifiers  */
5014
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5015
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5016
0
#line 5017 "/src/php-src/Zend/zend_language_parser.c"
5017
0
        break;
5018
5019
46
    case YYSYMBOL_property_list: /* property_list  */
5020
46
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5021
46
            { zend_ast_destroy(((*yyvaluep).ast)); }
5022
46
#line 5023 "/src/php-src/Zend/zend_language_parser.c"
5023
46
        break;
5024
5025
0
    case YYSYMBOL_property: /* property  */
5026
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5027
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5028
0
#line 5029 "/src/php-src/Zend/zend_language_parser.c"
5029
0
        break;
5030
5031
0
    case YYSYMBOL_hooked_property: /* hooked_property  */
5032
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5033
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5034
0
#line 5035 "/src/php-src/Zend/zend_language_parser.c"
5035
0
        break;
5036
5037
1.25k
    case YYSYMBOL_property_hook_list: /* property_hook_list  */
5038
1.25k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5039
1.25k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5040
1.25k
#line 5041 "/src/php-src/Zend/zend_language_parser.c"
5041
1.25k
        break;
5042
5043
0
    case YYSYMBOL_optional_property_hook_list: /* optional_property_hook_list  */
5044
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5045
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5046
0
#line 5047 "/src/php-src/Zend/zend_language_parser.c"
5047
0
        break;
5048
5049
0
    case YYSYMBOL_property_hook: /* property_hook  */
5050
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5051
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5052
0
#line 5053 "/src/php-src/Zend/zend_language_parser.c"
5053
0
        break;
5054
5055
0
    case YYSYMBOL_property_hook_body: /* property_hook_body  */
5056
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5057
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5058
0
#line 5059 "/src/php-src/Zend/zend_language_parser.c"
5059
0
        break;
5060
5061
361
    case YYSYMBOL_optional_parameter_list: /* optional_parameter_list  */
5062
361
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5063
361
            { zend_ast_destroy(((*yyvaluep).ast)); }
5064
361
#line 5065 "/src/php-src/Zend/zend_language_parser.c"
5065
361
        break;
5066
5067
18
    case YYSYMBOL_class_const_list: /* class_const_list  */
5068
18
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5069
18
            { zend_ast_destroy(((*yyvaluep).ast)); }
5070
18
#line 5071 "/src/php-src/Zend/zend_language_parser.c"
5071
18
        break;
5072
5073
0
    case YYSYMBOL_class_const_decl: /* class_const_decl  */
5074
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5075
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5076
0
#line 5077 "/src/php-src/Zend/zend_language_parser.c"
5077
0
        break;
5078
5079
0
    case YYSYMBOL_const_decl: /* const_decl  */
5080
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5081
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5082
0
#line 5083 "/src/php-src/Zend/zend_language_parser.c"
5083
0
        break;
5084
5085
217
    case YYSYMBOL_echo_expr_list: /* echo_expr_list  */
5086
217
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5087
217
            { zend_ast_destroy(((*yyvaluep).ast)); }
5088
217
#line 5089 "/src/php-src/Zend/zend_language_parser.c"
5089
217
        break;
5090
5091
0
    case YYSYMBOL_echo_expr: /* echo_expr  */
5092
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5093
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5094
0
#line 5095 "/src/php-src/Zend/zend_language_parser.c"
5095
0
        break;
5096
5097
618
    case YYSYMBOL_for_cond_exprs: /* for_cond_exprs  */
5098
618
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5099
618
            { zend_ast_destroy(((*yyvaluep).ast)); }
5100
618
#line 5101 "/src/php-src/Zend/zend_language_parser.c"
5101
618
        break;
5102
5103
1.24k
    case YYSYMBOL_for_exprs: /* for_exprs  */
5104
1.24k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5105
1.24k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5106
1.24k
#line 5107 "/src/php-src/Zend/zend_language_parser.c"
5107
1.24k
        break;
5108
5109
82
    case YYSYMBOL_non_empty_for_exprs: /* non_empty_for_exprs  */
5110
82
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5111
82
            { zend_ast_destroy(((*yyvaluep).ast)); }
5112
82
#line 5113 "/src/php-src/Zend/zend_language_parser.c"
5113
82
        break;
5114
5115
0
    case YYSYMBOL_anonymous_class: /* anonymous_class  */
5116
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5117
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5118
0
#line 5119 "/src/php-src/Zend/zend_language_parser.c"
5119
0
        break;
5120
5121
0
    case YYSYMBOL_new_dereferenceable: /* new_dereferenceable  */
5122
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5123
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5124
0
#line 5125 "/src/php-src/Zend/zend_language_parser.c"
5125
0
        break;
5126
5127
0
    case YYSYMBOL_new_non_dereferenceable: /* new_non_dereferenceable  */
5128
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5129
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5130
0
#line 5131 "/src/php-src/Zend/zend_language_parser.c"
5131
0
        break;
5132
5133
36.7k
    case YYSYMBOL_expr: /* expr  */
5134
36.7k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5135
36.7k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5136
36.7k
#line 5137 "/src/php-src/Zend/zend_language_parser.c"
5137
36.7k
        break;
5138
5139
0
    case YYSYMBOL_inline_function: /* inline_function  */
5140
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5141
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5142
0
#line 5143 "/src/php-src/Zend/zend_language_parser.c"
5143
0
        break;
5144
5145
7.11k
    case YYSYMBOL_backup_doc_comment: /* backup_doc_comment  */
5146
7.11k
#line 51 "/src/php-src/Zend/zend_language_parser.y"
5147
7.11k
            { if (((*yyvaluep).str)) zend_string_release_ex(((*yyvaluep).str), 0); }
5148
7.11k
#line 5149 "/src/php-src/Zend/zend_language_parser.c"
5149
7.11k
        break;
5150
5151
719
    case YYSYMBOL_lexical_vars: /* lexical_vars  */
5152
719
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5153
719
            { zend_ast_destroy(((*yyvaluep).ast)); }
5154
719
#line 5155 "/src/php-src/Zend/zend_language_parser.c"
5155
719
        break;
5156
5157
9
    case YYSYMBOL_lexical_var_list: /* lexical_var_list  */
5158
9
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5159
9
            { zend_ast_destroy(((*yyvaluep).ast)); }
5160
9
#line 5161 "/src/php-src/Zend/zend_language_parser.c"
5161
9
        break;
5162
5163
0
    case YYSYMBOL_lexical_var: /* lexical_var  */
5164
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5165
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5166
0
#line 5167 "/src/php-src/Zend/zend_language_parser.c"
5167
0
        break;
5168
5169
0
    case YYSYMBOL_function_call: /* function_call  */
5170
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5171
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5172
0
#line 5173 "/src/php-src/Zend/zend_language_parser.c"
5173
0
        break;
5174
5175
663
    case YYSYMBOL_class_name: /* class_name  */
5176
663
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5177
663
            { zend_ast_destroy(((*yyvaluep).ast)); }
5178
663
#line 5179 "/src/php-src/Zend/zend_language_parser.c"
5179
663
        break;
5180
5181
417
    case YYSYMBOL_class_name_reference: /* class_name_reference  */
5182
417
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5183
417
            { zend_ast_destroy(((*yyvaluep).ast)); }
5184
417
#line 5185 "/src/php-src/Zend/zend_language_parser.c"
5185
417
        break;
5186
5187
803
    case YYSYMBOL_backticks_expr: /* backticks_expr  */
5188
803
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5189
803
            { zend_ast_destroy(((*yyvaluep).ast)); }
5190
803
#line 5191 "/src/php-src/Zend/zend_language_parser.c"
5191
803
        break;
5192
5193
69
    case YYSYMBOL_ctor_arguments: /* ctor_arguments  */
5194
69
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5195
69
            { zend_ast_destroy(((*yyvaluep).ast)); }
5196
69
#line 5197 "/src/php-src/Zend/zend_language_parser.c"
5197
69
        break;
5198
5199
0
    case YYSYMBOL_dereferenceable_scalar: /* dereferenceable_scalar  */
5200
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5201
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5202
0
#line 5203 "/src/php-src/Zend/zend_language_parser.c"
5203
0
        break;
5204
5205
0
    case YYSYMBOL_scalar: /* scalar  */
5206
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5207
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5208
0
#line 5209 "/src/php-src/Zend/zend_language_parser.c"
5209
0
        break;
5210
5211
0
    case YYSYMBOL_constant: /* constant  */
5212
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5213
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5214
0
#line 5215 "/src/php-src/Zend/zend_language_parser.c"
5215
0
        break;
5216
5217
0
    case YYSYMBOL_class_constant: /* class_constant  */
5218
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5219
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5220
0
#line 5221 "/src/php-src/Zend/zend_language_parser.c"
5221
0
        break;
5222
5223
398
    case YYSYMBOL_optional_expr: /* optional_expr  */
5224
398
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5225
398
            { zend_ast_destroy(((*yyvaluep).ast)); }
5226
398
#line 5227 "/src/php-src/Zend/zend_language_parser.c"
5227
398
        break;
5228
5229
228
    case YYSYMBOL_variable_class_name: /* variable_class_name  */
5230
228
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5231
228
            { zend_ast_destroy(((*yyvaluep).ast)); }
5232
228
#line 5233 "/src/php-src/Zend/zend_language_parser.c"
5233
228
        break;
5234
5235
0
    case YYSYMBOL_fully_dereferenceable: /* fully_dereferenceable  */
5236
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5237
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5238
0
#line 5239 "/src/php-src/Zend/zend_language_parser.c"
5239
0
        break;
5240
5241
2.51k
    case YYSYMBOL_array_object_dereferenceable: /* array_object_dereferenceable  */
5242
2.51k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5243
2.51k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5244
2.51k
#line 5245 "/src/php-src/Zend/zend_language_parser.c"
5245
2.51k
        break;
5246
5247
2.56k
    case YYSYMBOL_callable_expr: /* callable_expr  */
5248
2.56k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5249
2.56k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5250
2.56k
#line 5251 "/src/php-src/Zend/zend_language_parser.c"
5251
2.56k
        break;
5252
5253
0
    case YYSYMBOL_callable_variable: /* callable_variable  */
5254
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5255
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5256
0
#line 5257 "/src/php-src/Zend/zend_language_parser.c"
5257
0
        break;
5258
5259
1.05k
    case YYSYMBOL_variable: /* variable  */
5260
1.05k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5261
1.05k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5262
1.05k
#line 5263 "/src/php-src/Zend/zend_language_parser.c"
5263
1.05k
        break;
5264
5265
0
    case YYSYMBOL_simple_variable: /* simple_variable  */
5266
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5267
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5268
0
#line 5269 "/src/php-src/Zend/zend_language_parser.c"
5269
0
        break;
5270
5271
0
    case YYSYMBOL_static_member: /* static_member  */
5272
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5273
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5274
0
#line 5275 "/src/php-src/Zend/zend_language_parser.c"
5275
0
        break;
5276
5277
401
    case YYSYMBOL_new_variable: /* new_variable  */
5278
401
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5279
401
            { zend_ast_destroy(((*yyvaluep).ast)); }
5280
401
#line 5281 "/src/php-src/Zend/zend_language_parser.c"
5281
401
        break;
5282
5283
352
    case YYSYMBOL_member_name: /* member_name  */
5284
352
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5285
352
            { zend_ast_destroy(((*yyvaluep).ast)); }
5286
352
#line 5287 "/src/php-src/Zend/zend_language_parser.c"
5287
352
        break;
5288
5289
264
    case YYSYMBOL_property_name: /* property_name  */
5290
264
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5291
264
            { zend_ast_destroy(((*yyvaluep).ast)); }
5292
264
#line 5293 "/src/php-src/Zend/zend_language_parser.c"
5293
264
        break;
5294
5295
631
    case YYSYMBOL_array_pair_list: /* array_pair_list  */
5296
631
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5297
631
            { zend_ast_destroy(((*yyvaluep).ast)); }
5298
631
#line 5299 "/src/php-src/Zend/zend_language_parser.c"
5299
631
        break;
5300
5301
0
    case YYSYMBOL_possible_array_pair: /* possible_array_pair  */
5302
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5303
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5304
0
#line 5305 "/src/php-src/Zend/zend_language_parser.c"
5305
0
        break;
5306
5307
570
    case YYSYMBOL_non_empty_array_pair_list: /* non_empty_array_pair_list  */
5308
570
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5309
570
            { zend_ast_destroy(((*yyvaluep).ast)); }
5310
570
#line 5311 "/src/php-src/Zend/zend_language_parser.c"
5311
570
        break;
5312
5313
0
    case YYSYMBOL_array_pair: /* array_pair  */
5314
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5315
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5316
0
#line 5317 "/src/php-src/Zend/zend_language_parser.c"
5317
0
        break;
5318
5319
5.90k
    case YYSYMBOL_encaps_list: /* encaps_list  */
5320
5.90k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5321
5.90k
            { zend_ast_destroy(((*yyvaluep).ast)); }
5322
5.90k
#line 5323 "/src/php-src/Zend/zend_language_parser.c"
5323
5.90k
        break;
5324
5325
0
    case YYSYMBOL_encaps_var: /* encaps_var  */
5326
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5327
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5328
0
#line 5329 "/src/php-src/Zend/zend_language_parser.c"
5329
0
        break;
5330
5331
950
    case YYSYMBOL_encaps_var_offset: /* encaps_var_offset  */
5332
950
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5333
950
            { zend_ast_destroy(((*yyvaluep).ast)); }
5334
950
#line 5335 "/src/php-src/Zend/zend_language_parser.c"
5335
950
        break;
5336
5337
0
    case YYSYMBOL_internal_functions_in_yacc: /* internal_functions_in_yacc  */
5338
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5339
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5340
0
#line 5341 "/src/php-src/Zend/zend_language_parser.c"
5341
0
        break;
5342
5343
98
    case YYSYMBOL_isset_variables: /* isset_variables  */
5344
98
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5345
98
            { zend_ast_destroy(((*yyvaluep).ast)); }
5346
98
#line 5347 "/src/php-src/Zend/zend_language_parser.c"
5347
98
        break;
5348
5349
0
    case YYSYMBOL_isset_variable: /* isset_variable  */
5350
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5351
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5352
0
#line 5353 "/src/php-src/Zend/zend_language_parser.c"
5353
0
        break;
5354
5355
542k
      default:
5356
542k
        break;
5357
751k
    }
5358
751k
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5359
751k
}
5360
5361
5362
5363
5364
5365
5366
/*----------.
5367
| yyparse.  |
5368
`----------*/
5369
5370
int
5371
yyparse (void)
5372
108k
{
5373
/* Lookahead token kind.  */
5374
108k
int yychar;
5375
5376
5377
/* The semantic value of the lookahead symbol.  */
5378
/* Default value used for initialization, for pacifying older GCCs
5379
   or non-GCC compilers.  */
5380
108k
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
5381
108k
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
5382
5383
    /* Number of syntax errors so far.  */
5384
108k
    int yynerrs = 0;
5385
5386
108k
    yy_state_fast_t yystate = 0;
5387
    /* Number of tokens to shift before error messages enabled.  */
5388
108k
    int yyerrstatus = 0;
5389
5390
    /* Refer to the stacks through separate pointers, to allow yyoverflow
5391
       to reallocate them elsewhere.  */
5392
5393
    /* Their size.  */
5394
108k
    YYPTRDIFF_T yystacksize = YYINITDEPTH;
5395
5396
    /* The state stack: array, bottom, top.  */
5397
108k
    yy_state_t yyssa[YYINITDEPTH];
5398
108k
    yy_state_t *yyss = yyssa;
5399
108k
    yy_state_t *yyssp = yyss;
5400
5401
    /* The semantic value stack: array, bottom, top.  */
5402
108k
    YYSTYPE yyvsa[YYINITDEPTH];
5403
108k
    YYSTYPE *yyvs = yyvsa;
5404
108k
    YYSTYPE *yyvsp = yyvs;
5405
5406
108k
  int yyn;
5407
  /* The return value of yyparse.  */
5408
108k
  int yyresult;
5409
  /* Lookahead symbol kind.  */
5410
108k
  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
5411
  /* The variables used to return semantic value and location from the
5412
     action routines.  */
5413
108k
  YYSTYPE yyval;
5414
5415
  /* Buffer for error messages, and its allocated size.  */
5416
108k
  char yymsgbuf[128];
5417
108k
  char *yymsg = yymsgbuf;
5418
108k
  YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
5419
5420
11.6M
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
5421
5422
  /* The number of symbols on the RHS of the reduced rule.
5423
     Keep to zero when no symbol should be popped.  */
5424
108k
  int yylen = 0;
5425
5426
108k
  YYDPRINTF ((stderr, "Starting parse\n"));
5427
5428
108k
  yychar = ZENDEMPTY; /* Cause a token to be read.  */
5429
5430
108k
  goto yysetstate;
5431
5432
5433
/*------------------------------------------------------------.
5434
| yynewstate -- push a new state, which is found in yystate.  |
5435
`------------------------------------------------------------*/
5436
16.1M
yynewstate:
5437
  /* In all cases, when you get here, the value and location stacks
5438
     have just been pushed.  So pushing a state here evens the stacks.  */
5439
16.1M
  yyssp++;
5440
5441
5442
/*--------------------------------------------------------------------.
5443
| yysetstate -- set current state (the top of the stack) to yystate.  |
5444
`--------------------------------------------------------------------*/
5445
16.2M
yysetstate:
5446
16.2M
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5447
16.2M
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
5448
16.2M
  YY_IGNORE_USELESS_CAST_BEGIN
5449
16.2M
  *yyssp = YY_CAST (yy_state_t, yystate);
5450
16.2M
  YY_IGNORE_USELESS_CAST_END
5451
16.2M
  YY_STACK_PRINT (yyss, yyssp);
5452
5453
16.2M
  if (yyss + yystacksize - 1 <= yyssp)
5454
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
5455
    YYNOMEM;
5456
#else
5457
2.49k
    {
5458
      /* Get the current used size of the three stacks, in elements.  */
5459
2.49k
      YYPTRDIFF_T yysize = yyssp - yyss + 1;
5460
5461
# if defined yyoverflow
5462
      {
5463
        /* Give user a chance to reallocate the stack.  Use copies of
5464
           these so that the &'s don't force the real ones into
5465
           memory.  */
5466
        yy_state_t *yyss1 = yyss;
5467
        YYSTYPE *yyvs1 = yyvs;
5468
5469
        /* Each stack pointer address is followed by the size of the
5470
           data in use in that stack, in bytes.  This used to be a
5471
           conditional around just the two extra args, but that might
5472
           be undefined if yyoverflow is a macro.  */
5473
        yyoverflow (YY_("memory exhausted"),
5474
                    &yyss1, yysize * YYSIZEOF (*yyssp),
5475
                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
5476
                    &yystacksize);
5477
        yyss = yyss1;
5478
        yyvs = yyvs1;
5479
      }
5480
# else /* defined YYSTACK_RELOCATE */
5481
      /* Extend the stack our own way.  */
5482
2.49k
      if (YYMAXDEPTH <= yystacksize)
5483
1
        YYNOMEM;
5484
2.48k
      yystacksize *= 2;
5485
2.48k
      if (YYMAXDEPTH < yystacksize)
5486
4
        yystacksize = YYMAXDEPTH;
5487
5488
2.48k
      {
5489
2.48k
        yy_state_t *yyss1 = yyss;
5490
2.48k
        union yyalloc *yyptr =
5491
2.48k
          YY_CAST (union yyalloc *,
5492
2.48k
                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
5493
2.48k
        if (! yyptr)
5494
0
          YYNOMEM;
5495
2.48k
        YYSTACK_RELOCATE (yyss_alloc, yyss);
5496
2.48k
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5497
2.48k
#  undef YYSTACK_RELOCATE
5498
2.48k
        if (yyss1 != yyssa)
5499
1.00k
          YYSTACK_FREE (yyss1);
5500
2.48k
      }
5501
0
# endif
5502
5503
0
      yyssp = yyss + yysize - 1;
5504
2.48k
      yyvsp = yyvs + yysize - 1;
5505
5506
2.48k
      YY_IGNORE_USELESS_CAST_BEGIN
5507
2.48k
      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
5508
2.48k
                  YY_CAST (long, yystacksize)));
5509
2.48k
      YY_IGNORE_USELESS_CAST_END
5510
5511
2.48k
      if (yyss + yystacksize - 1 <= yyssp)
5512
0
        YYABORT;
5513
2.48k
    }
5514
16.2M
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
5515
5516
5517
16.2M
  if (yystate == YYFINAL)
5518
57.5k
    YYACCEPT;
5519
5520
16.2M
  goto yybackup;
5521
5522
5523
/*-----------.
5524
| yybackup.  |
5525
`-----------*/
5526
16.2M
yybackup:
5527
  /* Do appropriate processing given the current state.  Read a
5528
     lookahead token if we need one and don't already have one.  */
5529
5530
  /* First try to decide what to do without reference to lookahead token.  */
5531
16.2M
  yyn = yypact[yystate];
5532
16.2M
  if (yypact_value_is_default (yyn))
5533
6.17M
    goto yydefault;
5534
5535
  /* Not known => get a lookahead token if don't already have one.  */
5536
5537
  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
5538
10.0M
  if (yychar == ZENDEMPTY)
5539
5.35M
    {
5540
5.35M
      YYDPRINTF ((stderr, "Reading a token\n"));
5541
5.35M
      yychar = yylex (&yylval);
5542
5.35M
    }
5543
5544
10.0M
  if (yychar <= END)
5545
138k
    {
5546
138k
      yychar = END;
5547
138k
      yytoken = YYSYMBOL_YYEOF;
5548
138k
      YYDPRINTF ((stderr, "Now at end of input.\n"));
5549
138k
    }
5550
9.91M
  else if (yychar == ZENDerror)
5551
0
    {
5552
      /* The scanner already issued an error message, process directly
5553
         to error recovery.  But do not keep the error token as
5554
         lookahead, it is too special and may lead us to an endless
5555
         loop in error recovery. */
5556
0
      yychar = ZENDUNDEF;
5557
0
      yytoken = YYSYMBOL_YYerror;
5558
0
      goto yyerrlab1;
5559
0
    }
5560
9.91M
  else
5561
9.91M
    {
5562
9.91M
      yytoken = YYTRANSLATE (yychar);
5563
9.91M
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5564
9.91M
    }
5565
5566
  /* If the proper action on seeing token YYTOKEN is to reduce or to
5567
     detect an error, take that action.  */
5568
10.0M
  yyn += yytoken;
5569
10.0M
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5570
4.45M
    goto yydefault;
5571
5.59M
  yyn = yytable[yyn];
5572
5.59M
  if (yyn <= 0)
5573
286k
    {
5574
286k
      if (yytable_value_is_error (yyn))
5575
205
        goto yyerrlab;
5576
286k
      yyn = -yyn;
5577
286k
      goto yyreduce;
5578
286k
    }
5579
5580
  /* Count tokens shifted since error; after three, turn off error
5581
     status.  */
5582
5.30M
  if (yyerrstatus)
5583
0
    yyerrstatus--;
5584
5585
  /* Shift the lookahead token.  */
5586
5.30M
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5587
5.30M
  yystate = yyn;
5588
5.30M
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5589
5.30M
  *++yyvsp = yylval;
5590
5.30M
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5591
5592
  /* Discard the shifted token.  */
5593
5.30M
  yychar = ZENDEMPTY;
5594
5.30M
  goto yynewstate;
5595
5596
5597
/*-----------------------------------------------------------.
5598
| yydefault -- do the default action for the current state.  |
5599
`-----------------------------------------------------------*/
5600
10.6M
yydefault:
5601
10.6M
  yyn = yydefact[yystate];
5602
10.6M
  if (yyn == 0)
5603
50.4k
    goto yyerrlab;
5604
10.5M
  goto yyreduce;
5605
5606
5607
/*-----------------------------.
5608
| yyreduce -- do a reduction.  |
5609
`-----------------------------*/
5610
10.8M
yyreduce:
5611
  /* yyn is the number of a rule to reduce with.  */
5612
10.8M
  yylen = yyr2[yyn];
5613
5614
  /* If YYLEN is nonzero, implement the default value of the action:
5615
     '$$ = $1'.
5616
5617
     Otherwise, the following line sets YYVAL to garbage.
5618
     This behavior is undocumented and Bison
5619
     users should not rely upon it.  Assigning to YYVAL
5620
     unconditionally makes the parser a bit smaller, and it avoids a
5621
     GCC warning that YYVAL may be used uninitialized.  */
5622
10.8M
  yyval = yyvsp[1-yylen];
5623
5624
5625
10.8M
  YY_REDUCE_PRINT (yyn);
5626
10.8M
  switch (yyn)
5627
10.8M
    {
5628
59.2k
  case 2: /* start: top_statement_list  */
5629
59.2k
#line 302 "/src/php-src/Zend/zend_language_parser.y"
5630
59.2k
                                { CG(ast) = (yyvsp[0].ast); (void) zendnerrs; }
5631
59.2k
#line 5632 "/src/php-src/Zend/zend_language_parser.c"
5632
59.2k
    break;
5633
5634
70.7k
  case 84: /* identifier: "identifier"  */
5635
70.7k
#line 327 "/src/php-src/Zend/zend_language_parser.y"
5636
70.7k
                         { (yyval.ast) = (yyvsp[0].ast); }
5637
70.7k
#line 5638 "/src/php-src/Zend/zend_language_parser.c"
5638
70.7k
    break;
5639
5640
4.81k
  case 85: /* identifier: semi_reserved  */
5641
4.81k
#line 328 "/src/php-src/Zend/zend_language_parser.y"
5642
4.81k
                               {
5643
4.81k
      zval zv;
5644
4.81k
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
5645
4.80k
      (yyval.ast) = zend_ast_create_zval(&zv);
5646
4.80k
    }
5647
0
#line 5648 "/src/php-src/Zend/zend_language_parser.c"
5648
0
    break;
5649
5650
297k
  case 86: /* top_statement_list: top_statement_list top_statement  */
5651
297k
#line 336 "/src/php-src/Zend/zend_language_parser.y"
5652
297k
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5653
297k
#line 5654 "/src/php-src/Zend/zend_language_parser.c"
5654
297k
    break;
5655
5656
111k
  case 87: /* top_statement_list: %empty  */
5657
111k
#line 337 "/src/php-src/Zend/zend_language_parser.y"
5658
111k
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5659
111k
#line 5660 "/src/php-src/Zend/zend_language_parser.c"
5660
111k
    break;
5661
5662
5.06k
  case 88: /* namespace_declaration_name: identifier  */
5663
5.06k
#line 342 "/src/php-src/Zend/zend_language_parser.y"
5664
5.06k
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5665
5.06k
#line 5666 "/src/php-src/Zend/zend_language_parser.c"
5666
5.06k
    break;
5667
5668
272
  case 89: /* namespace_declaration_name: "namespaced name"  */
5669
272
#line 343 "/src/php-src/Zend/zend_language_parser.y"
5670
272
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5671
272
#line 5672 "/src/php-src/Zend/zend_language_parser.c"
5672
272
    break;
5673
5674
6.47k
  case 90: /* namespace_name: "identifier"  */
5675
6.47k
#line 348 "/src/php-src/Zend/zend_language_parser.y"
5676
6.47k
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5677
6.47k
#line 5678 "/src/php-src/Zend/zend_language_parser.c"
5678
6.47k
    break;
5679
5680
1.05k
  case 91: /* namespace_name: "namespaced name"  */
5681
1.05k
#line 349 "/src/php-src/Zend/zend_language_parser.y"
5682
1.05k
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5683
1.05k
#line 5684 "/src/php-src/Zend/zend_language_parser.c"
5684
1.05k
    break;
5685
5686
3.52k
  case 92: /* legacy_namespace_name: namespace_name  */
5687
3.52k
#line 354 "/src/php-src/Zend/zend_language_parser.y"
5688
3.52k
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5689
3.52k
#line 5690 "/src/php-src/Zend/zend_language_parser.c"
5690
3.52k
    break;
5691
5692
642
  case 93: /* legacy_namespace_name: "fully qualified name"  */
5693
642
#line 355 "/src/php-src/Zend/zend_language_parser.y"
5694
642
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5695
642
#line 5696 "/src/php-src/Zend/zend_language_parser.c"
5696
642
    break;
5697
5698
642k
  case 94: /* name: "identifier"  */
5699
642k
#line 359 "/src/php-src/Zend/zend_language_parser.y"
5700
642k
                                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5701
642k
#line 5702 "/src/php-src/Zend/zend_language_parser.c"
5702
642k
    break;
5703
5704
3.84k
  case 95: /* name: "namespaced name"  */
5705
3.84k
#line 360 "/src/php-src/Zend/zend_language_parser.y"
5706
3.84k
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5707
3.84k
#line 5708 "/src/php-src/Zend/zend_language_parser.c"
5708
3.84k
    break;
5709
5710
8.43k
  case 96: /* name: "fully qualified name"  */
5711
8.43k
#line 361 "/src/php-src/Zend/zend_language_parser.y"
5712
8.43k
                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_FQ; }
5713
8.43k
#line 5714 "/src/php-src/Zend/zend_language_parser.c"
5714
8.43k
    break;
5715
5716
988
  case 97: /* name: "namespace-relative name"  */
5717
988
#line 362 "/src/php-src/Zend/zend_language_parser.y"
5718
988
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_RELATIVE; }
5719
988
#line 5720 "/src/php-src/Zend/zend_language_parser.c"
5720
988
    break;
5721
5722
28.5k
  case 98: /* attribute_decl: class_name  */
5723
28.5k
#line 367 "/src/php-src/Zend/zend_language_parser.y"
5724
28.5k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[0].ast), NULL); }
5725
28.5k
#line 5726 "/src/php-src/Zend/zend_language_parser.c"
5726
28.5k
    break;
5727
5728
3.12k
  case 99: /* attribute_decl: class_name argument_list  */
5729
3.12k
#line 369 "/src/php-src/Zend/zend_language_parser.y"
5730
3.12k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[-1].ast), (yyvsp[0].ast)); }
5731
3.12k
#line 5732 "/src/php-src/Zend/zend_language_parser.c"
5732
3.12k
    break;
5733
5734
15.4k
  case 100: /* attribute_group: attribute_decl  */
5735
15.4k
#line 374 "/src/php-src/Zend/zend_language_parser.y"
5736
15.4k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_GROUP, (yyvsp[0].ast)); }
5737
15.4k
#line 5738 "/src/php-src/Zend/zend_language_parser.c"
5738
15.4k
    break;
5739
5740
16.2k
  case 101: /* attribute_group: attribute_group ',' attribute_decl  */
5741
16.2k
#line 376 "/src/php-src/Zend/zend_language_parser.y"
5742
16.2k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5743
16.2k
#line 5744 "/src/php-src/Zend/zend_language_parser.c"
5744
16.2k
    break;
5745
5746
15.3k
  case 102: /* attribute: "'#['" backup_doc_comment attribute_group possible_comma ']'  */
5747
15.3k
#line 380 "/src/php-src/Zend/zend_language_parser.y"
5748
15.3k
                                                                                        { (yyval.ast) = (yyvsp[-2].ast); CG(doc_comment) = (yyvsp[-3].str); }
5749
15.3k
#line 5750 "/src/php-src/Zend/zend_language_parser.c"
5750
15.3k
    break;
5751
5752
13.3k
  case 103: /* attributes: attribute  */
5753
13.3k
#line 384 "/src/php-src/Zend/zend_language_parser.y"
5754
13.3k
                                                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_LIST, (yyvsp[0].ast)); }
5755
13.3k
#line 5756 "/src/php-src/Zend/zend_language_parser.c"
5756
13.3k
    break;
5757
5758
1.96k
  case 104: /* attributes: attributes attribute  */
5759
1.96k
#line 385 "/src/php-src/Zend/zend_language_parser.y"
5760
1.96k
                                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5761
1.96k
#line 5762 "/src/php-src/Zend/zend_language_parser.c"
5762
1.96k
    break;
5763
5764
3.28k
  case 105: /* attributed_statement: function_declaration_statement  */
5765
3.28k
#line 389 "/src/php-src/Zend/zend_language_parser.y"
5766
3.28k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5767
3.28k
#line 5768 "/src/php-src/Zend/zend_language_parser.c"
5768
3.28k
    break;
5769
5770
20.5k
  case 106: /* attributed_statement: class_declaration_statement  */
5771
20.5k
#line 390 "/src/php-src/Zend/zend_language_parser.y"
5772
20.5k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5773
20.5k
#line 5774 "/src/php-src/Zend/zend_language_parser.c"
5774
20.5k
    break;
5775
5776
1.74k
  case 107: /* attributed_statement: trait_declaration_statement  */
5777
1.74k
#line 391 "/src/php-src/Zend/zend_language_parser.y"
5778
1.74k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5779
1.74k
#line 5780 "/src/php-src/Zend/zend_language_parser.c"
5780
1.74k
    break;
5781
5782
2.54k
  case 108: /* attributed_statement: interface_declaration_statement  */
5783
2.54k
#line 392 "/src/php-src/Zend/zend_language_parser.y"
5784
2.54k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5785
2.54k
#line 5786 "/src/php-src/Zend/zend_language_parser.c"
5786
2.54k
    break;
5787
5788
5.10k
  case 109: /* attributed_statement: enum_declaration_statement  */
5789
5.10k
#line 393 "/src/php-src/Zend/zend_language_parser.y"
5790
5.10k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5791
5.10k
#line 5792 "/src/php-src/Zend/zend_language_parser.c"
5792
5.10k
    break;
5793
5794
26.8k
  case 110: /* attributed_top_statement: attributed_statement  */
5795
26.8k
#line 397 "/src/php-src/Zend/zend_language_parser.y"
5796
26.8k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5797
26.8k
#line 5798 "/src/php-src/Zend/zend_language_parser.c"
5798
26.8k
    break;
5799
5800
4.08k
  case 111: /* attributed_top_statement: "'const'" const_list ';'  */
5801
4.08k
#line 398 "/src/php-src/Zend/zend_language_parser.y"
5802
4.08k
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5803
4.08k
#line 5804 "/src/php-src/Zend/zend_language_parser.c"
5804
4.08k
    break;
5805
5806
257k
  case 112: /* top_statement: statement  */
5807
257k
#line 402 "/src/php-src/Zend/zend_language_parser.y"
5808
257k
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5809
257k
#line 5810 "/src/php-src/Zend/zend_language_parser.c"
5810
257k
    break;
5811
5812
28.7k
  case 113: /* top_statement: attributed_top_statement  */
5813
28.7k
#line 403 "/src/php-src/Zend/zend_language_parser.y"
5814
28.7k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5815
28.7k
#line 5816 "/src/php-src/Zend/zend_language_parser.c"
5816
28.7k
    break;
5817
5818
2.15k
  case 114: /* top_statement: attributes attributed_top_statement  */
5819
2.15k
#line 404 "/src/php-src/Zend/zend_language_parser.y"
5820
2.15k
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
5821
2.15k
#line 5822 "/src/php-src/Zend/zend_language_parser.c"
5822
2.15k
    break;
5823
5824
17
  case 115: /* top_statement: "'__halt_compiler'" '(' ')' ';'  */
5825
17
#line 406 "/src/php-src/Zend/zend_language_parser.y"
5826
17
                        { (yyval.ast) = zend_ast_create(ZEND_AST_HALT_COMPILER,
5827
17
            zend_ast_create_zval_from_long(zend_get_scanned_file_offset()));
5828
17
        zend_stop_lexing(); }
5829
17
#line 5830 "/src/php-src/Zend/zend_language_parser.c"
5830
17
    break;
5831
5832
3.61k
  case 116: /* top_statement: "'namespace'" namespace_declaration_name ';'  */
5833
3.61k
#line 410 "/src/php-src/Zend/zend_language_parser.y"
5834
3.61k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-1].ast), NULL);
5835
3.61k
        RESET_DOC_COMMENT(); }
5836
3.61k
#line 5837 "/src/php-src/Zend/zend_language_parser.c"
5837
3.61k
    break;
5838
5839
1.72k
  case 117: /* $@1: %empty  */
5840
1.72k
#line 412 "/src/php-src/Zend/zend_language_parser.y"
5841
1.72k
                                                       { RESET_DOC_COMMENT(); }
5842
1.72k
#line 5843 "/src/php-src/Zend/zend_language_parser.c"
5843
1.72k
    break;
5844
5845
1.28k
  case 118: /* top_statement: "'namespace'" namespace_declaration_name $@1 '{' top_statement_list '}'  */
5846
1.28k
#line 414 "/src/php-src/Zend/zend_language_parser.y"
5847
1.28k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
5848
1.28k
#line 5849 "/src/php-src/Zend/zend_language_parser.c"
5849
1.28k
    break;
5850
5851
1.13k
  case 119: /* $@2: %empty  */
5852
1.13k
#line 415 "/src/php-src/Zend/zend_language_parser.y"
5853
1.13k
                            { RESET_DOC_COMMENT(); }
5854
1.13k
#line 5855 "/src/php-src/Zend/zend_language_parser.c"
5855
1.13k
    break;
5856
5857
793
  case 120: /* top_statement: "'namespace'" $@2 '{' top_statement_list '}'  */
5858
793
#line 417 "/src/php-src/Zend/zend_language_parser.y"
5859
793
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, NULL, (yyvsp[-1].ast)); }
5860
793
#line 5861 "/src/php-src/Zend/zend_language_parser.c"
5861
793
    break;
5862
5863
894
  case 121: /* top_statement: "'use'" mixed_group_use_declaration ';'  */
5864
894
#line 418 "/src/php-src/Zend/zend_language_parser.y"
5865
894
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5866
894
#line 5867 "/src/php-src/Zend/zend_language_parser.c"
5867
894
    break;
5868
5869
84
  case 122: /* top_statement: "'use'" use_type group_use_declaration ';'  */
5870
84
#line 419 "/src/php-src/Zend/zend_language_parser.y"
5871
84
                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5872
84
#line 5873 "/src/php-src/Zend/zend_language_parser.c"
5873
84
    break;
5874
5875
1.53k
  case 123: /* top_statement: "'use'" use_declarations ';'  */
5876
1.53k
#line 420 "/src/php-src/Zend/zend_language_parser.y"
5877
1.53k
                                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5878
1.53k
#line 5879 "/src/php-src/Zend/zend_language_parser.c"
5879
1.53k
    break;
5880
5881
576
  case 124: /* top_statement: "'use'" use_type use_declarations ';'  */
5882
576
#line 421 "/src/php-src/Zend/zend_language_parser.y"
5883
576
                                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5884
576
#line 5885 "/src/php-src/Zend/zend_language_parser.c"
5885
576
    break;
5886
5887
586
  case 125: /* use_type: "'function'"  */
5888
586
#line 425 "/src/php-src/Zend/zend_language_parser.y"
5889
586
                                        { (yyval.num) = ZEND_SYMBOL_FUNCTION; }
5890
586
#line 5891 "/src/php-src/Zend/zend_language_parser.c"
5891
586
    break;
5892
5893
1.38k
  case 126: /* use_type: "'const'"  */
5894
1.38k
#line 426 "/src/php-src/Zend/zend_language_parser.y"
5895
1.38k
                                        { (yyval.num) = ZEND_SYMBOL_CONST; }
5896
1.38k
#line 5897 "/src/php-src/Zend/zend_language_parser.c"
5897
1.38k
    break;
5898
5899
88
  case 127: /* group_use_declaration: legacy_namespace_name "'\\'" '{' unprefixed_use_declarations possible_comma '}'  */
5900
88
#line 431 "/src/php-src/Zend/zend_language_parser.y"
5901
88
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
5902
88
#line 5903 "/src/php-src/Zend/zend_language_parser.c"
5903
88
    break;
5904
5905
897
  case 128: /* mixed_group_use_declaration: legacy_namespace_name "'\\'" '{' inline_use_declarations possible_comma '}'  */
5906
897
#line 436 "/src/php-src/Zend/zend_language_parser.y"
5907
897
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast));}
5908
897
#line 5909 "/src/php-src/Zend/zend_language_parser.c"
5909
897
    break;
5910
5911
2.86k
  case 131: /* inline_use_declarations: inline_use_declarations ',' inline_use_declaration  */
5912
2.86k
#line 446 "/src/php-src/Zend/zend_language_parser.y"
5913
2.86k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5914
2.86k
#line 5915 "/src/php-src/Zend/zend_language_parser.c"
5915
2.86k
    break;
5916
5917
940
  case 132: /* inline_use_declarations: inline_use_declaration  */
5918
940
#line 448 "/src/php-src/Zend/zend_language_parser.y"
5919
940
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5920
940
#line 5921 "/src/php-src/Zend/zend_language_parser.c"
5921
940
    break;
5922
5923
100
  case 133: /* unprefixed_use_declarations: unprefixed_use_declarations ',' unprefixed_use_declaration  */
5924
100
#line 453 "/src/php-src/Zend/zend_language_parser.y"
5925
100
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5926
100
#line 5927 "/src/php-src/Zend/zend_language_parser.c"
5927
100
    break;
5928
5929
100
  case 134: /* unprefixed_use_declarations: unprefixed_use_declaration  */
5930
100
#line 455 "/src/php-src/Zend/zend_language_parser.y"
5931
100
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5932
100
#line 5933 "/src/php-src/Zend/zend_language_parser.c"
5933
100
    break;
5934
5935
948
  case 135: /* use_declarations: use_declarations ',' use_declaration  */
5936
948
#line 460 "/src/php-src/Zend/zend_language_parser.y"
5937
948
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5938
948
#line 5939 "/src/php-src/Zend/zend_language_parser.c"
5939
948
    break;
5940
5941
2.16k
  case 136: /* use_declarations: use_declaration  */
5942
2.16k
#line 462 "/src/php-src/Zend/zend_language_parser.y"
5943
2.16k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5944
2.16k
#line 5945 "/src/php-src/Zend/zend_language_parser.c"
5945
2.16k
    break;
5946
5947
2.52k
  case 137: /* inline_use_declaration: unprefixed_use_declaration  */
5948
2.52k
#line 466 "/src/php-src/Zend/zend_language_parser.y"
5949
2.52k
                                           { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5950
2.52k
#line 5951 "/src/php-src/Zend/zend_language_parser.c"
5951
2.52k
    break;
5952
5953
1.28k
  case 138: /* inline_use_declaration: use_type unprefixed_use_declaration  */
5954
1.28k
#line 467 "/src/php-src/Zend/zend_language_parser.y"
5955
1.28k
                                                    { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = (yyvsp[-1].num); }
5956
1.28k
#line 5957 "/src/php-src/Zend/zend_language_parser.c"
5957
1.28k
    break;
5958
5959
3.32k
  case 139: /* unprefixed_use_declaration: namespace_name  */
5960
3.32k
#line 472 "/src/php-src/Zend/zend_language_parser.y"
5961
3.32k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5962
3.32k
#line 5963 "/src/php-src/Zend/zend_language_parser.c"
5963
3.32k
    break;
5964
5965
685
  case 140: /* unprefixed_use_declaration: namespace_name "'as'" "identifier"  */
5966
685
#line 474 "/src/php-src/Zend/zend_language_parser.y"
5967
685
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5968
685
#line 5969 "/src/php-src/Zend/zend_language_parser.c"
5969
685
    break;
5970
5971
2.62k
  case 141: /* use_declaration: legacy_namespace_name  */
5972
2.62k
#line 479 "/src/php-src/Zend/zend_language_parser.y"
5973
2.62k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5974
2.62k
#line 5975 "/src/php-src/Zend/zend_language_parser.c"
5975
2.62k
    break;
5976
5977
490
  case 142: /* use_declaration: legacy_namespace_name "'as'" "identifier"  */
5978
490
#line 481 "/src/php-src/Zend/zend_language_parser.y"
5979
490
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5980
490
#line 5981 "/src/php-src/Zend/zend_language_parser.c"
5981
490
    break;
5982
5983
1.67k
  case 143: /* const_list: const_list ',' const_decl  */
5984
1.67k
#line 485 "/src/php-src/Zend/zend_language_parser.y"
5985
1.67k
                                          { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5986
1.67k
#line 5987 "/src/php-src/Zend/zend_language_parser.c"
5987
1.67k
    break;
5988
5989
7.61k
  case 144: /* const_list: const_decl  */
5990
7.61k
#line 486 "/src/php-src/Zend/zend_language_parser.y"
5991
7.61k
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CONST_DECL, (yyvsp[0].ast)); }
5992
7.61k
#line 5993 "/src/php-src/Zend/zend_language_parser.c"
5993
7.61k
    break;
5994
5995
135k
  case 145: /* inner_statement_list: inner_statement_list inner_statement  */
5996
135k
#line 491 "/src/php-src/Zend/zend_language_parser.y"
5997
135k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5998
135k
#line 5999 "/src/php-src/Zend/zend_language_parser.c"
5999
135k
    break;
6000
6001
82.6k
  case 146: /* inner_statement_list: %empty  */
6002
82.6k
#line 493 "/src/php-src/Zend/zend_language_parser.y"
6003
82.6k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
6004
82.6k
#line 6005 "/src/php-src/Zend/zend_language_parser.c"
6005
82.6k
    break;
6006
6007
129k
  case 147: /* inner_statement: statement  */
6008
129k
#line 498 "/src/php-src/Zend/zend_language_parser.y"
6009
129k
                          { (yyval.ast) = (yyvsp[0].ast); }
6010
129k
#line 6011 "/src/php-src/Zend/zend_language_parser.c"
6011
129k
    break;
6012
6013
5.40k
  case 148: /* inner_statement: attributed_statement  */
6014
5.40k
#line 499 "/src/php-src/Zend/zend_language_parser.y"
6015
5.40k
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
6016
5.40k
#line 6017 "/src/php-src/Zend/zend_language_parser.c"
6017
5.40k
    break;
6018
6019
1.03k
  case 149: /* inner_statement: attributes attributed_statement  */
6020
1.03k
#line 500 "/src/php-src/Zend/zend_language_parser.y"
6021
1.03k
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6022
1.03k
#line 6023 "/src/php-src/Zend/zend_language_parser.c"
6023
1.03k
    break;
6024
6025
1
  case 150: /* inner_statement: "'__halt_compiler'" '(' ')' ';'  */
6026
1
#line 502 "/src/php-src/Zend/zend_language_parser.y"
6027
1
                        { (yyval.ast) = NULL; zend_throw_exception(zend_ce_compile_error,
6028
1
            "__HALT_COMPILER() can only be used from the outermost scope", 0); YYERROR; }
6029
0
#line 6030 "/src/php-src/Zend/zend_language_parser.c"
6030
0
    break;
6031
6032
8.40k
  case 151: /* statement: '{' inner_statement_list '}'  */
6033
8.40k
#line 508 "/src/php-src/Zend/zend_language_parser.y"
6034
8.40k
                                             { (yyval.ast) = (yyvsp[-1].ast); }
6035
8.40k
#line 6036 "/src/php-src/Zend/zend_language_parser.c"
6036
8.40k
    break;
6037
6038
4.07k
  case 152: /* statement: if_stmt  */
6039
4.07k
#line 509 "/src/php-src/Zend/zend_language_parser.y"
6040
4.07k
                        { (yyval.ast) = (yyvsp[0].ast); }
6041
4.07k
#line 6042 "/src/php-src/Zend/zend_language_parser.c"
6042
4.07k
    break;
6043
6044
143
  case 153: /* statement: alt_if_stmt  */
6045
143
#line 510 "/src/php-src/Zend/zend_language_parser.y"
6046
143
                            { (yyval.ast) = (yyvsp[0].ast); }
6047
143
#line 6048 "/src/php-src/Zend/zend_language_parser.c"
6048
143
    break;
6049
6050
772
  case 154: /* statement: "'while'" '(' expr ')' while_statement  */
6051
772
#line 512 "/src/php-src/Zend/zend_language_parser.y"
6052
772
                        { (yyval.ast) = zend_ast_create(ZEND_AST_WHILE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6053
772
#line 6054 "/src/php-src/Zend/zend_language_parser.c"
6054
772
    break;
6055
6056
1.01k
  case 155: /* statement: "'do'" statement "'while'" '(' expr ')' ';'  */
6057
1.01k
#line 514 "/src/php-src/Zend/zend_language_parser.y"
6058
1.01k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DO_WHILE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
6059
1.01k
#line 6060 "/src/php-src/Zend/zend_language_parser.c"
6060
1.01k
    break;
6061
6062
6.81k
  case 156: /* statement: "'for'" '(' for_exprs ';' for_cond_exprs ';' for_exprs ')' for_statement  */
6063
6.81k
#line 516 "/src/php-src/Zend/zend_language_parser.y"
6064
6.81k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOR, (yyvsp[-6].ast), (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
6065
6.81k
#line 6066 "/src/php-src/Zend/zend_language_parser.c"
6066
6.81k
    break;
6067
6068
1.64k
  case 157: /* statement: "'switch'" '(' expr ')' switch_case_list  */
6069
1.64k
#line 518 "/src/php-src/Zend/zend_language_parser.y"
6070
1.64k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_SWITCH, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6071
1.64k
#line 6072 "/src/php-src/Zend/zend_language_parser.c"
6072
1.64k
    break;
6073
6074
1.49k
  case 158: /* statement: "'break'" optional_expr ';'  */
6075
1.49k
#line 519 "/src/php-src/Zend/zend_language_parser.y"
6076
1.49k
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_BREAK, (yyvsp[-1].ast)); }
6077
1.49k
#line 6078 "/src/php-src/Zend/zend_language_parser.c"
6078
1.49k
    break;
6079
6080
2.03k
  case 159: /* statement: "'continue'" optional_expr ';'  */
6081
2.03k
#line 520 "/src/php-src/Zend/zend_language_parser.y"
6082
2.03k
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONTINUE, (yyvsp[-1].ast)); }
6083
2.03k
#line 6084 "/src/php-src/Zend/zend_language_parser.c"
6084
2.03k
    break;
6085
6086
4.11k
  case 160: /* statement: "'return'" optional_expr ';'  */
6087
4.11k
#line 521 "/src/php-src/Zend/zend_language_parser.y"
6088
4.11k
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_RETURN, (yyvsp[-1].ast)); }
6089
4.11k
#line 6090 "/src/php-src/Zend/zend_language_parser.c"
6090
4.11k
    break;
6091
6092
457
  case 161: /* statement: "'global'" global_var_list ';'  */
6093
457
#line 522 "/src/php-src/Zend/zend_language_parser.y"
6094
457
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6095
457
#line 6096 "/src/php-src/Zend/zend_language_parser.c"
6096
457
    break;
6097
6098
593
  case 162: /* statement: "'static'" static_var_list ';'  */
6099
593
#line 523 "/src/php-src/Zend/zend_language_parser.y"
6100
593
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6101
593
#line 6102 "/src/php-src/Zend/zend_language_parser.c"
6102
593
    break;
6103
6104
6.29k
  case 163: /* statement: "'echo'" echo_expr_list ';'  */
6105
6.29k
#line 524 "/src/php-src/Zend/zend_language_parser.y"
6106
6.29k
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6107
6.29k
#line 6108 "/src/php-src/Zend/zend_language_parser.c"
6108
6.29k
    break;
6109
6110
97.7k
  case 164: /* statement: T_INLINE_HTML  */
6111
97.7k
#line 525 "/src/php-src/Zend/zend_language_parser.y"
6112
97.7k
                              { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
6113
97.7k
#line 6114 "/src/php-src/Zend/zend_language_parser.c"
6114
97.7k
    break;
6115
6116
196k
  case 165: /* statement: expr ';'  */
6117
196k
#line 526 "/src/php-src/Zend/zend_language_parser.y"
6118
196k
                         { (yyval.ast) = (yyvsp[-1].ast); }
6119
196k
#line 6120 "/src/php-src/Zend/zend_language_parser.c"
6120
196k
    break;
6121
6122
1.95k
  case 166: /* statement: "'unset'" '(' unset_variables possible_comma ')' ';'  */
6123
1.95k
#line 527 "/src/php-src/Zend/zend_language_parser.y"
6124
1.95k
                                                                   { (yyval.ast) = (yyvsp[-3].ast); }
6125
1.95k
#line 6126 "/src/php-src/Zend/zend_language_parser.c"
6126
1.95k
    break;
6127
6128
1.94k
  case 167: /* statement: "'foreach'" '(' expr "'as'" foreach_variable ')' foreach_statement  */
6129
1.94k
#line 529 "/src/php-src/Zend/zend_language_parser.y"
6130
1.94k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-4].ast), (yyvsp[-2].ast), NULL, (yyvsp[0].ast)); }
6131
1.94k
#line 6132 "/src/php-src/Zend/zend_language_parser.c"
6132
1.94k
    break;
6133
6134
820
  case 168: /* statement: "'foreach'" '(' expr "'as'" foreach_variable "'=>'" foreach_variable ')' foreach_statement  */
6135
820
#line 532 "/src/php-src/Zend/zend_language_parser.y"
6136
820
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-4].ast), (yyvsp[0].ast)); }
6137
820
#line 6138 "/src/php-src/Zend/zend_language_parser.c"
6138
820
    break;
6139
6140
3.51k
  case 169: /* $@3: %empty  */
6141
3.51k
#line 534 "/src/php-src/Zend/zend_language_parser.y"
6142
3.51k
                        { if (!zend_handle_encoding_declaration((yyvsp[-1].ast))) { YYERROR; } }
6143
3.50k
#line 6144 "/src/php-src/Zend/zend_language_parser.c"
6144
3.50k
    break;
6145
6146
3.50k
  case 170: /* statement: "'declare'" '(' const_list ')' $@3 declare_statement  */
6147
3.44k
#line 536 "/src/php-src/Zend/zend_language_parser.y"
6148
3.44k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DECLARE, (yyvsp[-3].ast), (yyvsp[0].ast)); }
6149
3.44k
#line 6150 "/src/php-src/Zend/zend_language_parser.c"
6150
3.44k
    break;
6151
6152
60.7k
  case 171: /* statement: ';'  */
6153
60.7k
#line 537 "/src/php-src/Zend/zend_language_parser.y"
6154
60.7k
                                              { (yyval.ast) = NULL; }
6155
60.7k
#line 6156 "/src/php-src/Zend/zend_language_parser.c"
6156
60.7k
    break;
6157
6158
2.58k
  case 172: /* statement: "'try'" '{' inner_statement_list '}' catch_list finally_statement  */
6159
2.58k
#line 539 "/src/php-src/Zend/zend_language_parser.y"
6160
2.58k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRY, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
6161
2.58k
#line 6162 "/src/php-src/Zend/zend_language_parser.c"
6162
2.58k
    break;
6163
6164
2.37k
  case 173: /* statement: "'goto'" "identifier" ';'  */
6165
2.37k
#line 540 "/src/php-src/Zend/zend_language_parser.y"
6166
2.37k
                                    { (yyval.ast) = zend_ast_create(ZEND_AST_GOTO, (yyvsp[-1].ast)); }
6167
2.37k
#line 6168 "/src/php-src/Zend/zend_language_parser.c"
6168
2.37k
    break;
6169
6170
2.91k
  case 174: /* statement: "identifier" ':'  */
6171
2.91k
#line 541 "/src/php-src/Zend/zend_language_parser.y"
6172
2.91k
                             { (yyval.ast) = zend_ast_create(ZEND_AST_LABEL, (yyvsp[-1].ast)); }
6173
2.91k
#line 6174 "/src/php-src/Zend/zend_language_parser.c"
6174
2.91k
    break;
6175
6176
279
  case 175: /* statement: "'(void)'" expr ';'  */
6177
279
#line 542 "/src/php-src/Zend/zend_language_parser.y"
6178
279
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[-1].ast)); }
6179
279
#line 6180 "/src/php-src/Zend/zend_language_parser.c"
6180
279
    break;
6181
6182
2.82k
  case 176: /* catch_list: %empty  */
6183
2.82k
#line 547 "/src/php-src/Zend/zend_language_parser.y"
6184
2.82k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_CATCH_LIST); }
6185
2.82k
#line 6186 "/src/php-src/Zend/zend_language_parser.c"
6186
2.82k
    break;
6187
6188
1.93k
  case 177: /* catch_list: catch_list "'catch'" '(' catch_name_list optional_variable ')' '{' inner_statement_list '}'  */
6189
1.93k
#line 549 "/src/php-src/Zend/zend_language_parser.y"
6190
1.93k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-8].ast), zend_ast_create(ZEND_AST_CATCH, (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast))); }
6191
1.93k
#line 6192 "/src/php-src/Zend/zend_language_parser.c"
6192
1.93k
    break;
6193
6194
1.98k
  case 178: /* catch_name_list: class_name  */
6195
1.98k
#line 553 "/src/php-src/Zend/zend_language_parser.y"
6196
1.98k
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
6197
1.98k
#line 6198 "/src/php-src/Zend/zend_language_parser.c"
6198
1.98k
    break;
6199
6200
7.47k
  case 179: /* catch_name_list: catch_name_list '|' class_name  */
6201
7.47k
#line 554 "/src/php-src/Zend/zend_language_parser.y"
6202
7.47k
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6203
7.47k
#line 6204 "/src/php-src/Zend/zend_language_parser.c"
6204
7.47k
    break;
6205
6206
319
  case 180: /* optional_variable: %empty  */
6207
319
#line 558 "/src/php-src/Zend/zend_language_parser.y"
6208
319
                       { (yyval.ast) = NULL; }
6209
319
#line 6210 "/src/php-src/Zend/zend_language_parser.c"
6210
319
    break;
6211
6212
1.66k
  case 181: /* optional_variable: "variable"  */
6213
1.66k
#line 559 "/src/php-src/Zend/zend_language_parser.y"
6214
1.66k
                           { (yyval.ast) = (yyvsp[0].ast); }
6215
1.66k
#line 6216 "/src/php-src/Zend/zend_language_parser.c"
6216
1.66k
    break;
6217
6218
1.09k
  case 182: /* finally_statement: %empty  */
6219
1.09k
#line 563 "/src/php-src/Zend/zend_language_parser.y"
6220
1.09k
                       { (yyval.ast) = NULL; }
6221
1.09k
#line 6222 "/src/php-src/Zend/zend_language_parser.c"
6222
1.09k
    break;
6223
6224
1.48k
  case 183: /* finally_statement: "'finally'" '{' inner_statement_list '}'  */
6225
1.48k
#line 564 "/src/php-src/Zend/zend_language_parser.y"
6226
1.48k
                                                       { (yyval.ast) = (yyvsp[-1].ast); }
6227
1.48k
#line 6228 "/src/php-src/Zend/zend_language_parser.c"
6228
1.48k
    break;
6229
6230
2.02k
  case 184: /* unset_variables: unset_variable  */
6231
2.02k
#line 568 "/src/php-src/Zend/zend_language_parser.y"
6232
2.02k
                               { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
6233
2.02k
#line 6234 "/src/php-src/Zend/zend_language_parser.c"
6234
2.02k
    break;
6235
6236
1.36k
  case 185: /* unset_variables: unset_variables ',' unset_variable  */
6237
1.36k
#line 569 "/src/php-src/Zend/zend_language_parser.y"
6238
1.36k
                                                   { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6239
1.36k
#line 6240 "/src/php-src/Zend/zend_language_parser.c"
6240
1.36k
    break;
6241
6242
3.38k
  case 186: /* unset_variable: variable  */
6243
3.38k
#line 573 "/src/php-src/Zend/zend_language_parser.y"
6244
3.38k
                         { (yyval.ast) = zend_ast_create(ZEND_AST_UNSET, (yyvsp[0].ast)); }
6245
3.38k
#line 6246 "/src/php-src/Zend/zend_language_parser.c"
6246
3.38k
    break;
6247
6248
3.78k
  case 187: /* function_name: "identifier"  */
6249
3.78k
#line 577 "/src/php-src/Zend/zend_language_parser.y"
6250
3.78k
                         { (yyval.ast) = (yyvsp[0].ast); }
6251
3.78k
#line 6252 "/src/php-src/Zend/zend_language_parser.c"
6252
3.78k
    break;
6253
6254
81
  case 188: /* function_name: "'readonly'"  */
6255
81
#line 578 "/src/php-src/Zend/zend_language_parser.y"
6256
81
                           {
6257
81
      zval zv;
6258
81
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
6259
81
      (yyval.ast) = zend_ast_create_zval(&zv);
6260
81
    }
6261
0
#line 6262 "/src/php-src/Zend/zend_language_parser.c"
6262
0
    break;
6263
6264
3.28k
  case 189: /* function_declaration_statement: function returns_ref function_name backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags  */
6265
3.28k
#line 588 "/src/php-src/Zend/zend_language_parser.y"
6266
3.28k
                { (yyval.ast) = zend_ast_create_decl(ZEND_AST_FUNC_DECL, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-9].str),
6267
3.28k
          zend_ast_get_str((yyvsp[-10].ast)), (yyvsp[-7].ast), NULL, (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
6268
3.28k
#line 6269 "/src/php-src/Zend/zend_language_parser.c"
6269
3.28k
    break;
6270
6271
28.9k
  case 190: /* is_reference: %empty  */
6272
28.9k
#line 593 "/src/php-src/Zend/zend_language_parser.y"
6273
28.9k
                        { (yyval.num) = 0; }
6274
28.9k
#line 6275 "/src/php-src/Zend/zend_language_parser.c"
6275
28.9k
    break;
6276
6277
1.23k
  case 191: /* is_reference: "'&'"  */
6278
1.23k
#line 594 "/src/php-src/Zend/zend_language_parser.y"
6279
1.23k
                                                        { (yyval.num) = ZEND_PARAM_REF; }
6280
1.23k
#line 6281 "/src/php-src/Zend/zend_language_parser.c"
6281
1.23k
    break;
6282
6283
29.7k
  case 192: /* is_variadic: %empty  */
6284
29.7k
#line 598 "/src/php-src/Zend/zend_language_parser.y"
6285
29.7k
                       { (yyval.num) = 0; }
6286
29.7k
#line 6287 "/src/php-src/Zend/zend_language_parser.c"
6287
29.7k
    break;
6288
6289
478
  case 193: /* is_variadic: "'...'"  */
6290
478
#line 599 "/src/php-src/Zend/zend_language_parser.y"
6291
478
                            { (yyval.num) = ZEND_PARAM_VARIADIC; }
6292
478
#line 6293 "/src/php-src/Zend/zend_language_parser.c"
6293
478
    break;
6294
6295
895
  case 194: /* @4: %empty  */
6296
895
#line 603 "/src/php-src/Zend/zend_language_parser.y"
6297
895
                                        { (yyval.num) = CG(zend_lineno); }
6298
895
#line 6299 "/src/php-src/Zend/zend_language_parser.c"
6299
895
    break;
6300
6301
877
  case 195: /* class_declaration_statement: class_modifiers "'class'" @4 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'  */
6302
877
#line 605 "/src/php-src/Zend/zend_language_parser.y"
6303
877
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
6304
877
#line 6305 "/src/php-src/Zend/zend_language_parser.c"
6305
877
    break;
6306
6307
20.1k
  case 196: /* @5: %empty  */
6308
20.1k
#line 606 "/src/php-src/Zend/zend_language_parser.y"
6309
20.1k
                        { (yyval.num) = CG(zend_lineno); }
6310
20.1k
#line 6311 "/src/php-src/Zend/zend_language_parser.c"
6311
20.1k
    break;
6312
6313
19.6k
  case 197: /* class_declaration_statement: "'class'" @5 "identifier" extends_from implements_list backup_doc_comment '{' class_statement_list '}'  */
6314
19.6k
#line 608 "/src/php-src/Zend/zend_language_parser.y"
6315
19.6k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, 0, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
6316
19.6k
#line 6317 "/src/php-src/Zend/zend_language_parser.c"
6317
19.6k
    break;
6318
6319
971
  case 198: /* class_modifiers: class_modifier  */
6320
971
#line 612 "/src/php-src/Zend/zend_language_parser.y"
6321
971
                                                                { (yyval.num) = (yyvsp[0].num); }
6322
971
#line 6323 "/src/php-src/Zend/zend_language_parser.c"
6323
971
    break;
6324
6325
176
  case 199: /* class_modifiers: class_modifiers class_modifier  */
6326
176
#line 614 "/src/php-src/Zend/zend_language_parser.y"
6327
176
                        { (yyval.num) = zend_add_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
6328
153
#line 6329 "/src/php-src/Zend/zend_language_parser.c"
6329
153
    break;
6330
6331
153
  case 200: /* anonymous_class_modifiers: class_modifier  */
6332
42
#line 619 "/src/php-src/Zend/zend_language_parser.y"
6333
42
                        { (yyval.num) = zend_add_anonymous_class_modifier(0, (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
6334
30
#line 6335 "/src/php-src/Zend/zend_language_parser.c"
6335
30
    break;
6336
6337
30
  case 201: /* anonymous_class_modifiers: anonymous_class_modifiers class_modifier  */
6338
1
#line 621 "/src/php-src/Zend/zend_language_parser.y"
6339
1
                        { (yyval.num) = zend_add_anonymous_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
6340
0
#line 6341 "/src/php-src/Zend/zend_language_parser.c"
6341
0
    break;
6342
6343
1.37k
  case 202: /* anonymous_class_modifiers_optional: %empty  */
6344
1.37k
#line 625 "/src/php-src/Zend/zend_language_parser.y"
6345
1.37k
                                                { (yyval.num) = 0; }
6346
1.37k
#line 6347 "/src/php-src/Zend/zend_language_parser.c"
6347
1.37k
    break;
6348
6349
29
  case 203: /* anonymous_class_modifiers_optional: anonymous_class_modifiers  */
6350
29
#line 626 "/src/php-src/Zend/zend_language_parser.y"
6351
29
                                                { (yyval.num) = (yyvsp[0].num); }
6352
29
#line 6353 "/src/php-src/Zend/zend_language_parser.c"
6353
29
    break;
6354
6355
719
  case 204: /* class_modifier: "'abstract'"  */
6356
719
#line 630 "/src/php-src/Zend/zend_language_parser.y"
6357
719
                                        { (yyval.num) = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
6358
719
#line 6359 "/src/php-src/Zend/zend_language_parser.c"
6359
719
    break;
6360
6361
143
  case 205: /* class_modifier: "'final'"  */
6362
143
#line 631 "/src/php-src/Zend/zend_language_parser.y"
6363
143
                                        { (yyval.num) = ZEND_ACC_FINAL; }
6364
143
#line 6365 "/src/php-src/Zend/zend_language_parser.c"
6365
143
    break;
6366
6367
328
  case 206: /* class_modifier: "'readonly'"  */
6368
328
#line 632 "/src/php-src/Zend/zend_language_parser.y"
6369
328
                                        { (yyval.num) = ZEND_ACC_READONLY_CLASS|ZEND_ACC_NO_DYNAMIC_PROPERTIES; }
6370
328
#line 6371 "/src/php-src/Zend/zend_language_parser.c"
6371
328
    break;
6372
6373
1.84k
  case 207: /* @6: %empty  */
6374
1.84k
#line 636 "/src/php-src/Zend/zend_language_parser.y"
6375
1.84k
                        { (yyval.num) = CG(zend_lineno); }
6376
1.84k
#line 6377 "/src/php-src/Zend/zend_language_parser.c"
6377
1.84k
    break;
6378
6379
1.74k
  case 208: /* trait_declaration_statement: "'trait'" @6 "identifier" backup_doc_comment '{' class_statement_list '}'  */
6380
1.74k
#line 638 "/src/php-src/Zend/zend_language_parser.y"
6381
1.74k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_TRAIT, (yyvsp[-5].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-4].ast)), NULL, NULL, (yyvsp[-1].ast), NULL, NULL); }
6382
1.74k
#line 6383 "/src/php-src/Zend/zend_language_parser.c"
6383
1.74k
    break;
6384
6385
2.66k
  case 209: /* @7: %empty  */
6386
2.66k
#line 642 "/src/php-src/Zend/zend_language_parser.y"
6387
2.66k
                            { (yyval.num) = CG(zend_lineno); }
6388
2.66k
#line 6389 "/src/php-src/Zend/zend_language_parser.c"
6389
2.66k
    break;
6390
6391
2.54k
  case 210: /* interface_declaration_statement: "'interface'" @7 "identifier" interface_extends_list backup_doc_comment '{' class_statement_list '}'  */
6392
2.54k
#line 644 "/src/php-src/Zend/zend_language_parser.y"
6393
2.54k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_INTERFACE, (yyvsp[-6].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-5].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
6394
2.54k
#line 6395 "/src/php-src/Zend/zend_language_parser.c"
6395
2.54k
    break;
6396
6397
6.04k
  case 211: /* @8: %empty  */
6398
6.04k
#line 648 "/src/php-src/Zend/zend_language_parser.y"
6399
6.04k
                       { (yyval.num) = CG(zend_lineno); }
6400
6.04k
#line 6401 "/src/php-src/Zend/zend_language_parser.c"
6401
6.04k
    break;
6402
6403
5.10k
  case 212: /* enum_declaration_statement: "'enum'" @8 "identifier" enum_backing_type implements_list backup_doc_comment '{' class_statement_list '}'  */
6404
5.10k
#line 650 "/src/php-src/Zend/zend_language_parser.y"
6405
5.10k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_ENUM|ZEND_ACC_FINAL, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, (yyvsp[-5].ast)); }
6406
5.10k
#line 6407 "/src/php-src/Zend/zend_language_parser.c"
6407
5.10k
    break;
6408
6409
4.66k
  case 213: /* enum_backing_type: %empty  */
6410
4.66k
#line 654 "/src/php-src/Zend/zend_language_parser.y"
6411
4.66k
                        { (yyval.ast) = NULL; }
6412
4.66k
#line 6413 "/src/php-src/Zend/zend_language_parser.c"
6413
4.66k
    break;
6414
6415
959
  case 214: /* enum_backing_type: ':' type_expr  */
6416
959
#line 655 "/src/php-src/Zend/zend_language_parser.y"
6417
959
                              { (yyval.ast) = (yyvsp[0].ast); }
6418
959
#line 6419 "/src/php-src/Zend/zend_language_parser.c"
6419
959
    break;
6420
6421
2.19k
  case 215: /* enum_case: "'case'" backup_doc_comment identifier enum_case_expr ';'  */
6422
2.19k
#line 660 "/src/php-src/Zend/zend_language_parser.y"
6423
2.19k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ENUM_CASE, (yyvsp[-2].ast), (yyvsp[-1].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), NULL); }
6424
2.19k
#line 6425 "/src/php-src/Zend/zend_language_parser.c"
6425
2.19k
    break;
6426
6427
1.80k
  case 216: /* enum_case_expr: %empty  */
6428
1.80k
#line 664 "/src/php-src/Zend/zend_language_parser.y"
6429
1.80k
                        { (yyval.ast) = NULL; }
6430
1.80k
#line 6431 "/src/php-src/Zend/zend_language_parser.c"
6431
1.80k
    break;
6432
6433
402
  case 217: /* enum_case_expr: '=' expr  */
6434
402
#line 665 "/src/php-src/Zend/zend_language_parser.y"
6435
402
                         { (yyval.ast) = (yyvsp[0].ast); }
6436
402
#line 6437 "/src/php-src/Zend/zend_language_parser.c"
6437
402
    break;
6438
6439
13.1k
  case 218: /* extends_from: %empty  */
6440
13.1k
#line 669 "/src/php-src/Zend/zend_language_parser.y"
6441
13.1k
                                                { (yyval.ast) = NULL; }
6442
13.1k
#line 6443 "/src/php-src/Zend/zend_language_parser.c"
6443
13.1k
    break;
6444
6445
8.99k
  case 219: /* extends_from: "'extends'" class_name  */
6446
8.99k
#line 670 "/src/php-src/Zend/zend_language_parser.y"
6447
8.99k
                                        { (yyval.ast) = (yyvsp[0].ast); }
6448
8.99k
#line 6449 "/src/php-src/Zend/zend_language_parser.c"
6449
8.99k
    break;
6450
6451
2.42k
  case 220: /* interface_extends_list: %empty  */
6452
2.42k
#line 674 "/src/php-src/Zend/zend_language_parser.y"
6453
2.42k
                                                { (yyval.ast) = NULL; }
6454
2.42k
#line 6455 "/src/php-src/Zend/zend_language_parser.c"
6455
2.42k
    break;
6456
6457
227
  case 221: /* interface_extends_list: "'extends'" class_name_list  */
6458
227
#line 675 "/src/php-src/Zend/zend_language_parser.y"
6459
227
                                                { (yyval.ast) = (yyvsp[0].ast); }
6460
227
#line 6461 "/src/php-src/Zend/zend_language_parser.c"
6461
227
    break;
6462
6463
26.7k
  case 222: /* implements_list: %empty  */
6464
26.7k
#line 679 "/src/php-src/Zend/zend_language_parser.y"
6465
26.7k
                                                        { (yyval.ast) = NULL; }
6466
26.7k
#line 6467 "/src/php-src/Zend/zend_language_parser.c"
6467
26.7k
    break;
6468
6469
981
  case 223: /* implements_list: "'implements'" class_name_list  */
6470
981
#line 680 "/src/php-src/Zend/zend_language_parser.y"
6471
981
                                                { (yyval.ast) = (yyvsp[0].ast); }
6472
981
#line 6473 "/src/php-src/Zend/zend_language_parser.c"
6473
981
    break;
6474
6475
2.71k
  case 224: /* foreach_variable: variable  */
6476
2.71k
#line 684 "/src/php-src/Zend/zend_language_parser.y"
6477
2.71k
                                                { (yyval.ast) = (yyvsp[0].ast); }
6478
2.71k
#line 6479 "/src/php-src/Zend/zend_language_parser.c"
6479
2.71k
    break;
6480
6481
836
  case 225: /* foreach_variable: ampersand variable  */
6482
836
#line 685 "/src/php-src/Zend/zend_language_parser.y"
6483
836
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_REF, (yyvsp[0].ast)); }
6484
836
#line 6485 "/src/php-src/Zend/zend_language_parser.c"
6485
836
    break;
6486
6487
145
  case 226: /* foreach_variable: "'list'" '(' array_pair_list ')'  */
6488
145
#line 686 "/src/php-src/Zend/zend_language_parser.y"
6489
145
                                               { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LIST; }
6490
145
#line 6491 "/src/php-src/Zend/zend_language_parser.c"
6491
145
    break;
6492
6493
106
  case 227: /* foreach_variable: '[' array_pair_list ']'  */
6494
106
#line 687 "/src/php-src/Zend/zend_language_parser.y"
6495
106
                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
6496
106
#line 6497 "/src/php-src/Zend/zend_language_parser.c"
6497
106
    break;
6498
6499
6.75k
  case 228: /* for_statement: statement  */
6500
6.75k
#line 691 "/src/php-src/Zend/zend_language_parser.y"
6501
6.75k
                          { (yyval.ast) = (yyvsp[0].ast); }
6502
6.75k
#line 6503 "/src/php-src/Zend/zend_language_parser.c"
6503
6.75k
    break;
6504
6505
66
  case 229: /* for_statement: ':' inner_statement_list "'endfor'" ';'  */
6506
66
#line 692 "/src/php-src/Zend/zend_language_parser.y"
6507
66
                                                      { (yyval.ast) = (yyvsp[-2].ast); }
6508
66
#line 6509 "/src/php-src/Zend/zend_language_parser.c"
6509
66
    break;
6510
6511
2.76k
  case 230: /* foreach_statement: statement  */
6512
2.76k
#line 696 "/src/php-src/Zend/zend_language_parser.y"
6513
2.76k
                          { (yyval.ast) = (yyvsp[0].ast); }
6514
2.76k
#line 6515 "/src/php-src/Zend/zend_language_parser.c"
6515
2.76k
    break;
6516
6517
0
  case 231: /* foreach_statement: ':' inner_statement_list "'endforeach'" ';'  */
6518
0
#line 697 "/src/php-src/Zend/zend_language_parser.y"
6519
0
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6520
0
#line 6521 "/src/php-src/Zend/zend_language_parser.c"
6521
0
    break;
6522
6523
3.37k
  case 232: /* declare_statement: statement  */
6524
3.37k
#line 701 "/src/php-src/Zend/zend_language_parser.y"
6525
3.37k
                          { (yyval.ast) = (yyvsp[0].ast); }
6526
3.37k
#line 6527 "/src/php-src/Zend/zend_language_parser.c"
6527
3.37k
    break;
6528
6529
66
  case 233: /* declare_statement: ':' inner_statement_list "'enddeclare'" ';'  */
6530
66
#line 702 "/src/php-src/Zend/zend_language_parser.y"
6531
66
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6532
66
#line 6533 "/src/php-src/Zend/zend_language_parser.c"
6533
66
    break;
6534
6535
1.43k
  case 234: /* switch_case_list: '{' case_list '}'  */
6536
1.43k
#line 706 "/src/php-src/Zend/zend_language_parser.y"
6537
1.43k
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6538
1.43k
#line 6539 "/src/php-src/Zend/zend_language_parser.c"
6539
1.43k
    break;
6540
6541
213
  case 235: /* switch_case_list: '{' ';' case_list '}'  */
6542
213
#line 707 "/src/php-src/Zend/zend_language_parser.y"
6543
213
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
6544
213
#line 6545 "/src/php-src/Zend/zend_language_parser.c"
6545
213
    break;
6546
6547
0
  case 236: /* switch_case_list: ':' case_list "'endswitch'" ';'  */
6548
0
#line 708 "/src/php-src/Zend/zend_language_parser.y"
6549
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6550
0
#line 6551 "/src/php-src/Zend/zend_language_parser.c"
6551
0
    break;
6552
6553
0
  case 237: /* switch_case_list: ':' ';' case_list "'endswitch'" ';'  */
6554
0
#line 709 "/src/php-src/Zend/zend_language_parser.y"
6555
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6556
0
#line 6557 "/src/php-src/Zend/zend_language_parser.c"
6557
0
    break;
6558
6559
1.70k
  case 238: /* case_list: %empty  */
6560
1.70k
#line 713 "/src/php-src/Zend/zend_language_parser.y"
6561
1.70k
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_SWITCH_LIST); }
6562
1.70k
#line 6563 "/src/php-src/Zend/zend_language_parser.c"
6563
1.70k
    break;
6564
6565
2.98k
  case 239: /* case_list: case_list "'case'" expr ':' inner_statement_list  */
6566
2.98k
#line 715 "/src/php-src/Zend/zend_language_parser.y"
6567
2.98k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6568
2.98k
#line 6569 "/src/php-src/Zend/zend_language_parser.c"
6569
2.98k
    break;
6570
6571
349
  case 240: /* case_list: case_list "'case'" expr ';' inner_statement_list  */
6572
349
#line 717 "/src/php-src/Zend/zend_language_parser.y"
6573
349
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6574
349
#line 6575 "/src/php-src/Zend/zend_language_parser.c"
6575
349
    break;
6576
6577
230
  case 241: /* case_list: case_list "'default'" ':' inner_statement_list  */
6578
230
#line 719 "/src/php-src/Zend/zend_language_parser.y"
6579
230
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, NULL, (yyvsp[0].ast))); }
6580
230
#line 6581 "/src/php-src/Zend/zend_language_parser.c"
6581
230
    break;
6582
6583
29
  case 242: /* case_list: case_list "'default'" ';' inner_statement_list  */
6584
29
#line 721 "/src/php-src/Zend/zend_language_parser.y"
6585
29
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, NULL, (yyvsp[0].ast))); }
6586
29
#line 6587 "/src/php-src/Zend/zend_language_parser.c"
6587
29
    break;
6588
6589
2.23k
  case 243: /* match: "'match'" '(' expr ')' '{' match_arm_list '}'  */
6590
2.23k
#line 727 "/src/php-src/Zend/zend_language_parser.y"
6591
2.23k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
6592
2.23k
#line 6593 "/src/php-src/Zend/zend_language_parser.c"
6593
2.23k
    break;
6594
6595
803
  case 244: /* match_arm_list: %empty  */
6596
803
#line 731 "/src/php-src/Zend/zend_language_parser.y"
6597
803
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_MATCH_ARM_LIST); }
6598
803
#line 6599 "/src/php-src/Zend/zend_language_parser.c"
6599
803
    break;
6600
6601
1.44k
  case 245: /* match_arm_list: non_empty_match_arm_list possible_comma  */
6602
1.44k
#line 732 "/src/php-src/Zend/zend_language_parser.y"
6603
1.44k
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6604
1.44k
#line 6605 "/src/php-src/Zend/zend_language_parser.c"
6605
1.44k
    break;
6606
6607
1.69k
  case 246: /* non_empty_match_arm_list: match_arm  */
6608
1.69k
#line 736 "/src/php-src/Zend/zend_language_parser.y"
6609
1.69k
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MATCH_ARM_LIST, (yyvsp[0].ast)); }
6610
1.69k
#line 6611 "/src/php-src/Zend/zend_language_parser.c"
6611
1.69k
    break;
6612
6613
1.06k
  case 247: /* non_empty_match_arm_list: non_empty_match_arm_list ',' match_arm  */
6614
1.06k
#line 737 "/src/php-src/Zend/zend_language_parser.y"
6615
1.06k
                                                       { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6616
1.06k
#line 6617 "/src/php-src/Zend/zend_language_parser.c"
6617
1.06k
    break;
6618
6619
2.54k
  case 248: /* match_arm: match_arm_cond_list possible_comma "'=>'" expr  */
6620
2.54k
#line 742 "/src/php-src/Zend/zend_language_parser.y"
6621
2.54k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, (yyvsp[-3].ast), (yyvsp[0].ast)); }
6622
2.54k
#line 6623 "/src/php-src/Zend/zend_language_parser.c"
6623
2.54k
    break;
6624
6625
214
  case 249: /* match_arm: "'default'" possible_comma "'=>'" expr  */
6626
214
#line 744 "/src/php-src/Zend/zend_language_parser.y"
6627
214
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, NULL, (yyvsp[0].ast)); }
6628
214
#line 6629 "/src/php-src/Zend/zend_language_parser.c"
6629
214
    break;
6630
6631
2.64k
  case 250: /* match_arm_cond_list: expr  */
6632
2.64k
#line 748 "/src/php-src/Zend/zend_language_parser.y"
6633
2.64k
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
6634
2.64k
#line 6635 "/src/php-src/Zend/zend_language_parser.c"
6635
2.64k
    break;
6636
6637
3.08k
  case 251: /* match_arm_cond_list: match_arm_cond_list ',' expr  */
6638
3.08k
#line 749 "/src/php-src/Zend/zend_language_parser.y"
6639
3.08k
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6640
3.08k
#line 6641 "/src/php-src/Zend/zend_language_parser.c"
6641
3.08k
    break;
6642
6643
772
  case 252: /* while_statement: statement  */
6644
772
#line 754 "/src/php-src/Zend/zend_language_parser.y"
6645
772
                          { (yyval.ast) = (yyvsp[0].ast); }
6646
772
#line 6647 "/src/php-src/Zend/zend_language_parser.c"
6647
772
    break;
6648
6649
0
  case 253: /* while_statement: ':' inner_statement_list "'endwhile'" ';'  */
6650
0
#line 755 "/src/php-src/Zend/zend_language_parser.y"
6651
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6652
0
#line 6653 "/src/php-src/Zend/zend_language_parser.c"
6653
0
    break;
6654
6655
4.10k
  case 254: /* if_stmt_without_else: "'if'" '(' expr ')' statement  */
6656
4.10k
#line 761 "/src/php-src/Zend/zend_language_parser.y"
6657
4.10k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6658
4.10k
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6659
4.10k
#line 6660 "/src/php-src/Zend/zend_language_parser.c"
6660
4.10k
    break;
6661
6662
1.87k
  case 255: /* if_stmt_without_else: if_stmt_without_else "'elseif'" '(' expr ')' statement  */
6663
1.87k
#line 764 "/src/php-src/Zend/zend_language_parser.y"
6664
1.87k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6665
1.87k
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6666
1.87k
#line 6667 "/src/php-src/Zend/zend_language_parser.c"
6667
1.87k
    break;
6668
6669
2.49k
  case 256: /* if_stmt: if_stmt_without_else  */
6670
2.49k
#line 769 "/src/php-src/Zend/zend_language_parser.y"
6671
2.49k
                                                    { (yyval.ast) = (yyvsp[0].ast); }
6672
2.49k
#line 6673 "/src/php-src/Zend/zend_language_parser.c"
6673
2.49k
    break;
6674
6675
1.57k
  case 257: /* if_stmt: if_stmt_without_else "'else'" statement  */
6676
1.57k
#line 771 "/src/php-src/Zend/zend_language_parser.y"
6677
1.57k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[0].ast))); }
6678
1.57k
#line 6679 "/src/php-src/Zend/zend_language_parser.c"
6679
1.57k
    break;
6680
6681
217
  case 258: /* alt_if_stmt_without_else: "'if'" '(' expr ')' ':' inner_statement_list  */
6682
217
#line 776 "/src/php-src/Zend/zend_language_parser.y"
6683
217
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6684
217
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6685
217
#line 6686 "/src/php-src/Zend/zend_language_parser.c"
6686
217
    break;
6687
6688
18
  case 259: /* alt_if_stmt_without_else: alt_if_stmt_without_else "'elseif'" '(' expr ')' ':' inner_statement_list  */
6689
18
#line 779 "/src/php-src/Zend/zend_language_parser.y"
6690
18
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-6].ast),
6691
18
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6692
18
#line 6693 "/src/php-src/Zend/zend_language_parser.c"
6693
18
    break;
6694
6695
77
  case 260: /* alt_if_stmt: alt_if_stmt_without_else "'endif'" ';'  */
6696
77
#line 784 "/src/php-src/Zend/zend_language_parser.y"
6697
77
                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6698
77
#line 6699 "/src/php-src/Zend/zend_language_parser.c"
6699
77
    break;
6700
6701
66
  case 261: /* alt_if_stmt: alt_if_stmt_without_else "'else'" ':' inner_statement_list "'endif'" ';'  */
6702
66
#line 786 "/src/php-src/Zend/zend_language_parser.y"
6703
66
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6704
66
            zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[-2].ast))); }
6705
66
#line 6706 "/src/php-src/Zend/zend_language_parser.c"
6706
66
    break;
6707
6708
18.7k
  case 262: /* parameter_list: non_empty_parameter_list possible_comma  */
6709
18.7k
#line 791 "/src/php-src/Zend/zend_language_parser.y"
6710
18.7k
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6711
18.7k
#line 6712 "/src/php-src/Zend/zend_language_parser.c"
6712
18.7k
    break;
6713
6714
28.6k
  case 263: /* parameter_list: %empty  */
6715
28.6k
#line 792 "/src/php-src/Zend/zend_language_parser.y"
6716
28.6k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_PARAM_LIST); }
6717
28.6k
#line 6718 "/src/php-src/Zend/zend_language_parser.c"
6718
28.6k
    break;
6719
6720
19.0k
  case 264: /* non_empty_parameter_list: attributed_parameter  */
6721
19.0k
#line 798 "/src/php-src/Zend/zend_language_parser.y"
6722
19.0k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PARAM_LIST, (yyvsp[0].ast)); }
6723
19.0k
#line 6724 "/src/php-src/Zend/zend_language_parser.c"
6724
19.0k
    break;
6725
6726
9.70k
  case 265: /* non_empty_parameter_list: non_empty_parameter_list ',' attributed_parameter  */
6727
9.70k
#line 800 "/src/php-src/Zend/zend_language_parser.y"
6728
9.70k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6729
9.70k
#line 6730 "/src/php-src/Zend/zend_language_parser.c"
6730
9.70k
    break;
6731
6732
1.40k
  case 266: /* attributed_parameter: attributes parameter  */
6733
1.40k
#line 804 "/src/php-src/Zend/zend_language_parser.y"
6734
1.40k
                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6735
1.40k
#line 6736 "/src/php-src/Zend/zend_language_parser.c"
6736
1.40k
    break;
6737
6738
27.3k
  case 267: /* attributed_parameter: parameter  */
6739
27.3k
#line 805 "/src/php-src/Zend/zend_language_parser.y"
6740
27.3k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6741
27.3k
#line 6742 "/src/php-src/Zend/zend_language_parser.c"
6742
27.3k
    break;
6743
6744
29.4k
  case 268: /* optional_cpp_modifiers: %empty  */
6745
29.4k
#line 810 "/src/php-src/Zend/zend_language_parser.y"
6746
29.4k
                        { (yyval.num) = 0; }
6747
29.4k
#line 6748 "/src/php-src/Zend/zend_language_parser.c"
6748
29.4k
    break;
6749
6750
746
  case 269: /* optional_cpp_modifiers: non_empty_member_modifiers  */
6751
746
#line 812 "/src/php-src/Zend/zend_language_parser.y"
6752
746
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CPP, (yyvsp[0].ast));
6753
746
        if (!(yyval.num)) { YYERROR; } }
6754
732
#line 6755 "/src/php-src/Zend/zend_language_parser.c"
6755
732
    break;
6756
6757
24.5k
  case 270: /* parameter: optional_cpp_modifiers optional_type_without_static is_reference is_variadic "variable" backup_doc_comment optional_property_hook_list  */
6758
24.5k
#line 819 "/src/php-src/Zend/zend_language_parser.y"
6759
24.5k
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-6].num) | (yyvsp[-4].num) | (yyvsp[-3].num), (yyvsp[-5].ast), (yyvsp[-2].ast), NULL,
6760
24.5k
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6761
24.5k
#line 6762 "/src/php-src/Zend/zend_language_parser.c"
6762
24.5k
    break;
6763
6764
4.17k
  case 271: /* parameter: optional_cpp_modifiers optional_type_without_static is_reference is_variadic "variable" '=' expr backup_doc_comment optional_property_hook_list  */
6765
4.17k
#line 823 "/src/php-src/Zend/zend_language_parser.y"
6766
4.17k
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-8].num) | (yyvsp[-6].num) | (yyvsp[-5].num), (yyvsp[-7].ast), (yyvsp[-4].ast), (yyvsp[-2].ast),
6767
4.17k
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6768
4.17k
#line 6769 "/src/php-src/Zend/zend_language_parser.c"
6769
4.17k
    break;
6770
6771
24.0k
  case 272: /* optional_type_without_static: %empty  */
6772
24.0k
#line 828 "/src/php-src/Zend/zend_language_parser.y"
6773
24.0k
                        { (yyval.ast) = NULL; }
6774
24.0k
#line 6775 "/src/php-src/Zend/zend_language_parser.c"
6775
24.0k
    break;
6776
6777
19.8k
  case 273: /* optional_type_without_static: type_expr_without_static  */
6778
19.8k
#line 829 "/src/php-src/Zend/zend_language_parser.y"
6779
19.8k
                                                { (yyval.ast) = (yyvsp[0].ast); }
6780
19.8k
#line 6781 "/src/php-src/Zend/zend_language_parser.c"
6781
19.8k
    break;
6782
6783
5.47k
  case 274: /* type_expr: type  */
6784
5.47k
#line 833 "/src/php-src/Zend/zend_language_parser.y"
6785
5.47k
                                                { (yyval.ast) = (yyvsp[0].ast); }
6786
5.47k
#line 6787 "/src/php-src/Zend/zend_language_parser.c"
6787
5.47k
    break;
6788
6789
990
  case 275: /* type_expr: '?' type  */
6790
990
#line 834 "/src/php-src/Zend/zend_language_parser.y"
6791
990
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6792
990
#line 6793 "/src/php-src/Zend/zend_language_parser.c"
6793
990
    break;
6794
6795
2.47k
  case 276: /* type_expr: union_type  */
6796
2.47k
#line 835 "/src/php-src/Zend/zend_language_parser.y"
6797
2.47k
                                                { (yyval.ast) = (yyvsp[0].ast); }
6798
2.47k
#line 6799 "/src/php-src/Zend/zend_language_parser.c"
6799
2.47k
    break;
6800
6801
604
  case 277: /* type_expr: intersection_type  */
6802
604
#line 836 "/src/php-src/Zend/zend_language_parser.y"
6803
604
                                        { (yyval.ast) = (yyvsp[0].ast); }
6804
604
#line 6805 "/src/php-src/Zend/zend_language_parser.c"
6805
604
    break;
6806
6807
17.0k
  case 278: /* type: type_without_static  */
6808
17.0k
#line 840 "/src/php-src/Zend/zend_language_parser.y"
6809
17.0k
                                        { (yyval.ast) = (yyvsp[0].ast); }
6810
17.0k
#line 6811 "/src/php-src/Zend/zend_language_parser.c"
6811
17.0k
    break;
6812
6813
729
  case 279: /* type: "'static'"  */
6814
729
#line 841 "/src/php-src/Zend/zend_language_parser.y"
6815
729
                                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_STATIC); }
6816
729
#line 6817 "/src/php-src/Zend/zend_language_parser.c"
6817
729
    break;
6818
6819
7.62k
  case 280: /* union_type_element: type  */
6820
7.62k
#line 845 "/src/php-src/Zend/zend_language_parser.y"
6821
7.62k
                     { (yyval.ast) = (yyvsp[0].ast); }
6822
7.62k
#line 6823 "/src/php-src/Zend/zend_language_parser.c"
6823
7.62k
    break;
6824
6825
990
  case 281: /* union_type_element: '(' intersection_type ')'  */
6826
990
#line 846 "/src/php-src/Zend/zend_language_parser.y"
6827
990
                                           { (yyval.ast) = (yyvsp[-1].ast); }
6828
990
#line 6829 "/src/php-src/Zend/zend_language_parser.c"
6829
990
    break;
6830
6831
2.47k
  case 282: /* union_type: union_type_element '|' union_type_element  */
6832
2.47k
#line 851 "/src/php-src/Zend/zend_language_parser.y"
6833
2.47k
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6834
2.47k
#line 6835 "/src/php-src/Zend/zend_language_parser.c"
6835
2.47k
    break;
6836
6837
3.65k
  case 283: /* union_type: union_type '|' union_type_element  */
6838
3.65k
#line 853 "/src/php-src/Zend/zend_language_parser.y"
6839
3.65k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6840
3.65k
#line 6841 "/src/php-src/Zend/zend_language_parser.c"
6841
3.65k
    break;
6842
6843
1.60k
  case 284: /* intersection_type: type "amp" type  */
6844
1.60k
#line 857 "/src/php-src/Zend/zend_language_parser.y"
6845
1.60k
                                                                          { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6846
1.60k
#line 6847 "/src/php-src/Zend/zend_language_parser.c"
6847
1.60k
    break;
6848
6849
511
  case 285: /* intersection_type: intersection_type "amp" type  */
6850
511
#line 858 "/src/php-src/Zend/zend_language_parser.y"
6851
511
                                                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6852
511
#line 6853 "/src/php-src/Zend/zend_language_parser.c"
6853
511
    break;
6854
6855
14.7k
  case 286: /* type_expr_without_static: type_without_static  */
6856
14.7k
#line 865 "/src/php-src/Zend/zend_language_parser.y"
6857
14.7k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6858
14.7k
#line 6859 "/src/php-src/Zend/zend_language_parser.c"
6859
14.7k
    break;
6860
6861
913
  case 287: /* type_expr_without_static: '?' type_without_static  */
6862
913
#line 866 "/src/php-src/Zend/zend_language_parser.y"
6863
913
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6864
913
#line 6865 "/src/php-src/Zend/zend_language_parser.c"
6865
913
    break;
6866
6867
3.45k
  case 288: /* type_expr_without_static: union_type_without_static  */
6868
3.45k
#line 867 "/src/php-src/Zend/zend_language_parser.y"
6869
3.45k
                                                { (yyval.ast) = (yyvsp[0].ast); }
6870
3.45k
#line 6871 "/src/php-src/Zend/zend_language_parser.c"
6871
3.45k
    break;
6872
6873
674
  case 289: /* type_expr_without_static: intersection_type_without_static  */
6874
674
#line 868 "/src/php-src/Zend/zend_language_parser.y"
6875
674
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6876
674
#line 6877 "/src/php-src/Zend/zend_language_parser.c"
6877
674
    break;
6878
6879
1.32k
  case 290: /* type_without_static: "'array'"  */
6880
1.32k
#line 872 "/src/php-src/Zend/zend_language_parser.y"
6881
1.32k
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_ARRAY); }
6882
1.32k
#line 6883 "/src/php-src/Zend/zend_language_parser.c"
6883
1.32k
    break;
6884
6885
396
  case 291: /* type_without_static: "'callable'"  */
6886
396
#line 873 "/src/php-src/Zend/zend_language_parser.y"
6887
396
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_CALLABLE); }
6888
396
#line 6889 "/src/php-src/Zend/zend_language_parser.c"
6889
396
    break;
6890
6891
50.5k
  case 292: /* type_without_static: name  */
6892
50.5k
#line 874 "/src/php-src/Zend/zend_language_parser.y"
6893
50.5k
                                { (yyval.ast) = (yyvsp[0].ast); }
6894
50.5k
#line 6895 "/src/php-src/Zend/zend_language_parser.c"
6895
50.5k
    break;
6896
6897
6.79k
  case 293: /* union_type_without_static_element: type_without_static  */
6898
6.79k
#line 878 "/src/php-src/Zend/zend_language_parser.y"
6899
6.79k
                                    { (yyval.ast) = (yyvsp[0].ast); }
6900
6.79k
#line 6901 "/src/php-src/Zend/zend_language_parser.c"
6901
6.79k
    break;
6902
6903
3.61k
  case 294: /* union_type_without_static_element: '(' intersection_type_without_static ')'  */
6904
3.61k
#line 879 "/src/php-src/Zend/zend_language_parser.y"
6905
3.61k
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
6906
3.61k
#line 6907 "/src/php-src/Zend/zend_language_parser.c"
6907
3.61k
    break;
6908
6909
3.46k
  case 295: /* union_type_without_static: union_type_without_static_element '|' union_type_without_static_element  */
6910
3.46k
#line 884 "/src/php-src/Zend/zend_language_parser.y"
6911
3.46k
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6912
3.46k
#line 6913 "/src/php-src/Zend/zend_language_parser.c"
6913
3.46k
    break;
6914
6915
3.46k
  case 296: /* union_type_without_static: union_type_without_static '|' union_type_without_static_element  */
6916
3.46k
#line 886 "/src/php-src/Zend/zend_language_parser.y"
6917
3.46k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6918
3.46k
#line 6919 "/src/php-src/Zend/zend_language_parser.c"
6919
3.46k
    break;
6920
6921
4.29k
  case 297: /* intersection_type_without_static: type_without_static "amp" type_without_static  */
6922
4.29k
#line 891 "/src/php-src/Zend/zend_language_parser.y"
6923
4.29k
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6924
4.29k
#line 6925 "/src/php-src/Zend/zend_language_parser.c"
6925
4.29k
    break;
6926
6927
4.12k
  case 298: /* intersection_type_without_static: intersection_type_without_static "amp" type_without_static  */
6928
4.12k
#line 893 "/src/php-src/Zend/zend_language_parser.y"
6929
4.12k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6930
4.12k
#line 6931 "/src/php-src/Zend/zend_language_parser.c"
6931
4.12k
    break;
6932
6933
39.8k
  case 299: /* return_type: %empty  */
6934
39.8k
#line 897 "/src/php-src/Zend/zend_language_parser.y"
6935
39.8k
                        { (yyval.ast) = NULL; }
6936
39.8k
#line 6937 "/src/php-src/Zend/zend_language_parser.c"
6937
39.8k
    break;
6938
6939
7.26k
  case 300: /* return_type: ':' type_expr  */
6940
7.26k
#line 898 "/src/php-src/Zend/zend_language_parser.y"
6941
7.26k
                                { (yyval.ast) = (yyvsp[0].ast); }
6942
7.26k
#line 6943 "/src/php-src/Zend/zend_language_parser.c"
6943
7.26k
    break;
6944
6945
31.1k
  case 301: /* argument_list: '(' ')'  */
6946
31.1k
#line 902 "/src/php-src/Zend/zend_language_parser.y"
6947
31.1k
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6948
31.1k
#line 6949 "/src/php-src/Zend/zend_language_parser.c"
6949
31.1k
    break;
6950
6951
147k
  case 302: /* argument_list: '(' non_empty_argument_list possible_comma ')'  */
6952
147k
#line 903 "/src/php-src/Zend/zend_language_parser.y"
6953
147k
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
6954
147k
#line 6955 "/src/php-src/Zend/zend_language_parser.c"
6955
147k
    break;
6956
6957
151k
  case 303: /* non_empty_argument_list: argument  */
6958
151k
#line 908 "/src/php-src/Zend/zend_language_parser.y"
6959
151k
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6960
151k
#line 6961 "/src/php-src/Zend/zend_language_parser.c"
6961
151k
    break;
6962
6963
63.6k
  case 304: /* non_empty_argument_list: non_empty_argument_list ',' argument  */
6964
63.6k
#line 910 "/src/php-src/Zend/zend_language_parser.y"
6965
63.6k
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6966
63.6k
#line 6967 "/src/php-src/Zend/zend_language_parser.c"
6967
63.6k
    break;
6968
6969
205
  case 305: /* clone_argument_list: '(' ')'  */
6970
205
#line 923 "/src/php-src/Zend/zend_language_parser.y"
6971
205
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6972
205
#line 6973 "/src/php-src/Zend/zend_language_parser.c"
6973
205
    break;
6974
6975
969
  case 306: /* clone_argument_list: '(' non_empty_clone_argument_list possible_comma ')'  */
6976
969
#line 924 "/src/php-src/Zend/zend_language_parser.y"
6977
969
                                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6978
969
#line 6979 "/src/php-src/Zend/zend_language_parser.c"
6979
969
    break;
6980
6981
138
  case 307: /* clone_argument_list: '(' expr ',' ')'  */
6982
138
#line 925 "/src/php-src/Zend/zend_language_parser.y"
6983
138
                                 { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[-2].ast)); }
6984
138
#line 6985 "/src/php-src/Zend/zend_language_parser.c"
6985
138
    break;
6986
6987
882
  case 308: /* non_empty_clone_argument_list: expr ',' argument  */
6988
882
#line 930 "/src/php-src/Zend/zend_language_parser.y"
6989
882
                        { (yyval.ast) = zend_ast_create_arg_list(2, ZEND_AST_ARG_LIST, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6990
882
#line 6991 "/src/php-src/Zend/zend_language_parser.c"
6991
882
    break;
6992
6993
497
  case 309: /* non_empty_clone_argument_list: argument_no_expr  */
6994
497
#line 932 "/src/php-src/Zend/zend_language_parser.y"
6995
497
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6996
497
#line 6997 "/src/php-src/Zend/zend_language_parser.c"
6997
497
    break;
6998
6999
228
  case 310: /* non_empty_clone_argument_list: non_empty_clone_argument_list ',' argument  */
7000
228
#line 934 "/src/php-src/Zend/zend_language_parser.y"
7001
228
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7002
228
#line 7003 "/src/php-src/Zend/zend_language_parser.c"
7003
228
    break;
7004
7005
9.12k
  case 311: /* argument_no_expr: identifier ':' expr  */
7006
9.12k
#line 939 "/src/php-src/Zend/zend_language_parser.y"
7007
9.12k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7008
9.12k
#line 7009 "/src/php-src/Zend/zend_language_parser.c"
7009
9.12k
    break;
7010
7011
5.26k
  case 312: /* argument_no_expr: "'...'"  */
7012
5.26k
#line 941 "/src/php-src/Zend/zend_language_parser.y"
7013
5.26k
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PLACEHOLDER_ARG, ZEND_PLACEHOLDER_VARIADIC); }
7014
5.26k
#line 7015 "/src/php-src/Zend/zend_language_parser.c"
7015
5.26k
    break;
7016
7017
3.26k
  case 313: /* argument_no_expr: '?'  */
7018
3.26k
#line 943 "/src/php-src/Zend/zend_language_parser.y"
7019
3.26k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PLACEHOLDER_ARG); }
7020
3.26k
#line 7021 "/src/php-src/Zend/zend_language_parser.c"
7021
3.26k
    break;
7022
7023
4.14k
  case 314: /* argument_no_expr: identifier ':' '?'  */
7024
4.14k
#line 945 "/src/php-src/Zend/zend_language_parser.y"
7025
4.14k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), zend_ast_create(ZEND_AST_PLACEHOLDER_ARG)); }
7026
4.14k
#line 7027 "/src/php-src/Zend/zend_language_parser.c"
7027
4.14k
    break;
7028
7029
1.04k
  case 315: /* argument_no_expr: "'...'" expr  */
7030
1.04k
#line 947 "/src/php-src/Zend/zend_language_parser.y"
7031
1.04k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
7032
1.04k
#line 7033 "/src/php-src/Zend/zend_language_parser.c"
7033
1.04k
    break;
7034
7035
193k
  case 316: /* argument: expr  */
7036
193k
#line 951 "/src/php-src/Zend/zend_language_parser.y"
7037
193k
                     { (yyval.ast) = (yyvsp[0].ast); }
7038
193k
#line 7039 "/src/php-src/Zend/zend_language_parser.c"
7039
193k
    break;
7040
7041
22.3k
  case 317: /* argument: argument_no_expr  */
7042
22.3k
#line 952 "/src/php-src/Zend/zend_language_parser.y"
7043
22.3k
                                 { (yyval.ast) = (yyvsp[0].ast); }
7044
22.3k
#line 7045 "/src/php-src/Zend/zend_language_parser.c"
7045
22.3k
    break;
7046
7047
1.17k
  case 318: /* global_var_list: global_var_list ',' global_var  */
7048
1.17k
#line 956 "/src/php-src/Zend/zend_language_parser.y"
7049
1.17k
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7050
1.17k
#line 7051 "/src/php-src/Zend/zend_language_parser.c"
7051
1.17k
    break;
7052
7053
466
  case 319: /* global_var_list: global_var  */
7054
466
#line 957 "/src/php-src/Zend/zend_language_parser.y"
7055
466
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
7056
466
#line 7057 "/src/php-src/Zend/zend_language_parser.c"
7057
466
    break;
7058
7059
1.64k
  case 320: /* global_var: simple_variable  */
7060
1.64k
#line 962 "/src/php-src/Zend/zend_language_parser.y"
7061
1.64k
                { (yyval.ast) = zend_ast_create(ZEND_AST_GLOBAL, zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast))); }
7062
1.64k
#line 7063 "/src/php-src/Zend/zend_language_parser.c"
7063
1.64k
    break;
7064
7065
805
  case 321: /* static_var_list: static_var_list ',' static_var  */
7066
805
#line 967 "/src/php-src/Zend/zend_language_parser.y"
7067
805
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7068
805
#line 7069 "/src/php-src/Zend/zend_language_parser.c"
7069
805
    break;
7070
7071
672
  case 322: /* static_var_list: static_var  */
7072
672
#line 968 "/src/php-src/Zend/zend_language_parser.y"
7073
672
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
7074
672
#line 7075 "/src/php-src/Zend/zend_language_parser.c"
7075
672
    break;
7076
7077
1.20k
  case 323: /* static_var: "variable"  */
7078
1.20k
#line 972 "/src/php-src/Zend/zend_language_parser.y"
7079
1.20k
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[0].ast), NULL); }
7080
1.20k
#line 7081 "/src/php-src/Zend/zend_language_parser.c"
7081
1.20k
    break;
7082
7083
274
  case 324: /* static_var: "variable" '=' expr  */
7084
274
#line 973 "/src/php-src/Zend/zend_language_parser.y"
7085
274
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7086
274
#line 7087 "/src/php-src/Zend/zend_language_parser.c"
7087
274
    break;
7088
7089
29.3k
  case 325: /* class_statement_list: class_statement_list class_statement  */
7090
29.3k
#line 978 "/src/php-src/Zend/zend_language_parser.y"
7091
29.3k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
7092
29.3k
#line 7093 "/src/php-src/Zend/zend_language_parser.c"
7093
29.3k
    break;
7094
7095
31.6k
  case 326: /* class_statement_list: %empty  */
7096
31.6k
#line 980 "/src/php-src/Zend/zend_language_parser.y"
7097
31.6k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
7098
31.6k
#line 7099 "/src/php-src/Zend/zend_language_parser.c"
7099
31.6k
    break;
7100
7101
8.88k
  case 327: /* attributed_class_statement: property_modifiers optional_type_without_static property_list ';'  */
7102
8.88k
#line 986 "/src/php-src/Zend/zend_language_parser.y"
7103
8.88k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-2].ast), (yyvsp[-1].ast), NULL);
7104
8.88k
        (yyval.ast)->attr = (yyvsp[-3].num); }
7105
8.88k
#line 7106 "/src/php-src/Zend/zend_language_parser.c"
7106
8.88k
    break;
7107
7108
4.51k
  case 328: /* attributed_class_statement: property_modifiers optional_type_without_static hooked_property  */
7109
4.51k
#line 989 "/src/php-src/Zend/zend_language_parser.y"
7110
4.51k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-1].ast), zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)), NULL);
7111
4.51k
        (yyval.ast)->attr = (yyvsp[-2].num); }
7112
4.51k
#line 7113 "/src/php-src/Zend/zend_language_parser.c"
7113
4.51k
    break;
7114
7115
2.22k
  case 329: /* attributed_class_statement: class_const_modifiers "'const'" class_const_list ';'  */
7116
2.22k
#line 992 "/src/php-src/Zend/zend_language_parser.y"
7117
2.22k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, NULL);
7118
2.22k
        (yyval.ast)->attr = (yyvsp[-3].num); }
7119
2.22k
#line 7120 "/src/php-src/Zend/zend_language_parser.c"
7120
2.22k
    break;
7121
7122
1.26k
  case 330: /* attributed_class_statement: class_const_modifiers "'const'" type_expr class_const_list ';'  */
7123
1.26k
#line 995 "/src/php-src/Zend/zend_language_parser.y"
7124
1.26k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, (yyvsp[-2].ast));
7125
1.26k
        (yyval.ast)->attr = (yyvsp[-4].num); }
7126
1.26k
#line 7127 "/src/php-src/Zend/zend_language_parser.c"
7127
1.26k
    break;
7128
7129
9.05k
  case 331: /* attributed_class_statement: method_modifiers function returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type backup_fn_flags method_body backup_fn_flags  */
7130
9.05k
#line 999 "/src/php-src/Zend/zend_language_parser.y"
7131
9.05k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_METHOD, (yyvsp[-9].num) | (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-10].num), (yyvsp[-7].str),
7132
9.05k
          zend_ast_get_str((yyvsp[-8].ast)), (yyvsp[-5].ast), NULL, (yyvsp[-1].ast), (yyvsp[-3].ast), NULL); CG(extra_fn_flags) = (yyvsp[-2].num); }
7133
9.05k
#line 7134 "/src/php-src/Zend/zend_language_parser.c"
7134
9.05k
    break;
7135
7136
2.19k
  case 332: /* attributed_class_statement: enum_case  */
7137
2.19k
#line 1001 "/src/php-src/Zend/zend_language_parser.y"
7138
2.19k
                          { (yyval.ast) = (yyvsp[0].ast); }
7139
2.19k
#line 7140 "/src/php-src/Zend/zend_language_parser.c"
7140
2.19k
    break;
7141
7142
26.5k
  case 333: /* class_statement: attributed_class_statement  */
7143
26.5k
#line 1005 "/src/php-src/Zend/zend_language_parser.y"
7144
26.5k
                                           { (yyval.ast) = (yyvsp[0].ast); }
7145
26.5k
#line 7146 "/src/php-src/Zend/zend_language_parser.c"
7146
26.5k
    break;
7147
7148
1.55k
  case 334: /* class_statement: attributes attributed_class_statement  */
7149
1.55k
#line 1006 "/src/php-src/Zend/zend_language_parser.y"
7150
1.55k
                                                      { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
7151
1.55k
#line 7152 "/src/php-src/Zend/zend_language_parser.c"
7152
1.55k
    break;
7153
7154
1.24k
  case 335: /* class_statement: "'use'" class_name_list trait_adaptations  */
7155
1.24k
#line 1008 "/src/php-src/Zend/zend_language_parser.y"
7156
1.24k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_TRAIT, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7157
1.24k
#line 7158 "/src/php-src/Zend/zend_language_parser.c"
7158
1.24k
    break;
7159
7160
3.71k
  case 336: /* class_name_list: class_name  */
7161
3.71k
#line 1012 "/src/php-src/Zend/zend_language_parser.y"
7162
3.71k
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
7163
3.71k
#line 7164 "/src/php-src/Zend/zend_language_parser.c"
7164
3.71k
    break;
7165
7166
5.24k
  case 337: /* class_name_list: class_name_list ',' class_name  */
7167
5.24k
#line 1013 "/src/php-src/Zend/zend_language_parser.y"
7168
5.24k
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7169
5.24k
#line 7170 "/src/php-src/Zend/zend_language_parser.c"
7170
5.24k
    break;
7171
7172
281
  case 338: /* trait_adaptations: ';'  */
7173
281
#line 1017 "/src/php-src/Zend/zend_language_parser.y"
7174
281
                                                                                { (yyval.ast) = NULL; }
7175
281
#line 7176 "/src/php-src/Zend/zend_language_parser.c"
7176
281
    break;
7177
7178
387
  case 339: /* trait_adaptations: '{' '}'  */
7179
387
#line 1018 "/src/php-src/Zend/zend_language_parser.y"
7180
387
                                                                        { (yyval.ast) = NULL; }
7181
387
#line 7182 "/src/php-src/Zend/zend_language_parser.c"
7182
387
    break;
7183
7184
573
  case 340: /* trait_adaptations: '{' trait_adaptation_list '}'  */
7185
573
#line 1019 "/src/php-src/Zend/zend_language_parser.y"
7186
573
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7187
573
#line 7188 "/src/php-src/Zend/zend_language_parser.c"
7188
573
    break;
7189
7190
604
  case 341: /* trait_adaptation_list: trait_adaptation  */
7191
604
#line 1024 "/src/php-src/Zend/zend_language_parser.y"
7192
604
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_TRAIT_ADAPTATIONS, (yyvsp[0].ast)); }
7193
604
#line 7194 "/src/php-src/Zend/zend_language_parser.c"
7194
604
    break;
7195
7196
3.77k
  case 342: /* trait_adaptation_list: trait_adaptation_list trait_adaptation  */
7197
3.77k
#line 1026 "/src/php-src/Zend/zend_language_parser.y"
7198
3.77k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
7199
3.77k
#line 7200 "/src/php-src/Zend/zend_language_parser.c"
7200
3.77k
    break;
7201
7202
1.21k
  case 343: /* trait_adaptation: trait_precedence ';'  */
7203
1.21k
#line 1030 "/src/php-src/Zend/zend_language_parser.y"
7204
1.21k
                                        { (yyval.ast) = (yyvsp[-1].ast); }
7205
1.21k
#line 7206 "/src/php-src/Zend/zend_language_parser.c"
7206
1.21k
    break;
7207
7208
3.16k
  case 344: /* trait_adaptation: trait_alias ';'  */
7209
3.16k
#line 1031 "/src/php-src/Zend/zend_language_parser.y"
7210
3.16k
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7211
3.16k
#line 7212 "/src/php-src/Zend/zend_language_parser.c"
7212
3.16k
    break;
7213
7214
1.21k
  case 345: /* trait_precedence: absolute_trait_method_reference "'insteadof'" class_name_list  */
7215
1.21k
#line 1036 "/src/php-src/Zend/zend_language_parser.y"
7216
1.21k
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_PRECEDENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7217
1.21k
#line 7218 "/src/php-src/Zend/zend_language_parser.c"
7218
1.21k
    break;
7219
7220
1.68k
  case 346: /* trait_alias: trait_method_reference "'as'" "identifier"  */
7221
1.68k
#line 1041 "/src/php-src/Zend/zend_language_parser.y"
7222
1.68k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7223
1.68k
#line 7224 "/src/php-src/Zend/zend_language_parser.c"
7224
1.68k
    break;
7225
7226
1.05k
  case 347: /* trait_alias: trait_method_reference "'as'" reserved_non_modifiers  */
7227
1.05k
#line 1043 "/src/php-src/Zend/zend_language_parser.y"
7228
1.05k
                        { zval zv;
7229
1.05k
        if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
7230
1.05k
        (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), zend_ast_create_zval(&zv)); }
7231
0
#line 7232 "/src/php-src/Zend/zend_language_parser.c"
7232
0
    break;
7233
7234
102
  case 348: /* trait_alias: trait_method_reference "'as'" member_modifier identifier  */
7235
102
#line 1047 "/src/php-src/Zend/zend_language_parser.y"
7236
102
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[-1].num));
7237
102
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-3].ast), (yyvsp[0].ast));
7238
        /* identifier nonterminal can cause allocations, so we need to free the node */
7239
102
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
7240
101
#line 7241 "/src/php-src/Zend/zend_language_parser.c"
7241
101
    break;
7242
7243
342
  case 349: /* trait_alias: trait_method_reference "'as'" member_modifier  */
7244
342
#line 1052 "/src/php-src/Zend/zend_language_parser.y"
7245
342
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].num));
7246
342
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-2].ast), NULL);
7247
        /* identifier nonterminal can cause allocations, so we need to free the node */
7248
342
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
7249
341
#line 7250 "/src/php-src/Zend/zend_language_parser.c"
7250
341
    break;
7251
7252
2.00k
  case 350: /* trait_method_reference: identifier  */
7253
2.00k
#line 1060 "/src/php-src/Zend/zend_language_parser.y"
7254
2.00k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, NULL, (yyvsp[0].ast)); }
7255
2.00k
#line 7256 "/src/php-src/Zend/zend_language_parser.c"
7256
2.00k
    break;
7257
7258
1.17k
  case 351: /* trait_method_reference: absolute_trait_method_reference  */
7259
1.17k
#line 1061 "/src/php-src/Zend/zend_language_parser.y"
7260
1.17k
                                                { (yyval.ast) = (yyvsp[0].ast); }
7261
1.17k
#line 7262 "/src/php-src/Zend/zend_language_parser.c"
7262
1.17k
    break;
7263
7264
2.39k
  case 352: /* absolute_trait_method_reference: class_name "'::'" identifier  */
7265
2.39k
#line 1066 "/src/php-src/Zend/zend_language_parser.y"
7266
2.39k
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7267
2.39k
#line 7268 "/src/php-src/Zend/zend_language_parser.c"
7268
2.39k
    break;
7269
7270
733
  case 353: /* method_body: ';'  */
7271
733
#line 1070 "/src/php-src/Zend/zend_language_parser.y"
7272
733
                                                        { (yyval.ast) = NULL; }
7273
733
#line 7274 "/src/php-src/Zend/zend_language_parser.c"
7274
733
    break;
7275
7276
8.32k
  case 354: /* method_body: '{' inner_statement_list '}'  */
7277
8.32k
#line 1071 "/src/php-src/Zend/zend_language_parser.y"
7278
8.32k
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7279
8.32k
#line 7280 "/src/php-src/Zend/zend_language_parser.c"
7280
8.32k
    break;
7281
7282
13.3k
  case 355: /* property_modifiers: non_empty_member_modifiers  */
7283
13.3k
#line 1076 "/src/php-src/Zend/zend_language_parser.y"
7284
13.3k
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY, (yyvsp[0].ast));
7285
13.3k
        if (!(yyval.num)) { YYERROR; } }
7286
13.3k
#line 7287 "/src/php-src/Zend/zend_language_parser.c"
7287
13.3k
    break;
7288
7289
13.3k
  case 356: /* property_modifiers: "'var'"  */
7290
349
#line 1079 "/src/php-src/Zend/zend_language_parser.y"
7291
349
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
7292
349
#line 7293 "/src/php-src/Zend/zend_language_parser.c"
7293
349
    break;
7294
7295
3.63k
  case 357: /* method_modifiers: %empty  */
7296
3.63k
#line 1084 "/src/php-src/Zend/zend_language_parser.y"
7297
3.63k
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
7298
3.63k
#line 7299 "/src/php-src/Zend/zend_language_parser.c"
7299
3.63k
    break;
7300
7301
5.62k
  case 358: /* method_modifiers: non_empty_member_modifiers  */
7302
5.62k
#line 1086 "/src/php-src/Zend/zend_language_parser.y"
7303
5.62k
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].ast));
7304
5.62k
        if (!(yyval.num)) { YYERROR; }
7305
5.62k
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
7306
0
#line 7307 "/src/php-src/Zend/zend_language_parser.c"
7307
0
    break;
7308
7309
2.33k
  case 359: /* class_const_modifiers: %empty  */
7310
2.33k
#line 1093 "/src/php-src/Zend/zend_language_parser.y"
7311
2.33k
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
7312
2.33k
#line 7313 "/src/php-src/Zend/zend_language_parser.c"
7313
2.33k
    break;
7314
7315
1.23k
  case 360: /* class_const_modifiers: non_empty_member_modifiers  */
7316
1.23k
#line 1095 "/src/php-src/Zend/zend_language_parser.y"
7317
1.23k
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CONSTANT, (yyvsp[0].ast));
7318
1.23k
        if (!(yyval.num)) { YYERROR; }
7319
1.23k
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
7320
0
#line 7321 "/src/php-src/Zend/zend_language_parser.c"
7321
0
    break;
7322
7323
21.9k
  case 361: /* non_empty_member_modifiers: member_modifier  */
7324
21.9k
#line 1102 "/src/php-src/Zend/zend_language_parser.y"
7325
21.9k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MODIFIER_LIST, zend_ast_create_zval_from_long((yyvsp[0].num))); }
7326
21.9k
#line 7327 "/src/php-src/Zend/zend_language_parser.c"
7327
21.9k
    break;
7328
7329
4.12k
  case 362: /* non_empty_member_modifiers: non_empty_member_modifiers member_modifier  */
7330
4.12k
#line 1104 "/src/php-src/Zend/zend_language_parser.y"
7331
4.12k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), zend_ast_create_zval_from_long((yyvsp[0].num))); }
7332
4.12k
#line 7333 "/src/php-src/Zend/zend_language_parser.c"
7333
4.12k
    break;
7334
7335
14.9k
  case 363: /* member_modifier: "'public'"  */
7336
14.9k
#line 1108 "/src/php-src/Zend/zend_language_parser.y"
7337
14.9k
                                                        { (yyval.num) = T_PUBLIC; }
7338
14.9k
#line 7339 "/src/php-src/Zend/zend_language_parser.c"
7339
14.9k
    break;
7340
7341
1.32k
  case 364: /* member_modifier: "'protected'"  */
7342
1.32k
#line 1109 "/src/php-src/Zend/zend_language_parser.y"
7343
1.32k
                                                        { (yyval.num) = T_PROTECTED; }
7344
1.32k
#line 7345 "/src/php-src/Zend/zend_language_parser.c"
7345
1.32k
    break;
7346
7347
2.63k
  case 365: /* member_modifier: "'private'"  */
7348
2.63k
#line 1110 "/src/php-src/Zend/zend_language_parser.y"
7349
2.63k
                                                        { (yyval.num) = T_PRIVATE; }
7350
2.63k
#line 7351 "/src/php-src/Zend/zend_language_parser.c"
7351
2.63k
    break;
7352
7353
284
  case 366: /* member_modifier: "'public(set)'"  */
7354
284
#line 1111 "/src/php-src/Zend/zend_language_parser.y"
7355
284
                                                { (yyval.num) = T_PUBLIC_SET; }
7356
284
#line 7357 "/src/php-src/Zend/zend_language_parser.c"
7357
284
    break;
7358
7359
309
  case 367: /* member_modifier: "'protected(set)'"  */
7360
309
#line 1112 "/src/php-src/Zend/zend_language_parser.y"
7361
309
                                                { (yyval.num) = T_PROTECTED_SET; }
7362
309
#line 7363 "/src/php-src/Zend/zend_language_parser.c"
7363
309
    break;
7364
7365
181
  case 368: /* member_modifier: "'private(set)'"  */
7366
181
#line 1113 "/src/php-src/Zend/zend_language_parser.y"
7367
181
                                                { (yyval.num) = T_PRIVATE_SET; }
7368
181
#line 7369 "/src/php-src/Zend/zend_language_parser.c"
7369
181
    break;
7370
7371
3.43k
  case 369: /* member_modifier: "'static'"  */
7372
3.43k
#line 1114 "/src/php-src/Zend/zend_language_parser.y"
7373
3.43k
                                                        { (yyval.num) = T_STATIC; }
7374
3.43k
#line 7375 "/src/php-src/Zend/zend_language_parser.c"
7375
3.43k
    break;
7376
7377
1.08k
  case 370: /* member_modifier: "'abstract'"  */
7378
1.08k
#line 1115 "/src/php-src/Zend/zend_language_parser.y"
7379
1.08k
                                                        { (yyval.num) = T_ABSTRACT; }
7380
1.08k
#line 7381 "/src/php-src/Zend/zend_language_parser.c"
7381
1.08k
    break;
7382
7383
1.93k
  case 371: /* member_modifier: "'final'"  */
7384
1.93k
#line 1116 "/src/php-src/Zend/zend_language_parser.y"
7385
1.93k
                                                        { (yyval.num) = T_FINAL; }
7386
1.93k
#line 7387 "/src/php-src/Zend/zend_language_parser.c"
7387
1.93k
    break;
7388
7389
425
  case 372: /* member_modifier: "'readonly'"  */
7390
425
#line 1117 "/src/php-src/Zend/zend_language_parser.y"
7391
425
                                                        { (yyval.num) = T_READONLY; }
7392
425
#line 7393 "/src/php-src/Zend/zend_language_parser.c"
7393
425
    break;
7394
7395
487
  case 373: /* property_list: property_list ',' property  */
7396
487
#line 1121 "/src/php-src/Zend/zend_language_parser.y"
7397
487
                                           { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7398
487
#line 7399 "/src/php-src/Zend/zend_language_parser.c"
7399
487
    break;
7400
7401
8.92k
  case 374: /* property_list: property  */
7402
8.92k
#line 1122 "/src/php-src/Zend/zend_language_parser.y"
7403
8.92k
                         { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)); }
7404
8.92k
#line 7405 "/src/php-src/Zend/zend_language_parser.c"
7405
8.92k
    break;
7406
7407
5.67k
  case 375: /* property: "variable" backup_doc_comment  */
7408
5.67k
#line 1127 "/src/php-src/Zend/zend_language_parser.y"
7409
5.67k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-1].ast), NULL, ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL), NULL); }
7410
5.67k
#line 7411 "/src/php-src/Zend/zend_language_parser.c"
7411
5.67k
    break;
7412
7413
3.74k
  case 376: /* property: "variable" '=' expr backup_doc_comment  */
7414
3.74k
#line 1129 "/src/php-src/Zend/zend_language_parser.y"
7415
3.74k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL), NULL); }
7416
3.74k
#line 7417 "/src/php-src/Zend/zend_language_parser.c"
7417
3.74k
    break;
7418
7419
4.19k
  case 377: /* hooked_property: "variable" backup_doc_comment '{' property_hook_list '}'  */
7420
4.19k
#line 1134 "/src/php-src/Zend/zend_language_parser.y"
7421
4.19k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-4].ast), NULL, ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7422
4.19k
#line 7423 "/src/php-src/Zend/zend_language_parser.c"
7423
4.19k
    break;
7424
7425
317
  case 378: /* hooked_property: "variable" '=' expr backup_doc_comment '{' property_hook_list '}'  */
7426
317
#line 1136 "/src/php-src/Zend/zend_language_parser.y"
7427
317
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-6].ast), (yyvsp[-4].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7428
317
#line 7429 "/src/php-src/Zend/zend_language_parser.c"
7429
317
    break;
7430
7431
6.10k
  case 379: /* property_hook_list: %empty  */
7432
6.10k
#line 1140 "/src/php-src/Zend/zend_language_parser.y"
7433
6.10k
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
7434
6.10k
#line 7435 "/src/php-src/Zend/zend_language_parser.c"
7435
6.10k
    break;
7436
7437
11.0k
  case 380: /* property_hook_list: property_hook_list property_hook  */
7438
11.0k
#line 1141 "/src/php-src/Zend/zend_language_parser.y"
7439
11.0k
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
7440
11.0k
#line 7441 "/src/php-src/Zend/zend_language_parser.c"
7441
11.0k
    break;
7442
7443
50
  case 381: /* property_hook_list: property_hook_list attributes property_hook  */
7444
50
#line 1142 "/src/php-src/Zend/zend_language_parser.y"
7445
50
                                                            {
7446
50
      (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)));
7447
50
    }
7448
50
#line 7449 "/src/php-src/Zend/zend_language_parser.c"
7449
50
    break;
7450
7451
28.3k
  case 382: /* optional_property_hook_list: %empty  */
7452
28.3k
#line 1148 "/src/php-src/Zend/zend_language_parser.y"
7453
28.3k
                        { (yyval.ast) = NULL; }
7454
28.3k
#line 7455 "/src/php-src/Zend/zend_language_parser.c"
7455
28.3k
    break;
7456
7457
333
  case 383: /* optional_property_hook_list: '{' property_hook_list '}'  */
7458
333
#line 1149 "/src/php-src/Zend/zend_language_parser.y"
7459
333
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7460
333
#line 7461 "/src/php-src/Zend/zend_language_parser.c"
7461
333
    break;
7462
7463
11.3k
  case 384: /* property_hook_modifiers: %empty  */
7464
11.3k
#line 1153 "/src/php-src/Zend/zend_language_parser.y"
7465
11.3k
                       { (yyval.num) = 0; }
7466
11.3k
#line 7467 "/src/php-src/Zend/zend_language_parser.c"
7467
11.3k
    break;
7468
7469
994
  case 385: /* property_hook_modifiers: non_empty_member_modifiers  */
7470
994
#line 1154 "/src/php-src/Zend/zend_language_parser.y"
7471
994
                                           {
7472
994
      (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY_HOOK, (yyvsp[0].ast));
7473
994
      if (!(yyval.num)) { YYERROR; }
7474
994
    }
7475
988
#line 7476 "/src/php-src/Zend/zend_language_parser.c"
7476
988
    break;
7477
7478
12.3k
  case 386: /* @9: %empty  */
7479
12.3k
#line 1162 "/src/php-src/Zend/zend_language_parser.y"
7480
12.3k
                                   { (yyval.num) = CG(zend_lineno); }
7481
12.3k
#line 7482 "/src/php-src/Zend/zend_language_parser.c"
7482
12.3k
    break;
7483
7484
11.1k
  case 387: /* property_hook: property_hook_modifiers returns_ref "identifier" backup_doc_comment @9 optional_parameter_list backup_fn_flags property_hook_body backup_fn_flags  */
7485
11.1k
#line 1163 "/src/php-src/Zend/zend_language_parser.y"
7486
11.1k
                                                                                           {
7487
11.1k
      (yyval.ast) = zend_ast_create_decl(
7488
11.1k
        ZEND_AST_PROPERTY_HOOK, (yyvsp[-8].num) | (yyvsp[-7].num) | (yyvsp[0].num), (yyvsp[-4].num), (yyvsp[-5].str), zend_ast_get_str((yyvsp[-6].ast)),
7489
11.1k
        (yyvsp[-3].ast), NULL, (yyvsp[-1].ast), NULL, NULL);
7490
11.1k
      CG(extra_fn_flags) = (yyvsp[-2].num);
7491
11.1k
    }
7492
11.1k
#line 7493 "/src/php-src/Zend/zend_language_parser.c"
7493
11.1k
    break;
7494
7495
6.04k
  case 388: /* property_hook_body: ';'  */
7496
6.04k
#line 1172 "/src/php-src/Zend/zend_language_parser.y"
7497
6.04k
                    { (yyval.ast) = NULL; }
7498
6.04k
#line 7499 "/src/php-src/Zend/zend_language_parser.c"
7499
6.04k
    break;
7500
7501
1.53k
  case 389: /* property_hook_body: '{' inner_statement_list '}'  */
7502
1.53k
#line 1173 "/src/php-src/Zend/zend_language_parser.y"
7503
1.53k
                                             { (yyval.ast) = (yyvsp[-1].ast); }
7504
1.53k
#line 7505 "/src/php-src/Zend/zend_language_parser.c"
7505
1.53k
    break;
7506
7507
3.54k
  case 390: /* property_hook_body: "'=>'" expr ';'  */
7508
3.54k
#line 1175 "/src/php-src/Zend/zend_language_parser.y"
7509
3.54k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROPERTY_HOOK_SHORT_BODY, (yyvsp[-1].ast)); }
7510
3.54k
#line 7511 "/src/php-src/Zend/zend_language_parser.c"
7511
3.54k
    break;
7512
7513
11.2k
  case 391: /* optional_parameter_list: %empty  */
7514
11.2k
#line 1179 "/src/php-src/Zend/zend_language_parser.y"
7515
11.2k
                       { (yyval.ast) = NULL; }
7516
11.2k
#line 7517 "/src/php-src/Zend/zend_language_parser.c"
7517
11.2k
    break;
7518
7519
219
  case 392: /* optional_parameter_list: '(' parameter_list ')'  */
7520
219
#line 1180 "/src/php-src/Zend/zend_language_parser.y"
7521
219
                                       { (yyval.ast) = (yyvsp[-1].ast); }
7522
219
#line 7523 "/src/php-src/Zend/zend_language_parser.c"
7523
219
    break;
7524
7525
212
  case 393: /* class_const_list: class_const_list ',' class_const_decl  */
7526
212
#line 1184 "/src/php-src/Zend/zend_language_parser.y"
7527
212
                                                      { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7528
212
#line 7529 "/src/php-src/Zend/zend_language_parser.c"
7529
212
    break;
7530
7531
3.50k
  case 394: /* class_const_list: class_const_decl  */
7532
3.50k
#line 1185 "/src/php-src/Zend/zend_language_parser.y"
7533
3.50k
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLASS_CONST_DECL, (yyvsp[0].ast)); }
7534
3.50k
#line 7535 "/src/php-src/Zend/zend_language_parser.c"
7535
3.50k
    break;
7536
7537
3.17k
  case 395: /* class_const_decl: "identifier" '=' expr backup_doc_comment  */
7538
3.17k
#line 1189 "/src/php-src/Zend/zend_language_parser.y"
7539
3.17k
                                                     { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
7540
3.17k
#line 7541 "/src/php-src/Zend/zend_language_parser.c"
7541
3.17k
    break;
7542
7543
542
  case 396: /* class_const_decl: semi_reserved '=' expr backup_doc_comment  */
7544
542
#line 1190 "/src/php-src/Zend/zend_language_parser.y"
7545
542
                                                          {
7546
542
      zval zv;
7547
542
      if (zend_lex_tstring(&zv, (yyvsp[-3].ident)) == FAILURE) { YYABORT; }
7548
542
      (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, zend_ast_create_zval(&zv), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL));
7549
542
    }
7550
0
#line 7551 "/src/php-src/Zend/zend_language_parser.c"
7551
0
    break;
7552
7553
9.29k
  case 397: /* const_decl: "identifier" '=' expr backup_doc_comment  */
7554
9.29k
#line 1198 "/src/php-src/Zend/zend_language_parser.y"
7555
9.29k
                                             { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
7556
9.29k
#line 7557 "/src/php-src/Zend/zend_language_parser.c"
7557
9.29k
    break;
7558
7559
2.13k
  case 398: /* echo_expr_list: echo_expr_list ',' echo_expr  */
7560
2.13k
#line 1202 "/src/php-src/Zend/zend_language_parser.y"
7561
2.13k
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7562
2.13k
#line 7563 "/src/php-src/Zend/zend_language_parser.c"
7563
2.13k
    break;
7564
7565
6.51k
  case 399: /* echo_expr_list: echo_expr  */
7566
6.51k
#line 1203 "/src/php-src/Zend/zend_language_parser.y"
7567
6.51k
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
7568
6.51k
#line 7569 "/src/php-src/Zend/zend_language_parser.c"
7569
6.51k
    break;
7570
7571
8.64k
  case 400: /* echo_expr: expr  */
7572
8.64k
#line 1206 "/src/php-src/Zend/zend_language_parser.y"
7573
8.64k
             { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
7574
8.64k
#line 7575 "/src/php-src/Zend/zend_language_parser.c"
7575
8.64k
    break;
7576
7577
3.20k
  case 401: /* for_cond_exprs: %empty  */
7578
3.20k
#line 1210 "/src/php-src/Zend/zend_language_parser.y"
7579
3.20k
                                        { (yyval.ast) = NULL; }
7580
3.20k
#line 7581 "/src/php-src/Zend/zend_language_parser.c"
7581
3.20k
    break;
7582
7583
335
  case 402: /* for_cond_exprs: non_empty_for_exprs ',' expr  */
7584
335
#line 1211 "/src/php-src/Zend/zend_language_parser.y"
7585
335
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7586
335
#line 7587 "/src/php-src/Zend/zend_language_parser.c"
7587
335
    break;
7588
7589
3.89k
  case 403: /* for_cond_exprs: expr  */
7590
3.89k
#line 1212 "/src/php-src/Zend/zend_language_parser.y"
7591
3.89k
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7592
3.89k
#line 7593 "/src/php-src/Zend/zend_language_parser.c"
7593
3.89k
    break;
7594
7595
9.63k
  case 404: /* for_exprs: %empty  */
7596
9.63k
#line 1216 "/src/php-src/Zend/zend_language_parser.y"
7597
9.63k
                                        { (yyval.ast) = NULL; }
7598
9.63k
#line 7599 "/src/php-src/Zend/zend_language_parser.c"
7599
9.63k
    break;
7600
7601
5.25k
  case 405: /* for_exprs: non_empty_for_exprs  */
7602
5.25k
#line 1217 "/src/php-src/Zend/zend_language_parser.y"
7603
5.25k
                                        { (yyval.ast) = (yyvsp[0].ast); }
7604
5.25k
#line 7605 "/src/php-src/Zend/zend_language_parser.c"
7605
5.25k
    break;
7606
7607
1.19k
  case 406: /* non_empty_for_exprs: non_empty_for_exprs ',' expr  */
7608
1.19k
#line 1221 "/src/php-src/Zend/zend_language_parser.y"
7609
1.19k
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7610
1.19k
#line 7611 "/src/php-src/Zend/zend_language_parser.c"
7611
1.19k
    break;
7612
7613
242
  case 407: /* non_empty_for_exprs: non_empty_for_exprs ',' "'(void)'" expr  */
7614
242
#line 1222 "/src/php-src/Zend/zend_language_parser.y"
7615
242
                                                         { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7616
242
#line 7617 "/src/php-src/Zend/zend_language_parser.c"
7617
242
    break;
7618
7619
153
  case 408: /* non_empty_for_exprs: "'(void)'" expr  */
7620
153
#line 1223 "/src/php-src/Zend/zend_language_parser.y"
7621
153
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7622
153
#line 7623 "/src/php-src/Zend/zend_language_parser.c"
7623
153
    break;
7624
7625
5.51k
  case 409: /* non_empty_for_exprs: expr  */
7626
5.51k
#line 1224 "/src/php-src/Zend/zend_language_parser.y"
7627
5.51k
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7628
5.51k
#line 7629 "/src/php-src/Zend/zend_language_parser.c"
7629
5.51k
    break;
7630
7631
1.33k
  case 410: /* @10: %empty  */
7632
1.33k
#line 1228 "/src/php-src/Zend/zend_language_parser.y"
7633
1.33k
                                                           { (yyval.num) = CG(zend_lineno); }
7634
1.33k
#line 7635 "/src/php-src/Zend/zend_language_parser.c"
7635
1.33k
    break;
7636
7637
985
  case 411: /* anonymous_class: anonymous_class_modifiers_optional "'class'" @10 ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}'  */
7638
985
#line 1229 "/src/php-src/Zend/zend_language_parser.y"
7639
985
                                                                                             {
7640
985
      zend_ast *decl = zend_ast_create_decl(
7641
985
        ZEND_AST_CLASS, ZEND_ACC_ANON_CLASS | (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), NULL,
7642
985
        (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL);
7643
985
      (yyval.ast) = zend_ast_create(ZEND_AST_NEW, decl, (yyvsp[-6].ast));
7644
985
    }
7645
985
#line 7646 "/src/php-src/Zend/zend_language_parser.c"
7646
985
    break;
7647
7648
7.80k
  case 412: /* new_dereferenceable: "'new'" class_name_reference argument_list  */
7649
7.80k
#line 1239 "/src/php-src/Zend/zend_language_parser.y"
7650
7.80k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7651
7.80k
#line 7652 "/src/php-src/Zend/zend_language_parser.c"
7652
7.80k
    break;
7653
7654
914
  case 413: /* new_dereferenceable: "'new'" anonymous_class  */
7655
914
#line 1241 "/src/php-src/Zend/zend_language_parser.y"
7656
914
                        { (yyval.ast) = (yyvsp[0].ast); }
7657
914
#line 7658 "/src/php-src/Zend/zend_language_parser.c"
7658
914
    break;
7659
7660
71
  case 414: /* new_dereferenceable: "'new'" attributes anonymous_class  */
7661
71
#line 1243 "/src/php-src/Zend/zend_language_parser.y"
7662
71
                        { zend_ast_with_attributes((yyvsp[0].ast)->child[0], (yyvsp[-1].ast)); (yyval.ast) = (yyvsp[0].ast); }
7663
71
#line 7664 "/src/php-src/Zend/zend_language_parser.c"
7664
71
    break;
7665
7666
5.35k
  case 415: /* new_non_dereferenceable: "'new'" class_name_reference  */
7667
5.35k
#line 1248 "/src/php-src/Zend/zend_language_parser.y"
7668
5.35k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[0].ast), zend_ast_create_list(0, ZEND_AST_ARG_LIST)); }
7669
5.35k
#line 7670 "/src/php-src/Zend/zend_language_parser.c"
7670
5.35k
    break;
7671
7672
205k
  case 416: /* expr: variable  */
7673
205k
#line 1253 "/src/php-src/Zend/zend_language_parser.y"
7674
205k
                        { (yyval.ast) = (yyvsp[0].ast); }
7675
205k
#line 7676 "/src/php-src/Zend/zend_language_parser.c"
7676
205k
    break;
7677
7678
1.01k
  case 417: /* expr: "'list'" '(' array_pair_list ')' '=' expr  */
7679
1.01k
#line 1255 "/src/php-src/Zend/zend_language_parser.y"
7680
1.01k
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_LIST; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7681
1.01k
#line 7682 "/src/php-src/Zend/zend_language_parser.c"
7682
1.01k
    break;
7683
7684
2.48k
  case 418: /* expr: '[' array_pair_list ']' '=' expr  */
7685
2.48k
#line 1257 "/src/php-src/Zend/zend_language_parser.y"
7686
2.48k
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7687
2.48k
#line 7688 "/src/php-src/Zend/zend_language_parser.c"
7688
2.48k
    break;
7689
7690
16.5k
  case 419: /* expr: variable '=' expr  */
7691
16.5k
#line 1259 "/src/php-src/Zend/zend_language_parser.y"
7692
16.5k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7693
16.5k
#line 7694 "/src/php-src/Zend/zend_language_parser.c"
7694
16.5k
    break;
7695
7696
2.15k
  case 420: /* expr: variable '=' ampersand variable  */
7697
2.15k
#line 1261 "/src/php-src/Zend/zend_language_parser.y"
7698
2.15k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_REF, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7699
2.15k
#line 7700 "/src/php-src/Zend/zend_language_parser.c"
7700
2.15k
    break;
7701
7702
1.31k
  case 421: /* expr: "'clone'" clone_argument_list  */
7703
1.31k
#line 1262 "/src/php-src/Zend/zend_language_parser.y"
7704
1.31k
                                            {
7705
1.31k
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7706
1.31k
      name->attr = ZEND_NAME_FQ;
7707
1.31k
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
7708
1.31k
    }
7709
1.31k
#line 7710 "/src/php-src/Zend/zend_language_parser.c"
7710
1.31k
    break;
7711
7712
316
  case 422: /* expr: "'clone'" expr  */
7713
316
#line 1267 "/src/php-src/Zend/zend_language_parser.y"
7714
316
                             {
7715
316
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7716
316
      name->attr = ZEND_NAME_FQ;
7717
316
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, zend_ast_create_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)));
7718
316
    }
7719
316
#line 7720 "/src/php-src/Zend/zend_language_parser.c"
7720
316
    break;
7721
7722
931
  case 423: /* expr: variable "'+='" expr  */
7723
931
#line 1273 "/src/php-src/Zend/zend_language_parser.y"
7724
931
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7725
931
#line 7726 "/src/php-src/Zend/zend_language_parser.c"
7726
931
    break;
7727
7728
405
  case 424: /* expr: variable "'-='" expr  */
7729
405
#line 1275 "/src/php-src/Zend/zend_language_parser.y"
7730
405
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7731
405
#line 7732 "/src/php-src/Zend/zend_language_parser.c"
7732
405
    break;
7733
7734
2.36k
  case 425: /* expr: variable "'*='" expr  */
7735
2.36k
#line 1277 "/src/php-src/Zend/zend_language_parser.y"
7736
2.36k
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7737
2.36k
#line 7738 "/src/php-src/Zend/zend_language_parser.c"
7738
2.36k
    break;
7739
7740
118
  case 426: /* expr: variable "'**='" expr  */
7741
118
#line 1279 "/src/php-src/Zend/zend_language_parser.y"
7742
118
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7743
118
#line 7744 "/src/php-src/Zend/zend_language_parser.c"
7744
118
    break;
7745
7746
593
  case 427: /* expr: variable "'/='" expr  */
7747
593
#line 1281 "/src/php-src/Zend/zend_language_parser.y"
7748
593
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7749
593
#line 7750 "/src/php-src/Zend/zend_language_parser.c"
7750
593
    break;
7751
7752
761
  case 428: /* expr: variable "'.='" expr  */
7753
761
#line 1283 "/src/php-src/Zend/zend_language_parser.y"
7754
761
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_CONCAT, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7755
761
#line 7756 "/src/php-src/Zend/zend_language_parser.c"
7756
761
    break;
7757
7758
1.01k
  case 429: /* expr: variable "'%='" expr  */
7759
1.01k
#line 1285 "/src/php-src/Zend/zend_language_parser.y"
7760
1.01k
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7761
1.01k
#line 7762 "/src/php-src/Zend/zend_language_parser.c"
7762
1.01k
    break;
7763
7764
459
  case 430: /* expr: variable "'&='" expr  */
7765
459
#line 1287 "/src/php-src/Zend/zend_language_parser.y"
7766
459
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7767
459
#line 7768 "/src/php-src/Zend/zend_language_parser.c"
7768
459
    break;
7769
7770
246
  case 431: /* expr: variable "'|='" expr  */
7771
246
#line 1289 "/src/php-src/Zend/zend_language_parser.y"
7772
246
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7773
246
#line 7774 "/src/php-src/Zend/zend_language_parser.c"
7774
246
    break;
7775
7776
199
  case 432: /* expr: variable "'^='" expr  */
7777
199
#line 1291 "/src/php-src/Zend/zend_language_parser.y"
7778
199
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7779
199
#line 7780 "/src/php-src/Zend/zend_language_parser.c"
7780
199
    break;
7781
7782
75
  case 433: /* expr: variable "'<<='" expr  */
7783
75
#line 1293 "/src/php-src/Zend/zend_language_parser.y"
7784
75
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7785
75
#line 7786 "/src/php-src/Zend/zend_language_parser.c"
7786
75
    break;
7787
7788
246
  case 434: /* expr: variable "'>>='" expr  */
7789
246
#line 1295 "/src/php-src/Zend/zend_language_parser.y"
7790
246
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7791
246
#line 7792 "/src/php-src/Zend/zend_language_parser.c"
7792
246
    break;
7793
7794
6.26k
  case 435: /* expr: variable "'??='" expr  */
7795
6.26k
#line 1297 "/src/php-src/Zend/zend_language_parser.y"
7796
6.26k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7797
6.26k
#line 7798 "/src/php-src/Zend/zend_language_parser.c"
7798
6.26k
    break;
7799
7800
1.73k
  case 436: /* expr: variable "'++'"  */
7801
1.73k
#line 1298 "/src/php-src/Zend/zend_language_parser.y"
7802
1.73k
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_INC, (yyvsp[-1].ast)); }
7803
1.73k
#line 7804 "/src/php-src/Zend/zend_language_parser.c"
7804
1.73k
    break;
7805
7806
940
  case 437: /* expr: "'++'" variable  */
7807
940
#line 1299 "/src/php-src/Zend/zend_language_parser.y"
7808
940
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_INC, (yyvsp[0].ast)); }
7809
940
#line 7810 "/src/php-src/Zend/zend_language_parser.c"
7810
940
    break;
7811
7812
1.01k
  case 438: /* expr: variable "'--'"  */
7813
1.01k
#line 1300 "/src/php-src/Zend/zend_language_parser.y"
7814
1.01k
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_DEC, (yyvsp[-1].ast)); }
7815
1.01k
#line 7816 "/src/php-src/Zend/zend_language_parser.c"
7816
1.01k
    break;
7817
7818
1.12k
  case 439: /* expr: "'--'" variable  */
7819
1.12k
#line 1301 "/src/php-src/Zend/zend_language_parser.y"
7820
1.12k
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_DEC, (yyvsp[0].ast)); }
7821
1.12k
#line 7822 "/src/php-src/Zend/zend_language_parser.c"
7822
1.12k
    break;
7823
7824
3.21k
  case 440: /* expr: expr "'||'" expr  */
7825
3.21k
#line 1303 "/src/php-src/Zend/zend_language_parser.y"
7826
3.21k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7827
3.21k
#line 7828 "/src/php-src/Zend/zend_language_parser.c"
7828
3.21k
    break;
7829
7830
5.06k
  case 441: /* expr: expr "'&&'" expr  */
7831
5.06k
#line 1305 "/src/php-src/Zend/zend_language_parser.y"
7832
5.06k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7833
5.06k
#line 7834 "/src/php-src/Zend/zend_language_parser.c"
7834
5.06k
    break;
7835
7836
302
  case 442: /* expr: expr "'or'" expr  */
7837
302
#line 1307 "/src/php-src/Zend/zend_language_parser.y"
7838
302
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7839
302
#line 7840 "/src/php-src/Zend/zend_language_parser.c"
7840
302
    break;
7841
7842
1.71k
  case 443: /* expr: expr "'and'" expr  */
7843
1.71k
#line 1309 "/src/php-src/Zend/zend_language_parser.y"
7844
1.71k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7845
1.71k
#line 7846 "/src/php-src/Zend/zend_language_parser.c"
7846
1.71k
    break;
7847
7848
2.18k
  case 444: /* expr: expr "'xor'" expr  */
7849
2.18k
#line 1311 "/src/php-src/Zend/zend_language_parser.y"
7850
2.18k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BOOL_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7851
2.18k
#line 7852 "/src/php-src/Zend/zend_language_parser.c"
7852
2.18k
    break;
7853
7854
20.9k
  case 445: /* expr: expr '|' expr  */
7855
20.9k
#line 1312 "/src/php-src/Zend/zend_language_parser.y"
7856
20.9k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7857
20.9k
#line 7858 "/src/php-src/Zend/zend_language_parser.c"
7858
20.9k
    break;
7859
7860
22.1k
  case 446: /* expr: expr "amp" expr  */
7861
22.1k
#line 1313 "/src/php-src/Zend/zend_language_parser.y"
7862
22.1k
                                                                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7863
22.1k
#line 7864 "/src/php-src/Zend/zend_language_parser.c"
7864
22.1k
    break;
7865
7866
1.28k
  case 447: /* expr: expr "'&'" expr  */
7867
1.28k
#line 1314 "/src/php-src/Zend/zend_language_parser.y"
7868
1.28k
                                                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7869
1.28k
#line 7870 "/src/php-src/Zend/zend_language_parser.c"
7870
1.28k
    break;
7871
7872
6.92k
  case 448: /* expr: expr '^' expr  */
7873
6.92k
#line 1315 "/src/php-src/Zend/zend_language_parser.y"
7874
6.92k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7875
6.92k
#line 7876 "/src/php-src/Zend/zend_language_parser.c"
7876
6.92k
    break;
7877
7878
32.9k
  case 449: /* expr: expr '.' expr  */
7879
32.9k
#line 1316 "/src/php-src/Zend/zend_language_parser.y"
7880
32.9k
                                { (yyval.ast) = zend_ast_create_concat_op((yyvsp[-2].ast), (yyvsp[0].ast)); }
7881
32.9k
#line 7882 "/src/php-src/Zend/zend_language_parser.c"
7882
32.9k
    break;
7883
7884
29.1k
  case 450: /* expr: expr '+' expr  */
7885
29.1k
#line 1317 "/src/php-src/Zend/zend_language_parser.y"
7886
29.1k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7887
29.1k
#line 7888 "/src/php-src/Zend/zend_language_parser.c"
7888
29.1k
    break;
7889
7890
32.3k
  case 451: /* expr: expr '-' expr  */
7891
32.3k
#line 1318 "/src/php-src/Zend/zend_language_parser.y"
7892
32.3k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7893
32.3k
#line 7894 "/src/php-src/Zend/zend_language_parser.c"
7894
32.3k
    break;
7895
7896
16.8k
  case 452: /* expr: expr '*' expr  */
7897
16.8k
#line 1319 "/src/php-src/Zend/zend_language_parser.y"
7898
16.8k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7899
16.8k
#line 7900 "/src/php-src/Zend/zend_language_parser.c"
7900
16.8k
    break;
7901
7902
7.62k
  case 453: /* expr: expr "'**'" expr  */
7903
7.62k
#line 1320 "/src/php-src/Zend/zend_language_parser.y"
7904
7.62k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7905
7.62k
#line 7906 "/src/php-src/Zend/zend_language_parser.c"
7906
7.62k
    break;
7907
7908
21.0k
  case 454: /* expr: expr '/' expr  */
7909
21.0k
#line 1321 "/src/php-src/Zend/zend_language_parser.y"
7910
21.0k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7911
21.0k
#line 7912 "/src/php-src/Zend/zend_language_parser.c"
7912
21.0k
    break;
7913
7914
22.1k
  case 455: /* expr: expr '%' expr  */
7915
22.1k
#line 1322 "/src/php-src/Zend/zend_language_parser.y"
7916
22.1k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7917
22.1k
#line 7918 "/src/php-src/Zend/zend_language_parser.c"
7918
22.1k
    break;
7919
7920
3.63k
  case 456: /* expr: expr "'<<'" expr  */
7921
3.63k
#line 1323 "/src/php-src/Zend/zend_language_parser.y"
7922
3.63k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7923
3.63k
#line 7924 "/src/php-src/Zend/zend_language_parser.c"
7924
3.63k
    break;
7925
7926
3.40k
  case 457: /* expr: expr "'>>'" expr  */
7927
3.40k
#line 1324 "/src/php-src/Zend/zend_language_parser.y"
7928
3.40k
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7929
3.40k
#line 7930 "/src/php-src/Zend/zend_language_parser.c"
7930
3.40k
    break;
7931
7932
14.9k
  case 458: /* expr: '+' expr  */
7933
14.9k
#line 1325 "/src/php-src/Zend/zend_language_parser.y"
7934
14.9k
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_PLUS, (yyvsp[0].ast)); }
7935
14.9k
#line 7936 "/src/php-src/Zend/zend_language_parser.c"
7936
14.9k
    break;
7937
7938
35.0k
  case 459: /* expr: '-' expr  */
7939
35.0k
#line 1326 "/src/php-src/Zend/zend_language_parser.y"
7940
35.0k
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_MINUS, (yyvsp[0].ast)); }
7941
35.0k
#line 7942 "/src/php-src/Zend/zend_language_parser.c"
7942
35.0k
    break;
7943
7944
43.8k
  case 460: /* expr: '!' expr  */
7945
43.8k
#line 1327 "/src/php-src/Zend/zend_language_parser.y"
7946
43.8k
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BOOL_NOT, (yyvsp[0].ast)); }
7947
43.8k
#line 7948 "/src/php-src/Zend/zend_language_parser.c"
7948
43.8k
    break;
7949
7950
17.0k
  case 461: /* expr: '~' expr  */
7951
17.0k
#line 1328 "/src/php-src/Zend/zend_language_parser.y"
7952
17.0k
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BW_NOT, (yyvsp[0].ast)); }
7953
17.0k
#line 7954 "/src/php-src/Zend/zend_language_parser.c"
7954
17.0k
    break;
7955
7956
3.77k
  case 462: /* expr: expr "'==='" expr  */
7957
3.77k
#line 1330 "/src/php-src/Zend/zend_language_parser.y"
7958
3.77k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7959
3.77k
#line 7960 "/src/php-src/Zend/zend_language_parser.c"
7960
3.77k
    break;
7961
7962
2.10k
  case 463: /* expr: expr "'!=='" expr  */
7963
2.10k
#line 1332 "/src/php-src/Zend/zend_language_parser.y"
7964
2.10k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7965
2.10k
#line 7966 "/src/php-src/Zend/zend_language_parser.c"
7966
2.10k
    break;
7967
7968
7.69k
  case 464: /* expr: expr "'=='" expr  */
7969
7.69k
#line 1334 "/src/php-src/Zend/zend_language_parser.y"
7970
7.69k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7971
7.69k
#line 7972 "/src/php-src/Zend/zend_language_parser.c"
7972
7.69k
    break;
7973
7974
3.03k
  case 465: /* expr: expr "'!='" expr  */
7975
3.03k
#line 1336 "/src/php-src/Zend/zend_language_parser.y"
7976
3.03k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7977
3.03k
#line 7978 "/src/php-src/Zend/zend_language_parser.c"
7978
3.03k
    break;
7979
7980
5.99k
  case 466: /* expr: expr "'|>'" expr  */
7981
5.99k
#line 1338 "/src/php-src/Zend/zend_language_parser.y"
7982
5.99k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PIPE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7983
5.99k
#line 7984 "/src/php-src/Zend/zend_language_parser.c"
7984
5.99k
    break;
7985
7986
12.9k
  case 467: /* expr: expr '<' expr  */
7987
12.9k
#line 1340 "/src/php-src/Zend/zend_language_parser.y"
7988
12.9k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7989
12.9k
#line 7990 "/src/php-src/Zend/zend_language_parser.c"
7990
12.9k
    break;
7991
7992
1.60k
  case 468: /* expr: expr "'<='" expr  */
7993
1.60k
#line 1342 "/src/php-src/Zend/zend_language_parser.y"
7994
1.60k
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER_OR_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7995
1.60k
#line 7996 "/src/php-src/Zend/zend_language_parser.c"
7996
1.60k
    break;
7997
7998
15.6k
  case 469: /* expr: expr '>' expr  */
7999
15.6k
#line 1344 "/src/php-src/Zend/zend_language_parser.y"
8000
15.6k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8001
15.6k
#line 8002 "/src/php-src/Zend/zend_language_parser.c"
8002
15.6k
    break;
8003
8004
2.40k
  case 470: /* expr: expr "'>='" expr  */
8005
2.40k
#line 1346 "/src/php-src/Zend/zend_language_parser.y"
8006
2.40k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8007
2.40k
#line 8008 "/src/php-src/Zend/zend_language_parser.c"
8008
2.40k
    break;
8009
8010
495
  case 471: /* expr: expr "'<=>'" expr  */
8011
495
#line 1348 "/src/php-src/Zend/zend_language_parser.y"
8012
495
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_SPACESHIP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8013
495
#line 8014 "/src/php-src/Zend/zend_language_parser.c"
8014
495
    break;
8015
8016
608
  case 472: /* expr: expr "'instanceof'" class_name_reference  */
8017
608
#line 1350 "/src/php-src/Zend/zend_language_parser.y"
8018
608
                        { (yyval.ast) = zend_ast_create(ZEND_AST_INSTANCEOF, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8019
608
#line 8020 "/src/php-src/Zend/zend_language_parser.c"
8020
608
    break;
8021
8022
13.2k
  case 473: /* expr: '(' expr ')'  */
8023
13.2k
#line 1351 "/src/php-src/Zend/zend_language_parser.y"
8024
13.2k
                             {
8025
13.2k
      (yyval.ast) = (yyvsp[-1].ast);
8026
13.2k
      if ((yyval.ast)->kind == ZEND_AST_CONDITIONAL) (yyval.ast)->attr = ZEND_PARENTHESIZED_CONDITIONAL;
8027
13.2k
      if ((yyval.ast)->kind == ZEND_AST_ARROW_FUNC) (yyval.ast)->attr = ZEND_PARENTHESIZED_ARROW_FUNC;
8028
13.2k
    }
8029
13.2k
#line 8030 "/src/php-src/Zend/zend_language_parser.c"
8030
13.2k
    break;
8031
8032
8.41k
  case 474: /* expr: new_dereferenceable  */
8033
8.41k
#line 1356 "/src/php-src/Zend/zend_language_parser.y"
8034
8.41k
                                    { (yyval.ast) = (yyvsp[0].ast); }
8035
8.41k
#line 8036 "/src/php-src/Zend/zend_language_parser.c"
8036
8.41k
    break;
8037
8038
5.35k
  case 475: /* expr: new_non_dereferenceable  */
8039
5.35k
#line 1357 "/src/php-src/Zend/zend_language_parser.y"
8040
5.35k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8041
5.35k
#line 8042 "/src/php-src/Zend/zend_language_parser.c"
8042
5.35k
    break;
8043
8044
3.59k
  case 476: /* expr: expr '?' expr ':' expr  */
8045
3.59k
#line 1359 "/src/php-src/Zend/zend_language_parser.y"
8046
3.59k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
8047
3.59k
#line 8048 "/src/php-src/Zend/zend_language_parser.c"
8048
3.59k
    break;
8049
8050
1.52k
  case 477: /* expr: expr '?' ':' expr  */
8051
1.52k
#line 1361 "/src/php-src/Zend/zend_language_parser.y"
8052
1.52k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-3].ast), NULL, (yyvsp[0].ast)); }
8053
1.52k
#line 8054 "/src/php-src/Zend/zend_language_parser.c"
8054
1.52k
    break;
8055
8056
18.1k
  case 478: /* expr: expr "'??'" expr  */
8057
18.1k
#line 1363 "/src/php-src/Zend/zend_language_parser.y"
8058
18.1k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8059
18.1k
#line 8060 "/src/php-src/Zend/zend_language_parser.c"
8060
18.1k
    break;
8061
8062
4.24k
  case 479: /* expr: internal_functions_in_yacc  */
8063
4.24k
#line 1364 "/src/php-src/Zend/zend_language_parser.y"
8064
4.24k
                                           { (yyval.ast) = (yyvsp[0].ast); }
8065
4.24k
#line 8066 "/src/php-src/Zend/zend_language_parser.c"
8066
4.24k
    break;
8067
8068
2.05k
  case 480: /* expr: "'(int)'" expr  */
8069
2.05k
#line 1365 "/src/php-src/Zend/zend_language_parser.y"
8070
2.05k
                                        { (yyval.ast) = zend_ast_create_cast(IS_LONG, (yyvsp[0].ast)); }
8071
2.05k
#line 8072 "/src/php-src/Zend/zend_language_parser.c"
8072
2.05k
    break;
8073
8074
1.81k
  case 481: /* expr: "'(float)'" expr  */
8075
1.81k
#line 1366 "/src/php-src/Zend/zend_language_parser.y"
8076
1.81k
                                        { (yyval.ast) = zend_ast_create_cast(IS_DOUBLE, (yyvsp[0].ast)); }
8077
1.81k
#line 8078 "/src/php-src/Zend/zend_language_parser.c"
8078
1.81k
    break;
8079
8080
1.11k
  case 482: /* expr: "'(string)'" expr  */
8081
1.11k
#line 1367 "/src/php-src/Zend/zend_language_parser.y"
8082
1.11k
                                        { (yyval.ast) = zend_ast_create_cast(IS_STRING, (yyvsp[0].ast)); }
8083
1.11k
#line 8084 "/src/php-src/Zend/zend_language_parser.c"
8084
1.11k
    break;
8085
8086
1.20k
  case 483: /* expr: "'(array)'" expr  */
8087
1.20k
#line 1368 "/src/php-src/Zend/zend_language_parser.y"
8088
1.20k
                                        { (yyval.ast) = zend_ast_create_cast(IS_ARRAY, (yyvsp[0].ast)); }
8089
1.20k
#line 8090 "/src/php-src/Zend/zend_language_parser.c"
8090
1.20k
    break;
8091
8092
220
  case 484: /* expr: "'(object)'" expr  */
8093
220
#line 1369 "/src/php-src/Zend/zend_language_parser.y"
8094
220
                                        { (yyval.ast) = zend_ast_create_cast(IS_OBJECT, (yyvsp[0].ast)); }
8095
220
#line 8096 "/src/php-src/Zend/zend_language_parser.c"
8096
220
    break;
8097
8098
210
  case 485: /* expr: "'(bool)'" expr  */
8099
210
#line 1370 "/src/php-src/Zend/zend_language_parser.y"
8100
210
                                        { (yyval.ast) = zend_ast_create_cast(_IS_BOOL, (yyvsp[0].ast)); }
8101
210
#line 8102 "/src/php-src/Zend/zend_language_parser.c"
8102
210
    break;
8103
8104
401
  case 486: /* expr: "'(unset)'" expr  */
8105
401
#line 1371 "/src/php-src/Zend/zend_language_parser.y"
8106
401
                                        { (yyval.ast) = zend_ast_create_cast(IS_NULL, (yyvsp[0].ast)); }
8107
401
#line 8108 "/src/php-src/Zend/zend_language_parser.c"
8108
401
    break;
8109
8110
3.74k
  case 487: /* expr: "'exit'" ctor_arguments  */
8111
3.74k
#line 1372 "/src/php-src/Zend/zend_language_parser.y"
8112
3.74k
                                      {
8113
3.74k
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_EXIT));
8114
3.74k
      name->attr = ZEND_NAME_FQ;
8115
3.74k
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
8116
3.74k
    }
8117
3.74k
#line 8118 "/src/php-src/Zend/zend_language_parser.c"
8118
3.74k
    break;
8119
8120
523k
  case 488: /* expr: '@' expr  */
8121
523k
#line 1377 "/src/php-src/Zend/zend_language_parser.y"
8122
523k
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_SILENCE, (yyvsp[0].ast)); }
8123
523k
#line 8124 "/src/php-src/Zend/zend_language_parser.c"
8124
523k
    break;
8125
8126
838k
  case 489: /* expr: scalar  */
8127
838k
#line 1378 "/src/php-src/Zend/zend_language_parser.y"
8128
838k
                       { (yyval.ast) = (yyvsp[0].ast); }
8129
838k
#line 8130 "/src/php-src/Zend/zend_language_parser.c"
8130
838k
    break;
8131
8132
8.33k
  case 490: /* expr: '`' backticks_expr '`'  */
8133
8.33k
#line 1379 "/src/php-src/Zend/zend_language_parser.y"
8134
8.33k
                                       { (yyval.ast) = zend_ast_create(ZEND_AST_SHELL_EXEC, (yyvsp[-1].ast)); }
8135
8.33k
#line 8136 "/src/php-src/Zend/zend_language_parser.c"
8136
8.33k
    break;
8137
8138
693
  case 491: /* expr: "'print'" expr  */
8139
693
#line 1380 "/src/php-src/Zend/zend_language_parser.y"
8140
693
                             { (yyval.ast) = zend_ast_create(ZEND_AST_PRINT, (yyvsp[0].ast)); }
8141
693
#line 8142 "/src/php-src/Zend/zend_language_parser.c"
8142
693
    break;
8143
8144
2.28k
  case 492: /* expr: "'yield'"  */
8145
2.28k
#line 1381 "/src/php-src/Zend/zend_language_parser.y"
8146
2.28k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
8147
2.28k
#line 8148 "/src/php-src/Zend/zend_language_parser.c"
8148
2.28k
    break;
8149
8150
7.20k
  case 493: /* expr: "'yield'" expr  */
8151
7.20k
#line 1382 "/src/php-src/Zend/zend_language_parser.y"
8152
7.20k
                             { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
8153
7.20k
#line 8154 "/src/php-src/Zend/zend_language_parser.c"
8154
7.20k
    break;
8155
8156
430
  case 494: /* expr: "'yield'" expr "'=>'" expr  */
8157
430
#line 1383 "/src/php-src/Zend/zend_language_parser.y"
8158
430
                                                 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), (yyvsp[-2].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
8159
430
#line 8160 "/src/php-src/Zend/zend_language_parser.c"
8160
430
    break;
8161
8162
343
  case 495: /* expr: "'yield from'" expr  */
8163
343
#line 1384 "/src/php-src/Zend/zend_language_parser.y"
8164
343
                                  { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD_FROM, (yyvsp[0].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
8165
343
#line 8166 "/src/php-src/Zend/zend_language_parser.c"
8166
343
    break;
8167
8168
636
  case 496: /* expr: "'throw'" expr  */
8169
636
#line 1385 "/src/php-src/Zend/zend_language_parser.y"
8170
636
                             { (yyval.ast) = zend_ast_create(ZEND_AST_THROW, (yyvsp[0].ast)); }
8171
636
#line 8172 "/src/php-src/Zend/zend_language_parser.c"
8172
636
    break;
8173
8174
25.6k
  case 497: /* expr: inline_function  */
8175
25.6k
#line 1386 "/src/php-src/Zend/zend_language_parser.y"
8176
25.6k
                                { (yyval.ast) = (yyvsp[0].ast); }
8177
25.6k
#line 8178 "/src/php-src/Zend/zend_language_parser.c"
8178
25.6k
    break;
8179
8180
6.60k
  case 498: /* expr: attributes inline_function  */
8181
6.60k
#line 1387 "/src/php-src/Zend/zend_language_parser.y"
8182
6.60k
                                           { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
8183
6.60k
#line 8184 "/src/php-src/Zend/zend_language_parser.c"
8184
6.60k
    break;
8185
8186
246
  case 499: /* expr: "'static'" inline_function  */
8187
246
#line 1388 "/src/php-src/Zend/zend_language_parser.y"
8188
246
                                         { (yyval.ast) = (yyvsp[0].ast); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
8189
246
#line 8190 "/src/php-src/Zend/zend_language_parser.c"
8190
246
    break;
8191
8192
88
  case 500: /* expr: attributes "'static'" inline_function  */
8193
88
#line 1390 "/src/php-src/Zend/zend_language_parser.y"
8194
88
                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-2].ast)); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
8195
88
#line 8196 "/src/php-src/Zend/zend_language_parser.c"
8196
88
    break;
8197
8198
2.23k
  case 501: /* expr: match  */
8199
2.23k
#line 1391 "/src/php-src/Zend/zend_language_parser.y"
8200
2.23k
                      { (yyval.ast) = (yyvsp[0].ast); }
8201
2.23k
#line 8202 "/src/php-src/Zend/zend_language_parser.c"
8202
2.23k
    break;
8203
8204
17.7k
  case 502: /* inline_function: function returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type backup_fn_flags '{' inner_statement_list '}' backup_fn_flags  */
8205
17.7k
#line 1398 "/src/php-src/Zend/zend_language_parser.y"
8206
17.7k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLOSURE, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-10].str),
8207
17.7k
          NULL,
8208
17.7k
          (yyvsp[-8].ast), (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
8209
17.7k
#line 8210 "/src/php-src/Zend/zend_language_parser.c"
8210
17.7k
    break;
8211
8212
14.8k
  case 503: /* inline_function: fn returns_ref backup_doc_comment '(' parameter_list ')' return_type "'=>'" backup_fn_flags expr backup_fn_flags  */
8213
14.8k
#line 1403 "/src/php-src/Zend/zend_language_parser.y"
8214
14.8k
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_ARROW_FUNC, (yyvsp[-9].num) | (yyvsp[0].num), (yyvsp[-10].num), (yyvsp[-8].str),
8215
14.8k
          NULL, (yyvsp[-6].ast), NULL, (yyvsp[-1].ast), (yyvsp[-4].ast), NULL);
8216
14.8k
          CG(extra_fn_flags) = (yyvsp[-2].num); }
8217
14.8k
#line 8218 "/src/php-src/Zend/zend_language_parser.c"
8218
14.8k
    break;
8219
8220
16.5k
  case 504: /* fn: "'fn'"  */
8221
16.5k
#line 1409 "/src/php-src/Zend/zend_language_parser.y"
8222
16.5k
             { (yyval.num) = CG(zend_lineno); }
8223
16.5k
#line 8224 "/src/php-src/Zend/zend_language_parser.c"
8224
16.5k
    break;
8225
8226
31.4k
  case 505: /* function: "'function'"  */
8227
31.4k
#line 1413 "/src/php-src/Zend/zend_language_parser.y"
8228
31.4k
                   { (yyval.num) = CG(zend_lineno); }
8229
31.4k
#line 8230 "/src/php-src/Zend/zend_language_parser.c"
8230
31.4k
    break;
8231
8232
167k
  case 506: /* backup_doc_comment: %empty  */
8233
167k
#line 1417 "/src/php-src/Zend/zend_language_parser.y"
8234
167k
               { (yyval.str) = CG(doc_comment); CG(doc_comment) = NULL; }
8235
167k
#line 8236 "/src/php-src/Zend/zend_language_parser.c"
8236
167k
    break;
8237
8238
114k
  case 507: /* backup_fn_flags: %empty  */
8239
114k
#line 1421 "/src/php-src/Zend/zend_language_parser.y"
8240
114k
                                         { (yyval.num) = CG(extra_fn_flags); CG(extra_fn_flags) = 0; }
8241
114k
#line 8242 "/src/php-src/Zend/zend_language_parser.c"
8242
114k
    break;
8243
8244
55.6k
  case 508: /* returns_ref: %empty  */
8245
55.6k
#line 1425 "/src/php-src/Zend/zend_language_parser.y"
8246
55.6k
                        { (yyval.num) = 0; }
8247
55.6k
#line 8248 "/src/php-src/Zend/zend_language_parser.c"
8248
55.6k
    break;
8249
8250
4.74k
  case 509: /* returns_ref: ampersand  */
8251
4.74k
#line 1426 "/src/php-src/Zend/zend_language_parser.y"
8252
4.74k
                                { (yyval.num) = ZEND_ACC_RETURN_REFERENCE; }
8253
4.74k
#line 8254 "/src/php-src/Zend/zend_language_parser.c"
8254
4.74k
    break;
8255
8256
17.6k
  case 510: /* lexical_vars: %empty  */
8257
17.6k
#line 1430 "/src/php-src/Zend/zend_language_parser.y"
8258
17.6k
                       { (yyval.ast) = NULL; }
8259
17.6k
#line 8260 "/src/php-src/Zend/zend_language_parser.c"
8260
17.6k
    break;
8261
8262
772
  case 511: /* lexical_vars: "'use'" '(' lexical_var_list possible_comma ')'  */
8263
772
#line 1431 "/src/php-src/Zend/zend_language_parser.y"
8264
772
                                                              { (yyval.ast) = (yyvsp[-2].ast); }
8265
772
#line 8266 "/src/php-src/Zend/zend_language_parser.c"
8266
772
    break;
8267
8268
2.21k
  case 512: /* lexical_var_list: lexical_var_list ',' lexical_var  */
8269
2.21k
#line 1435 "/src/php-src/Zend/zend_language_parser.y"
8270
2.21k
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
8271
2.21k
#line 8272 "/src/php-src/Zend/zend_language_parser.c"
8272
2.21k
    break;
8273
8274
781
  case 513: /* lexical_var_list: lexical_var  */
8275
781
#line 1436 "/src/php-src/Zend/zend_language_parser.y"
8276
781
                            { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLOSURE_USES, (yyvsp[0].ast)); }
8277
781
#line 8278 "/src/php-src/Zend/zend_language_parser.c"
8278
781
    break;
8279
8280
2.46k
  case 514: /* lexical_var: "variable"  */
8281
2.46k
#line 1440 "/src/php-src/Zend/zend_language_parser.y"
8282
2.46k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8283
2.46k
#line 8284 "/src/php-src/Zend/zend_language_parser.c"
8284
2.46k
    break;
8285
8286
527
  case 515: /* lexical_var: ampersand "variable"  */
8287
527
#line 1441 "/src/php-src/Zend/zend_language_parser.y"
8288
527
                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_BIND_REF; }
8289
527
#line 8290 "/src/php-src/Zend/zend_language_parser.c"
8290
527
    break;
8291
8292
130k
  case 516: /* function_call: name argument_list  */
8293
130k
#line 1446 "/src/php-src/Zend/zend_language_parser.y"
8294
130k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-1].ast), (yyvsp[0].ast)); }
8295
130k
#line 8296 "/src/php-src/Zend/zend_language_parser.c"
8296
130k
    break;
8297
8298
67
  case 517: /* function_call: "'readonly'" argument_list  */
8299
67
#line 1447 "/src/php-src/Zend/zend_language_parser.y"
8300
67
                                         {
8301
67
      zval zv;
8302
67
      if (zend_lex_tstring(&zv, (yyvsp[-1].ident)) == FAILURE) { YYABORT; }
8303
67
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), (yyvsp[0].ast));
8304
67
    }
8305
0
#line 8306 "/src/php-src/Zend/zend_language_parser.c"
8306
0
    break;
8307
8308
3.92k
  case 518: /* function_call: class_name "'::'" member_name argument_list  */
8309
3.92k
#line 1453 "/src/php-src/Zend/zend_language_parser.y"
8310
3.92k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8311
3.92k
#line 8312 "/src/php-src/Zend/zend_language_parser.c"
8312
3.92k
    break;
8313
8314
6.30k
  case 519: /* function_call: variable_class_name "'::'" member_name argument_list  */
8315
6.30k
#line 1455 "/src/php-src/Zend/zend_language_parser.y"
8316
6.30k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8317
6.30k
#line 8318 "/src/php-src/Zend/zend_language_parser.c"
8318
6.30k
    break;
8319
8320
21.5k
  case 520: /* @11: %empty  */
8321
21.5k
#line 1456 "/src/php-src/Zend/zend_language_parser.y"
8322
21.5k
                              { (yyval.num) = CG(zend_lineno); }
8323
21.5k
#line 8324 "/src/php-src/Zend/zend_language_parser.c"
8324
21.5k
    break;
8325
8326
18.9k
  case 521: /* function_call: callable_expr @11 argument_list  */
8327
18.9k
#line 1456 "/src/php-src/Zend/zend_language_parser.y"
8328
18.9k
                                                                           {
8329
18.9k
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-2].ast), (yyvsp[0].ast));
8330
18.9k
      (yyval.ast)->lineno = (yyvsp[-1].num);
8331
18.9k
    }
8332
18.9k
#line 8333 "/src/php-src/Zend/zend_language_parser.c"
8333
18.9k
    break;
8334
8335
195
  case 522: /* class_name: "'static'"  */
8336
195
#line 1464 "/src/php-src/Zend/zend_language_parser.y"
8337
195
                        { zval zv; ZVAL_INTERNED_STR(&zv, ZSTR_KNOWN(ZEND_STR_STATIC));
8338
195
        (yyval.ast) = zend_ast_create_zval_ex(&zv, ZEND_NAME_NOT_FQ); }
8339
195
#line 8340 "/src/php-src/Zend/zend_language_parser.c"
8340
195
    break;
8341
8342
99.3k
  case 523: /* class_name: name  */
8343
99.3k
#line 1466 "/src/php-src/Zend/zend_language_parser.y"
8344
99.3k
                     { (yyval.ast) = (yyvsp[0].ast); }
8345
99.3k
#line 8346 "/src/php-src/Zend/zend_language_parser.c"
8346
99.3k
    break;
8347
8348
12.4k
  case 524: /* class_name_reference: class_name  */
8349
12.4k
#line 1470 "/src/php-src/Zend/zend_language_parser.y"
8350
12.4k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8351
12.4k
#line 8352 "/src/php-src/Zend/zend_language_parser.c"
8352
12.4k
    break;
8353
8354
1.58k
  case 525: /* class_name_reference: new_variable  */
8355
1.58k
#line 1471 "/src/php-src/Zend/zend_language_parser.y"
8356
1.58k
                                { (yyval.ast) = (yyvsp[0].ast); }
8357
1.58k
#line 8358 "/src/php-src/Zend/zend_language_parser.c"
8358
1.58k
    break;
8359
8360
181
  case 526: /* class_name_reference: '(' expr ')'  */
8361
181
#line 1472 "/src/php-src/Zend/zend_language_parser.y"
8362
181
                                { (yyval.ast) = (yyvsp[-1].ast); }
8363
181
#line 8364 "/src/php-src/Zend/zend_language_parser.c"
8364
181
    break;
8365
8366
3.59k
  case 527: /* backticks_expr: %empty  */
8367
3.59k
#line 1477 "/src/php-src/Zend/zend_language_parser.y"
8368
3.59k
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8369
3.59k
#line 8370 "/src/php-src/Zend/zend_language_parser.c"
8370
3.59k
    break;
8371
8372
3.29k
  case 528: /* backticks_expr: "string content"  */
8373
3.29k
#line 1478 "/src/php-src/Zend/zend_language_parser.y"
8374
3.29k
                                          { (yyval.ast) = (yyvsp[0].ast); }
8375
3.29k
#line 8376 "/src/php-src/Zend/zend_language_parser.c"
8376
3.29k
    break;
8377
8378
2.25k
  case 529: /* backticks_expr: encaps_list  */
8379
2.25k
#line 1479 "/src/php-src/Zend/zend_language_parser.y"
8380
2.25k
                            { (yyval.ast) = (yyvsp[0].ast); }
8381
2.25k
#line 8382 "/src/php-src/Zend/zend_language_parser.c"
8382
2.25k
    break;
8383
8384
4.42k
  case 530: /* ctor_arguments: %empty  */
8385
4.42k
#line 1484 "/src/php-src/Zend/zend_language_parser.y"
8386
4.42k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
8387
4.42k
#line 8388 "/src/php-src/Zend/zend_language_parser.c"
8388
4.42k
    break;
8389
8390
375
  case 531: /* ctor_arguments: argument_list  */
8391
375
#line 1485 "/src/php-src/Zend/zend_language_parser.y"
8392
375
                              { (yyval.ast) = (yyvsp[0].ast); }
8393
375
#line 8394 "/src/php-src/Zend/zend_language_parser.c"
8394
375
    break;
8395
8396
882
  case 532: /* dereferenceable_scalar: "'array'" '(' array_pair_list ')'  */
8397
882
#line 1490 "/src/php-src/Zend/zend_language_parser.y"
8398
882
                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LONG; }
8399
882
#line 8400 "/src/php-src/Zend/zend_language_parser.c"
8400
882
    break;
8401
8402
91.1k
  case 533: /* dereferenceable_scalar: '[' array_pair_list ']'  */
8403
91.1k
#line 1491 "/src/php-src/Zend/zend_language_parser.y"
8404
91.1k
                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
8405
91.1k
#line 8406 "/src/php-src/Zend/zend_language_parser.c"
8406
91.1k
    break;
8407
8408
87.8k
  case 534: /* dereferenceable_scalar: "quoted string"  */
8409
87.8k
#line 1492 "/src/php-src/Zend/zend_language_parser.y"
8410
87.8k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8411
87.8k
#line 8412 "/src/php-src/Zend/zend_language_parser.c"
8412
87.8k
    break;
8413
8414
3.57k
  case 535: /* dereferenceable_scalar: '"' encaps_list '"'  */
8415
3.57k
#line 1493 "/src/php-src/Zend/zend_language_parser.y"
8416
3.57k
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
8417
3.57k
#line 8418 "/src/php-src/Zend/zend_language_parser.c"
8418
3.57k
    break;
8419
8420
241k
  case 536: /* scalar: "integer"  */
8421
241k
#line 1497 "/src/php-src/Zend/zend_language_parser.y"
8422
241k
                                { (yyval.ast) = (yyvsp[0].ast); }
8423
241k
#line 8424 "/src/php-src/Zend/zend_language_parser.c"
8424
241k
    break;
8425
8426
45.5k
  case 537: /* scalar: "floating-point number"  */
8427
45.5k
#line 1498 "/src/php-src/Zend/zend_language_parser.y"
8428
45.5k
                                { (yyval.ast) = (yyvsp[0].ast); }
8429
45.5k
#line 8430 "/src/php-src/Zend/zend_language_parser.c"
8430
45.5k
    break;
8431
8432
1.52k
  case 538: /* scalar: "heredoc start" "string content" "heredoc end"  */
8433
1.52k
#line 1499 "/src/php-src/Zend/zend_language_parser.y"
8434
1.52k
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
8435
1.52k
#line 8436 "/src/php-src/Zend/zend_language_parser.c"
8436
1.52k
    break;
8437
8438
272
  case 539: /* scalar: "heredoc start" "heredoc end"  */
8439
272
#line 1501 "/src/php-src/Zend/zend_language_parser.y"
8440
272
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8441
272
#line 8442 "/src/php-src/Zend/zend_language_parser.c"
8442
272
    break;
8443
8444
838
  case 540: /* scalar: "heredoc start" encaps_list "heredoc end"  */
8445
838
#line 1502 "/src/php-src/Zend/zend_language_parser.y"
8446
838
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
8447
838
#line 8448 "/src/php-src/Zend/zend_language_parser.c"
8448
838
    break;
8449
8450
172k
  case 541: /* scalar: dereferenceable_scalar  */
8451
172k
#line 1503 "/src/php-src/Zend/zend_language_parser.y"
8452
172k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8453
172k
#line 8454 "/src/php-src/Zend/zend_language_parser.c"
8454
172k
    break;
8455
8456
362k
  case 542: /* scalar: constant  */
8457
362k
#line 1504 "/src/php-src/Zend/zend_language_parser.y"
8458
362k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8459
362k
#line 8460 "/src/php-src/Zend/zend_language_parser.c"
8460
362k
    break;
8461
8462
14.7k
  case 543: /* scalar: class_constant  */
8463
14.7k
#line 1505 "/src/php-src/Zend/zend_language_parser.y"
8464
14.7k
                                                { (yyval.ast) = (yyvsp[0].ast); }
8465
14.7k
#line 8466 "/src/php-src/Zend/zend_language_parser.c"
8466
14.7k
    break;
8467
8468
368k
  case 544: /* constant: name  */
8469
368k
#line 1509 "/src/php-src/Zend/zend_language_parser.y"
8470
368k
                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONST, (yyvsp[0].ast)); }
8471
368k
#line 8472 "/src/php-src/Zend/zend_language_parser.c"
8472
368k
    break;
8473
8474
197
  case 545: /* constant: "'__LINE__'"  */
8475
197
#line 1510 "/src/php-src/Zend/zend_language_parser.y"
8476
197
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_LINE); }
8477
197
#line 8478 "/src/php-src/Zend/zend_language_parser.c"
8478
197
    break;
8479
8480
647
  case 546: /* constant: "'__FILE__'"  */
8481
647
#line 1511 "/src/php-src/Zend/zend_language_parser.y"
8482
647
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FILE); }
8483
647
#line 8484 "/src/php-src/Zend/zend_language_parser.c"
8484
647
    break;
8485
8486
1.30k
  case 547: /* constant: "'__DIR__'"  */
8487
1.30k
#line 1512 "/src/php-src/Zend/zend_language_parser.y"
8488
1.30k
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_DIR); }
8489
1.30k
#line 8490 "/src/php-src/Zend/zend_language_parser.c"
8490
1.30k
    break;
8491
8492
1.22k
  case 548: /* constant: "'__TRAIT__'"  */
8493
1.22k
#line 1513 "/src/php-src/Zend/zend_language_parser.y"
8494
1.22k
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_TRAIT_C); }
8495
1.22k
#line 8496 "/src/php-src/Zend/zend_language_parser.c"
8496
1.22k
    break;
8497
8498
1.60k
  case 549: /* constant: "'__METHOD__'"  */
8499
1.60k
#line 1514 "/src/php-src/Zend/zend_language_parser.y"
8500
1.60k
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_METHOD_C); }
8501
1.60k
#line 8502 "/src/php-src/Zend/zend_language_parser.c"
8502
1.60k
    break;
8503
8504
606
  case 550: /* constant: "'__FUNCTION__'"  */
8505
606
#line 1515 "/src/php-src/Zend/zend_language_parser.y"
8506
606
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FUNC_C); }
8507
606
#line 8508 "/src/php-src/Zend/zend_language_parser.c"
8508
606
    break;
8509
8510
639
  case 551: /* constant: "'__PROPERTY__'"  */
8511
639
#line 1516 "/src/php-src/Zend/zend_language_parser.y"
8512
639
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_PROPERTY_C); }
8513
639
#line 8514 "/src/php-src/Zend/zend_language_parser.c"
8514
639
    break;
8515
8516
624
  case 552: /* constant: "'__NAMESPACE__'"  */
8517
624
#line 1517 "/src/php-src/Zend/zend_language_parser.y"
8518
624
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_NS_C); }
8519
624
#line 8520 "/src/php-src/Zend/zend_language_parser.c"
8520
624
    break;
8521
8522
1.75k
  case 553: /* constant: "'__CLASS__'"  */
8523
1.75k
#line 1518 "/src/php-src/Zend/zend_language_parser.y"
8524
1.75k
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_CLASS_C); }
8525
1.75k
#line 8526 "/src/php-src/Zend/zend_language_parser.c"
8526
1.75k
    break;
8527
8528
12.2k
  case 554: /* class_constant: class_name "'::'" identifier  */
8529
12.2k
#line 1523 "/src/php-src/Zend/zend_language_parser.y"
8530
12.2k
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8531
12.2k
#line 8532 "/src/php-src/Zend/zend_language_parser.c"
8532
12.2k
    break;
8533
8534
19.0k
  case 555: /* class_constant: variable_class_name "'::'" identifier  */
8535
19.0k
#line 1525 "/src/php-src/Zend/zend_language_parser.y"
8536
19.0k
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8537
19.0k
#line 8538 "/src/php-src/Zend/zend_language_parser.c"
8538
19.0k
    break;
8539
8540
610
  case 556: /* class_constant: class_name "'::'" '{' expr '}'  */
8541
610
#line 1527 "/src/php-src/Zend/zend_language_parser.y"
8542
610
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8543
610
#line 8544 "/src/php-src/Zend/zend_language_parser.c"
8544
610
    break;
8545
8546
1.05k
  case 557: /* class_constant: variable_class_name "'::'" '{' expr '}'  */
8547
1.05k
#line 1529 "/src/php-src/Zend/zend_language_parser.y"
8548
1.05k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8549
1.05k
#line 8550 "/src/php-src/Zend/zend_language_parser.c"
8550
1.05k
    break;
8551
8552
10.5k
  case 558: /* optional_expr: %empty  */
8553
10.5k
#line 1533 "/src/php-src/Zend/zend_language_parser.y"
8554
10.5k
                        { (yyval.ast) = NULL; }
8555
10.5k
#line 8556 "/src/php-src/Zend/zend_language_parser.c"
8556
10.5k
    break;
8557
8558
61.8k
  case 559: /* optional_expr: expr  */
8559
61.8k
#line 1534 "/src/php-src/Zend/zend_language_parser.y"
8560
61.8k
                                { (yyval.ast) = (yyvsp[0].ast); }
8561
61.8k
#line 8562 "/src/php-src/Zend/zend_language_parser.c"
8562
61.8k
    break;
8563
8564
29.4k
  case 560: /* variable_class_name: fully_dereferenceable  */
8565
29.4k
#line 1538 "/src/php-src/Zend/zend_language_parser.y"
8566
29.4k
                                      { (yyval.ast) = (yyvsp[0].ast); }
8567
29.4k
#line 8568 "/src/php-src/Zend/zend_language_parser.c"
8568
29.4k
    break;
8569
8570
84.6k
  case 561: /* fully_dereferenceable: variable  */
8571
84.6k
#line 1542 "/src/php-src/Zend/zend_language_parser.y"
8572
84.6k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8573
84.6k
#line 8574 "/src/php-src/Zend/zend_language_parser.c"
8574
84.6k
    break;
8575
8576
1.66k
  case 562: /* fully_dereferenceable: '(' expr ')'  */
8577
1.66k
#line 1543 "/src/php-src/Zend/zend_language_parser.y"
8578
1.66k
                             {
8579
1.66k
      (yyval.ast) = (yyvsp[-1].ast);
8580
1.66k
      if ((yyval.ast)->kind == ZEND_AST_STATIC_PROP) (yyval.ast)->attr = ZEND_PARENTHESIZED_STATIC_PROP;
8581
1.66k
    }
8582
1.66k
#line 8583 "/src/php-src/Zend/zend_language_parser.c"
8583
1.66k
    break;
8584
8585
10.1k
  case 563: /* fully_dereferenceable: dereferenceable_scalar  */
8586
10.1k
#line 1547 "/src/php-src/Zend/zend_language_parser.y"
8587
10.1k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8588
10.1k
#line 8589 "/src/php-src/Zend/zend_language_parser.c"
8589
10.1k
    break;
8590
8591
18.2k
  case 564: /* fully_dereferenceable: class_constant  */
8592
18.2k
#line 1548 "/src/php-src/Zend/zend_language_parser.y"
8593
18.2k
                                                { (yyval.ast) = (yyvsp[0].ast); }
8594
18.2k
#line 8595 "/src/php-src/Zend/zend_language_parser.c"
8595
18.2k
    break;
8596
8597
81
  case 565: /* fully_dereferenceable: new_dereferenceable  */
8598
81
#line 1549 "/src/php-src/Zend/zend_language_parser.y"
8599
81
                                                { (yyval.ast) = (yyvsp[0].ast); }
8600
81
#line 8601 "/src/php-src/Zend/zend_language_parser.c"
8601
81
    break;
8602
8603
85.3k
  case 566: /* array_object_dereferenceable: fully_dereferenceable  */
8604
85.3k
#line 1553 "/src/php-src/Zend/zend_language_parser.y"
8605
85.3k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8606
85.3k
#line 8607 "/src/php-src/Zend/zend_language_parser.c"
8607
85.3k
    break;
8608
8609
14.5k
  case 567: /* array_object_dereferenceable: constant  */
8610
14.5k
#line 1554 "/src/php-src/Zend/zend_language_parser.y"
8611
14.5k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8612
14.5k
#line 8613 "/src/php-src/Zend/zend_language_parser.c"
8613
14.5k
    break;
8614
8615
19.0k
  case 568: /* callable_expr: callable_variable  */
8616
19.0k
#line 1558 "/src/php-src/Zend/zend_language_parser.y"
8617
19.0k
                                                { (yyval.ast) = (yyvsp[0].ast); }
8618
19.0k
#line 8619 "/src/php-src/Zend/zend_language_parser.c"
8619
19.0k
    break;
8620
8621
1.02k
  case 569: /* callable_expr: '(' expr ')'  */
8622
1.02k
#line 1559 "/src/php-src/Zend/zend_language_parser.y"
8623
1.02k
                                                { (yyval.ast) = (yyvsp[-1].ast); }
8624
1.02k
#line 8625 "/src/php-src/Zend/zend_language_parser.c"
8625
1.02k
    break;
8626
8627
1.16k
  case 570: /* callable_expr: dereferenceable_scalar  */
8628
1.16k
#line 1560 "/src/php-src/Zend/zend_language_parser.y"
8629
1.16k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8630
1.16k
#line 8631 "/src/php-src/Zend/zend_language_parser.c"
8631
1.16k
    break;
8632
8633
289
  case 571: /* callable_expr: new_dereferenceable  */
8634
289
#line 1561 "/src/php-src/Zend/zend_language_parser.y"
8635
289
                                                { (yyval.ast) = (yyvsp[0].ast); }
8636
289
#line 8637 "/src/php-src/Zend/zend_language_parser.c"
8637
289
    break;
8638
8639
91.0k
  case 572: /* callable_variable: simple_variable  */
8640
91.0k
#line 1566 "/src/php-src/Zend/zend_language_parser.y"
8641
91.0k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8642
91.0k
#line 8643 "/src/php-src/Zend/zend_language_parser.c"
8643
91.0k
    break;
8644
8645
64.1k
  case 573: /* callable_variable: array_object_dereferenceable '[' optional_expr ']'  */
8646
64.1k
#line 1568 "/src/php-src/Zend/zend_language_parser.y"
8647
64.1k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8648
64.1k
#line 8649 "/src/php-src/Zend/zend_language_parser.c"
8649
64.1k
    break;
8650
8651
5.94k
  case 574: /* callable_variable: array_object_dereferenceable "'->'" property_name argument_list  */
8652
5.94k
#line 1570 "/src/php-src/Zend/zend_language_parser.y"
8653
5.94k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8654
5.94k
#line 8655 "/src/php-src/Zend/zend_language_parser.c"
8655
5.94k
    break;
8656
8657
2.17k
  case 575: /* callable_variable: array_object_dereferenceable "'?->'" property_name argument_list  */
8658
2.17k
#line 1572 "/src/php-src/Zend/zend_language_parser.y"
8659
2.17k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8660
2.17k
#line 8661 "/src/php-src/Zend/zend_language_parser.c"
8661
2.17k
    break;
8662
8663
159k
  case 576: /* callable_variable: function_call  */
8664
159k
#line 1573 "/src/php-src/Zend/zend_language_parser.y"
8665
159k
                              { (yyval.ast) = (yyvsp[0].ast); }
8666
159k
#line 8667 "/src/php-src/Zend/zend_language_parser.c"
8667
159k
    break;
8668
8669
303k
  case 577: /* variable: callable_variable  */
8670
303k
#line 1578 "/src/php-src/Zend/zend_language_parser.y"
8671
303k
                        { (yyval.ast) = (yyvsp[0].ast); }
8672
303k
#line 8673 "/src/php-src/Zend/zend_language_parser.c"
8673
303k
    break;
8674
8675
10.5k
  case 578: /* variable: static_member  */
8676
10.5k
#line 1580 "/src/php-src/Zend/zend_language_parser.y"
8677
10.5k
                        { (yyval.ast) = (yyvsp[0].ast); }
8678
10.5k
#line 8679 "/src/php-src/Zend/zend_language_parser.c"
8679
10.5k
    break;
8680
8681
19.1k
  case 579: /* variable: array_object_dereferenceable "'->'" property_name  */
8682
19.1k
#line 1582 "/src/php-src/Zend/zend_language_parser.y"
8683
19.1k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8684
19.1k
#line 8685 "/src/php-src/Zend/zend_language_parser.c"
8685
19.1k
    break;
8686
8687
5.93k
  case 580: /* variable: array_object_dereferenceable "'?->'" property_name  */
8688
5.93k
#line 1584 "/src/php-src/Zend/zend_language_parser.y"
8689
5.93k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8690
5.93k
#line 8691 "/src/php-src/Zend/zend_language_parser.c"
8691
5.93k
    break;
8692
8693
103k
  case 581: /* simple_variable: "variable"  */
8694
103k
#line 1588 "/src/php-src/Zend/zend_language_parser.y"
8695
103k
                                                { (yyval.ast) = (yyvsp[0].ast); }
8696
103k
#line 8697 "/src/php-src/Zend/zend_language_parser.c"
8697
103k
    break;
8698
8699
4.28k
  case 582: /* simple_variable: '$' '{' expr '}'  */
8700
4.28k
#line 1589 "/src/php-src/Zend/zend_language_parser.y"
8701
4.28k
                                        { (yyval.ast) = (yyvsp[-1].ast); }
8702
4.28k
#line 8703 "/src/php-src/Zend/zend_language_parser.c"
8703
4.28k
    break;
8704
8705
101k
  case 583: /* simple_variable: '$' simple_variable  */
8706
101k
#line 1590 "/src/php-src/Zend/zend_language_parser.y"
8707
101k
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8708
101k
#line 8709 "/src/php-src/Zend/zend_language_parser.c"
8709
101k
    break;
8710
8711
7.80k
  case 584: /* static_member: class_name "'::'" simple_variable  */
8712
7.80k
#line 1595 "/src/php-src/Zend/zend_language_parser.y"
8713
7.80k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8714
7.80k
#line 8715 "/src/php-src/Zend/zend_language_parser.c"
8715
7.80k
    break;
8716
8717
2.76k
  case 585: /* static_member: variable_class_name "'::'" simple_variable  */
8718
2.76k
#line 1597 "/src/php-src/Zend/zend_language_parser.y"
8719
2.76k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8720
2.76k
#line 8721 "/src/php-src/Zend/zend_language_parser.c"
8721
2.76k
    break;
8722
8723
1.62k
  case 586: /* new_variable: simple_variable  */
8724
1.62k
#line 1602 "/src/php-src/Zend/zend_language_parser.y"
8725
1.62k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8726
1.62k
#line 8727 "/src/php-src/Zend/zend_language_parser.c"
8727
1.62k
    break;
8728
8729
204
  case 587: /* new_variable: new_variable '[' optional_expr ']'  */
8730
204
#line 1604 "/src/php-src/Zend/zend_language_parser.y"
8731
204
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8732
204
#line 8733 "/src/php-src/Zend/zend_language_parser.c"
8733
204
    break;
8734
8735
646
  case 588: /* new_variable: new_variable "'->'" property_name  */
8736
646
#line 1606 "/src/php-src/Zend/zend_language_parser.y"
8737
646
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8738
646
#line 8739 "/src/php-src/Zend/zend_language_parser.c"
8739
646
    break;
8740
8741
273
  case 589: /* new_variable: new_variable "'?->'" property_name  */
8742
273
#line 1608 "/src/php-src/Zend/zend_language_parser.y"
8743
273
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8744
273
#line 8745 "/src/php-src/Zend/zend_language_parser.c"
8745
273
    break;
8746
8747
368
  case 590: /* new_variable: class_name "'::'" simple_variable  */
8748
368
#line 1610 "/src/php-src/Zend/zend_language_parser.y"
8749
368
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8750
368
#line 8751 "/src/php-src/Zend/zend_language_parser.c"
8751
368
    break;
8752
8753
160
  case 591: /* new_variable: new_variable "'::'" simple_variable  */
8754
160
#line 1612 "/src/php-src/Zend/zend_language_parser.y"
8755
160
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8756
160
#line 8757 "/src/php-src/Zend/zend_language_parser.c"
8757
160
    break;
8758
8759
9.64k
  case 592: /* member_name: identifier  */
8760
9.64k
#line 1616 "/src/php-src/Zend/zend_language_parser.y"
8761
9.64k
                           { (yyval.ast) = (yyvsp[0].ast); }
8762
9.64k
#line 8763 "/src/php-src/Zend/zend_language_parser.c"
8763
9.64k
    break;
8764
8765
10
  case 593: /* member_name: '{' expr '}'  */
8766
10
#line 1617 "/src/php-src/Zend/zend_language_parser.y"
8767
10
                                { (yyval.ast) = (yyvsp[-1].ast); }
8768
10
#line 8769 "/src/php-src/Zend/zend_language_parser.c"
8769
10
    break;
8770
8771
914
  case 594: /* member_name: simple_variable  */
8772
914
#line 1618 "/src/php-src/Zend/zend_language_parser.y"
8773
914
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8774
914
#line 8775 "/src/php-src/Zend/zend_language_parser.c"
8775
914
    break;
8776
8777
32.5k
  case 595: /* property_name: "identifier"  */
8778
32.5k
#line 1622 "/src/php-src/Zend/zend_language_parser.y"
8779
32.5k
                         { (yyval.ast) = (yyvsp[0].ast); }
8780
32.5k
#line 8781 "/src/php-src/Zend/zend_language_parser.c"
8781
32.5k
    break;
8782
8783
493
  case 596: /* property_name: '{' expr '}'  */
8784
493
#line 1623 "/src/php-src/Zend/zend_language_parser.y"
8785
493
                                { (yyval.ast) = (yyvsp[-1].ast); }
8786
493
#line 8787 "/src/php-src/Zend/zend_language_parser.c"
8787
493
    break;
8788
8789
1.40k
  case 597: /* property_name: simple_variable  */
8790
1.40k
#line 1624 "/src/php-src/Zend/zend_language_parser.y"
8791
1.40k
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8792
1.40k
#line 8793 "/src/php-src/Zend/zend_language_parser.c"
8793
1.40k
    break;
8794
8795
97.1k
  case 598: /* array_pair_list: non_empty_array_pair_list  */
8796
97.1k
#line 1629 "/src/php-src/Zend/zend_language_parser.y"
8797
97.1k
                        { /* allow single trailing comma */ (yyval.ast) = zend_ast_list_rtrim((yyvsp[0].ast)); }
8798
97.1k
#line 8799 "/src/php-src/Zend/zend_language_parser.c"
8799
97.1k
    break;
8800
8801
24.5k
  case 599: /* possible_array_pair: %empty  */
8802
24.5k
#line 1633 "/src/php-src/Zend/zend_language_parser.y"
8803
24.5k
                       { (yyval.ast) = NULL; }
8804
24.5k
#line 8805 "/src/php-src/Zend/zend_language_parser.c"
8805
24.5k
    break;
8806
8807
186k
  case 600: /* possible_array_pair: array_pair  */
8808
186k
#line 1634 "/src/php-src/Zend/zend_language_parser.y"
8809
186k
                            { (yyval.ast) = (yyvsp[0].ast); }
8810
186k
#line 8811 "/src/php-src/Zend/zend_language_parser.c"
8811
186k
    break;
8812
8813
113k
  case 601: /* non_empty_array_pair_list: non_empty_array_pair_list ',' possible_array_pair  */
8814
113k
#line 1639 "/src/php-src/Zend/zend_language_parser.y"
8815
113k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
8816
113k
#line 8817 "/src/php-src/Zend/zend_language_parser.c"
8817
113k
    break;
8818
8819
97.7k
  case 602: /* non_empty_array_pair_list: possible_array_pair  */
8820
97.7k
#line 1641 "/src/php-src/Zend/zend_language_parser.y"
8821
97.7k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ARRAY, (yyvsp[0].ast)); }
8822
97.7k
#line 8823 "/src/php-src/Zend/zend_language_parser.c"
8823
97.7k
    break;
8824
8825
13.0k
  case 603: /* array_pair: expr "'=>'" expr  */
8826
13.0k
#line 1646 "/src/php-src/Zend/zend_language_parser.y"
8827
13.0k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), (yyvsp[-2].ast)); }
8828
13.0k
#line 8829 "/src/php-src/Zend/zend_language_parser.c"
8829
13.0k
    break;
8830
8831
168k
  case 604: /* array_pair: expr  */
8832
168k
#line 1648 "/src/php-src/Zend/zend_language_parser.y"
8833
168k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), NULL); }
8834
168k
#line 8835 "/src/php-src/Zend/zend_language_parser.c"
8835
168k
    break;
8836
8837
174
  case 605: /* array_pair: expr "'=>'" ampersand variable  */
8838
174
#line 1650 "/src/php-src/Zend/zend_language_parser.y"
8839
174
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), (yyvsp[-3].ast)); }
8840
174
#line 8841 "/src/php-src/Zend/zend_language_parser.c"
8841
174
    break;
8842
8843
1.34k
  case 606: /* array_pair: ampersand variable  */
8844
1.34k
#line 1652 "/src/php-src/Zend/zend_language_parser.y"
8845
1.34k
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), NULL); }
8846
1.34k
#line 8847 "/src/php-src/Zend/zend_language_parser.c"
8847
1.34k
    break;
8848
8849
3.03k
  case 607: /* array_pair: "'...'" expr  */
8850
3.03k
#line 1654 "/src/php-src/Zend/zend_language_parser.y"
8851
3.03k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
8852
3.03k
#line 8853 "/src/php-src/Zend/zend_language_parser.c"
8853
3.03k
    break;
8854
8855
10
  case 608: /* array_pair: expr "'=>'" "'list'" '(' array_pair_list ')'  */
8856
10
#line 1656 "/src/php-src/Zend/zend_language_parser.y"
8857
10
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8858
10
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), (yyvsp[-5].ast)); }
8859
10
#line 8860 "/src/php-src/Zend/zend_language_parser.c"
8860
10
    break;
8861
8862
713
  case 609: /* array_pair: "'list'" '(' array_pair_list ')'  */
8863
713
#line 1659 "/src/php-src/Zend/zend_language_parser.y"
8864
713
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8865
713
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), NULL); }
8866
713
#line 8867 "/src/php-src/Zend/zend_language_parser.c"
8867
713
    break;
8868
8869
28.5k
  case 610: /* encaps_list: encaps_list encaps_var  */
8870
28.5k
#line 1665 "/src/php-src/Zend/zend_language_parser.y"
8871
28.5k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8872
28.5k
#line 8873 "/src/php-src/Zend/zend_language_parser.c"
8873
28.5k
    break;
8874
8875
31.8k
  case 611: /* encaps_list: encaps_list "string content"  */
8876
31.8k
#line 1667 "/src/php-src/Zend/zend_language_parser.y"
8877
31.8k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8878
31.8k
#line 8879 "/src/php-src/Zend/zend_language_parser.c"
8879
31.8k
    break;
8880
8881
6.76k
  case 612: /* encaps_list: encaps_var  */
8882
6.76k
#line 1669 "/src/php-src/Zend/zend_language_parser.y"
8883
6.76k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ENCAPS_LIST, (yyvsp[0].ast)); }
8884
6.76k
#line 8885 "/src/php-src/Zend/zend_language_parser.c"
8885
6.76k
    break;
8886
8887
5.79k
  case 613: /* encaps_list: "string content" encaps_var  */
8888
5.79k
#line 1671 "/src/php-src/Zend/zend_language_parser.y"
8889
5.79k
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_ENCAPS_LIST, (yyvsp[-1].ast), (yyvsp[0].ast)); }
8890
5.79k
#line 8891 "/src/php-src/Zend/zend_language_parser.c"
8891
5.79k
    break;
8892
8893
33.4k
  case 614: /* encaps_var: "variable"  */
8894
33.4k
#line 1676 "/src/php-src/Zend/zend_language_parser.y"
8895
33.4k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8896
33.4k
#line 8897 "/src/php-src/Zend/zend_language_parser.c"
8897
33.4k
    break;
8898
8899
2.09k
  case 615: /* encaps_var: "variable" '[' encaps_var_offset ']'  */
8900
2.09k
#line 1678 "/src/php-src/Zend/zend_language_parser.y"
8901
2.09k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM,
8902
2.09k
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-3].ast)), (yyvsp[-1].ast)); }
8903
2.09k
#line 8904 "/src/php-src/Zend/zend_language_parser.c"
8904
2.09k
    break;
8905
8906
1.60k
  case 616: /* encaps_var: "variable" "'->'" "identifier"  */
8907
1.60k
#line 1681 "/src/php-src/Zend/zend_language_parser.y"
8908
1.60k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP,
8909
1.60k
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8910
1.60k
#line 8911 "/src/php-src/Zend/zend_language_parser.c"
8911
1.60k
    break;
8912
8913
630
  case 617: /* encaps_var: "variable" "'?->'" "identifier"  */
8914
630
#line 1684 "/src/php-src/Zend/zend_language_parser.y"
8915
630
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP,
8916
630
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8917
630
#line 8918 "/src/php-src/Zend/zend_language_parser.c"
8918
630
    break;
8919
8920
2.24k
  case 618: /* encaps_var: "'${'" expr '}'  */
8921
2.24k
#line 1687 "/src/php-src/Zend/zend_language_parser.y"
8922
2.24k
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR, (yyvsp[-1].ast)); }
8923
2.24k
#line 8924 "/src/php-src/Zend/zend_language_parser.c"
8924
2.24k
    break;
8925
8926
475
  case 619: /* encaps_var: "'${'" "variable name" '}'  */
8927
475
#line 1689 "/src/php-src/Zend/zend_language_parser.y"
8928
475
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY, (yyvsp[-1].ast)); }
8929
475
#line 8930 "/src/php-src/Zend/zend_language_parser.c"
8930
475
    break;
8931
8932
359
  case 620: /* encaps_var: "'${'" "variable name" '[' expr ']' '}'  */
8933
359
#line 1691 "/src/php-src/Zend/zend_language_parser.y"
8934
359
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_DIM, ZEND_ENCAPS_VAR_DOLLAR_CURLY,
8935
359
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-4].ast)), (yyvsp[-2].ast)); }
8936
359
#line 8937 "/src/php-src/Zend/zend_language_parser.c"
8937
359
    break;
8938
8939
293
  case 621: /* encaps_var: "'{$'" variable '}'  */
8940
293
#line 1693 "/src/php-src/Zend/zend_language_parser.y"
8941
293
                                          { (yyval.ast) = (yyvsp[-1].ast); }
8942
293
#line 8943 "/src/php-src/Zend/zend_language_parser.c"
8943
293
    break;
8944
8945
574
  case 622: /* encaps_var_offset: "identifier"  */
8946
574
#line 1697 "/src/php-src/Zend/zend_language_parser.y"
8947
574
                                                { (yyval.ast) = (yyvsp[0].ast); }
8948
574
#line 8949 "/src/php-src/Zend/zend_language_parser.c"
8949
574
    break;
8950
8951
812
  case 623: /* encaps_var_offset: "number"  */
8952
812
#line 1698 "/src/php-src/Zend/zend_language_parser.y"
8953
812
                                        { (yyval.ast) = (yyvsp[0].ast); }
8954
812
#line 8955 "/src/php-src/Zend/zend_language_parser.c"
8955
812
    break;
8956
8957
1.30k
  case 624: /* encaps_var_offset: '-' "number"  */
8958
1.30k
#line 1699 "/src/php-src/Zend/zend_language_parser.y"
8959
1.30k
                                        { (yyval.ast) = zend_negate_num_string((yyvsp[0].ast)); }
8960
1.30k
#line 8961 "/src/php-src/Zend/zend_language_parser.c"
8961
1.30k
    break;
8962
8963
356
  case 625: /* encaps_var_offset: "variable"  */
8964
356
#line 1700 "/src/php-src/Zend/zend_language_parser.y"
8965
356
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8966
356
#line 8967 "/src/php-src/Zend/zend_language_parser.c"
8967
356
    break;
8968
8969
1.71k
  case 626: /* internal_functions_in_yacc: "'isset'" '(' isset_variables possible_comma ')'  */
8970
1.71k
#line 1705 "/src/php-src/Zend/zend_language_parser.y"
8971
1.71k
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
8972
1.71k
#line 8973 "/src/php-src/Zend/zend_language_parser.c"
8973
1.71k
    break;
8974
8975
371
  case 627: /* internal_functions_in_yacc: "'empty'" '(' expr ')'  */
8976
371
#line 1706 "/src/php-src/Zend/zend_language_parser.y"
8977
371
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_EMPTY, (yyvsp[-1].ast)); }
8978
371
#line 8979 "/src/php-src/Zend/zend_language_parser.c"
8979
371
    break;
8980
8981
453
  case 628: /* internal_functions_in_yacc: "'include'" expr  */
8982
453
#line 1708 "/src/php-src/Zend/zend_language_parser.y"
8983
453
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE, (yyvsp[0].ast)); }
8984
453
#line 8985 "/src/php-src/Zend/zend_language_parser.c"
8985
453
    break;
8986
8987
282
  case 629: /* internal_functions_in_yacc: "'include_once'" expr  */
8988
282
#line 1710 "/src/php-src/Zend/zend_language_parser.y"
8989
282
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE_ONCE, (yyvsp[0].ast)); }
8990
282
#line 8991 "/src/php-src/Zend/zend_language_parser.c"
8991
282
    break;
8992
8993
406
  case 630: /* internal_functions_in_yacc: "'eval'" '(' expr ')'  */
8994
406
#line 1712 "/src/php-src/Zend/zend_language_parser.y"
8995
406
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_EVAL, (yyvsp[-1].ast)); }
8996
406
#line 8997 "/src/php-src/Zend/zend_language_parser.c"
8997
406
    break;
8998
8999
756
  case 631: /* internal_functions_in_yacc: "'require'" expr  */
9000
756
#line 1714 "/src/php-src/Zend/zend_language_parser.y"
9001
756
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE, (yyvsp[0].ast)); }
9002
756
#line 9003 "/src/php-src/Zend/zend_language_parser.c"
9003
756
    break;
9004
9005
263
  case 632: /* internal_functions_in_yacc: "'require_once'" expr  */
9006
263
#line 1716 "/src/php-src/Zend/zend_language_parser.y"
9007
263
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE_ONCE, (yyvsp[0].ast)); }
9008
263
#line 9009 "/src/php-src/Zend/zend_language_parser.c"
9009
263
    break;
9010
9011
1.81k
  case 633: /* isset_variables: isset_variable  */
9012
1.81k
#line 1720 "/src/php-src/Zend/zend_language_parser.y"
9013
1.81k
                               { (yyval.ast) = (yyvsp[0].ast); }
9014
1.81k
#line 9015 "/src/php-src/Zend/zend_language_parser.c"
9015
1.81k
    break;
9016
9017
2.94k
  case 634: /* isset_variables: isset_variables ',' isset_variable  */
9018
2.94k
#line 1722 "/src/php-src/Zend/zend_language_parser.y"
9019
2.94k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
9020
2.94k
#line 9021 "/src/php-src/Zend/zend_language_parser.c"
9021
2.94k
    break;
9022
9023
4.75k
  case 635: /* isset_variable: expr  */
9024
4.75k
#line 1726 "/src/php-src/Zend/zend_language_parser.y"
9025
4.75k
                     { (yyval.ast) = zend_ast_create(ZEND_AST_ISSET, (yyvsp[0].ast)); }
9026
4.75k
#line 9027 "/src/php-src/Zend/zend_language_parser.c"
9027
4.75k
    break;
9028
9029
9030
0
#line 9031 "/src/php-src/Zend/zend_language_parser.c"
9031
9032
216k
      default: break;
9033
10.8M
    }
9034
  /* User semantic actions sometimes alter yychar, and that requires
9035
     that yytoken be updated with the new translation.  We take the
9036
     approach of translating immediately before every use of yytoken.
9037
     One alternative is translating here after every semantic action,
9038
     but that translation would be missed if the semantic action invokes
9039
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
9040
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
9041
     incorrect destructor might then be invoked immediately.  In the
9042
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
9043
     to an incorrect destructor call or verbose syntax error message
9044
     before the lookahead is translated.  */
9045
10.8M
  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
9046
9047
10.8M
  YYPOPSTACK (yylen);
9048
10.8M
  yylen = 0;
9049
9050
10.8M
  *++yyvsp = yyval;
9051
9052
  /* Now 'shift' the result of the reduction.  Determine what state
9053
     that goes to, based on the state we popped back to and the rule
9054
     number reduced by.  */
9055
10.8M
  {
9056
10.8M
    const int yylhs = yyr1[yyn] - YYNTOKENS;
9057
10.8M
    const int yyi = yypgoto[yylhs] + *yyssp;
9058
10.8M
    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
9059
10.8M
               ? yytable[yyi]
9060
10.8M
               : yydefgoto[yylhs]);
9061
10.8M
  }
9062
9063
10.8M
  goto yynewstate;
9064
9065
9066
/*--------------------------------------.
9067
| yyerrlab -- here on detecting error.  |
9068
`--------------------------------------*/
9069
50.6k
yyerrlab:
9070
  /* Make sure we have latest lookahead translation.  See comments at
9071
     user semantic actions for why this is necessary.  */
9072
50.6k
  yytoken = yychar == ZENDEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
9073
  /* If not already recovering from an error, report this error.  */
9074
50.6k
  if (!yyerrstatus)
9075
50.6k
    {
9076
50.6k
      ++yynerrs;
9077
50.6k
      {
9078
50.6k
        yypcontext_t yyctx
9079
50.6k
          = {yyssp, yytoken};
9080
50.6k
        char const *yymsgp = YY_("syntax error");
9081
50.6k
        int yysyntax_error_status;
9082
50.6k
        yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
9083
50.6k
        if (yysyntax_error_status == 0)
9084
50.6k
          yymsgp = yymsg;
9085
8
        else if (yysyntax_error_status == -1)
9086
8
          {
9087
8
            if (yymsg != yymsgbuf)
9088
0
              YYSTACK_FREE (yymsg);
9089
8
            yymsg = YY_CAST (char *,
9090
8
                             YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
9091
8
            if (yymsg)
9092
8
              {
9093
8
                yysyntax_error_status
9094
8
                  = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
9095
8
                yymsgp = yymsg;
9096
8
              }
9097
0
            else
9098
0
              {
9099
0
                yymsg = yymsgbuf;
9100
0
                yymsg_alloc = sizeof yymsgbuf;
9101
0
                yysyntax_error_status = YYENOMEM;
9102
0
              }
9103
8
          }
9104
50.6k
        yyerror (yymsgp);
9105
50.6k
        if (yysyntax_error_status == YYENOMEM)
9106
0
          YYNOMEM;
9107
50.6k
      }
9108
50.6k
    }
9109
9110
50.6k
  if (yyerrstatus == 3)
9111
0
    {
9112
      /* If just tried and failed to reuse lookahead token after an
9113
         error, discard it.  */
9114
9115
0
      if (yychar <= END)
9116
0
        {
9117
          /* Return failure if at end of input.  */
9118
0
          if (yychar == END)
9119
0
            YYABORT;
9120
0
        }
9121
0
      else
9122
0
        {
9123
0
          yydestruct ("Error: discarding",
9124
0
                      yytoken, &yylval);
9125
0
          yychar = ZENDEMPTY;
9126
0
        }
9127
0
    }
9128
9129
  /* Else will try to reuse lookahead token after shifting the error
9130
     token.  */
9131
50.6k
  goto yyerrlab1;
9132
9133
9134
/*---------------------------------------------------.
9135
| yyerrorlab -- error raised explicitly by YYERROR.  |
9136
`---------------------------------------------------*/
9137
50.6k
yyerrorlab:
9138
  /* Pacify compilers when the user code never invokes YYERROR and the
9139
     label yyerrorlab therefore never appears in user code.  */
9140
107
  if (0)
9141
0
    YYERROR;
9142
107
  ++yynerrs;
9143
9144
  /* Do not reclaim the symbols of the rule whose action triggered
9145
     this YYERROR.  */
9146
107
  YYPOPSTACK (yylen);
9147
107
  yylen = 0;
9148
107
  YY_STACK_PRINT (yyss, yyssp);
9149
107
  yystate = *yyssp;
9150
107
  goto yyerrlab1;
9151
9152
9153
/*-------------------------------------------------------------.
9154
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
9155
`-------------------------------------------------------------*/
9156
50.7k
yyerrlab1:
9157
50.7k
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
9158
9159
  /* Pop stack until we find a state that shifts the error token.  */
9160
50.7k
  for (;;)
9161
625k
    {
9162
625k
      yyn = yypact[yystate];
9163
625k
      if (!yypact_value_is_default (yyn))
9164
529k
        {
9165
529k
          yyn += YYSYMBOL_YYerror;
9166
529k
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
9167
0
            {
9168
0
              yyn = yytable[yyn];
9169
0
              if (0 < yyn)
9170
0
                break;
9171
0
            }
9172
529k
        }
9173
9174
      /* Pop the current state because it cannot handle the error token.  */
9175
625k
      if (yyssp == yyss)
9176
50.7k
        YYABORT;
9177
9178
9179
574k
      yydestruct ("Error: popping",
9180
574k
                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
9181
574k
      YYPOPSTACK (1);
9182
574k
      yystate = *yyssp;
9183
574k
      YY_STACK_PRINT (yyss, yyssp);
9184
574k
    }
9185
9186
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
9187
0
  *++yyvsp = yylval;
9188
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
9189
9190
9191
  /* Shift the error token.  */
9192
0
  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
9193
9194
0
  yystate = yyn;
9195
0
  goto yynewstate;
9196
9197
9198
/*-------------------------------------.
9199
| yyacceptlab -- YYACCEPT comes here.  |
9200
`-------------------------------------*/
9201
57.5k
yyacceptlab:
9202
57.5k
  yyresult = 0;
9203
57.5k
  goto yyreturnlab;
9204
9205
9206
/*-----------------------------------.
9207
| yyabortlab -- YYABORT comes here.  |
9208
`-----------------------------------*/
9209
50.7k
yyabortlab:
9210
50.7k
  yyresult = 1;
9211
50.7k
  goto yyreturnlab;
9212
9213
9214
/*-----------------------------------------------------------.
9215
| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
9216
`-----------------------------------------------------------*/
9217
1
yyexhaustedlab:
9218
1
  yyerror (YY_("memory exhausted"));
9219
1
  yyresult = 2;
9220
1
  goto yyreturnlab;
9221
9222
9223
/*----------------------------------------------------------.
9224
| yyreturnlab -- parsing is finished, clean up and return.  |
9225
`----------------------------------------------------------*/
9226
108k
yyreturnlab:
9227
108k
  if (yychar != ZENDEMPTY)
9228
50.7k
    {
9229
      /* Make sure we have latest lookahead translation.  See comments at
9230
         user semantic actions for why this is necessary.  */
9231
50.7k
      yytoken = YYTRANSLATE (yychar);
9232
50.7k
      yydestruct ("Cleanup: discarding lookahead",
9233
50.7k
                  yytoken, &yylval);
9234
50.7k
    }
9235
  /* Do not reclaim the symbols of the rule whose action triggered
9236
     this YYABORT or YYACCEPT.  */
9237
108k
  YYPOPSTACK (yylen);
9238
108k
  YY_STACK_PRINT (yyss, yyssp);
9239
234k
  while (yyssp != yyss)
9240
126k
    {
9241
126k
      yydestruct ("Cleanup: popping",
9242
126k
                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
9243
126k
      YYPOPSTACK (1);
9244
126k
    }
9245
108k
#ifndef yyoverflow
9246
108k
  if (yyss != yyssa)
9247
1.48k
    YYSTACK_FREE (yyss);
9248
108k
#endif
9249
108k
  if (yymsg != yymsgbuf)
9250
8
    YYSTACK_FREE (yymsg);
9251
108k
  return yyresult;
9252
50.7k
}
9253
9254
#line 1729 "/src/php-src/Zend/zend_language_parser.y"
9255
9256
9257
/* Over-ride Bison formatting routine to give better token descriptions.
9258
   Copy to YYRES the contents of YYSTR for use in yyerror.
9259
   YYSTR is taken from yytname, from the %token declaration.
9260
   If YYRES is null, do not copy; instead, return the length of what
9261
   the result would have been.  */
9262
static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
9263
147k
{
9264
147k
  const char *toktype = yystr;
9265
147k
  size_t toktype_len = strlen(toktype);
9266
9267
  /* CG(parse_error) states:
9268
   * 0 => yyres = NULL, yystr is the unexpected token
9269
   * 1 => yyres = NULL, yystr is one of the expected tokens
9270
   * 2 => yyres != NULL, yystr is the unexpected token
9271
   * 3 => yyres != NULL, yystr is one of the expected tokens
9272
   */
9273
147k
  if (yyres && CG(parse_error) < 2) {
9274
50.6k
    CG(parse_error) = 2;
9275
50.6k
  }
9276
9277
147k
  if (CG(parse_error) % 2 == 0) {
9278
    /* The unexpected token */
9279
101k
    char buffer[120];
9280
101k
    const unsigned char *tokcontent, *tokcontent_end;
9281
101k
    size_t tokcontent_len;
9282
9283
101k
    CG(parse_error)++;
9284
9285
101k
    if (LANG_SCNG(yy_text)[0] == 0 &&
9286
35.1k
      LANG_SCNG(yy_leng) == 1 &&
9287
35.1k
      strcmp(toktype, "\"end of file\"") == 0) {
9288
19.1k
      if (yyres) {
9289
9.59k
        yystpcpy(yyres, "end of file");
9290
9.59k
      }
9291
19.1k
      return sizeof("end of file")-1;
9292
19.1k
    }
9293
9294
    /* Prevent the backslash getting doubled in the output (eugh) */
9295
82.1k
    if (strcmp(toktype, "\"'\\\\'\"") == 0) {
9296
1.22k
      if (yyres) {
9297
611
        yystpcpy(yyres, "token \"\\\"");
9298
611
      }
9299
1.22k
      return sizeof("token \"\\\"")-1;
9300
1.22k
    }
9301
9302
    /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
9303
80.8k
    if (strcmp(toktype, "\"amp\"") == 0) {
9304
3.29k
      if (yyres) {
9305
1.64k
        yystpcpy(yyres, "token \"&\"");
9306
1.64k
      }
9307
3.29k
      return sizeof("token \"&\"")-1;
9308
3.29k
    }
9309
9310
    /* Avoid unreadable """ */
9311
    /* "'" would theoretically be just as bad, but is never currently parsed as a separate token */
9312
77.5k
    if (strcmp(toktype, "'\"'") == 0) {
9313
702
      if (yyres) {
9314
351
        yystpcpy(yyres, "double-quote mark");
9315
351
      }
9316
702
      return sizeof("double-quote mark")-1;
9317
702
    }
9318
9319
    /* Strip off the outer quote marks */
9320
76.8k
    if (toktype_len >= 2 && *toktype == '"') {
9321
38.5k
      toktype++;
9322
38.5k
      toktype_len -= 2;
9323
38.5k
    }
9324
9325
    /* If the token always has one form, the %token line should have a single-quoted name */
9326
    /* The parser rules also include single-character un-named tokens which will be single-quoted here */
9327
    /* We re-format this with double quotes here to ensure everything's consistent */
9328
76.8k
    if (toktype_len > 0 && *toktype == '\'') {
9329
34.2k
      if (yyres) {
9330
17.1k
        snprintf(buffer, sizeof(buffer), "token \"%.*s\"", (int)toktype_len-2, toktype+1);
9331
17.1k
        yystpcpy(yyres, buffer);
9332
17.1k
      }
9333
34.2k
      return toktype_len + sizeof("token ")-1;
9334
34.2k
    }
9335
9336
    /* Fetch the content of the last seen token from global lexer state */
9337
42.6k
    tokcontent = LANG_SCNG(yy_text);
9338
42.6k
    tokcontent_len = LANG_SCNG(yy_leng);
9339
9340
    /* For T_BAD_CHARACTER, the content probably won't be a printable char */
9341
    /* Also, "unexpected invalid character" sounds a bit redundant */
9342
42.6k
    if (tokcontent_len == 1 && strcmp(yystr, "\"invalid character\"") == 0) {
9343
8.01k
      if (yyres) {
9344
4.00k
        snprintf(buffer, sizeof(buffer), "character 0x%02hhX", *tokcontent);
9345
4.00k
        yystpcpy(yyres, buffer);
9346
4.00k
      }
9347
8.01k
      return sizeof("character 0x00")-1;
9348
8.01k
    }
9349
9350
    /* Truncate at line end to avoid messing up log formats */
9351
34.5k
    tokcontent_end = memchr(tokcontent, '\n', tokcontent_len);
9352
34.5k
    if (tokcontent_end != NULL) {
9353
2.15k
      tokcontent_len = (tokcontent_end - tokcontent);
9354
2.15k
    }
9355
9356
    /* Try to be helpful about what kind of string was found, before stripping the quotes */
9357
34.5k
    if (tokcontent_len > 0 && strcmp(yystr, "\"quoted string\"") == 0) {
9358
720
      if (*tokcontent == '"') {
9359
288
        toktype = "double-quoted string";
9360
288
        toktype_len = sizeof("double-quoted string")-1;
9361
288
      }
9362
432
      else if (*tokcontent == '\'') {
9363
410
        toktype = "single-quoted string";
9364
410
        toktype_len = sizeof("single-quoted string")-1;
9365
410
      }
9366
720
    }
9367
9368
    /* For quoted strings, strip off another layer of quotes to avoid putting quotes inside quotes */
9369
34.5k
    if (tokcontent_len > 0 && (*tokcontent == '\'' || *tokcontent=='"'))  {
9370
1.46k
      tokcontent++;
9371
1.46k
      tokcontent_len--;
9372
1.46k
    }
9373
34.5k
    if (tokcontent_len > 0 && (tokcontent[tokcontent_len-1] == '\'' || tokcontent[tokcontent_len-1] == '"'))  {
9374
710
      tokcontent_len--;
9375
710
    }
9376
9377
    /* Truncate to 30 characters and add a ... */
9378
34.5k
    if (tokcontent_len > 30 + sizeof("...")-1) {
9379
92
      if (yyres) {
9380
46
        snprintf(buffer, sizeof(buffer), "%.*s \"%.*s...\"", (int)toktype_len, toktype, 30, tokcontent);
9381
46
        yystpcpy(yyres, buffer);
9382
46
      }
9383
92
      return toktype_len + 30 + sizeof(" \"...\"")-1;
9384
92
    }
9385
9386
34.4k
    if (yyres) {
9387
17.2k
      snprintf(buffer, sizeof(buffer), "%.*s \"%.*s\"", (int)toktype_len, toktype, (int)tokcontent_len, tokcontent);
9388
17.2k
      yystpcpy(yyres, buffer);
9389
17.2k
    }
9390
34.4k
    return toktype_len + tokcontent_len + sizeof(" \"\"")-1;
9391
34.5k
  }
9392
9393
  /* One of the expected tokens */
9394
9395
  /* Prevent the backslash getting doubled in the output (eugh) */
9396
46.2k
  if (strcmp(toktype, "\"'\\\\'\"") == 0) {
9397
0
    if (yyres) {
9398
0
      yystpcpy(yyres, "\"\\\"");
9399
0
    }
9400
0
    return sizeof("\"\\\"")-1;
9401
0
  }
9402
9403
  /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
9404
46.2k
  if (strcmp(toktype, "\"amp\"") == 0) {
9405
20
    if (yyres) {
9406
10
      yystpcpy(yyres, "token \"&\"");
9407
10
    }
9408
20
    return sizeof("token \"&\"")-1;
9409
20
  }
9410
9411
  /* Strip off the outer quote marks */
9412
46.2k
  if (toktype_len >= 2 && *toktype == '"') {
9413
27.3k
    toktype++;
9414
27.3k
    toktype_len -= 2;
9415
27.3k
  }
9416
9417
46.2k
  if (yyres) {
9418
23.1k
    YYSIZE_T yyn = 0;
9419
9420
154k
    for (; yyn < toktype_len; ++yyn) {
9421
      /* Replace single quotes with double for consistency */
9422
131k
      if (toktype[yyn] == '\'') {
9423
29.2k
        yyres[yyn] = '"';
9424
29.2k
      }
9425
102k
      else {
9426
102k
        yyres[yyn] = toktype[yyn];
9427
102k
      }
9428
131k
    }
9429
23.1k
    yyres[toktype_len] = '\0';
9430
23.1k
  }
9431
9432
46.2k
  return toktype_len;
9433
46.2k
}