Update parser generation to match fb version
[hiphop-php.git] / hphp / parser / hphp.tab.cpp
blobe0f576b3165661454b1b728173f254564b2a08e5
1 // @generated
3 /* A Bison parser, made by GNU Bison 2.4.1. */
5 /* Skeleton implementation for Bison's Yacc-like parsers in C
7 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
8 Free Software Foundation, Inc.
10 This program is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
47 #define YYBISON 1
49 /* Bison version. */
50 #define YYBISON_VERSION "2.4.1"
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
55 /* Pure parsers. */
56 #define YYPURE 1
58 /* Push parsers. */
59 #define YYPUSH 0
61 /* Pull parsers. */
62 #define YYPULL 1
64 /* Using locations. */
65 #define YYLSP_NEEDED 1
67 /* Substitute the variable and function names. */
68 #define yyparse Compilerparse
69 #define yylex Compilerlex
70 #define yyerror Compilererror
71 #define yylval Compilerlval
72 #define yychar Compilerchar
73 #define yydebug Compilerdebug
74 #define yynerrs Compilernerrs
75 #define yylloc Compilerlloc
77 /* Copy the first part of user declarations. */
79 /* Line 189 of yacc.c */
80 #line 1 "hphp.y"
82 #ifdef XHPAST2_PARSER
83 #include "hphp/parser/xhpast2/parser.h"
84 #else
85 #include "hphp/compiler/parser/parser.h"
86 #endif
87 #include <boost/lexical_cast.hpp>
88 #include "hphp/util/text-util.h"
89 #include "hphp/util/logger.h"
91 // macros for bison
92 #define YYSTYPE HPHP::HPHP_PARSER_NS::Token
93 #define YYSTYPE_IS_TRIVIAL 1
94 #define YYLTYPE HPHP::Location
95 #define YYLTYPE_IS_TRIVIAL 1
96 #define YYERROR_VERBOSE
97 #define YYINITDEPTH 500
98 #define YYLEX_PARAM _p
100 #ifdef yyerror
101 #undef yyerror
102 #endif
103 #define yyerror(loc,p,msg) p->parseFatal(loc,msg)
105 #ifdef YYLLOC_DEFAULT
106 # undef YYLLOC_DEFAULT
107 #endif
108 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
109 #define YYLLOC_DEFAULT(Current, Rhs, N) \
110 do \
111 if (YYID (N)) { \
112 (Current).first(YYRHSLOC (Rhs, 1)); \
113 (Current).last (YYRHSLOC (Rhs, N)); \
114 } else { \
115 (Current).line0 = (Current).line1 = YYRHSLOC (Rhs, 0).line1; \
116 (Current).char0 = (Current).char1 = YYRHSLOC (Rhs, 0).char1; \
118 while (YYID (0)); \
119 _p->setRuleLocation(&Current);
121 #define YYCOPY(To, From, Count) \
122 do { \
123 YYSIZE_T yyi; \
124 for (yyi = 0; yyi < (Count); yyi++) { \
125 (To)[yyi] = (From)[yyi]; \
127 if (From != From ## a) { \
128 YYSTACK_FREE (From); \
131 while (YYID (0))
133 #define YYCOPY_RESET(To, From, Count) \
134 do \
136 YYSIZE_T yyi; \
137 for (yyi = 0; yyi < (Count); yyi++) { \
138 (To)[yyi] = (From)[yyi]; \
139 (From)[yyi].reset(); \
141 if (From != From ## a) { \
142 YYSTACK_FREE (From); \
145 while (YYID (0))
147 #define YYTOKEN_RESET(From, Count) \
148 do \
150 YYSIZE_T yyi; \
151 for (yyi = 0; yyi < (Count); yyi++) { \
152 (From)[yyi].reset(); \
154 if (From != From ## a) { \
155 YYSTACK_FREE (From); \
158 while (YYID (0))
160 # define YYSTACK_RELOCATE_RESET(Stack_alloc, Stack) \
161 do \
163 YYSIZE_T yynewbytes; \
164 YYCOPY_RESET (&yyptr->Stack_alloc, Stack, yysize); \
165 Stack = &yyptr->Stack_alloc; \
166 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
167 yyptr += yynewbytes / sizeof (*yyptr); \
169 while (YYID (0))
171 #define YYSTACK_CLEANUP \
172 YYTOKEN_RESET (yyvs, yystacksize); \
173 if (yyvs != yyvsa) { \
174 YYSTACK_FREE (yyvs); \
176 if (yyls != yylsa) { \
177 YYSTACK_FREE (yyls); \
181 // macros for rules
182 #define BEXP(e...) _p->onBinaryOpExp(e);
183 #define UEXP(e...) _p->onUnaryOpExp(e);
185 using namespace HPHP::HPHP_PARSER_NS;
187 typedef HPHP::ClosureType ClosureType;
189 ///////////////////////////////////////////////////////////////////////////////
190 // helpers
192 static void scalar_num(Parser *_p, Token &out, const char *num) {
193 Token t;
194 t.setText(num);
195 _p->onScalar(out, T_LNUMBER, t);
198 static void scalar_num(Parser *_p, Token &out, int num) {
199 Token t;
200 t.setText(boost::lexical_cast<std::string>(num));
201 _p->onScalar(out, T_LNUMBER, t);
204 static void scalar_null(Parser *_p, Token &out) {
205 Token tnull; tnull.setText("null");
206 _p->onConstantValue(out, tnull);
209 static void scalar_file(Parser *_p, Token &out) {
210 Token file; file.setText("__FILE__");
211 _p->onScalar(out, T_FILE, file);
214 static void scalar_line(Parser *_p, Token &out) {
215 Token line; line.setText("__LINE__");
216 _p->onScalar(out, T_LINE, line);
219 ///////////////////////////////////////////////////////////////////////////////
220 // converting constant declaration to "define(name, value);"
221 // TODO: get rid of this, or pass in more info, task 3491019.
223 static void on_constant(Parser *_p, Token &out, Token &name, Token &value) {
224 Token sname; _p->onScalar(sname, T_CONSTANT_ENCAPSED_STRING, name);
226 Token fname; fname.setText("define");
227 Token params1; _p->onCallParam(params1, NULL, sname, 0);
228 Token params2; _p->onCallParam(params2, &params1, value, 0);
229 Token call; _p->onCall(call, 0, fname, params2, 0);
231 _p->onExpStatement(out, call);
234 ///////////////////////////////////////////////////////////////////////////////
236 static void constant_ae(Parser *_p, Token &out, Token &value) {
237 const std::string& valueStr = value.text();
238 if (valueStr.size() < 3 || valueStr.size() > 5 ||
239 (strcasecmp("true", valueStr.c_str()) != 0 &&
240 strcasecmp("false", valueStr.c_str()) != 0 &&
241 strcasecmp("null", valueStr.c_str()) != 0 &&
242 strcasecmp("inf", valueStr.c_str()) != 0 &&
243 strcasecmp("nan", valueStr.c_str()) != 0)) {
244 HPHP_PARSER_ERROR("User-defined constants are not allowed in user "
245 "attribute expressions", _p);
247 _p->onConstantValue(out, value);
250 ///////////////////////////////////////////////////////////////////////////////
253 * XHP functions: They are defined here, so different parsers don't have to
254 * handle XHP rules at all.
257 static void xhp_tag(Parser *_p, Token &out, Token &label, Token &body) {
258 if (!body.text().empty() && body.text() != label.text()) {
259 HPHP_PARSER_ERROR("XHP: mismatched tag: '%s' not the same as '%s'",
260 _p, body.text().c_str(), label.text().c_str());
263 label.xhpLabel();
264 Token name; _p->onName(name, label, Parser::StringName);
265 _p->onNewObject(out, name, body);
268 static void xhp_attribute(Parser *_p, Token &out, Token &type, Token &label,
269 Token &def, Token &req) {
271 * The bool, int, float, and string typenames are not given any special
272 * treatment by the parser and are treated the same as regular class names
273 * (which initially gets marked as type code 5). However, XHP wants to use
274 * different type codes for bool, int, float, and string, so we need to fix
275 * up the type code here to make XHP happy.
277 if (type.num() == 5) {
278 auto* str = type.text().c_str();
279 if (_p->scanner().isHHSyntaxEnabled()) {
280 switch (type.text().size()) {
281 case 6:
282 if (!strcasecmp(str, "HH\\int")) {
283 type.reset(); type.setNum(3);
285 break;
286 case 7:
287 if (!strcasecmp(str, "HH\\bool")) {
288 type.reset(); type.setNum(2);
290 break;
291 case 8:
292 if (!strcasecmp(str, "HH\\float")) {
293 type.reset(); type.setNum(8);
294 } else if (!strcasecmp(str, "HH\\mixed")) {
295 type.reset(); type.setNum(6);
297 break;
298 case 9:
299 if (!strcasecmp(str, "HH\\string")) {
300 type.reset(); type.setNum(1);
302 break;
303 default:
304 break;
306 } else {
307 switch (type.text().size()) {
308 case 3:
309 if (!strcasecmp(str, "int")) {
310 type.reset(); type.setNum(3);
312 break;
313 case 4:
314 if (!strcasecmp(str, "bool")) {
315 type.reset(); type.setNum(2);
316 } else if (!strcasecmp(str, "real")) {
317 type.reset(); type.setNum(8);
319 break;
320 case 5:
321 if (!strcasecmp(str, "float")) {
322 type.reset(); type.setNum(8);
323 } else if (!strcasecmp(str, "mixed")) {
324 type.reset(); type.setNum(6);
326 break;
327 case 6:
328 if (!strcasecmp(str, "string")) {
329 type.reset(); type.setNum(1);
330 } else if (!strcasecmp(str, "double")) {
331 type.reset(); type.setNum(8);
333 break;
334 case 7:
335 if (!strcasecmp(str, "integer")) {
336 type.reset(); type.setNum(3);
337 } else if (!strcasecmp(str, "boolean")) {
338 type.reset(); type.setNum(2);
340 break;
341 default:
342 break;
347 Token num; scalar_num(_p, num, type.num());
348 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
350 Token arr2;
351 switch (type.num()) {
352 case 5: /* class */ {
353 Token cls; _p->onScalar(cls, T_CONSTANT_ENCAPSED_STRING, type);
354 _p->onArrayPair(arr2, &arr1, 0, cls, 0);
355 break;
357 case 7: /* enum */ {
358 Token arr; _p->onArray(arr, type);
359 _p->onArrayPair(arr2, &arr1, 0, arr, 0);
360 break;
362 default: {
363 Token tnull; scalar_null(_p, tnull);
364 _p->onArrayPair(arr2, &arr1, 0, tnull, 0);
365 break;
369 Token arr3; _p->onArrayPair(arr3, &arr2, 0, def, 0);
370 Token arr4; _p->onArrayPair(arr4, &arr3, 0, req, 0);
371 _p->onArray(out, arr4);
372 out.setText(label);
375 static void xhp_attribute_list(Parser *_p, Token &out, Token *list,
376 Token &decl) {
377 if (decl.num() == 0) {
378 decl.xhpLabel();
379 if (list) {
380 out = *list;
381 out.setText(list->text() + ":" + decl.text()); // avoiding vector<string>
382 } else {
383 out.setText(decl);
385 } else {
386 Token name; _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, decl);
387 _p->onArrayPair(out, list, &name, decl, 0);
388 if (list) {
389 out.setText(list->text());
390 } else {
391 out.setText("");
396 static void xhp_attribute_stmt(Parser *_p, Token &out, Token &attributes) {
397 Token modifiers;
398 Token fname; fname.setText("__xhpAttributeDeclaration");
400 Token m;
401 Token m1; m1.setNum(T_PROTECTED); _p->onMemberModifier(m, NULL, m1);
402 Token m2; m2.setNum(T_STATIC); _p->onMemberModifier(modifiers, &m, m2);
404 _p->pushFuncLocation();
405 _p->onMethodStart(fname, modifiers);
407 std::vector<std::string> classes;
408 HPHP::split(':', attributes.text().c_str(), classes, true);
409 Token arrAttributes; _p->onArray(arrAttributes, attributes);
411 Token dummy;
413 Token stmts0;
415 _p->onStatementListStart(stmts0);
417 Token stmts1;
419 // static $_ = -1;
420 Token one; scalar_num(_p, one, "1");
421 Token mone; UEXP(mone, one, '-', 1);
422 Token var; var.set(T_VARIABLE, "_");
423 Token decl; _p->onStaticVariable(decl, 0, var, &mone);
424 Token sdecl; _p->onStatic(sdecl, decl);
425 _p->addStatement(stmts1, stmts0, sdecl);
427 Token stmts2;
429 // if ($_ === -1) {
430 // $_ = array_merge(parent::__xhpAttributeDeclaration(),
431 // attributes);
432 // }
433 Token parent; parent.set(T_STRING, "parent");
434 Token cls; _p->onName(cls, parent, Parser::StringName);
435 Token fname; fname.setText("__xhpAttributeDeclaration");
436 Token param1; _p->onCall(param1, 0, fname, dummy, &cls);
437 Token params1; _p->onCallParam(params1, NULL, param1, 0);
439 for (unsigned int i = 0; i < classes.size(); i++) {
440 Token parent; parent.set(T_STRING, classes[i]);
441 Token cls; _p->onName(cls, parent, Parser::StringName);
442 Token fname; fname.setText("__xhpAttributeDeclaration");
443 Token param; _p->onCall(param, 0, fname, dummy, &cls);
445 Token params; _p->onCallParam(params, &params1, param, 0);
446 params1 = params;
449 Token params2; _p->onCallParam(params2, &params1, arrAttributes, 0);
451 Token name; name.set(T_STRING, "array_merge");
452 Token call; _p->onCall(call, 0, name, params2, NULL);
453 Token tvar; tvar.set(T_VARIABLE, "_");
454 Token var; _p->onSimpleVariable(var, tvar);
455 Token assign; _p->onAssign(assign, var, call, 0);
456 Token exp; _p->onExpStatement(exp, assign);
457 Token block; _p->onBlock(block, exp);
459 Token tvar2; tvar2.set(T_VARIABLE, "_");
460 Token var2; _p->onSimpleVariable(var2, tvar2);
461 Token one; scalar_num(_p, one, "1");
462 Token mone; UEXP(mone, one, '-', 1);
463 Token cond; BEXP(cond, var2, mone, T_IS_IDENTICAL);
464 Token dummy1, dummy2;
465 Token sif; _p->onIf(sif, cond, block, dummy1, dummy2);
466 _p->addStatement(stmts2, stmts1, sif);
468 Token stmts3;
470 // return $_;
471 Token tvar; tvar.set(T_VARIABLE, "_");
472 Token var; _p->onSimpleVariable(var, tvar);
473 Token ret; _p->onReturn(ret, &var);
474 _p->addStatement(stmts3, stmts2, ret);
476 Token stmt;
478 _p->finishStatement(stmt, stmts3);
479 stmt = 1;
482 Token params, ret, ref; ref = 1;
483 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
487 static void xhp_collect_attributes(Parser *_p, Token &out, Token &stmts) {
488 Token *attr = _p->xhpGetAttributes();
489 if (attr) {
490 Token stmt;
491 xhp_attribute_stmt(_p, stmt, *attr);
492 _p->onClassStatement(out, stmts, stmt);
493 } else {
494 out = stmts;
498 static void xhp_category_stmt(Parser *_p, Token &out, Token &categories) {
499 Token fname; fname.setText("__xhpCategoryDeclaration");
500 Token m1; m1.setNum(T_PROTECTED);
501 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
502 _p->pushFuncLocation();
503 _p->onMethodStart(fname, modifiers);
505 Token stmts0;
507 _p->onStatementListStart(stmts0);
509 Token stmts1;
511 // static $_ = categories;
512 Token arr; _p->onArray(arr, categories);
513 Token var; var.set(T_VARIABLE, "_");
514 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
515 Token sdecl; _p->onStatic(sdecl, decl);
516 _p->addStatement(stmts1, stmts0, sdecl);
518 Token stmts2;
520 // return $_;
521 Token tvar; tvar.set(T_VARIABLE, "_");
522 Token var; _p->onSimpleVariable(var, tvar);
523 Token ret; _p->onReturn(ret, &var);
524 _p->addStatement(stmts2, stmts1, ret);
526 Token stmt;
528 _p->finishStatement(stmt, stmts2);
529 stmt = 1;
532 Token params, ret, ref; ref = 1;
533 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
537 static void xhp_children_decl_tag(Parser *_p, Token &arr, Token &tag) {
538 Token num; scalar_num(_p, num, tag.num());
539 Token arr1; _p->onArrayPair(arr1, &arr, 0, num, 0);
541 Token name;
542 if (tag.num() == 3 || tag.num() == 4) {
543 _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, tag);
544 } else if (tag.num() >= 0) {
545 scalar_null(_p, name);
546 } else {
547 HPHP_PARSER_ERROR("XHP: unknown children declaration", _p);
549 Token arr2; _p->onArrayPair(arr2, &arr1, 0, name, 0);
550 arr = arr2;
553 static void xhp_children_decl(Parser *_p, Token &out, Token &op1, int op,
554 Token *op2) {
555 Token num; scalar_num(_p, num, op);
556 Token arr; _p->onArrayPair(arr, 0, 0, num, 0);
558 if (op2) {
559 Token arr1; _p->onArrayPair(arr1, &arr, 0, op1, 0);
560 Token arr2; _p->onArrayPair(arr2, &arr1, 0, *op2, 0);
561 _p->onArray(out, arr2);
562 } else {
563 xhp_children_decl_tag(_p, arr, op1);
564 _p->onArray(out, arr);
568 static void xhp_children_paren(Parser *_p, Token &out, Token exp, int op) {
569 Token num; scalar_num(_p, num, op);
570 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
572 Token num5; scalar_num(_p, num5, 5);
573 Token arr2; _p->onArrayPair(arr2, &arr1, 0, num5, 0);
575 Token arr3; _p->onArrayPair(arr3, &arr2, 0, exp, 0);
576 _p->onArray(out, arr3);
579 static void xhp_children_stmt(Parser *_p, Token &out, Token &children) {
580 Token fname; fname.setText("__xhpChildrenDeclaration");
581 Token m1; m1.setNum(T_PROTECTED);
582 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
583 _p->pushFuncLocation();
584 _p->onMethodStart(fname, modifiers);
586 Token stmts0;
588 _p->onStatementListStart(stmts0);
590 Token stmts1;
592 // static $_ = children;
593 Token arr;
594 if (children.num() == 2) {
595 arr = children;
596 } else if (children.num() >= 0) {
597 scalar_num(_p, arr, children.num());
598 } else {
599 HPHP_PARSER_ERROR("XHP: XHP unknown children declaration", _p);
601 Token var; var.set(T_VARIABLE, "_");
602 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
603 Token sdecl; _p->onStatic(sdecl, decl);
604 _p->addStatement(stmts1, stmts0, sdecl);
606 Token stmts2;
608 // return $_;
609 Token tvar; tvar.set(T_VARIABLE, "_");
610 Token var; _p->onSimpleVariable(var, tvar);
611 Token ret; _p->onReturn(ret, &var);
612 _p->addStatement(stmts2, stmts1, ret);
614 Token stmt;
616 _p->finishStatement(stmt, stmts2);
617 stmt = 1;
620 Token params, ret, ref; ref = 1;
621 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
625 static void only_in_hh_syntax(Parser *_p) {
626 if (!_p->scanner().isHHSyntaxEnabled()) {
627 HPHP_PARSER_ERROR(
628 "Syntax only allowed with -v Eval.EnableHipHopSyntax=true", _p);
632 static void validate_hh_variadic_variant(Parser* _p,
633 Token& userAttrs, Token& typehint,
634 Token* mod) {
635 if (!userAttrs.text().empty() || !typehint.text().empty() ||
636 (mod && !mod->text().empty())) {
637 HPHP_PARSER_ERROR("Variadic '...' should be followed by a '$variable'", _p);
639 only_in_hh_syntax(_p);
642 // Shapes may not have leading integers in key names, considered as a
643 // parse time error. This is because at runtime they are currently
644 // hphp arrays, which will treat leading integer keys as numbers.
645 static void validate_shape_keyname(Token& tok, Parser* _p) {
646 if (tok.text().empty()) {
647 HPHP_PARSER_ERROR("Shape key names may not be empty", _p);
649 if (isdigit(tok.text()[0])) {
650 HPHP_PARSER_ERROR("Shape key names may not start with integers", _p);
654 ///////////////////////////////////////////////////////////////////////////////
656 static int yylex(YYSTYPE *token, HPHP::Location *loc, Parser *_p) {
657 return _p->scan(token, loc);
661 /* Line 189 of yacc.c */
662 #line 662 "hphp.tab.cpp"
664 /* Enabling traces. */
665 #ifndef YYDEBUG
666 # define YYDEBUG 0
667 #endif
669 /* Enabling verbose error messages. */
670 #ifdef YYERROR_VERBOSE
671 # undef YYERROR_VERBOSE
672 # define YYERROR_VERBOSE 1
673 #else
674 # define YYERROR_VERBOSE 0
675 #endif
677 /* Enabling the token table. */
678 #ifndef YYTOKEN_TABLE
679 # define YYTOKEN_TABLE 0
680 #endif
683 /* Tokens. */
684 #ifndef YYTOKENTYPE
685 # define YYTOKENTYPE
686 /* Put the tokens into the symbol table, so that GDB and other debuggers
687 know about them. */
688 enum yytokentype {
689 T_REQUIRE_ONCE = 258,
690 T_REQUIRE = 259,
691 T_EVAL = 260,
692 T_INCLUDE_ONCE = 261,
693 T_INCLUDE = 262,
694 T_LAMBDA_ARROW = 263,
695 T_LOGICAL_OR = 264,
696 T_LOGICAL_XOR = 265,
697 T_LOGICAL_AND = 266,
698 T_PRINT = 267,
699 T_SR_EQUAL = 268,
700 T_SL_EQUAL = 269,
701 T_XOR_EQUAL = 270,
702 T_OR_EQUAL = 271,
703 T_AND_EQUAL = 272,
704 T_MOD_EQUAL = 273,
705 T_CONCAT_EQUAL = 274,
706 T_DIV_EQUAL = 275,
707 T_MUL_EQUAL = 276,
708 T_MINUS_EQUAL = 277,
709 T_PLUS_EQUAL = 278,
710 T_BOOLEAN_OR = 279,
711 T_BOOLEAN_AND = 280,
712 T_IS_NOT_IDENTICAL = 281,
713 T_IS_IDENTICAL = 282,
714 T_IS_NOT_EQUAL = 283,
715 T_IS_EQUAL = 284,
716 T_IS_GREATER_OR_EQUAL = 285,
717 T_IS_SMALLER_OR_EQUAL = 286,
718 T_SR = 287,
719 T_SL = 288,
720 T_INSTANCEOF = 289,
721 T_UNSET_CAST = 290,
722 T_BOOL_CAST = 291,
723 T_OBJECT_CAST = 292,
724 T_ARRAY_CAST = 293,
725 T_STRING_CAST = 294,
726 T_DOUBLE_CAST = 295,
727 T_INT_CAST = 296,
728 T_DEC = 297,
729 T_INC = 298,
730 T_CLONE = 299,
731 T_NEW = 300,
732 T_EXIT = 301,
733 T_IF = 302,
734 T_ELSEIF = 303,
735 T_ELSE = 304,
736 T_ENDIF = 305,
737 T_LNUMBER = 306,
738 T_DNUMBER = 307,
739 T_ONUMBER = 308,
740 T_STRING = 309,
741 T_STRING_VARNAME = 310,
742 T_VARIABLE = 311,
743 T_NUM_STRING = 312,
744 T_INLINE_HTML = 313,
745 T_CHARACTER = 314,
746 T_BAD_CHARACTER = 315,
747 T_ENCAPSED_AND_WHITESPACE = 316,
748 T_CONSTANT_ENCAPSED_STRING = 317,
749 T_ECHO = 318,
750 T_DO = 319,
751 T_WHILE = 320,
752 T_ENDWHILE = 321,
753 T_FOR = 322,
754 T_ENDFOR = 323,
755 T_FOREACH = 324,
756 T_ENDFOREACH = 325,
757 T_DECLARE = 326,
758 T_ENDDECLARE = 327,
759 T_AS = 328,
760 T_SWITCH = 329,
761 T_ENDSWITCH = 330,
762 T_CASE = 331,
763 T_DEFAULT = 332,
764 T_BREAK = 333,
765 T_GOTO = 334,
766 T_CONTINUE = 335,
767 T_FUNCTION = 336,
768 T_CONST = 337,
769 T_RETURN = 338,
770 T_TRY = 339,
771 T_CATCH = 340,
772 T_THROW = 341,
773 T_USE = 342,
774 T_GLOBAL = 343,
775 T_PUBLIC = 344,
776 T_PROTECTED = 345,
777 T_PRIVATE = 346,
778 T_FINAL = 347,
779 T_ABSTRACT = 348,
780 T_STATIC = 349,
781 T_VAR = 350,
782 T_UNSET = 351,
783 T_ISSET = 352,
784 T_EMPTY = 353,
785 T_HALT_COMPILER = 354,
786 T_CLASS = 355,
787 T_INTERFACE = 356,
788 T_EXTENDS = 357,
789 T_IMPLEMENTS = 358,
790 T_OBJECT_OPERATOR = 359,
791 T_DOUBLE_ARROW = 360,
792 T_LIST = 361,
793 T_ARRAY = 362,
794 T_CALLABLE = 363,
795 T_CLASS_C = 364,
796 T_METHOD_C = 365,
797 T_FUNC_C = 366,
798 T_LINE = 367,
799 T_FILE = 368,
800 T_COMMENT = 369,
801 T_DOC_COMMENT = 370,
802 T_OPEN_TAG = 371,
803 T_OPEN_TAG_WITH_ECHO = 372,
804 T_CLOSE_TAG = 373,
805 T_WHITESPACE = 374,
806 T_START_HEREDOC = 375,
807 T_END_HEREDOC = 376,
808 T_DOLLAR_OPEN_CURLY_BRACES = 377,
809 T_CURLY_OPEN = 378,
810 T_DOUBLE_COLON = 379,
811 T_NAMESPACE = 380,
812 T_NS_C = 381,
813 T_DIR = 382,
814 T_NS_SEPARATOR = 383,
815 T_YIELD = 384,
816 T_XHP_LABEL = 385,
817 T_XHP_TEXT = 386,
818 T_XHP_ATTRIBUTE = 387,
819 T_XHP_CATEGORY = 388,
820 T_XHP_CATEGORY_LABEL = 389,
821 T_XHP_CHILDREN = 390,
822 T_XHP_ENUM = 391,
823 T_XHP_REQUIRED = 392,
824 T_TRAIT = 393,
825 T_ELLIPSIS = 394,
826 T_INSTEADOF = 395,
827 T_TRAIT_C = 396,
828 T_HH_ERROR = 397,
829 T_FINALLY = 398,
830 T_XHP_TAG_LT = 399,
831 T_XHP_TAG_GT = 400,
832 T_TYPELIST_LT = 401,
833 T_TYPELIST_GT = 402,
834 T_UNRESOLVED_LT = 403,
835 T_COLLECTION = 404,
836 T_SHAPE = 405,
837 T_TYPE = 406,
838 T_UNRESOLVED_TYPE = 407,
839 T_NEWTYPE = 408,
840 T_UNRESOLVED_NEWTYPE = 409,
841 T_COMPILER_HALT_OFFSET = 410,
842 T_AWAIT = 411,
843 T_ASYNC = 412,
844 T_TUPLE = 413,
845 T_FROM = 414,
846 T_WHERE = 415,
847 T_JOIN = 416,
848 T_IN = 417,
849 T_ON = 418,
850 T_EQUALS = 419,
851 T_INTO = 420,
852 T_LET = 421,
853 T_ORDERBY = 422,
854 T_ASCENDING = 423,
855 T_DESCENDING = 424,
856 T_SELECT = 425,
857 T_GROUP = 426,
858 T_BY = 427,
859 T_LAMBDA_OP = 428,
860 T_LAMBDA_CP = 429,
861 T_UNRESOLVED_OP = 430
863 #endif
867 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
868 typedef int YYSTYPE;
869 # define YYSTYPE_IS_TRIVIAL 1
870 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
871 # define YYSTYPE_IS_DECLARED 1
872 #endif
874 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
875 typedef struct YYLTYPE
877 int line0;
878 int char0;
879 int line1;
880 int char1;
881 } YYLTYPE;
882 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
883 # define YYLTYPE_IS_DECLARED 1
884 # define YYLTYPE_IS_TRIVIAL 1
885 #endif
888 /* Copy the second part of user declarations. */
891 /* Line 264 of yacc.c */
892 #line 892 "hphp.tab.cpp"
894 #ifdef short
895 # undef short
896 #endif
898 #ifdef YYTYPE_UINT8
899 typedef YYTYPE_UINT8 yytype_uint8;
900 #else
901 typedef unsigned char yytype_uint8;
902 #endif
904 #ifdef YYTYPE_INT8
905 typedef YYTYPE_INT8 yytype_int8;
906 #elif (defined __STDC__ || defined __C99__FUNC__ \
907 || defined __cplusplus || defined _MSC_VER)
908 typedef signed char yytype_int8;
909 #else
910 typedef short int yytype_int8;
911 #endif
913 #ifdef YYTYPE_UINT16
914 typedef YYTYPE_UINT16 yytype_uint16;
915 #else
916 typedef unsigned short int yytype_uint16;
917 #endif
919 #ifdef YYTYPE_INT16
920 typedef YYTYPE_INT16 yytype_int16;
921 #else
922 typedef short int yytype_int16;
923 #endif
925 #ifndef YYSIZE_T
926 # ifdef __SIZE_TYPE__
927 # define YYSIZE_T __SIZE_TYPE__
928 # elif defined size_t
929 # define YYSIZE_T size_t
930 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
931 || defined __cplusplus || defined _MSC_VER)
932 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
933 # define YYSIZE_T size_t
934 # else
935 # define YYSIZE_T unsigned int
936 # endif
937 #endif
939 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
941 #ifndef YY_
942 # if YYENABLE_NLS
943 # if ENABLE_NLS
944 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
945 # define YY_(msgid) dgettext ("bison-runtime", msgid)
946 # endif
947 # endif
948 # ifndef YY_
949 # define YY_(msgid) msgid
950 # endif
951 #endif
953 /* Suppress unused-variable warnings by "using" E. */
954 #if ! defined lint || defined __GNUC__
955 # define YYUSE(e) ((void) (e))
956 #else
957 # define YYUSE(e) /* empty */
958 #endif
960 /* Identity function, used to suppress warnings about constant conditions. */
961 #ifndef lint
962 # define YYID(n) (n)
963 #else
964 #if (defined __STDC__ || defined __C99__FUNC__ \
965 || defined __cplusplus || defined _MSC_VER)
966 static int
967 YYID (int yyi)
968 #else
969 static int
970 YYID (yyi)
971 int yyi;
972 #endif
974 return yyi;
976 #endif
978 #if ! defined yyoverflow || YYERROR_VERBOSE
980 /* The parser invokes alloca or malloc; define the necessary symbols. */
982 # ifdef YYSTACK_USE_ALLOCA
983 # if YYSTACK_USE_ALLOCA
984 # ifdef __GNUC__
985 # define YYSTACK_ALLOC __builtin_alloca
986 # elif defined __BUILTIN_VA_ARG_INCR
987 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
988 # elif defined _AIX
989 # define YYSTACK_ALLOC __alloca
990 # elif defined _MSC_VER
991 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
992 # define alloca _alloca
993 # else
994 # define YYSTACK_ALLOC alloca
995 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
996 || defined __cplusplus || defined _MSC_VER)
997 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
998 # ifndef _STDLIB_H
999 # define _STDLIB_H 1
1000 # endif
1001 # endif
1002 # endif
1003 # endif
1004 # endif
1006 # ifdef YYSTACK_ALLOC
1007 /* Pacify GCC's `empty if-body' warning. */
1008 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1009 # ifndef YYSTACK_ALLOC_MAXIMUM
1010 /* The OS might guarantee only one guard page at the bottom of the stack,
1011 and a page size can be as small as 4096 bytes. So we cannot safely
1012 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1013 to allow for a few compiler-allocated temporary stack slots. */
1014 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1015 # endif
1016 # else
1017 # define YYSTACK_ALLOC YYMALLOC
1018 # define YYSTACK_FREE YYFREE
1019 # ifndef YYSTACK_ALLOC_MAXIMUM
1020 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1021 # endif
1022 # if (defined __cplusplus && ! defined _STDLIB_H \
1023 && ! ((defined YYMALLOC || defined malloc) \
1024 && (defined YYFREE || defined free)))
1025 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1026 # ifndef _STDLIB_H
1027 # define _STDLIB_H 1
1028 # endif
1029 # endif
1030 # ifndef YYMALLOC
1031 # define YYMALLOC malloc
1032 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1033 || defined __cplusplus || defined _MSC_VER)
1034 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1035 # endif
1036 # endif
1037 # ifndef YYFREE
1038 # define YYFREE free
1039 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1040 || defined __cplusplus || defined _MSC_VER)
1041 void free (void *); /* INFRINGES ON USER NAME SPACE */
1042 # endif
1043 # endif
1044 # endif
1045 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1048 #if (! defined yyoverflow \
1049 && (! defined __cplusplus \
1050 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1051 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1053 /* A type that is properly aligned for any stack member. */
1054 struct yyalloc
1056 yytype_int16 yyss_alloc;
1057 YYSTYPE yyvs_alloc;
1058 YYLTYPE yyls_alloc;
1061 /* The size of the maximum gap between one aligned stack and the next. */
1062 # define YYSTACK_GAP_MAXIMUM (sizeof (struct yyalloc) - 1)
1064 /* The size of an array large to enough to hold all stacks, each with
1065 N elements. */
1066 # define YYSTACK_BYTES(N) \
1067 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1068 + 2 * YYSTACK_GAP_MAXIMUM)
1070 /* Copy COUNT objects from FROM to TO. The source and destination do
1071 not overlap. */
1072 # ifndef YYCOPY
1073 # if defined __GNUC__ && 1 < __GNUC__
1074 # define YYCOPY(To, From, Count) \
1075 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1076 # else
1077 # define YYCOPY(To, From, Count) \
1078 do \
1080 YYSIZE_T yyi; \
1081 for (yyi = 0; yyi < (Count); yyi++) \
1082 (To)[yyi] = (From)[yyi]; \
1084 while (YYID (0))
1085 # endif
1086 # endif
1088 /* Relocate STACK from its old location to the new one. The
1089 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1090 elements in the stack, and YYPTR gives the new location of the
1091 stack. Advance YYPTR to a properly aligned location for the next
1092 stack. */
1093 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1094 do \
1096 YYSIZE_T yynewbytes; \
1097 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1098 Stack = &yyptr->Stack_alloc; \
1099 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1100 yyptr += yynewbytes / sizeof (*yyptr); \
1102 while (YYID (0))
1104 #endif
1106 /* YYFINAL -- State number of the termination state. */
1107 #define YYFINAL 3
1108 /* YYLAST -- Last index in YYTABLE. */
1109 #define YYLAST 14617
1111 /* YYNTOKENS -- Number of terminals. */
1112 #define YYNTOKENS 205
1113 /* YYNNTS -- Number of nonterminals. */
1114 #define YYNNTS 246
1115 /* YYNRULES -- Number of rules. */
1116 #define YYNRULES 827
1117 /* YYNRULES -- Number of states. */
1118 #define YYNSTATES 1537
1120 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1121 #define YYUNDEFTOK 2
1122 #define YYMAXUTOK 430
1124 #define YYTRANSLATE(YYX) \
1125 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1127 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1128 static const yytype_uint8 yytranslate[] =
1130 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1133 2, 2, 2, 49, 203, 2, 200, 48, 32, 204,
1134 195, 196, 46, 43, 9, 44, 45, 47, 2, 2,
1135 2, 2, 2, 2, 2, 2, 2, 2, 27, 197,
1136 37, 14, 38, 26, 52, 2, 2, 2, 2, 2,
1137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1139 2, 62, 2, 202, 31, 2, 201, 2, 2, 2,
1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 2, 2, 2, 198, 30, 199, 51, 2, 2, 2,
1143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1156 5, 6, 7, 8, 10, 11, 12, 13, 15, 16,
1157 17, 18, 19, 20, 21, 22, 23, 24, 25, 28,
1158 29, 33, 34, 35, 36, 39, 40, 41, 42, 50,
1159 53, 54, 55, 56, 57, 58, 59, 60, 61, 63,
1160 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1161 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1162 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1163 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1164 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1165 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1166 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1167 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1168 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1169 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1170 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1171 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1172 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1176 #if YYDEBUG
1177 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1178 YYRHS. */
1179 static const yytype_uint16 yyprhs[] =
1181 0, 0, 3, 4, 7, 10, 11, 13, 15, 17,
1182 19, 21, 26, 30, 31, 38, 39, 45, 49, 52,
1183 54, 56, 58, 60, 62, 64, 66, 68, 70, 72,
1184 74, 76, 78, 80, 82, 84, 86, 88, 90, 92,
1185 96, 98, 100, 103, 107, 112, 114, 118, 120, 124,
1186 127, 129, 132, 135, 141, 146, 149, 150, 152, 154,
1187 156, 158, 162, 168, 177, 178, 183, 184, 191, 192,
1188 203, 204, 209, 212, 216, 219, 223, 226, 230, 234,
1189 238, 242, 246, 252, 254, 256, 257, 267, 273, 274,
1190 288, 289, 295, 299, 303, 306, 309, 312, 315, 318,
1191 321, 325, 328, 331, 335, 338, 339, 344, 354, 355,
1192 356, 361, 364, 365, 367, 368, 370, 371, 381, 382,
1193 393, 394, 406, 407, 416, 417, 427, 428, 436, 437,
1194 446, 447, 455, 456, 465, 467, 469, 471, 473, 475,
1195 478, 481, 484, 485, 488, 489, 492, 493, 495, 499,
1196 501, 505, 508, 509, 511, 514, 519, 521, 526, 528,
1197 533, 535, 540, 542, 547, 551, 557, 561, 566, 571,
1198 577, 583, 588, 589, 591, 593, 598, 599, 605, 606,
1199 609, 610, 614, 615, 623, 630, 633, 639, 644, 645,
1200 650, 656, 664, 671, 678, 686, 696, 705, 712, 718,
1201 721, 726, 730, 731, 735, 740, 747, 753, 759, 766,
1202 775, 783, 786, 787, 789, 792, 796, 801, 805, 807,
1203 809, 812, 817, 821, 827, 829, 833, 836, 837, 838,
1204 843, 844, 850, 853, 854, 865, 866, 878, 882, 886,
1205 890, 895, 900, 904, 910, 913, 916, 917, 924, 930,
1206 935, 939, 941, 943, 947, 952, 954, 956, 958, 960,
1207 965, 967, 971, 974, 975, 978, 979, 981, 985, 987,
1208 989, 991, 993, 997, 1002, 1007, 1012, 1014, 1016, 1019,
1209 1022, 1025, 1029, 1033, 1035, 1037, 1039, 1041, 1045, 1047,
1210 1051, 1053, 1055, 1057, 1058, 1060, 1063, 1065, 1067, 1069,
1211 1071, 1073, 1075, 1077, 1079, 1080, 1082, 1084, 1086, 1090,
1212 1096, 1098, 1102, 1108, 1113, 1117, 1121, 1124, 1126, 1128,
1213 1132, 1136, 1138, 1140, 1141, 1144, 1149, 1153, 1160, 1163,
1214 1167, 1174, 1176, 1178, 1180, 1187, 1191, 1196, 1203, 1207,
1215 1211, 1215, 1219, 1223, 1227, 1231, 1235, 1239, 1243, 1247,
1216 1250, 1253, 1256, 1259, 1263, 1267, 1271, 1275, 1279, 1283,
1217 1287, 1291, 1295, 1299, 1303, 1307, 1311, 1315, 1319, 1323,
1218 1326, 1329, 1332, 1335, 1339, 1343, 1347, 1351, 1355, 1359,
1219 1363, 1367, 1371, 1375, 1381, 1386, 1388, 1391, 1394, 1397,
1220 1400, 1403, 1406, 1409, 1412, 1415, 1417, 1419, 1421, 1425,
1221 1428, 1430, 1432, 1434, 1440, 1441, 1442, 1454, 1455, 1468,
1222 1469, 1473, 1474, 1481, 1484, 1489, 1491, 1497, 1501, 1507,
1223 1511, 1514, 1515, 1518, 1519, 1524, 1529, 1533, 1538, 1543,
1224 1548, 1553, 1555, 1557, 1561, 1564, 1568, 1573, 1576, 1580,
1225 1582, 1585, 1587, 1590, 1592, 1594, 1596, 1598, 1600, 1602,
1226 1607, 1612, 1615, 1624, 1635, 1638, 1640, 1644, 1646, 1649,
1227 1651, 1653, 1655, 1657, 1660, 1665, 1669, 1673, 1678, 1680,
1228 1683, 1688, 1691, 1698, 1699, 1701, 1706, 1707, 1710, 1711,
1229 1713, 1715, 1719, 1721, 1725, 1727, 1729, 1733, 1737, 1739,
1230 1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755, 1757, 1759,
1231 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775, 1777, 1779,
1232 1781, 1783, 1785, 1787, 1789, 1791, 1793, 1795, 1797, 1799,
1233 1801, 1803, 1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819,
1234 1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837, 1839,
1235 1841, 1843, 1845, 1847, 1849, 1851, 1853, 1855, 1857, 1859,
1236 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877, 1879,
1237 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895, 1897, 1902,
1238 1904, 1906, 1908, 1910, 1912, 1914, 1916, 1918, 1921, 1923,
1239 1924, 1925, 1927, 1929, 1933, 1934, 1936, 1938, 1940, 1942,
1240 1944, 1946, 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1964,
1241 1967, 1969, 1971, 1974, 1977, 1982, 1987, 1991, 1996, 1998,
1242 2000, 2004, 2008, 2012, 2014, 2016, 2018, 2020, 2024, 2028,
1243 2032, 2035, 2036, 2038, 2039, 2041, 2042, 2048, 2052, 2056,
1244 2058, 2060, 2062, 2064, 2066, 2070, 2073, 2075, 2077, 2079,
1245 2081, 2083, 2085, 2088, 2091, 2096, 2101, 2105, 2110, 2113,
1246 2114, 2120, 2124, 2128, 2130, 2134, 2136, 2139, 2140, 2146,
1247 2150, 2153, 2154, 2158, 2159, 2164, 2167, 2168, 2172, 2176,
1248 2178, 2179, 2181, 2184, 2187, 2192, 2196, 2200, 2203, 2208,
1249 2211, 2216, 2218, 2220, 2222, 2224, 2226, 2229, 2234, 2238,
1250 2243, 2247, 2249, 2251, 2253, 2255, 2258, 2263, 2268, 2272,
1251 2274, 2276, 2280, 2288, 2295, 2304, 2314, 2323, 2334, 2342,
1252 2349, 2358, 2360, 2363, 2368, 2373, 2375, 2377, 2382, 2384,
1253 2385, 2387, 2390, 2392, 2394, 2397, 2402, 2406, 2410, 2411,
1254 2413, 2416, 2421, 2425, 2428, 2432, 2439, 2440, 2442, 2447,
1255 2450, 2451, 2457, 2461, 2465, 2467, 2474, 2479, 2484, 2487,
1256 2490, 2491, 2497, 2501, 2505, 2507, 2510, 2511, 2517, 2521,
1257 2525, 2527, 2530, 2533, 2535, 2538, 2540, 2545, 2549, 2553,
1258 2560, 2564, 2566, 2568, 2570, 2575, 2580, 2585, 2590, 2593,
1259 2596, 2601, 2604, 2607, 2609, 2613, 2617, 2621, 2622, 2625,
1260 2631, 2638, 2640, 2643, 2645, 2650, 2654, 2655, 2657, 2661,
1261 2665, 2667, 2669, 2670, 2671, 2674, 2678, 2680, 2686, 2690,
1262 2694, 2698, 2700, 2703, 2704, 2709, 2712, 2715, 2717, 2719,
1263 2721, 2723, 2728, 2735, 2737, 2746, 2752, 2754
1266 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1267 static const yytype_int16 yyrhs[] =
1269 206, 0, -1, -1, 207, 208, -1, 208, 209, -1,
1270 -1, 223, -1, 239, -1, 243, -1, 248, -1, 437,
1271 -1, 118, 195, 196, 197, -1, 144, 215, 197, -1,
1272 -1, 144, 215, 198, 210, 208, 199, -1, -1, 144,
1273 198, 211, 208, 199, -1, 106, 213, 197, -1, 220,
1274 197, -1, 73, -1, 151, -1, 152, -1, 154, -1,
1275 156, -1, 155, -1, 177, -1, 179, -1, 180, -1,
1276 182, -1, 181, -1, 183, -1, 184, -1, 185, -1,
1277 186, -1, 187, -1, 188, -1, 189, -1, 190, -1,
1278 191, -1, 213, 9, 214, -1, 214, -1, 215, -1,
1279 147, 215, -1, 215, 92, 212, -1, 147, 215, 92,
1280 212, -1, 212, -1, 215, 147, 212, -1, 215, -1,
1281 144, 147, 215, -1, 147, 215, -1, 216, -1, 216,
1282 440, -1, 216, 440, -1, 220, 9, 438, 14, 384,
1283 -1, 101, 438, 14, 384, -1, 221, 222, -1, -1,
1284 223, -1, 239, -1, 243, -1, 248, -1, 198, 221,
1285 199, -1, 66, 316, 223, 270, 272, -1, 66, 316,
1286 27, 221, 271, 273, 69, 197, -1, -1, 84, 316,
1287 224, 264, -1, -1, 83, 225, 223, 84, 316, 197,
1288 -1, -1, 86, 195, 318, 197, 318, 197, 318, 196,
1289 226, 262, -1, -1, 93, 316, 227, 267, -1, 97,
1290 197, -1, 97, 325, 197, -1, 99, 197, -1, 99,
1291 325, 197, -1, 102, 197, -1, 102, 325, 197, -1,
1292 148, 97, 197, -1, 107, 280, 197, -1, 113, 282,
1293 197, -1, 82, 317, 197, -1, 115, 195, 434, 196,
1294 197, -1, 197, -1, 77, -1, -1, 88, 195, 325,
1295 92, 261, 260, 196, 228, 263, -1, 90, 195, 266,
1296 196, 265, -1, -1, 103, 231, 104, 195, 377, 75,
1297 196, 198, 221, 199, 233, 229, 236, -1, -1, 103,
1298 231, 162, 230, 234, -1, 105, 325, 197, -1, 98,
1299 212, 197, -1, 325, 197, -1, 319, 197, -1, 320,
1300 197, -1, 321, 197, -1, 322, 197, -1, 323, 197,
1301 -1, 102, 322, 197, -1, 324, 197, -1, 347, 197,
1302 -1, 102, 346, 197, -1, 212, 27, -1, -1, 198,
1303 232, 221, 199, -1, 233, 104, 195, 377, 75, 196,
1304 198, 221, 199, -1, -1, -1, 198, 235, 221, 199,
1305 -1, 162, 234, -1, -1, 32, -1, -1, 100, -1,
1306 -1, 238, 237, 439, 240, 195, 276, 196, 443, 305,
1307 -1, -1, 309, 238, 237, 439, 241, 195, 276, 196,
1308 443, 305, -1, -1, 404, 308, 238, 237, 439, 242,
1309 195, 276, 196, 443, 305, -1, -1, 254, 251, 244,
1310 255, 256, 198, 283, 199, -1, -1, 404, 254, 251,
1311 245, 255, 256, 198, 283, 199, -1, -1, 120, 252,
1312 246, 257, 198, 283, 199, -1, -1, 404, 120, 252,
1313 247, 257, 198, 283, 199, -1, -1, 157, 253, 249,
1314 256, 198, 283, 199, -1, -1, 404, 157, 253, 250,
1315 256, 198, 283, 199, -1, 439, -1, 149, -1, 439,
1316 -1, 439, -1, 119, -1, 112, 119, -1, 111, 119,
1317 -1, 121, 377, -1, -1, 122, 258, -1, -1, 121,
1318 258, -1, -1, 377, -1, 258, 9, 377, -1, 377,
1319 -1, 259, 9, 377, -1, 124, 261, -1, -1, 411,
1320 -1, 32, 411, -1, 125, 195, 423, 196, -1, 223,
1321 -1, 27, 221, 87, 197, -1, 223, -1, 27, 221,
1322 89, 197, -1, 223, -1, 27, 221, 85, 197, -1,
1323 223, -1, 27, 221, 91, 197, -1, 212, 14, 384,
1324 -1, 266, 9, 212, 14, 384, -1, 198, 268, 199,
1325 -1, 198, 197, 268, 199, -1, 27, 268, 94, 197,
1326 -1, 27, 197, 268, 94, 197, -1, 268, 95, 325,
1327 269, 221, -1, 268, 96, 269, 221, -1, -1, 27,
1328 -1, 197, -1, 270, 67, 316, 223, -1, -1, 271,
1329 67, 316, 27, 221, -1, -1, 68, 223, -1, -1,
1330 68, 27, 221, -1, -1, 275, 9, 405, 311, 450,
1331 158, 75, -1, 275, 9, 405, 311, 450, 158, -1,
1332 275, 389, -1, 405, 311, 450, 158, 75, -1, 405,
1333 311, 450, 158, -1, -1, 405, 311, 450, 75, -1,
1334 405, 311, 450, 32, 75, -1, 405, 311, 450, 32,
1335 75, 14, 384, -1, 405, 311, 450, 75, 14, 384,
1336 -1, 275, 9, 405, 311, 450, 75, -1, 275, 9,
1337 405, 311, 450, 32, 75, -1, 275, 9, 405, 311,
1338 450, 32, 75, 14, 384, -1, 275, 9, 405, 311,
1339 450, 75, 14, 384, -1, 277, 9, 405, 450, 158,
1340 75, -1, 277, 9, 405, 450, 158, -1, 277, 389,
1341 -1, 405, 450, 158, 75, -1, 405, 450, 158, -1,
1342 -1, 405, 450, 75, -1, 405, 450, 32, 75, -1,
1343 405, 450, 32, 75, 14, 384, -1, 405, 450, 75,
1344 14, 384, -1, 277, 9, 405, 450, 75, -1, 277,
1345 9, 405, 450, 32, 75, -1, 277, 9, 405, 450,
1346 32, 75, 14, 384, -1, 277, 9, 405, 450, 75,
1347 14, 384, -1, 279, 389, -1, -1, 325, -1, 32,
1348 411, -1, 279, 9, 325, -1, 279, 9, 32, 411,
1349 -1, 280, 9, 281, -1, 281, -1, 75, -1, 200,
1350 411, -1, 200, 198, 325, 199, -1, 282, 9, 75,
1351 -1, 282, 9, 75, 14, 384, -1, 75, -1, 75,
1352 14, 384, -1, 283, 284, -1, -1, -1, 307, 285,
1353 313, 197, -1, -1, 309, 449, 286, 313, 197, -1,
1354 314, 197, -1, -1, 308, 238, 237, 439, 195, 287,
1355 274, 196, 443, 306, -1, -1, 404, 308, 238, 237,
1356 439, 195, 288, 274, 196, 443, 306, -1, 151, 293,
1357 197, -1, 152, 299, 197, -1, 154, 301, 197, -1,
1358 4, 121, 377, 197, -1, 4, 122, 377, 197, -1,
1359 106, 259, 197, -1, 106, 259, 198, 289, 199, -1,
1360 289, 290, -1, 289, 291, -1, -1, 219, 143, 212,
1361 159, 259, 197, -1, 292, 92, 308, 212, 197, -1,
1362 292, 92, 309, 197, -1, 219, 143, 212, -1, 212,
1363 -1, 294, -1, 293, 9, 294, -1, 295, 374, 297,
1364 298, -1, 149, -1, 126, -1, 377, -1, 114, -1,
1365 155, 198, 296, 199, -1, 383, -1, 296, 9, 383,
1366 -1, 14, 384, -1, -1, 52, 156, -1, -1, 300,
1367 -1, 299, 9, 300, -1, 153, -1, 302, -1, 212,
1368 -1, 117, -1, 195, 303, 196, -1, 195, 303, 196,
1369 46, -1, 195, 303, 196, 26, -1, 195, 303, 196,
1370 43, -1, 302, -1, 304, -1, 304, 46, -1, 304,
1371 26, -1, 304, 43, -1, 303, 9, 303, -1, 303,
1372 30, 303, -1, 212, -1, 149, -1, 153, -1, 197,
1373 -1, 198, 221, 199, -1, 197, -1, 198, 221, 199,
1374 -1, 309, -1, 114, -1, 309, -1, -1, 310, -1,
1375 309, 310, -1, 108, -1, 109, -1, 110, -1, 113,
1376 -1, 112, -1, 111, -1, 176, -1, 312, -1, -1,
1377 108, -1, 109, -1, 110, -1, 313, 9, 75, -1,
1378 313, 9, 75, 14, 384, -1, 75, -1, 75, 14,
1379 384, -1, 314, 9, 438, 14, 384, -1, 101, 438,
1380 14, 384, -1, 195, 315, 196, -1, 64, 379, 382,
1381 -1, 63, 325, -1, 366, -1, 342, -1, 195, 325,
1382 196, -1, 317, 9, 325, -1, 325, -1, 317, -1,
1383 -1, 148, 325, -1, 148, 325, 124, 325, -1, 411,
1384 14, 319, -1, 125, 195, 423, 196, 14, 319, -1,
1385 175, 325, -1, 411, 14, 322, -1, 125, 195, 423,
1386 196, 14, 322, -1, 326, -1, 411, -1, 315, -1,
1387 125, 195, 423, 196, 14, 325, -1, 411, 14, 325,
1388 -1, 411, 14, 32, 411, -1, 411, 14, 32, 64,
1389 379, 382, -1, 411, 25, 325, -1, 411, 24, 325,
1390 -1, 411, 23, 325, -1, 411, 22, 325, -1, 411,
1391 21, 325, -1, 411, 20, 325, -1, 411, 19, 325,
1392 -1, 411, 18, 325, -1, 411, 17, 325, -1, 411,
1393 16, 325, -1, 411, 15, 325, -1, 411, 61, -1,
1394 61, 411, -1, 411, 60, -1, 60, 411, -1, 325,
1395 28, 325, -1, 325, 29, 325, -1, 325, 10, 325,
1396 -1, 325, 12, 325, -1, 325, 11, 325, -1, 325,
1397 30, 325, -1, 325, 32, 325, -1, 325, 31, 325,
1398 -1, 325, 45, 325, -1, 325, 43, 325, -1, 325,
1399 44, 325, -1, 325, 46, 325, -1, 325, 47, 325,
1400 -1, 325, 48, 325, -1, 325, 42, 325, -1, 325,
1401 41, 325, -1, 43, 325, -1, 44, 325, -1, 49,
1402 325, -1, 51, 325, -1, 325, 34, 325, -1, 325,
1403 33, 325, -1, 325, 36, 325, -1, 325, 35, 325,
1404 -1, 325, 37, 325, -1, 325, 40, 325, -1, 325,
1405 38, 325, -1, 325, 39, 325, -1, 325, 50, 379,
1406 -1, 195, 326, 196, -1, 325, 26, 325, 27, 325,
1407 -1, 325, 26, 27, 325, -1, 433, -1, 59, 325,
1408 -1, 58, 325, -1, 57, 325, -1, 56, 325, -1,
1409 55, 325, -1, 54, 325, -1, 53, 325, -1, 65,
1410 380, -1, 52, 325, -1, 386, -1, 341, -1, 340,
1411 -1, 201, 381, 201, -1, 13, 325, -1, 328, -1,
1412 331, -1, 344, -1, 106, 195, 365, 389, 196, -1,
1413 -1, -1, 238, 237, 195, 329, 276, 196, 443, 327,
1414 198, 221, 199, -1, -1, 309, 238, 237, 195, 330,
1415 276, 196, 443, 327, 198, 221, 199, -1, -1, 75,
1416 332, 334, -1, -1, 192, 333, 276, 193, 443, 334,
1417 -1, 8, 325, -1, 8, 198, 221, 199, -1, 81,
1418 -1, 336, 9, 335, 124, 325, -1, 335, 124, 325,
1419 -1, 337, 9, 335, 124, 384, -1, 335, 124, 384,
1420 -1, 336, 388, -1, -1, 337, 388, -1, -1, 169,
1421 195, 338, 196, -1, 126, 195, 424, 196, -1, 62,
1422 424, 202, -1, 377, 198, 426, 199, -1, 377, 198,
1423 428, 199, -1, 344, 62, 419, 202, -1, 345, 62,
1424 419, 202, -1, 341, -1, 435, -1, 195, 326, 196,
1425 -1, 348, 349, -1, 411, 14, 346, -1, 178, 75,
1426 181, 325, -1, 350, 361, -1, 350, 361, 364, -1,
1427 361, -1, 361, 364, -1, 351, -1, 350, 351, -1,
1428 352, -1, 353, -1, 354, -1, 355, -1, 356, -1,
1429 357, -1, 178, 75, 181, 325, -1, 185, 75, 14,
1430 325, -1, 179, 325, -1, 180, 75, 181, 325, 182,
1431 325, 183, 325, -1, 180, 75, 181, 325, 182, 325,
1432 183, 325, 184, 75, -1, 186, 358, -1, 359, -1,
1433 358, 9, 359, -1, 325, -1, 325, 360, -1, 187,
1434 -1, 188, -1, 362, -1, 363, -1, 189, 325, -1,
1435 190, 325, 191, 325, -1, 184, 75, 349, -1, 365,
1436 9, 75, -1, 365, 9, 32, 75, -1, 75, -1,
1437 32, 75, -1, 163, 149, 367, 164, -1, 369, 47,
1438 -1, 369, 164, 370, 163, 47, 368, -1, -1, 149,
1439 -1, 369, 371, 14, 372, -1, -1, 370, 373, -1,
1440 -1, 149, -1, 150, -1, 198, 325, 199, -1, 150,
1441 -1, 198, 325, 199, -1, 366, -1, 375, -1, 374,
1442 27, 375, -1, 374, 44, 375, -1, 212, -1, 65,
1443 -1, 100, -1, 101, -1, 102, -1, 148, -1, 175,
1444 -1, 103, -1, 104, -1, 162, -1, 105, -1, 66,
1445 -1, 67, -1, 69, -1, 68, -1, 84, -1, 85,
1446 -1, 83, -1, 86, -1, 87, -1, 88, -1, 89,
1447 -1, 90, -1, 91, -1, 50, -1, 92, -1, 93,
1448 -1, 94, -1, 95, -1, 96, -1, 97, -1, 99,
1449 -1, 98, -1, 82, -1, 13, -1, 119, -1, 120,
1450 -1, 121, -1, 122, -1, 64, -1, 63, -1, 114,
1451 -1, 5, -1, 7, -1, 6, -1, 4, -1, 3,
1452 -1, 144, -1, 106, -1, 107, -1, 116, -1, 117,
1453 -1, 118, -1, 113, -1, 112, -1, 111, -1, 110,
1454 -1, 109, -1, 108, -1, 176, -1, 115, -1, 125,
1455 -1, 126, -1, 10, -1, 12, -1, 11, -1, 128,
1456 -1, 130, -1, 129, -1, 131, -1, 132, -1, 146,
1457 -1, 145, -1, 174, -1, 157, -1, 160, -1, 159,
1458 -1, 170, -1, 172, -1, 169, -1, 218, 195, 278,
1459 196, -1, 219, -1, 149, -1, 377, -1, 113, -1,
1460 417, -1, 377, -1, 113, -1, 421, -1, 195, 196,
1461 -1, 316, -1, -1, -1, 80, -1, 430, -1, 195,
1462 278, 196, -1, -1, 70, -1, 71, -1, 72, -1,
1463 81, -1, 131, -1, 132, -1, 146, -1, 128, -1,
1464 160, -1, 129, -1, 130, -1, 145, -1, 174, -1,
1465 139, 80, 140, -1, 139, 140, -1, 383, -1, 217,
1466 -1, 43, 384, -1, 44, 384, -1, 126, 195, 387,
1467 196, -1, 177, 195, 387, 196, -1, 62, 387, 202,
1468 -1, 169, 195, 339, 196, -1, 385, -1, 343, -1,
1469 219, 143, 212, -1, 149, 143, 212, -1, 219, 143,
1470 119, -1, 217, -1, 74, -1, 435, -1, 383, -1,
1471 203, 430, 203, -1, 204, 430, 204, -1, 139, 430,
1472 140, -1, 390, 388, -1, -1, 9, -1, -1, 9,
1473 -1, -1, 390, 9, 384, 124, 384, -1, 390, 9,
1474 384, -1, 384, 124, 384, -1, 384, -1, 70, -1,
1475 71, -1, 72, -1, 81, -1, 139, 80, 140, -1,
1476 139, 140, -1, 70, -1, 71, -1, 72, -1, 212,
1477 -1, 391, -1, 212, -1, 43, 392, -1, 44, 392,
1478 -1, 126, 195, 394, 196, -1, 177, 195, 394, 196,
1479 -1, 62, 394, 202, -1, 169, 195, 397, 196, -1,
1480 395, 388, -1, -1, 395, 9, 393, 124, 393, -1,
1481 395, 9, 393, -1, 393, 124, 393, -1, 393, -1,
1482 396, 9, 393, -1, 393, -1, 398, 388, -1, -1,
1483 398, 9, 335, 124, 393, -1, 335, 124, 393, -1,
1484 396, 388, -1, -1, 195, 399, 196, -1, -1, 401,
1485 9, 212, 400, -1, 212, 400, -1, -1, 403, 401,
1486 388, -1, 42, 402, 41, -1, 404, -1, -1, 407,
1487 -1, 123, 416, -1, 123, 212, -1, 123, 198, 325,
1488 199, -1, 62, 419, 202, -1, 198, 325, 199, -1,
1489 412, 408, -1, 195, 315, 196, 408, -1, 422, 408,
1490 -1, 195, 315, 196, 408, -1, 416, -1, 376, -1,
1491 414, -1, 415, -1, 409, -1, 411, 406, -1, 195,
1492 315, 196, 406, -1, 378, 143, 416, -1, 413, 195,
1493 278, 196, -1, 195, 411, 196, -1, 376, -1, 414,
1494 -1, 415, -1, 409, -1, 411, 407, -1, 195, 315,
1495 196, 407, -1, 413, 195, 278, 196, -1, 195, 411,
1496 196, -1, 416, -1, 409, -1, 195, 411, 196, -1,
1497 411, 123, 212, 440, 195, 278, 196, -1, 411, 123,
1498 416, 195, 278, 196, -1, 411, 123, 198, 325, 199,
1499 195, 278, 196, -1, 195, 315, 196, 123, 212, 440,
1500 195, 278, 196, -1, 195, 315, 196, 123, 416, 195,
1501 278, 196, -1, 195, 315, 196, 123, 198, 325, 199,
1502 195, 278, 196, -1, 378, 143, 212, 440, 195, 278,
1503 196, -1, 378, 143, 416, 195, 278, 196, -1, 378,
1504 143, 198, 325, 199, 195, 278, 196, -1, 417, -1,
1505 420, 417, -1, 417, 62, 419, 202, -1, 417, 198,
1506 325, 199, -1, 418, -1, 75, -1, 200, 198, 325,
1507 199, -1, 325, -1, -1, 200, -1, 420, 200, -1,
1508 416, -1, 410, -1, 421, 406, -1, 195, 315, 196,
1509 406, -1, 378, 143, 416, -1, 195, 411, 196, -1,
1510 -1, 410, -1, 421, 407, -1, 195, 315, 196, 407,
1511 -1, 195, 411, 196, -1, 423, 9, -1, 423, 9,
1512 411, -1, 423, 9, 125, 195, 423, 196, -1, -1,
1513 411, -1, 125, 195, 423, 196, -1, 425, 388, -1,
1514 -1, 425, 9, 325, 124, 325, -1, 425, 9, 325,
1515 -1, 325, 124, 325, -1, 325, -1, 425, 9, 325,
1516 124, 32, 411, -1, 425, 9, 32, 411, -1, 325,
1517 124, 32, 411, -1, 32, 411, -1, 427, 388, -1,
1518 -1, 427, 9, 325, 124, 325, -1, 427, 9, 325,
1519 -1, 325, 124, 325, -1, 325, -1, 429, 388, -1,
1520 -1, 429, 9, 384, 124, 384, -1, 429, 9, 384,
1521 -1, 384, 124, 384, -1, 384, -1, 430, 431, -1,
1522 430, 80, -1, 431, -1, 80, 431, -1, 75, -1,
1523 75, 62, 432, 202, -1, 75, 123, 212, -1, 141,
1524 325, 199, -1, 141, 74, 62, 325, 202, 199, -1,
1525 142, 411, 199, -1, 212, -1, 76, -1, 75, -1,
1526 116, 195, 434, 196, -1, 117, 195, 411, 196, -1,
1527 117, 195, 326, 196, -1, 117, 195, 315, 196, -1,
1528 7, 325, -1, 6, 325, -1, 5, 195, 325, 196,
1529 -1, 4, 325, -1, 3, 325, -1, 411, -1, 434,
1530 9, 411, -1, 378, 143, 212, -1, 378, 143, 119,
1531 -1, -1, 92, 449, -1, 170, 439, 14, 449, 197,
1532 -1, 172, 439, 436, 14, 449, 197, -1, 212, -1,
1533 449, 212, -1, 212, -1, 212, 165, 444, 166, -1,
1534 165, 441, 166, -1, -1, 449, -1, 441, 9, 449,
1535 -1, 441, 9, 158, -1, 441, -1, 158, -1, -1,
1536 -1, 27, 449, -1, 444, 9, 212, -1, 212, -1,
1537 444, 9, 212, 92, 449, -1, 212, 92, 449, -1,
1538 81, 124, 449, -1, 446, 9, 445, -1, 445, -1,
1539 446, 388, -1, -1, 169, 195, 447, 196, -1, 26,
1540 449, -1, 52, 449, -1, 219, -1, 126, -1, 127,
1541 -1, 448, -1, 126, 165, 449, 166, -1, 126, 165,
1542 449, 9, 449, 166, -1, 149, -1, 195, 100, 195,
1543 442, 196, 27, 449, 196, -1, 195, 441, 9, 449,
1544 196, -1, 449, -1, -1
1547 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1548 static const yytype_uint16 yyrline[] =
1550 0, 749, 749, 749, 758, 760, 763, 764, 765, 766,
1551 767, 768, 771, 773, 773, 775, 775, 777, 778, 783,
1552 784, 785, 786, 787, 788, 789, 790, 791, 792, 793,
1553 794, 795, 796, 797, 798, 799, 800, 801, 802, 806,
1554 808, 811, 812, 813, 814, 819, 820, 824, 825, 827,
1555 830, 836, 843, 850, 854, 860, 862, 865, 866, 867,
1556 868, 871, 872, 876, 881, 881, 887, 887, 894, 893,
1557 899, 899, 904, 905, 906, 907, 908, 909, 910, 911,
1558 912, 913, 914, 915, 916, 919, 917, 924, 932, 926,
1559 936, 934, 938, 939, 943, 944, 945, 946, 947, 948,
1560 949, 950, 951, 952, 953, 961, 961, 966, 972, 976,
1561 976, 984, 985, 989, 990, 994, 999, 998, 1011, 1009,
1562 1023, 1021, 1037, 1036, 1055, 1053, 1072, 1071, 1080, 1078,
1563 1090, 1089, 1101, 1099, 1112, 1113, 1117, 1120, 1123, 1124,
1564 1125, 1128, 1130, 1133, 1134, 1137, 1138, 1141, 1142, 1146,
1565 1147, 1152, 1153, 1156, 1157, 1158, 1162, 1163, 1167, 1168,
1566 1172, 1173, 1177, 1178, 1183, 1184, 1189, 1190, 1191, 1192,
1567 1195, 1198, 1200, 1203, 1204, 1208, 1210, 1213, 1216, 1219,
1568 1220, 1223, 1224, 1228, 1234, 1241, 1243, 1248, 1254, 1258,
1569 1262, 1266, 1271, 1276, 1281, 1286, 1292, 1301, 1306, 1312,
1570 1314, 1318, 1323, 1327, 1330, 1333, 1337, 1341, 1345, 1349,
1571 1354, 1362, 1364, 1367, 1368, 1369, 1371, 1376, 1377, 1380,
1572 1381, 1382, 1386, 1387, 1389, 1390, 1394, 1396, 1399, 1399,
1573 1403, 1402, 1406, 1410, 1408, 1423, 1420, 1433, 1435, 1437,
1574 1439, 1441, 1443, 1445, 1449, 1450, 1451, 1454, 1460, 1463,
1575 1469, 1472, 1477, 1479, 1484, 1489, 1493, 1494, 1500, 1501,
1576 1506, 1507, 1512, 1513, 1517, 1518, 1522, 1524, 1530, 1535,
1577 1536, 1538, 1542, 1543, 1544, 1545, 1549, 1550, 1551, 1552,
1578 1553, 1554, 1556, 1561, 1564, 1565, 1569, 1570, 1574, 1575,
1579 1578, 1579, 1582, 1583, 1586, 1587, 1591, 1592, 1593, 1594,
1580 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1610, 1612,
1581 1614, 1615, 1618, 1620, 1624, 1625, 1627, 1628, 1629, 1632,
1582 1636, 1637, 1641, 1642, 1646, 1647, 1651, 1655, 1660, 1664,
1583 1668, 1673, 1674, 1675, 1678, 1680, 1681, 1682, 1685, 1686,
1584 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
1585 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706,
1586 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716,
1587 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1727,
1588 1728, 1730, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
1589 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749,
1590 1750, 1751, 1752, 1756, 1760, 1765, 1764, 1779, 1777, 1794,
1591 1794, 1809, 1809, 1827, 1828, 1833, 1838, 1842, 1848, 1852,
1592 1858, 1860, 1864, 1866, 1870, 1874, 1875, 1879, 1886, 1893,
1593 1895, 1900, 1901, 1902, 1906, 1910, 1914, 1918, 1920, 1922,
1594 1924, 1929, 1930, 1935, 1936, 1937, 1938, 1939, 1940, 1944,
1595 1948, 1952, 1956, 1961, 1966, 1970, 1971, 1975, 1976, 1980,
1596 1981, 1985, 1986, 1990, 1994, 1998, 2002, 2003, 2004, 2005,
1597 2009, 2015, 2024, 2037, 2038, 2041, 2044, 2047, 2048, 2051,
1598 2055, 2058, 2061, 2068, 2069, 2073, 2074, 2076, 2080, 2081,
1599 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091,
1600 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101,
1601 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111,
1602 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121,
1603 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131,
1604 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141,
1605 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151,
1606 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2163, 2168,
1607 2169, 2172, 2173, 2174, 2178, 2179, 2180, 2184, 2185, 2186,
1608 2190, 2191, 2192, 2195, 2197, 2201, 2202, 2203, 2204, 2206,
1609 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2218,
1610 2223, 2224, 2225, 2226, 2227, 2229, 2231, 2232, 2234, 2235,
1611 2239, 2242, 2245, 2251, 2252, 2253, 2254, 2255, 2256, 2257,
1612 2262, 2264, 2268, 2269, 2272, 2273, 2277, 2280, 2282, 2284,
1613 2288, 2289, 2290, 2291, 2293, 2296, 2300, 2301, 2302, 2303,
1614 2306, 2307, 2308, 2309, 2310, 2312, 2314, 2315, 2320, 2322,
1615 2325, 2328, 2330, 2332, 2335, 2337, 2341, 2343, 2346, 2349,
1616 2355, 2357, 2360, 2361, 2366, 2369, 2373, 2373, 2378, 2381,
1617 2382, 2386, 2387, 2392, 2393, 2397, 2398, 2402, 2403, 2408,
1618 2410, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2426,
1619 2428, 2432, 2433, 2434, 2435, 2436, 2438, 2440, 2442, 2446,
1620 2447, 2448, 2452, 2455, 2458, 2461, 2465, 2469, 2476, 2480,
1621 2484, 2491, 2492, 2497, 2499, 2500, 2503, 2504, 2507, 2508,
1622 2512, 2513, 2517, 2518, 2519, 2520, 2522, 2525, 2528, 2529,
1623 2530, 2532, 2534, 2538, 2539, 2540, 2542, 2543, 2544, 2548,
1624 2550, 2553, 2555, 2556, 2557, 2558, 2561, 2563, 2564, 2568,
1625 2570, 2573, 2575, 2576, 2577, 2581, 2583, 2586, 2589, 2591,
1626 2593, 2597, 2598, 2600, 2601, 2607, 2608, 2610, 2612, 2614,
1627 2616, 2619, 2620, 2621, 2625, 2626, 2627, 2628, 2629, 2630,
1628 2631, 2632, 2633, 2637, 2638, 2642, 2644, 2652, 2654, 2658,
1629 2662, 2669, 2670, 2676, 2677, 2684, 2687, 2691, 2694, 2699,
1630 2700, 2701, 2702, 2706, 2707, 2711, 2713, 2714, 2716, 2720,
1631 2726, 2728, 2732, 2735, 2738, 2746, 2749, 2752, 2753, 2756,
1632 2759, 2760, 2763, 2767, 2771, 2777, 2785, 2786
1634 #endif
1636 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1637 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1638 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1639 static const char *const yytname[] =
1641 "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
1642 "T_INCLUDE_ONCE", "T_INCLUDE", "T_LAMBDA_ARROW", "','", "T_LOGICAL_OR",
1643 "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL",
1644 "T_SL_EQUAL", "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL",
1645 "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL",
1646 "T_PLUS_EQUAL", "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'",
1647 "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL",
1648 "T_IS_EQUAL", "'<'", "'>'", "T_IS_GREATER_OR_EQUAL",
1649 "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'",
1650 "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST",
1651 "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST",
1652 "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE",
1653 "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER",
1654 "T_DNUMBER", "T_ONUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE",
1655 "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER",
1656 "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO",
1657 "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
1658 "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH",
1659 "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_GOTO", "T_CONTINUE",
1660 "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_THROW",
1661 "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE", "T_FINAL",
1662 "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY",
1663 "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS",
1664 "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CALLABLE",
1665 "T_CLASS_C", "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT",
1666 "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG",
1667 "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
1668 "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_DOUBLE_COLON",
1669 "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_YIELD",
1670 "T_XHP_LABEL", "T_XHP_TEXT", "T_XHP_ATTRIBUTE", "T_XHP_CATEGORY",
1671 "T_XHP_CATEGORY_LABEL", "T_XHP_CHILDREN", "T_XHP_ENUM", "T_XHP_REQUIRED",
1672 "T_TRAIT", "\"...\"", "T_INSTEADOF", "T_TRAIT_C", "T_HH_ERROR",
1673 "T_FINALLY", "T_XHP_TAG_LT", "T_XHP_TAG_GT", "T_TYPELIST_LT",
1674 "T_TYPELIST_GT", "T_UNRESOLVED_LT", "T_COLLECTION", "T_SHAPE", "T_TYPE",
1675 "T_UNRESOLVED_TYPE", "T_NEWTYPE", "T_UNRESOLVED_NEWTYPE",
1676 "T_COMPILER_HALT_OFFSET", "T_AWAIT", "T_ASYNC", "T_TUPLE", "T_FROM",
1677 "T_WHERE", "T_JOIN", "T_IN", "T_ON", "T_EQUALS", "T_INTO", "T_LET",
1678 "T_ORDERBY", "T_ASCENDING", "T_DESCENDING", "T_SELECT", "T_GROUP",
1679 "T_BY", "T_LAMBDA_OP", "T_LAMBDA_CP", "T_UNRESOLVED_OP", "'('", "')'",
1680 "';'", "'{'", "'}'", "'$'", "'`'", "']'", "'\"'", "'\\''", "$accept",
1681 "start", "$@1", "top_statement_list", "top_statement", "$@2", "$@3",
1682 "ident", "use_declarations", "use_declaration", "namespace_name",
1683 "namespace_string_base", "namespace_string", "namespace_string_typeargs",
1684 "class_namespace_string_typeargs", "constant_declaration",
1685 "inner_statement_list", "inner_statement", "statement", "$@4", "$@5",
1686 "$@6", "$@7", "$@8", "$@9", "$@10", "try_statement_list", "$@11",
1687 "additional_catches", "finally_statement_list", "$@12",
1688 "optional_finally", "is_reference", "function_loc",
1689 "function_declaration_statement", "$@13", "$@14", "$@15",
1690 "class_declaration_statement", "$@16", "$@17", "$@18", "$@19",
1691 "trait_declaration_statement", "$@20", "$@21", "class_decl_name",
1692 "interface_decl_name", "trait_decl_name", "class_entry_type",
1693 "extends_from", "implements_list", "interface_extends_list",
1694 "interface_list", "trait_list", "foreach_optional_arg",
1695 "foreach_variable", "for_statement", "foreach_statement",
1696 "while_statement", "declare_statement", "declare_list",
1697 "switch_case_list", "case_list", "case_separator", "elseif_list",
1698 "new_elseif_list", "else_single", "new_else_single",
1699 "method_parameter_list", "non_empty_method_parameter_list",
1700 "parameter_list", "non_empty_parameter_list",
1701 "function_call_parameter_list", "non_empty_fcall_parameter_list",
1702 "global_var_list", "global_var", "static_var_list",
1703 "class_statement_list", "class_statement", "$@22", "$@23", "$@24",
1704 "$@25", "trait_rules", "trait_precedence_rule", "trait_alias_rule",
1705 "trait_alias_rule_method", "xhp_attribute_stmt", "xhp_attribute_decl",
1706 "xhp_attribute_decl_type", "xhp_attribute_enum", "xhp_attribute_default",
1707 "xhp_attribute_is_required", "xhp_category_stmt", "xhp_category_decl",
1708 "xhp_children_stmt", "xhp_children_paren_expr", "xhp_children_decl_expr",
1709 "xhp_children_decl_tag", "function_body", "method_body",
1710 "variable_modifiers", "method_modifiers", "non_empty_member_modifiers",
1711 "member_modifier", "parameter_modifiers", "parameter_modifier",
1712 "class_variable_declaration", "class_constant_declaration",
1713 "expr_with_parens", "parenthesis_expr", "expr_list", "for_expr",
1714 "yield_expr", "yield_assign_expr", "yield_list_assign_expr",
1715 "await_expr", "await_assign_expr", "await_list_assign_expr", "expr",
1716 "expr_no_variable", "lambda_use_vars", "closure_expression", "$@26",
1717 "$@27", "lambda_expression", "$@28", "$@29", "lambda_body",
1718 "shape_keyname", "non_empty_shape_pair_list",
1719 "non_empty_static_shape_pair_list", "shape_pair_list",
1720 "static_shape_pair_list", "shape_literal", "array_literal",
1721 "collection_literal", "static_collection_literal", "dim_expr",
1722 "dim_expr_base", "query_expr", "query_assign_expr", "query_head",
1723 "query_body", "query_body_clauses", "query_body_clause", "from_clause",
1724 "let_clause", "where_clause", "join_clause", "join_into_clause",
1725 "orderby_clause", "orderings", "ordering", "ordering_direction",
1726 "select_or_group_clause", "select_clause", "group_clause",
1727 "query_continuation", "lexical_var_list", "xhp_tag", "xhp_tag_body",
1728 "xhp_opt_end_label", "xhp_attributes", "xhp_children",
1729 "xhp_attribute_name", "xhp_attribute_value", "xhp_child", "xhp_label_ws",
1730 "xhp_bareword", "simple_function_call", "fully_qualified_class_name",
1731 "static_class_name", "class_name_reference", "exit_expr",
1732 "backticks_expr", "ctor_arguments", "common_scalar", "static_scalar",
1733 "static_class_constant", "scalar", "static_array_pair_list",
1734 "possible_comma", "hh_possible_comma",
1735 "non_empty_static_array_pair_list", "common_scalar_ae",
1736 "static_numeric_scalar_ae", "static_scalar_ae",
1737 "static_array_pair_list_ae", "non_empty_static_array_pair_list_ae",
1738 "non_empty_static_scalar_list_ae", "static_shape_pair_list_ae",
1739 "non_empty_static_shape_pair_list_ae", "static_scalar_list_ae",
1740 "attribute_static_scalar_list", "non_empty_user_attribute_list",
1741 "user_attribute_list", "$@30", "non_empty_user_attributes",
1742 "optional_user_attributes", "property_access",
1743 "property_access_without_variables", "array_access",
1744 "dimmable_variable_access", "dimmable_variable_no_calls_access",
1745 "variable", "dimmable_variable", "callable_variable",
1746 "object_method_call", "class_method_call", "variable_without_objects",
1747 "reference_variable", "compound_variable", "dim_offset",
1748 "simple_indirect_reference", "variable_no_calls",
1749 "dimmable_variable_no_calls", "assignment_list", "array_pair_list",
1750 "non_empty_array_pair_list", "collection_init",
1751 "non_empty_collection_init", "static_collection_init",
1752 "non_empty_static_collection_init", "encaps_list", "encaps_var",
1753 "encaps_var_offset", "internal_functions", "variable_list",
1754 "class_constant", "hh_opt_constraint", "hh_type_alias_statement",
1755 "hh_name_with_type", "hh_name_with_typevar", "hh_typeargs_opt",
1756 "hh_type_list", "hh_func_type_list", "hh_opt_return_type",
1757 "hh_typevar_list", "hh_shape_member_type",
1758 "hh_non_empty_shape_member_list", "hh_shape_member_list",
1759 "hh_shape_type", "hh_type", "hh_type_opt", 0
1761 #endif
1763 # ifdef YYPRINT
1764 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1765 token YYLEX-NUM. */
1766 static const yytype_uint16 yytoknum[] =
1768 0, 256, 257, 258, 259, 260, 261, 262, 263, 44,
1769 264, 265, 266, 267, 61, 268, 269, 270, 271, 272,
1770 273, 274, 275, 276, 277, 278, 63, 58, 279, 280,
1771 124, 94, 38, 281, 282, 283, 284, 60, 62, 285,
1772 286, 287, 288, 43, 45, 46, 42, 47, 37, 33,
1773 289, 126, 64, 290, 291, 292, 293, 294, 295, 296,
1774 297, 298, 91, 299, 300, 301, 302, 303, 304, 305,
1775 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1776 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1777 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1778 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1779 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1780 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1781 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1782 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1783 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1784 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1785 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1786 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1787 426, 427, 428, 429, 430, 40, 41, 59, 123, 125,
1788 36, 96, 93, 34, 39
1790 # endif
1792 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1793 static const yytype_uint16 yyr1[] =
1795 0, 205, 207, 206, 208, 208, 209, 209, 209, 209,
1796 209, 209, 209, 210, 209, 211, 209, 209, 209, 212,
1797 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1798 212, 212, 212, 212, 212, 212, 212, 212, 212, 213,
1799 213, 214, 214, 214, 214, 215, 215, 216, 216, 216,
1800 217, 218, 219, 220, 220, 221, 221, 222, 222, 222,
1801 222, 223, 223, 223, 224, 223, 225, 223, 226, 223,
1802 227, 223, 223, 223, 223, 223, 223, 223, 223, 223,
1803 223, 223, 223, 223, 223, 228, 223, 223, 229, 223,
1804 230, 223, 223, 223, 223, 223, 223, 223, 223, 223,
1805 223, 223, 223, 223, 223, 232, 231, 233, 233, 235,
1806 234, 236, 236, 237, 237, 238, 240, 239, 241, 239,
1807 242, 239, 244, 243, 245, 243, 246, 243, 247, 243,
1808 249, 248, 250, 248, 251, 251, 252, 253, 254, 254,
1809 254, 255, 255, 256, 256, 257, 257, 258, 258, 259,
1810 259, 260, 260, 261, 261, 261, 262, 262, 263, 263,
1811 264, 264, 265, 265, 266, 266, 267, 267, 267, 267,
1812 268, 268, 268, 269, 269, 270, 270, 271, 271, 272,
1813 272, 273, 273, 274, 274, 274, 274, 274, 274, 275,
1814 275, 275, 275, 275, 275, 275, 275, 276, 276, 276,
1815 276, 276, 276, 277, 277, 277, 277, 277, 277, 277,
1816 277, 278, 278, 279, 279, 279, 279, 280, 280, 281,
1817 281, 281, 282, 282, 282, 282, 283, 283, 285, 284,
1818 286, 284, 284, 287, 284, 288, 284, 284, 284, 284,
1819 284, 284, 284, 284, 289, 289, 289, 290, 291, 291,
1820 292, 292, 293, 293, 294, 294, 295, 295, 295, 295,
1821 296, 296, 297, 297, 298, 298, 299, 299, 300, 301,
1822 301, 301, 302, 302, 302, 302, 303, 303, 303, 303,
1823 303, 303, 303, 304, 304, 304, 305, 305, 306, 306,
1824 307, 307, 308, 308, 309, 309, 310, 310, 310, 310,
1825 310, 310, 310, 311, 311, 312, 312, 312, 313, 313,
1826 313, 313, 314, 314, 315, 315, 315, 315, 315, 316,
1827 317, 317, 318, 318, 319, 319, 320, 321, 322, 323,
1828 324, 325, 325, 325, 326, 326, 326, 326, 326, 326,
1829 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1830 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1831 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1832 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1833 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1834 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1835 326, 326, 326, 327, 327, 329, 328, 330, 328, 332,
1836 331, 333, 331, 334, 334, 335, 336, 336, 337, 337,
1837 338, 338, 339, 339, 340, 341, 341, 342, 343, 344,
1838 344, 345, 345, 345, 346, 347, 348, 349, 349, 349,
1839 349, 350, 350, 351, 351, 351, 351, 351, 351, 352,
1840 353, 354, 355, 356, 357, 358, 358, 359, 359, 360,
1841 360, 361, 361, 362, 363, 364, 365, 365, 365, 365,
1842 366, 367, 367, 368, 368, 369, 369, 370, 370, 371,
1843 372, 372, 373, 373, 373, 374, 374, 374, 375, 375,
1844 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1845 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1846 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1847 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1848 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1849 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1850 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1851 375, 375, 375, 375, 375, 375, 375, 375, 376, 377,
1852 377, 378, 378, 378, 379, 379, 379, 380, 380, 380,
1853 381, 381, 381, 382, 382, 383, 383, 383, 383, 383,
1854 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
1855 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
1856 385, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1857 387, 387, 388, 388, 389, 389, 390, 390, 390, 390,
1858 391, 391, 391, 391, 391, 391, 392, 392, 392, 392,
1859 393, 393, 393, 393, 393, 393, 393, 393, 394, 394,
1860 395, 395, 395, 395, 396, 396, 397, 397, 398, 398,
1861 399, 399, 400, 400, 401, 401, 403, 402, 404, 405,
1862 405, 406, 406, 407, 407, 408, 408, 409, 409, 410,
1863 410, 411, 411, 411, 411, 411, 411, 411, 411, 411,
1864 411, 412, 412, 412, 412, 412, 412, 412, 412, 413,
1865 413, 413, 414, 414, 414, 414, 414, 414, 415, 415,
1866 415, 416, 416, 417, 417, 417, 418, 418, 419, 419,
1867 420, 420, 421, 421, 421, 421, 421, 421, 422, 422,
1868 422, 422, 422, 423, 423, 423, 423, 423, 423, 424,
1869 424, 425, 425, 425, 425, 425, 425, 425, 425, 426,
1870 426, 427, 427, 427, 427, 428, 428, 429, 429, 429,
1871 429, 430, 430, 430, 430, 431, 431, 431, 431, 431,
1872 431, 432, 432, 432, 433, 433, 433, 433, 433, 433,
1873 433, 433, 433, 434, 434, 435, 435, 436, 436, 437,
1874 437, 438, 438, 439, 439, 440, 440, 441, 441, 442,
1875 442, 442, 442, 443, 443, 444, 444, 444, 444, 445,
1876 446, 446, 447, 447, 448, 449, 449, 449, 449, 449,
1877 449, 449, 449, 449, 449, 449, 450, 450
1880 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1881 static const yytype_uint8 yyr2[] =
1883 0, 2, 0, 2, 2, 0, 1, 1, 1, 1,
1884 1, 4, 3, 0, 6, 0, 5, 3, 2, 1,
1885 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1886 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1887 1, 1, 2, 3, 4, 1, 3, 1, 3, 2,
1888 1, 2, 2, 5, 4, 2, 0, 1, 1, 1,
1889 1, 3, 5, 8, 0, 4, 0, 6, 0, 10,
1890 0, 4, 2, 3, 2, 3, 2, 3, 3, 3,
1891 3, 3, 5, 1, 1, 0, 9, 5, 0, 13,
1892 0, 5, 3, 3, 2, 2, 2, 2, 2, 2,
1893 3, 2, 2, 3, 2, 0, 4, 9, 0, 0,
1894 4, 2, 0, 1, 0, 1, 0, 9, 0, 10,
1895 0, 11, 0, 8, 0, 9, 0, 7, 0, 8,
1896 0, 7, 0, 8, 1, 1, 1, 1, 1, 2,
1897 2, 2, 0, 2, 0, 2, 0, 1, 3, 1,
1898 3, 2, 0, 1, 2, 4, 1, 4, 1, 4,
1899 1, 4, 1, 4, 3, 5, 3, 4, 4, 5,
1900 5, 4, 0, 1, 1, 4, 0, 5, 0, 2,
1901 0, 3, 0, 7, 6, 2, 5, 4, 0, 4,
1902 5, 7, 6, 6, 7, 9, 8, 6, 5, 2,
1903 4, 3, 0, 3, 4, 6, 5, 5, 6, 8,
1904 7, 2, 0, 1, 2, 3, 4, 3, 1, 1,
1905 2, 4, 3, 5, 1, 3, 2, 0, 0, 4,
1906 0, 5, 2, 0, 10, 0, 11, 3, 3, 3,
1907 4, 4, 3, 5, 2, 2, 0, 6, 5, 4,
1908 3, 1, 1, 3, 4, 1, 1, 1, 1, 4,
1909 1, 3, 2, 0, 2, 0, 1, 3, 1, 1,
1910 1, 1, 3, 4, 4, 4, 1, 1, 2, 2,
1911 2, 3, 3, 1, 1, 1, 1, 3, 1, 3,
1912 1, 1, 1, 0, 1, 2, 1, 1, 1, 1,
1913 1, 1, 1, 1, 0, 1, 1, 1, 3, 5,
1914 1, 3, 5, 4, 3, 3, 2, 1, 1, 3,
1915 3, 1, 1, 0, 2, 4, 3, 6, 2, 3,
1916 6, 1, 1, 1, 6, 3, 4, 6, 3, 3,
1917 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
1918 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1919 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
1920 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1921 3, 3, 3, 5, 4, 1, 2, 2, 2, 2,
1922 2, 2, 2, 2, 2, 1, 1, 1, 3, 2,
1923 1, 1, 1, 5, 0, 0, 11, 0, 12, 0,
1924 3, 0, 6, 2, 4, 1, 5, 3, 5, 3,
1925 2, 0, 2, 0, 4, 4, 3, 4, 4, 4,
1926 4, 1, 1, 3, 2, 3, 4, 2, 3, 1,
1927 2, 1, 2, 1, 1, 1, 1, 1, 1, 4,
1928 4, 2, 8, 10, 2, 1, 3, 1, 2, 1,
1929 1, 1, 1, 2, 4, 3, 3, 4, 1, 2,
1930 4, 2, 6, 0, 1, 4, 0, 2, 0, 1,
1931 1, 3, 1, 3, 1, 1, 3, 3, 1, 1,
1932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1937 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1938 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1939 1, 1, 1, 1, 1, 1, 1, 1, 4, 1,
1940 1, 1, 1, 1, 1, 1, 1, 2, 1, 0,
1941 0, 1, 1, 3, 0, 1, 1, 1, 1, 1,
1942 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1943 1, 1, 2, 2, 4, 4, 3, 4, 1, 1,
1944 3, 3, 3, 1, 1, 1, 1, 3, 3, 3,
1945 2, 0, 1, 0, 1, 0, 5, 3, 3, 1,
1946 1, 1, 1, 1, 3, 2, 1, 1, 1, 1,
1947 1, 1, 2, 2, 4, 4, 3, 4, 2, 0,
1948 5, 3, 3, 1, 3, 1, 2, 0, 5, 3,
1949 2, 0, 3, 0, 4, 2, 0, 3, 3, 1,
1950 0, 1, 2, 2, 4, 3, 3, 2, 4, 2,
1951 4, 1, 1, 1, 1, 1, 2, 4, 3, 4,
1952 3, 1, 1, 1, 1, 2, 4, 4, 3, 1,
1953 1, 3, 7, 6, 8, 9, 8, 10, 7, 6,
1954 8, 1, 2, 4, 4, 1, 1, 4, 1, 0,
1955 1, 2, 1, 1, 2, 4, 3, 3, 0, 1,
1956 2, 4, 3, 2, 3, 6, 0, 1, 4, 2,
1957 0, 5, 3, 3, 1, 6, 4, 4, 2, 2,
1958 0, 5, 3, 3, 1, 2, 0, 5, 3, 3,
1959 1, 2, 2, 1, 2, 1, 4, 3, 3, 6,
1960 3, 1, 1, 1, 4, 4, 4, 4, 2, 2,
1961 4, 2, 2, 1, 3, 3, 3, 0, 2, 5,
1962 6, 1, 2, 1, 4, 3, 0, 1, 3, 3,
1963 1, 1, 0, 0, 2, 3, 1, 5, 3, 3,
1964 3, 1, 2, 0, 4, 2, 2, 1, 1, 1,
1965 1, 4, 6, 1, 8, 5, 1, 0
1968 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1969 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1970 means the default is an error. */
1971 static const yytype_uint16 yydefact[] =
1973 2, 0, 5, 1, 3, 0, 0, 0, 0, 0,
1974 0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 740, 0, 728, 579,
1976 0, 585, 586, 587, 19, 614, 716, 84, 588, 0,
1977 66, 0, 0, 0, 0, 0, 0, 0, 0, 115,
1978 0, 0, 0, 0, 0, 0, 296, 297, 298, 301,
1979 300, 299, 0, 0, 0, 0, 138, 0, 0, 0,
1980 592, 594, 595, 589, 590, 0, 0, 596, 591, 0,
1981 0, 570, 20, 21, 22, 24, 23, 0, 593, 0,
1982 0, 0, 0, 597, 0, 302, 25, 26, 27, 29,
1983 28, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1984 411, 0, 83, 56, 720, 580, 0, 0, 4, 45,
1985 47, 50, 613, 0, 569, 0, 6, 114, 7, 8,
1986 9, 0, 0, 294, 333, 0, 0, 0, 0, 0,
1987 0, 0, 331, 400, 401, 397, 396, 318, 402, 0,
1988 0, 317, 682, 571, 0, 616, 395, 293, 685, 332,
1989 0, 0, 683, 684, 681, 711, 715, 0, 385, 615,
1990 10, 301, 300, 299, 0, 0, 45, 114, 0, 782,
1991 332, 781, 0, 779, 778, 399, 0, 0, 369, 370,
1992 371, 372, 394, 392, 391, 390, 389, 388, 387, 386,
1993 716, 572, 0, 796, 571, 0, 352, 350, 0, 744,
1994 0, 623, 316, 575, 0, 796, 574, 0, 584, 723,
1995 722, 576, 0, 0, 578, 393, 0, 0, 0, 0,
1996 321, 0, 64, 323, 0, 0, 70, 72, 0, 0,
1997 74, 0, 0, 0, 818, 819, 823, 0, 0, 45,
1998 817, 0, 820, 0, 0, 76, 0, 0, 0, 0,
1999 105, 0, 0, 0, 0, 40, 41, 219, 0, 0,
2000 218, 140, 139, 224, 0, 0, 0, 0, 0, 793,
2001 126, 136, 736, 740, 765, 0, 599, 0, 0, 0,
2002 763, 0, 15, 0, 49, 0, 324, 130, 137, 476,
2003 421, 0, 787, 328, 670, 333, 0, 331, 332, 0,
2004 0, 581, 0, 582, 0, 0, 0, 104, 0, 0,
2005 52, 212, 0, 18, 113, 0, 135, 122, 134, 299,
2006 114, 295, 95, 96, 97, 98, 99, 101, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 728, 94, 719, 719, 102, 750, 0,
2010 0, 0, 0, 0, 292, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 351, 349, 0,
2012 686, 671, 719, 0, 677, 212, 719, 0, 721, 712,
2013 736, 0, 114, 0, 0, 668, 663, 623, 0, 0,
2014 0, 0, 748, 0, 426, 622, 739, 0, 0, 52,
2015 0, 212, 315, 0, 724, 671, 679, 577, 0, 56,
2016 176, 0, 410, 0, 81, 0, 0, 322, 0, 0,
2017 0, 0, 0, 73, 93, 75, 815, 816, 0, 813,
2018 0, 0, 797, 0, 792, 0, 100, 77, 103, 0,
2019 0, 0, 0, 0, 0, 0, 434, 0, 441, 443,
2020 444, 445, 446, 447, 448, 439, 461, 462, 56, 0,
2021 90, 92, 42, 0, 17, 0, 0, 220, 0, 79,
2022 0, 0, 80, 783, 0, 0, 333, 331, 332, 0,
2023 0, 146, 0, 737, 0, 0, 0, 0, 598, 764,
2024 614, 0, 0, 762, 619, 761, 48, 5, 12, 13,
2025 78, 0, 144, 0, 0, 415, 0, 623, 0, 0,
2026 0, 0, 0, 625, 669, 827, 314, 382, 690, 61,
2027 55, 57, 58, 59, 60, 0, 398, 617, 618, 46,
2028 0, 0, 0, 625, 213, 0, 405, 116, 142, 0,
2029 355, 357, 356, 0, 0, 353, 354, 358, 360, 359,
2030 374, 373, 376, 375, 377, 379, 380, 378, 368, 367,
2031 362, 363, 361, 364, 365, 366, 381, 718, 0, 0,
2032 754, 0, 623, 786, 0, 785, 688, 711, 128, 132,
2033 124, 114, 0, 0, 326, 329, 335, 435, 348, 347,
2034 346, 345, 344, 343, 342, 341, 340, 339, 338, 0,
2035 673, 672, 0, 0, 0, 0, 0, 0, 0, 780,
2036 661, 665, 622, 667, 0, 0, 796, 0, 743, 0,
2037 742, 0, 727, 726, 0, 0, 673, 672, 319, 178,
2038 180, 56, 413, 320, 0, 56, 160, 65, 323, 0,
2039 0, 0, 0, 172, 172, 71, 0, 0, 811, 623,
2040 0, 802, 0, 0, 0, 621, 0, 0, 570, 0,
2041 25, 50, 601, 569, 609, 0, 600, 54, 608, 0,
2042 0, 451, 0, 0, 457, 454, 455, 463, 0, 442,
2043 437, 0, 440, 0, 0, 0, 0, 39, 43, 0,
2044 217, 225, 222, 0, 0, 774, 777, 776, 775, 11,
2045 806, 0, 0, 0, 736, 733, 0, 425, 773, 772,
2046 771, 0, 767, 0, 768, 770, 0, 5, 325, 0,
2047 0, 470, 471, 479, 478, 0, 0, 622, 420, 424,
2048 0, 788, 0, 803, 670, 199, 826, 0, 0, 687,
2049 671, 678, 717, 0, 795, 214, 568, 624, 211, 0,
2050 670, 0, 0, 144, 407, 118, 384, 0, 429, 430,
2051 0, 427, 622, 749, 0, 0, 212, 146, 144, 142,
2052 0, 728, 336, 0, 0, 212, 675, 676, 689, 713,
2053 714, 0, 0, 0, 649, 630, 631, 632, 633, 0,
2054 0, 0, 25, 641, 640, 655, 623, 0, 663, 747,
2055 746, 0, 725, 671, 680, 583, 0, 182, 0, 0,
2056 62, 0, 0, 0, 0, 0, 0, 152, 153, 164,
2057 0, 56, 162, 87, 172, 0, 172, 0, 0, 821,
2058 0, 622, 812, 814, 801, 800, 0, 798, 602, 603,
2059 629, 0, 623, 621, 0, 0, 423, 621, 0, 756,
2060 436, 0, 0, 0, 459, 460, 458, 0, 0, 438,
2061 0, 106, 0, 109, 91, 44, 221, 0, 784, 82,
2062 0, 0, 794, 145, 147, 227, 0, 0, 734, 0,
2063 766, 0, 16, 0, 143, 227, 0, 0, 417, 0,
2064 789, 0, 0, 0, 827, 0, 203, 201, 0, 673,
2065 672, 798, 0, 215, 53, 0, 670, 141, 0, 670,
2066 0, 383, 753, 752, 0, 212, 0, 0, 0, 144,
2067 120, 584, 674, 212, 0, 0, 636, 637, 638, 639,
2068 642, 643, 653, 0, 623, 649, 0, 635, 657, 649,
2069 622, 660, 662, 664, 0, 741, 674, 0, 0, 0,
2070 0, 179, 414, 67, 0, 323, 154, 736, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 166, 0, 809,
2072 810, 0, 0, 825, 0, 606, 622, 620, 0, 611,
2073 0, 623, 0, 0, 612, 610, 760, 0, 623, 449,
2074 0, 450, 456, 464, 465, 0, 56, 223, 808, 805,
2075 0, 293, 738, 736, 327, 330, 334, 0, 14, 293,
2076 482, 0, 0, 484, 477, 480, 0, 475, 0, 790,
2077 804, 412, 0, 204, 0, 200, 0, 0, 212, 216,
2078 803, 0, 227, 0, 670, 0, 212, 0, 709, 227,
2079 227, 0, 0, 337, 212, 0, 703, 0, 646, 622,
2080 648, 0, 634, 0, 0, 623, 0, 654, 745, 0,
2081 56, 0, 175, 161, 0, 0, 151, 85, 165, 0,
2082 0, 168, 0, 173, 174, 56, 167, 822, 799, 0,
2083 628, 627, 604, 0, 622, 422, 607, 605, 0, 428,
2084 622, 755, 0, 0, 0, 0, 148, 0, 0, 0,
2085 291, 0, 0, 0, 127, 226, 228, 0, 290, 0,
2086 293, 0, 769, 131, 473, 0, 0, 416, 0, 207,
2087 198, 0, 206, 674, 212, 0, 404, 803, 293, 803,
2088 0, 751, 0, 708, 293, 293, 227, 670, 0, 702,
2089 652, 651, 644, 0, 647, 622, 656, 645, 56, 181,
2090 63, 68, 155, 0, 163, 169, 56, 171, 0, 0,
2091 419, 0, 759, 758, 0, 56, 110, 807, 0, 0,
2092 0, 0, 149, 258, 256, 570, 24, 0, 252, 0,
2093 257, 268, 0, 266, 271, 0, 270, 0, 269, 0,
2094 114, 230, 0, 232, 0, 735, 474, 472, 483, 481,
2095 208, 0, 197, 205, 212, 0, 706, 0, 0, 0,
2096 123, 404, 803, 710, 129, 133, 293, 0, 704, 0,
2097 659, 0, 177, 0, 56, 158, 86, 170, 824, 626,
2098 0, 0, 0, 0, 0, 0, 0, 0, 242, 246,
2099 0, 0, 237, 534, 533, 530, 532, 531, 551, 553,
2100 552, 522, 512, 528, 527, 489, 499, 500, 502, 501,
2101 521, 505, 503, 504, 506, 507, 508, 509, 510, 511,
2102 513, 514, 515, 516, 517, 518, 520, 519, 490, 491,
2103 492, 495, 496, 498, 536, 537, 546, 545, 544, 543,
2104 542, 541, 529, 548, 538, 539, 540, 523, 524, 525,
2105 526, 549, 550, 554, 556, 555, 557, 558, 535, 560,
2106 559, 493, 562, 564, 563, 497, 567, 565, 566, 561,
2107 494, 547, 488, 263, 485, 0, 238, 284, 285, 283,
2108 276, 0, 277, 239, 310, 0, 0, 0, 0, 114,
2109 0, 210, 0, 705, 0, 56, 286, 56, 117, 0,
2110 0, 125, 803, 650, 0, 56, 156, 69, 0, 418,
2111 757, 452, 108, 240, 241, 313, 150, 0, 0, 260,
2112 253, 0, 0, 0, 265, 267, 0, 0, 272, 279,
2113 280, 278, 0, 0, 229, 0, 0, 0, 0, 209,
2114 707, 0, 468, 625, 0, 0, 56, 119, 0, 658,
2115 0, 0, 0, 88, 243, 45, 0, 244, 245, 0,
2116 0, 259, 262, 486, 487, 0, 254, 281, 282, 274,
2117 275, 273, 311, 308, 233, 231, 312, 0, 469, 624,
2118 0, 406, 287, 0, 121, 0, 159, 453, 0, 112,
2119 0, 293, 261, 264, 0, 670, 235, 0, 466, 403,
2120 408, 157, 0, 0, 89, 250, 0, 292, 309, 0,
2121 625, 304, 670, 467, 0, 111, 0, 0, 249, 803,
2122 670, 185, 305, 306, 307, 827, 303, 0, 0, 0,
2123 248, 0, 304, 0, 803, 0, 247, 288, 56, 234,
2124 827, 0, 189, 187, 0, 56, 0, 0, 190, 0,
2125 186, 236, 0, 289, 0, 193, 184, 0, 192, 107,
2126 194, 0, 183, 191, 0, 196, 195
2129 /* YYDEFGOTO[NTERM-NUM]. */
2130 static const yytype_int16 yydefgoto[] =
2132 -1, 1, 2, 4, 118, 737, 517, 176, 264, 265,
2133 120, 121, 122, 123, 124, 125, 309, 540, 541, 436,
2134 231, 1243, 442, 1173, 1459, 705, 261, 478, 1423, 884,
2135 1016, 1474, 325, 177, 542, 771, 930, 1062, 543, 558,
2136 789, 501, 787, 544, 522, 788, 327, 280, 297, 131,
2137 773, 740, 723, 893, 1191, 979, 837, 1377, 1246, 657,
2138 843, 441, 665, 845, 1095, 650, 827, 830, 969, 1479,
2139 1480, 532, 533, 552, 553, 269, 270, 274, 1021, 1125,
2140 1209, 1357, 1465, 1482, 1387, 1427, 1428, 1429, 1197, 1198,
2141 1199, 1388, 1394, 1436, 1202, 1203, 1207, 1350, 1351, 1352,
2142 1368, 1509, 1126, 1127, 178, 133, 1495, 1496, 1355, 1129,
2143 134, 224, 437, 438, 135, 136, 137, 138, 139, 140,
2144 141, 142, 1228, 143, 770, 929, 144, 228, 304, 432,
2145 526, 527, 1001, 528, 1002, 145, 146, 147, 684, 148,
2146 149, 258, 150, 259, 466, 467, 468, 469, 470, 471,
2147 472, 473, 474, 695, 696, 876, 475, 476, 477, 702,
2148 1413, 151, 523, 1217, 524, 906, 745, 1037, 1034, 1343,
2149 1344, 152, 153, 154, 218, 225, 312, 422, 155, 860,
2150 688, 156, 861, 416, 755, 862, 814, 950, 952, 953,
2151 954, 816, 1074, 1075, 817, 631, 407, 186, 187, 157,
2152 535, 390, 391, 761, 158, 219, 180, 160, 161, 162,
2153 163, 164, 165, 166, 588, 167, 221, 222, 504, 210,
2154 211, 591, 592, 1007, 1008, 289, 290, 731, 168, 494,
2155 169, 531, 170, 251, 281, 320, 451, 856, 913, 721,
2156 668, 669, 670, 252, 253, 757
2159 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2160 STATE-NUM. */
2161 #define YYPACT_NINF -1219
2162 static const yytype_int16 yypact[] =
2164 -1219, 161, -1219, -1219, 4161, 11635, 11635, 8, 11635, 11635,
2165 11635, -1219, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2166 11635, 11635, 11635, 11635, 13475, 13475, 9009, 11635, 13540, 29,
2167 169, -1219, -1219, -1219, -1219, -1219, 200, -1219, -1219, 11635,
2168 -1219, 169, 174, 180, 206, 169, 9211, 10263, 9413, -1219,
2169 13059, 8605, 125, 11635, 14024, 93, -1219, -1219, -1219, 237,
2170 295, 43, 221, 226, 234, 270, -1219, 10263, 280, 282,
2171 -1219, -1219, -1219, -1219, -1219, 264, 13822, -1219, -1219, 10263,
2172 9615, -1219, -1219, -1219, -1219, -1219, -1219, 10263, -1219, 331,
2173 287, 10263, 10263, -1219, 11635, -1219, -1219, -1219, -1219, -1219,
2174 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2175 -1219, 11635, -1219, -1219, 300, 315, 337, 337, -1219, 467,
2176 359, 235, -1219, 309, -1219, 36, -1219, 482, -1219, -1219,
2177 -1219, 14067, 512, -1219, -1219, 319, 350, 352, 360, 367,
2178 369, 12108, -1219, -1219, -1219, -1219, 492, -1219, 507, 517,
2179 377, -1219, 94, 384, 441, -1219, -1219, 528, 92, 2322,
2180 96, 391, 112, 113, 392, 126, -1219, 101, -1219, 529,
2181 -1219, -1219, -1219, 447, 398, 448, -1219, 482, 512, 14527,
2182 3470, 14527, 11635, 14527, 14527, 4349, 553, 10263, -1219, -1219,
2183 547, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2184 -1219, -1219, 2494, 434, -1219, 457, 479, 479, 13475, 13311,
2185 401, 595, -1219, 447, 2494, 434, 462, 463, 413, 118,
2186 -1219, 486, 96, 9817, -1219, -1219, 11635, 3262, 602, 45,
2187 14527, 8201, -1219, 11635, 11635, 10263, -1219, -1219, 12364, 419,
2188 -1219, 12405, 13059, 13059, 454, -1219, -1219, 418, 12833, 604,
2189 -1219, 613, -1219, 10263, 555, -1219, 436, 12446, 438, 591,
2190 -1219, 35, 12487, 10263, 53, -1219, 49, -1219, 13287, 58,
2191 -1219, -1219, -1219, 629, 59, 13475, 13475, 11635, 464, 484,
2192 -1219, -1219, 13337, 9009, 84, 252, -1219, 11837, 13475, 304,
2193 -1219, 10263, -1219, -19, 359, 470, 14249, -1219, -1219, -1219,
2194 563, 636, 567, 14527, 79, 478, 14527, 481, 1865, 4363,
2195 11635, 351, 474, 348, 351, 296, 283, -1219, 10263, 13059,
2196 483, 10019, 13059, -1219, -1219, 8849, -1219, -1219, -1219, -1219,
2197 482, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 11635, 11635,
2198 11635, 10221, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2199 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2200 11635, 11635, 11635, 13540, -1219, 11635, 11635, -1219, 11635, 12648,
2201 10263, 10263, 14067, 579, 543, 8403, 11635, 11635, 11635, 11635,
2202 11635, 11635, 11635, 11635, 11635, 11635, 11635, -1219, -1219, 13594,
2203 -1219, 119, 11635, 11635, -1219, 10019, 11635, 11635, 300, 127,
2204 13337, 485, 482, 10423, 12534, -1219, 487, 674, 2494, 488,
2205 17, 13635, 479, 10625, -1219, 10827, -1219, 491, 19, -1219,
2206 145, 10019, -1219, 13685, -1219, 128, -1219, -1219, 12575, -1219,
2207 -1219, 11029, -1219, 11635, -1219, 606, 7393, 682, 495, 14443,
2208 681, 44, 14, -1219, -1219, -1219, -1219, -1219, 13059, 615,
2209 502, 689, -1219, 13239, -1219, 519, -1219, -1219, -1219, 630,
2210 11635, 631, 632, 11635, 11635, 11635, -1219, 591, -1219, -1219,
2211 -1219, -1219, -1219, -1219, -1219, 530, -1219, -1219, -1219, 518,
2212 -1219, -1219, 263, 14024, -1219, 10263, 11635, 479, 93, -1219,
2213 13239, 637, -1219, 479, 51, 55, 524, 525, 2139, 527,
2214 10263, 601, 531, 479, 80, 532, 14008, 10263, -1219, -1219,
2215 667, 66, -48, -1219, -1219, -1219, 359, -1219, -1219, -1219,
2216 -1219, 11635, 609, 570, 170, -1219, 617, 728, 546, 13059,
2217 13059, 730, 552, 738, -1219, 13059, 86, 686, 102, -1219,
2218 -1219, -1219, -1219, -1219, -1219, 1781, -1219, -1219, -1219, -1219,
2219 48, 13475, 554, 744, 14527, 741, -1219, -1219, 640, 9051,
2220 14567, 4149, 4349, 11635, 14486, 4752, 4953, 5154, 5355, 3940,
2221 5556, 5556, 5556, 5556, 1319, 1319, 1319, 1319, 790, 790,
2222 473, 473, 473, 547, 547, 547, -1219, 14527, 560, 562,
2223 14290, 558, 756, -1219, 11635, -40, 571, 127, -1219, -1219,
2224 -1219, 482, 3443, 11635, -1219, -1219, 4349, -1219, 4349, 4349,
2225 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 11635,
2226 -40, 583, 572, 2280, 586, 581, 2849, 81, 589, -1219,
2227 2395, -1219, 10263, -1219, 478, 86, 434, 13475, 14527, 13475,
2228 14346, 88, 132, -1219, 592, 11635, -1219, -1219, -1219, 7191,
2229 104, -1219, 14527, 14527, 169, -1219, -1219, -1219, 11635, 13108,
2230 13239, 10263, 7595, 588, 590, -1219, 56, 668, -1219, 782,
2231 597, 12913, 13059, 13239, 13239, 13239, 599, 233, 652, 607,
2232 608, 253, -1219, 653, -1219, 603, -1219, -1219, -1219, 11635,
2233 616, 14527, 624, 792, 12657, 800, -1219, 14527, 12616, -1219,
2234 530, 736, -1219, 4565, 13967, 614, 10263, -1219, -1219, 2954,
2235 -1219, -1219, 799, 13475, 618, -1219, -1219, -1219, -1219, -1219,
2236 722, 114, 13967, 621, 13337, 13421, 802, -1219, -1219, -1219,
2237 -1219, 619, -1219, 11635, -1219, -1219, 3754, -1219, 14527, 13967,
2238 622, -1219, -1219, -1219, -1219, 809, 11635, 563, -1219, -1219,
2239 633, -1219, 13059, 801, 95, -1219, -1219, 150, 13726, -1219,
2240 133, -1219, -1219, 13059, -1219, 479, -1219, 11231, -1219, 13239,
2241 75, 644, 13967, 609, -1219, -1219, 4551, 11635, -1219, -1219,
2242 11635, -1219, 11635, -1219, 3198, 646, 10019, 601, 609, 640,
2243 10263, 13540, 479, 3531, 647, 10019, -1219, -1219, 137, -1219,
2244 -1219, 812, 2880, 2880, 2395, -1219, -1219, -1219, -1219, 650,
2245 240, 654, 655, -1219, -1219, -1219, 822, 651, 487, 479,
2246 479, 11433, -1219, 139, -1219, -1219, 3659, 293, 169, 8201,
2247 -1219, 4767, 657, 4969, 662, 13475, 671, 724, 479, -1219,
2248 838, -1219, -1219, -1219, -1219, 353, -1219, 64, 13059, -1219,
2249 13059, 615, -1219, -1219, -1219, 858, 676, 677, -1219, -1219,
2250 746, 672, 866, 13239, 737, 10263, 563, 13239, 9657, 13239,
2251 14527, 11635, 11635, 11635, -1219, -1219, -1219, 11635, 11635, -1219,
2252 591, -1219, 803, -1219, -1219, -1219, -1219, 13239, 479, -1219,
2253 13059, 10263, -1219, 867, -1219, -1219, 82, 684, 479, 8807,
2254 -1219, 2207, -1219, 3959, 867, -1219, 7, 199, 14527, 757,
2255 -1219, 685, 13059, 602, 13059, 808, 870, 810, 11635, -40,
2256 691, -1219, 13475, 14527, -1219, 692, 75, -1219, 693, 75,
2257 694, 4551, 14527, 14387, 695, 10019, 696, 697, 698, 609,
2258 -1219, 413, 699, 10019, 701, 11635, -1219, -1219, -1219, -1219,
2259 -1219, -1219, 774, 702, 891, 2395, 767, -1219, 563, 2395,
2260 2395, -1219, -1219, -1219, 13475, 14527, -1219, 169, 881, 840,
2261 8201, -1219, -1219, -1219, 713, 11635, 479, 13337, 13108, 715,
2262 13239, 5171, 444, 716, 11635, 46, 67, -1219, 748, -1219,
2263 -1219, 12979, 888, -1219, 13239, -1219, 13239, -1219, 721, -1219,
2264 794, 910, 729, 731, -1219, -1219, 805, 725, 917, 14527,
2265 12744, 14527, -1219, 14527, -1219, 740, -1219, -1219, -1219, 841,
2266 13967, 399, -1219, 13337, -1219, -1219, 4349, 735, -1219, 416,
2267 -1219, 179, 11635, -1219, -1219, -1219, 11635, -1219, 11635, -1219,
2268 -1219, -1219, 189, 924, 13239, -1219, 3705, 745, 10019, 479,
2269 801, 749, -1219, 752, 75, 11635, 10019, 754, -1219, -1219,
2270 -1219, 755, 747, -1219, 10019, 758, -1219, 2395, -1219, 2395,
2271 -1219, 761, -1219, 828, 762, 950, 764, -1219, 479, 934,
2272 -1219, 765, -1219, -1219, 771, 110, -1219, -1219, -1219, 766,
2273 772, -1219, 3145, -1219, -1219, -1219, -1219, -1219, -1219, 13059,
2274 -1219, 847, -1219, 13239, 563, -1219, -1219, -1219, 13239, -1219,
2275 13239, -1219, 11635, 777, 5373, 13059, -1219, 22, 13059, 13967,
2276 -1219, 13919, 819, 8445, -1219, -1219, -1219, 579, 12767, 60,
2277 543, 111, -1219, -1219, 834, 12023, 12064, 14527, 909, 971,
2278 912, 13239, -1219, 793, 10019, 796, 884, 801, 972, 801,
2279 797, 14527, 804, -1219, 1444, 1461, -1219, 75, 806, -1219,
2280 -1219, 875, -1219, 2395, -1219, 563, -1219, -1219, -1219, 7191,
2281 -1219, -1219, -1219, 7797, -1219, -1219, -1219, 7191, 807, 13239,
2282 -1219, 882, -1219, 883, 12703, -1219, -1219, -1219, 13967, 13967,
2283 995, 41, -1219, -1219, -1219, 62, 813, 63, -1219, 12182,
2284 -1219, -1219, 65, -1219, -1219, 13870, -1219, 815, -1219, 938,
2285 482, -1219, 13059, -1219, 579, -1219, -1219, -1219, -1219, -1219,
2286 1001, 13239, -1219, -1219, 10019, 820, -1219, 823, 821, 245,
2287 -1219, 884, 801, -1219, -1219, -1219, 1589, 824, -1219, 2395,
2288 -1219, 893, 7191, 7999, -1219, -1219, -1219, 7191, -1219, -1219,
2289 13239, 13239, 11635, 5575, 825, 826, 13239, 13967, -1219, -1219,
2290 850, 13919, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2291 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2292 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2293 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2294 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2295 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2296 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2297 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2298 -1219, -1219, -1219, 504, -1219, 819, -1219, -1219, -1219, -1219,
2299 -1219, 40, 123, -1219, 1007, 70, 10263, 938, 1012, 482,
2300 13239, -1219, 831, -1219, 338, -1219, -1219, -1219, -1219, 830,
2301 245, -1219, 801, -1219, 2395, -1219, -1219, -1219, 5777, -1219,
2302 -1219, 12171, -1219, -1219, -1219, -1219, -1219, 13776, 33, -1219,
2303 -1219, 13239, 12182, 12182, 977, -1219, 13870, 13870, 489, -1219,
2304 -1219, -1219, 13239, 955, -1219, 836, 76, 13239, 10263, -1219,
2305 -1219, 957, -1219, 1026, 5979, 6181, -1219, -1219, 245, -1219,
2306 6383, 839, 965, 939, -1219, 952, 903, -1219, -1219, 956,
2307 850, -1219, -1219, -1219, -1219, 895, -1219, 1017, -1219, -1219,
2308 -1219, -1219, -1219, 1038, -1219, -1219, -1219, 859, -1219, 422,
2309 857, -1219, -1219, 6585, -1219, 860, -1219, -1219, 861, 896,
2310 10263, 543, -1219, -1219, 13239, 87, -1219, 980, -1219, -1219,
2311 -1219, -1219, 13967, 614, -1219, 902, 10263, 361, -1219, 868,
2312 1057, 453, 87, -1219, 992, -1219, 13967, 871, -1219, 801,
2313 89, -1219, -1219, -1219, -1219, 13059, -1219, 873, 876, 77,
2314 -1219, 336, 453, 306, 801, 877, -1219, -1219, -1219, -1219,
2315 13059, 996, 1062, 1002, 336, -1219, 6787, 308, 1073, 13239,
2316 -1219, -1219, 6989, -1219, 1013, 1075, 1015, 13239, -1219, -1219,
2317 1077, 13239, -1219, -1219, 13239, -1219, -1219
2320 /* YYPGOTO[NTERM-NUM]. */
2321 static const yytype_int16 yypgoto[] =
2323 -1219, -1219, -1219, -484, -1219, -1219, -1219, -4, -1219, 611,
2324 5, 1009, -286, -1219, 1511, -1219, -305, -1219, 3, -1219,
2325 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -381,
2326 -1219, -1219, -165, 13, -1, -1219, -1219, -1219, 0, -1219,
2327 -1219, -1219, -1219, 2, -1219, -1219, 726, 727, 732, 942,
2328 307, -658, 313, 362, -384, -1219, 129, -1219, -1219, -1219,
2329 -1219, -1219, -1219, -628, 12, -1219, -1219, -1219, -1219, -376,
2330 -1219, -742, -1219, -355, -1219, -1219, 620, -1219, -867, -1219,
2331 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -152,
2332 -1219, -1219, -1219, -1219, -1219, -233, -1219, -10, -855, -1219,
2333 -1218, -399, -1219, -156, 20, -130, -385, -1219, -239, -1219,
2334 -67, -20, 1081, -623, -353, -1219, -1219, -42, -1219, -1219,
2335 2737, -31, -109, -1219, -1219, -1219, -1219, -1219, -1219, 212,
2336 -713, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2337 -1219, 753, -1219, -1219, 249, -1219, 663, -1219, -1219, -1219,
2338 -1219, -1219, -1219, -1219, 254, -1219, 665, -1219, -1219, 433,
2339 -1219, 229, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2340 -848, -1219, 1309, 1014, -336, -1219, -1219, 195, 1412, 99,
2341 -1219, -1219, -741, -394, -548, -1219, -1219, 334, -607, -753,
2342 -1219, -1219, -1219, -1219, -1219, 320, -1219, -1219, -1219, -211,
2343 -722, -182, -174, -140, -1219, -1219, 27, -1219, -1219, -1219,
2344 -1219, -12, -141, -1219, 6, -1219, -1219, -1219, -392, 856,
2345 -1219, -1219, -1219, -1219, -1219, 456, 357, -1219, -1219, 869,
2346 -1219, -1219, -1219, -311, -73, -186, -289, -1219, -1013, -1219,
2347 291, -1219, -1219, -1219, -187, -899
2350 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2351 positive, shift that token. If negative, reduce the rule which
2352 number is the opposite. If zero, do what YYDEFACT says.
2353 If YYTABLE_NINF, syntax error. */
2354 #define YYTABLE_NINF -797
2355 static const yytype_int16 yytable[] =
2357 119, 373, 331, 128, 129, 768, 130, 126, 627, 256,
2358 227, 555, 401, 633, 298, 1042, 220, 127, 301, 302,
2359 394, 232, 604, 815, 132, 236, 399, 586, 925, 419,
2360 550, 159, 914, 736, 909, 834, 847, 1146, 1029, 424,
2361 624, 663, 1430, 239, 305, 322, 249, 425, 331, 1396,
2362 1257, 206, 207, 661, 433, 446, 447, 763, 328, 266,
2363 713, 452, 483, 279, 713, 848, 644, 488, 491, 1212,
2364 1397, -255, 1261, 1093, 1345, 389, 338, 339, 340, 1403,
2365 307, 293, 426, 279, 294, 1403, 1257, 279, 279, 725,
2366 725, 725, 341, 534, 342, 343, 344, 345, 346, 347,
2367 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
2368 358, 359, 360, 361, 362, 928, 363, 11, 273, 725,
2369 725, 11, 998, 891, 649, 319, 1003, 279, 318, 11,
2370 938, 11, 452, 748, 1229, 409, 1231, 11, 308, 479,
2371 389, 485, 389, 1188, 1189, 330, 506, 417, 392, 1399,
2372 392, 735, 1417, 1000, -694, -796, -691, 1030, 392, 984,
2373 985, 3, 984, 985, -698, 559, 1400, 682, 267, 1401,
2374 1031, 828, 829, 703, -692, -693, 200, 374, 518, 519,
2375 -729, -695, 915, 406, 1051, 1148, -572, 1053, 396, 396,
2376 -730, 402, 1154, 1155, -732, -696, 318, 480, 783, -697,
2377 1454, -731, 1071, 182, 682, 1032, 1076, 507, -409, 758,
2378 496, 423, 664, 538, 764, 642, 982, 742, 986, 1370,
2379 200, 1138, 849, 119, 223, 916, 1134, 119, 597, 410,
2380 430, 440, 1431, 323, 435, 412, 1398, 628, 1258, 1259,
2381 662, 418, 434, 1094, 331, 1073, 497, 714, 597, 454,
2382 484, 715, 557, 903, 159, 489, 492, 1213, 159, -255,
2383 1262, 666, 1346, 987, 1139, 734, 1096, 1404, 482, -573,
2384 597, -202, -202, 1445, 1506, 852, 726, 801, 1022, 597,
2385 892, 1061, 597, -188, 393, -624, 393, -700, -624, 1236,
2386 -694, -624, -691, 268, 393, 487, 516, -701, 298, 328,
2387 -698, 398, 493, 493, 498, 119, 1172, 1215, 917, 503,
2388 -692, -693, 1150, 864, 549, 512, -729, -695, 249, 743,
2389 956, 279, 127, 260, 397, 397, -730, 284, 299, 132,
2390 -732, -696, 896, 605, 744, -697, 159, -731, 1511, 284,
2391 1524, 634, 750, 751, 285, 114, 831, 1140, 756, 1035,
2392 833, 220, 1084, 1077, 759, 706, 271, 596, 284, 1418,
2393 967, 968, 760, 513, 226, 595, 279, 279, 279, 233,
2394 1411, 284, 589, 286, 682, 234, 513, 621, -796, 284,
2395 957, 1512, 855, 1525, 513, 620, 601, 682, 682, 682,
2396 284, 1181, 508, 287, 288, 311, -796, 1036, 622, 596,
2397 319, 235, 625, 1117, 286, 287, 288, 636, 643, 785,
2398 318, 647, 284, 1412, 272, 1237, 275, 314, 319, 646,
2399 1117, 276, 961, 284, 287, 288, 284, 503, 513, 277,
2400 -796, 936, 119, -796, 794, 410, 790, 287, 288, 656,
2401 944, 11, 1366, 1367, 514, 287, 288, 983, 984, 985,
2402 785, -796, 1241, 759, 1467, 941, 287, 288, 11, 822,
2403 1160, 760, 1161, 159, 1513, 278, 1526, 823, 997, 56,
2404 57, 58, 171, 172, 329, 282, 1501, 283, 287, 288,
2405 299, 708, 300, 682, 452, 857, 775, 548, 266, 287,
2406 288, 1514, 287, 288, 317, 419, 720, 1468, 310, 547,
2407 1118, 824, 730, 732, 321, 1119, 318, 56, 57, 58,
2408 171, 172, 329, 1120, 324, 1439, 332, 1118, 1391, 360,
2409 361, 362, 1119, 363, 56, 57, 58, 171, 172, 329,
2410 1120, 1392, 1440, 1507, 1508, 1441, 981, 95, 1090, 984,
2411 985, 1437, 1438, 534, 1433, 1434, 1024, 333, 1393, 334,
2412 1121, 1122, 687, 1123, -431, 279, 1240, 335, 1488, 534,
2413 1070, 1492, 1493, 1494, 336, 911, 337, 1121, 1122, 365,
2414 1123, 313, 315, 316, 367, 95, 921, 682, 765, 366,
2415 1057, 682, 368, 682, 369, 1085, 395, -699, 1065, 711,
2416 -572, -432, 95, 400, 405, 291, 1503, 363, 1124, 319,
2417 411, 682, 389, 414, 415, -571, 420, 1105, 421, 423,
2418 431, 1517, 49, 449, 1111, 1133, 444, 597, -791, 448,
2419 56, 57, 58, 171, 172, 329, 813, 453, 818, 792,
2420 455, 1131, 1373, 456, 832, 458, 56, 57, 58, 59,
2421 60, 329, 509, 490, 525, 119, 515, 66, 370, 500,
2422 529, 56, 57, 58, 171, 172, 329, 840, 119, 530,
2423 499, 988, 127, 989, 819, 842, 820, 520, 509, 132,
2424 515, 509, 515, 515, 536, 546, 159, 537, -51, 49,
2425 556, 1166, 630, 632, 635, 371, 838, 641, 95, 159,
2426 654, 433, 658, 1145, 682, 660, 667, 671, 672, 119,
2427 689, 1152, 885, 1018, 95, 690, 692, 693, 682, 1158,
2428 682, 1114, 712, 704, 701, 534, 127, 940, 534, 95,
2429 716, 717, 722, 132, 719, 1040, 724, 756, 727, 733,
2430 159, 739, 119, 1047, 741, 128, 129, 747, 130, 126,
2431 888, 746, 749, 1481, 752, 753, 920, 754, -433, 127,
2432 766, 503, 898, 767, 919, 769, 132, 781, 682, 839,
2433 1481, 772, 778, 159, 779, 782, 786, 1419, 1502, 459,
2434 460, 461, 858, 859, 796, 1169, 462, 463, 795, 220,
2435 464, 465, 798, 799, 774, 844, 279, 846, 825, 1225,
2436 1177, 851, 850, 853, 863, 865, 868, 871, 949, 949,
2437 813, 869, 866, 867, 921, 872, 873, 1190, 970, 877,
2438 1130, 880, 883, 887, 890, 889, 899, 682, 1130, 895,
2439 905, 900, 682, 907, 682, 119, 945, 119, 912, 119,
2440 910, 960, 971, 357, 358, 359, 360, 361, 362, 926,
2441 363, 935, 943, 534, 127, 955, 127, 962, 978, 958,
2442 959, 132, 980, 132, 973, 682, 159, 1025, 159, 975,
2443 159, 999, 976, 1242, 1005, 1450, 977, 991, 924, 1362,
2444 994, 1247, 992, 993, 995, 996, 1020, 508, 1015, 1023,
2445 1253, 1038, 1039, 1043, 1044, 1045, 1048, 1019, 1050, 1054,
2446 1056, 1052, 1058, 682, 1064, 1059, 1060, 1066, 1067, 119,
2447 1069, 1358, 128, 129, 1068, 130, 126, 1072, 1080, 1081,
2448 1083, 1087, 1178, 1091, 1097, 1099, 127, 1102, 1103, 1104,
2449 31, 32, 33, 132, 1109, 1106, 1110, 1107, 1187, 1108,
2450 159, 38, 1491, 1115, 1132, 682, 1113, 1130, 1141, 1378,
2451 1144, 1211, 1157, 1130, 1130, 1147, 534, 1079, 1149, 1049,
2452 1153, 813, 1163, 1156, 1159, 813, 813, 1162, 1164, 1165,
2453 1167, 1168, 1170, 1174, 682, 682, 119, 1171, 1006, 1175,
2454 682, 1179, 1201, 1082, 1214, 1185, 1117, 119, 70, 71,
2455 72, 73, 74, 1216, 1220, 1221, 1017, 1222, 1224, 677,
2456 1227, 1078, 1226, 1232, 127, 77, 78, 159, 331, 1239,
2457 1233, 132, 1238, 1248, 503, 838, 1250, 1251, 159, 1256,
2458 88, 1260, 1353, 1354, 11, 1360, 1363, 1374, 1364, 1365,
2459 1372, 1402, 1383, 1384, 93, 1130, 1407, 1410, 1416, 1435,
2460 1443, 1444, 1448, 203, 203, 1449, 1456, 215, 205, 205,
2461 1457, 1128, 217, 1458, -251, 1356, 1460, 1397, 1461, 1128,
2462 503, 1463, 1464, 1469, 1466, 1483, 1472, 1471, 1473, 215,
2463 1414, 1486, 1415, 813, 1489, 813, 1490, 1498, 1500, 1504,
2464 1420, 1518, 1505, 1118, 682, 1515, 1519, 1520, 1119, 1088,
2465 56, 57, 58, 171, 172, 329, 1120, 1527, 1530, 1531,
2466 1532, 1534, 1485, 1100, 707, 1101, 939, 598, 600, 372,
2467 937, 904, 1499, 599, 1176, 682, 1497, 1086, 710, 1390,
2468 119, 1453, 1395, 1208, 249, 1521, 682, 1510, 1406, 1206,
2469 229, 682, 1369, 1121, 1122, 1041, 1123, 127, 607, 1014,
2470 699, 1012, 700, 879, 132, 1033, 1063, 951, 963, 505,
2471 1210, 159, 990, 1142, 0, 495, 0, 0, 95, 0,
2472 374, 0, 0, 0, 0, 0, 0, 0, 0, 813,
2473 0, 0, 0, 0, 0, 119, 0, 0, 1128, 119,
2474 0, 1230, 0, 119, 1128, 1128, 1245, 0, 682, 0,
2475 0, 0, 127, 0, 0, 0, 0, 0, 0, 132,
2476 127, 0, 0, 0, 1408, 1342, 159, 132, 0, 0,
2477 159, 1349, 1180, 1516, 159, 0, 0, 1182, 249, 1183,
2478 1522, 203, 0, 0, 0, 0, 205, 203, 0, 0,
2479 0, 0, 205, 203, 0, 0, 0, 1359, 205, 0,
2480 0, 0, 0, 682, 0, 813, 0, 0, 119, 119,
2481 1223, 682, 0, 119, 0, 682, 1376, 0, 682, 119,
2482 0, 215, 215, 0, 534, 127, 1128, 215, 0, 0,
2483 127, 0, 132, 0, 0, 0, 127, 132, 0, 159,
2484 159, 534, 0, 132, 159, 0, 0, 203, 1249, 534,
2485 159, 0, 205, 1405, 203, 203, 0, 0, 0, 205,
2486 205, 203, 0, 0, 0, 0, 205, 203, 0, 0,
2487 0, 0, 205, 0, 0, 1476, 0, 0, 756, 0,
2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2489 1361, 0, 0, 756, 0, 0, 0, 0, 215, 0,
2490 0, 215, 0, 204, 204, 1447, 0, 216, 0, 0,
2491 0, 0, 0, 0, 0, 0, 0, 331, 0, 1379,
2492 1380, 0, 279, 0, 0, 1385, -797, -797, -797, -797,
2493 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2494 813, 0, 215, 0, 119, 0, 0, 217, 0, 0,
2495 0, 0, 0, 1425, 0, 0, 0, 0, 1342, 1342,
2496 0, 127, 1349, 1349, 0, 0, 0, 0, 132, 0,
2497 0, 0, 0, 0, 279, 159, 0, 0, 0, 203,
2498 119, 119, 0, 0, 205, 0, 119, 203, 0, 0,
2499 0, 0, 205, 0, 0, 0, 0, 127, 127, 0,
2500 0, 0, 0, 127, 132, 132, 0, 0, 0, 0,
2501 132, 159, 159, 0, 0, 0, 0, 159, 1117, 119,
2502 0, 0, 0, 0, 0, 0, 1475, 215, 0, 1409,
2503 0, 0, 681, 0, 0, 1117, 127, 0, 0, 0,
2504 0, 0, 1487, 132, 0, 0, 0, 0, 0, 0,
2505 159, 1477, 0, 0, 0, 0, 11, 0, 0, 0,
2506 1432, 0, 0, 0, 0, 0, 0, 0, 0, 681,
2507 0, 1442, 0, 11, 0, 0, 1446, 0, 0, 0,
2508 0, 0, 119, 0, 0, 0, 0, 204, 119, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
2510 0, 0, 0, 0, 0, 127, 132, 0, 215, 215,
2511 0, 0, 132, 159, 215, 1118, 0, 0, 0, 159,
2512 1119, 0, 56, 57, 58, 171, 172, 329, 1120, 0,
2513 203, 250, 1118, 1478, 0, 205, 0, 1119, 0, 56,
2514 57, 58, 171, 172, 329, 1120, 0, 204, 0, 0,
2515 0, 0, 0, 0, 204, 204, 0, 0, 0, 0,
2516 0, 204, 0, 1117, 0, 1121, 1122, 204, 1123, 0,
2517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2518 0, 203, 1121, 1122, 0, 1123, 205, 0, 1528, 0,
2519 95, 0, 0, 0, 0, 0, 1533, 0, 0, 0,
2520 1535, 11, 0, 1536, 0, 0, 0, 95, 0, 0,
2521 0, 0, 0, 1234, 0, 0, 203, 0, 203, 0,
2522 0, 205, 0, 205, 0, 0, 0, 0, 0, 0,
2523 1235, 0, 0, 0, 0, 0, 0, 0, 203, 681,
2524 0, 0, 216, 205, 0, 0, 0, 0, 0, 0,
2525 215, 215, 681, 681, 681, 0, 0, 0, 0, 0,
2526 1118, 0, 0, 0, 0, 1119, 0, 56, 57, 58,
2527 171, 172, 329, 1120, 0, 0, 0, 0, 0, 204,
2528 0, 0, 0, 215, 0, 0, 0, 0, 0, 0,
2529 0, 0, 203, 0, 0, 0, 0, 205, 0, 0,
2530 0, 215, 0, 203, 203, 0, 0, 0, 205, 205,
2531 1121, 1122, 0, 1123, 0, 0, 0, 0, 215, 0,
2532 0, 0, 0, 250, 250, 0, 0, 0, 0, 250,
2533 0, 215, 685, 0, 0, 95, 0, 0, 0, 0,
2534 0, 0, 215, 0, 0, 0, 0, 0, 681, 0,
2535 0, 215, 0, 0, 0, 0, 0, 0, 1371, 0,
2536 0, 338, 339, 340, 0, 0, 0, 0, 0, 685,
2537 215, 0, 0, 0, 0, 217, 0, 341, 0, 342,
2538 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2539 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2540 250, 363, 0, 250, 0, 0, 0, 0, 0, 0,
2541 0, 0, 0, 0, 203, 0, 0, 0, 0, 205,
2542 0, 0, 0, 0, 0, 0, 0, 215, 0, 215,
2543 204, 0, 0, 0, 0, 686, 0, 0, 0, 0,
2544 0, 0, 681, 0, 0, 0, 681, 0, 681, 403,
2545 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
2546 386, 0, 0, 0, 0, 0, 681, 0, 0, 215,
2547 0, 0, 686, 0, 0, 0, 0, 0, 0, 0,
2548 0, 204, 0, 0, 0, 0, 0, 0, 0, 0,
2549 0, 215, 0, 215, 0, 387, 388, 0, 0, 0,
2550 0, 203, 0, 0, 0, 0, 205, 0, 0, 0,
2551 0, 0, 0, 0, 0, 0, 204, 0, 204, 0,
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 250,
2553 0, 0, 0, 0, 683, 0, 0, 0, 204, 685,
2554 0, 0, 0, 203, 0, 0, 0, 0, 205, 0,
2555 762, 0, 685, 685, 685, 0, 203, 203, 389, 681,
2556 0, 205, 205, 0, 0, 0, 0, 0, 0, 0,
2557 215, 683, 0, 681, 0, 681, 0, 0, 0, 0,
2558 0, 0, 0, 882, 0, 0, 0, 0, 0, 0,
2559 0, 0, 204, 0, 0, 0, 0, 0, 0, 215,
2560 0, 894, 203, 204, 204, 0, 0, 205, 0, 0,
2561 250, 250, 0, 0, 0, 0, 250, 0, 894, 0,
2562 0, 0, 0, 681, 0, 0, 0, 0, 0, 0,
2563 0, 538, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 686, 0, 0, 0, 0, 0, 685, 0,
2565 0, 927, 0, 0, 0, 686, 686, 686, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 216, 0, 0, 0, 0, 0, 0, 0, 215, 0,
2568 0, 0, 681, 0, 0, 0, 0, 681, 0, 681,
2569 0, 0, 0, 0, 215, 0, 0, 215, 215, 0,
2570 215, 0, 0, 0, 0, 0, 0, 215, 0, 0,
2571 0, 0, 0, 0, 204, 0, 0, 0, 0, 0,
2572 681, 0, 0, 403, 376, 377, 378, 379, 380, 381,
2573 382, 383, 384, 385, 386, 0, 0, 0, 0, 0,
2574 0, 683, 685, 0, 0, 0, 685, 0, 685, 0,
2575 0, 686, 250, 250, 683, 683, 683, 0, 681, 0,
2576 0, 0, 0, 0, 0, 0, 685, 215, 215, 387,
2577 388, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
2579 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
2580 681, 204, 0, 341, 0, 342, 343, 344, 345, 346,
2581 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
2582 357, 358, 359, 360, 361, 362, 0, 363, 0, 681,
2583 681, 0, 389, 250, 0, 681, 215, 0, 0, 0,
2584 215, 0, 0, 204, 250, 686, 0, 0, 0, 686,
2585 683, 686, 0, 0, 0, 0, 204, 204, 0, 685,
2586 338, 339, 340, 0, 0, 0, 0, 0, 0, 686,
2587 0, 0, 0, 685, 0, 685, 341, 0, 342, 343,
2588 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
2589 354, 355, 356, 357, 358, 359, 360, 361, 362, 1116,
2590 363, 0, 204, 0, 0, 718, 375, 376, 377, 378,
2591 379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
2592 0, 0, 0, 685, 0, 0, 0, 0, 0, 250,
2593 0, 250, 0, 0, 0, 0, 0, 0, 0, 681,
2594 0, 0, 0, 0, 683, 0, 0, 0, 683, 0,
2595 683, 0, 387, 388, 0, 0, 0, 0, 0, 0,
2596 0, 0, 686, 0, 0, 0, 215, 0, 683, 0,
2597 681, 250, 0, 0, 0, 0, 686, 0, 686, 1027,
2598 0, 681, 685, 0, 0, 0, 681, 685, 0, 685,
2599 0, 0, 0, 250, 0, 250, 0, 0, 1192, 0,
2600 1200, 0, 0, 0, 0, 0, 0, 0, 802, 803,
2601 0, 0, 0, 0, 0, 389, 0, 0, 0, 0,
2602 685, 0, 0, 0, 0, 0, 686, 804, 0, 0,
2603 0, 0, 0, 0, 0, 805, 806, 807, 34, 0,
2604 0, 0, 0, 681, 0, 0, 808, 0, 0, 797,
2605 0, 215, 0, 0, 0, 0, 0, 0, 685, 0,
2606 0, 683, 0, 0, 0, 215, 0, 1254, 1255, 0,
2607 0, 0, 250, 0, 215, 683, 0, 683, 0, 0,
2608 0, 0, 0, 0, 0, 686, 0, 0, 0, 215,
2609 686, 809, 686, 0, 0, 0, 0, 0, 681, 0,
2610 685, 0, 0, 0, 810, 0, 681, 0, 0, 0,
2611 681, 0, 0, 681, 0, 0, 82, 83, 0, 84,
2612 85, 86, 0, 686, 0, 683, 0, 27, 28, 685,
2613 685, 0, 0, 0, 811, 685, 1386, 34, 0, 200,
2614 1200, 0, 812, 0, 97, 98, 99, 100, 101, 102,
2615 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
2616 0, 686, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 201, 0, 0,
2618 250, 0, 0, 0, 683, 0, 0, 0, 0, 683,
2619 0, 683, 0, 0, 0, 0, 250, 0, 0, 250,
2620 0, 0, 0, 686, 0, 0, 0, 0, 175, 250,
2621 0, 79, 0, 81, 0, 82, 83, 0, 84, 85,
2622 86, 0, 683, 0, 0, 0, 0, 89, 0, 0,
2623 0, 0, 686, 686, 0, 0, 0, 0, 686, 685,
2624 0, 96, 1389, 97, 98, 99, 100, 101, 102, 103,
2625 104, 105, 106, 107, 108, 109, 0, 0, 0, 408,
2626 683, 0, 0, 0, 114, 0, 0, 0, 0, 0,
2627 685, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 685, 0, 0, 0, 0, 685, 0, 0, 0,
2629 0, 0, 0, 250, 0, 0, 0, 0, 0, 0,
2630 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 179, 181, 0, 183, 184, 185, 0, 188,
2632 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2633 199, 683, 683, 209, 212, 0, 0, 683, 0, 0,
2634 0, 0, 686, 685, 0, 0, 230, 0, 0, 0,
2635 0, 1484, 0, 238, 0, 241, 0, 0, 257, 0,
2636 262, 0, 0, 0, 0, 1192, 0, 0, 0, 0,
2637 0, 0, 0, 686, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 686, 0, 0, 296, 0, 686,
2639 0, 0, 0, 0, 0, 0, 0, 0, 685, 0,
2640 0, 303, 0, 0, 0, 0, 685, 0, 0, 0,
2641 685, 0, 1462, 685, 0, 0, 0, 0, 306, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 338,
2643 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 683, 0, 0, 0, 341, 686, 342, 343, 344,
2645 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2646 355, 356, 357, 358, 359, 360, 361, 362, 1426, 363,
2647 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 683, 0, 0, 0, 0, 683, 404,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 686, 0, 0, 0, 0, 0, 0, 0, 686,
2651 0, 0, 0, 686, 0, 0, 686, 0, 0, 0,
2652 946, 947, 948, 34, 0, 0, 0, 0, 0, 0,
2653 428, 0, 0, 428, 338, 339, 340, 0, 0, 0,
2654 230, 439, 0, 0, 0, 683, 0, 0, 0, 0,
2655 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
2656 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2657 360, 361, 362, 0, 363, 0, 250, 0, 0, 0,
2658 0, 0, 0, 0, 306, 0, 0, 0, 0, 0,
2659 209, 250, 0, 0, 511, 0, 0, 0, 0, 0,
2660 683, 82, 83, 0, 84, 85, 86, 0, 683, 0,
2661 0, 0, 683, 0, 0, 683, 0, 545, 800, 0,
2662 0, 0, 0, 0, 0, 0, 0, 96, 554, 97,
2663 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2664 108, 109, 0, 0, 0, 560, 561, 562, 564, 565,
2665 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2666 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2667 0, 0, 587, 587, 0, 590, 0, 0, 0, 0,
2668 0, 0, 606, 608, 609, 610, 611, 612, 613, 614,
2669 615, 616, 617, 618, 0, 0, 0, 0, 0, 587,
2670 623, 0, 554, 587, 626, 0, 0, 0, 0, 0,
2671 606, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 638, 0, 640, 886, 0, 338, 339, 340, 554, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 652, 0,
2674 653, 341, 1093, 342, 343, 344, 345, 346, 347, 348,
2675 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2676 359, 360, 361, 362, 0, 363, 0, 691, 0, 0,
2677 694, 697, 698, 0, 0, 0, 0, 0, 338, 339,
2678 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 709, 341, 0, 342, 343, 344, 345,
2680 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
2681 356, 357, 358, 359, 360, 361, 362, 0, 363, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 738, 0,
2683 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
2684 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 429,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 776, 0, 0, 0, 0, 12, 13, 0, 0, 0,
2688 0, 14, 0, 15, 16, 17, 18, 19, 20, 21,
2689 22, 23, 24, 25, 26, 27, 28, 29, 30, 0,
2690 0, 784, 31, 32, 33, 34, 35, 36, 0, 37,
2691 296, 0, 1094, 38, 39, 40, 41, 0, 42, 0,
2692 43, 0, 44, 0, 0, 45, 793, 0, 0, 46,
2693 47, 48, 49, 0, 51, 52, 0, 53, 0, 55,
2694 56, 57, 58, 171, 172, 61, 0, 62, 63, 64,
2695 0, 0, 826, 0, 0, 0, 0, 68, 69, 0,
2696 70, 71, 72, 73, 74, 230, 0, 934, 0, 0,
2697 0, 75, 0, 0, 0, 0, 175, 77, 78, 79,
2698 80, 81, 0, 82, 83, 0, 84, 85, 86, 0,
2699 0, 0, 88, 0, 0, 89, 870, 0, 0, 0,
2700 0, 90, 0, 0, 0, 0, 93, 94, 95, 96,
2701 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2702 106, 107, 108, 109, 110, 0, 0, 111, 0, 112,
2703 113, 0, 114, 115, 0, 116, 117, 0, 0, 0,
2704 901, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 908, 403, 376, 377, 378, 379, 380,
2706 381, 382, 383, 384, 385, 386, 0, 0, 0, 0,
2707 0, 0, 0, 0, 923, 0, 0, 791, 0, 0,
2708 0, 0, 0, 0, 931, 0, 34, 932, 200, 933,
2709 0, 0, 0, 554, 0, 0, 0, 0, 0, 0,
2710 387, 388, 554, 0, 0, 0, 0, 0, 0, 0,
2711 0, 338, 339, 340, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 201, 341, 965, 342,
2713 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2714 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2715 0, 363, 0, 0, 0, 0, 0, 175, 0, 0,
2716 79, 0, 81, 389, 82, 83, 0, 84, 85, 86,
2717 0, 0, 0, 0, 0, 0, 0, 0, 1009, 1010,
2718 1011, 0, 0, 0, 694, 1013, 0, 0, 0, 0,
2719 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2720 105, 106, 107, 108, 109, 0, 1026, 0, 202, 0,
2721 0, 0, 0, 114, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 1046, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 338,
2724 339, 340, 554, 0, 0, 0, 0, 0, 0, 0,
2725 554, 0, 1026, 0, 0, 341, 0, 342, 343, 344,
2726 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2727 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2728 0, 0, 230, 0, 0, 338, 339, 340, 0, 0,
2729 0, 1092, 0, 0, 0, 0, 0, 0, 0, 0,
2730 942, 341, 0, 342, 343, 344, 345, 346, 347, 348,
2731 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2732 359, 360, 361, 362, 0, 363, 0, 5, 6, 7,
2733 8, 9, 0, 0, 0, 0, 0, 10, 0, 1135,
2734 0, 0, 0, 1136, 0, 1137, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 554, 0, 0, 0, 0,
2736 0, 0, 1151, 554, 0, 0, 11, 12, 13, 0,
2737 0, 554, 0, 14, 0, 15, 16, 17, 18, 19,
2738 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2739 30, 0, 0, 0, 31, 32, 33, 34, 35, 36,
2740 0, 37, 0, 0, 0, 38, 39, 40, 41, 0,
2741 42, 0, 43, 0, 44, 0, 0, 45, 0, 1184,
2742 0, 46, 47, 48, 49, 50, 51, 52, 966, 53,
2743 54, 55, 56, 57, 58, 59, 60, 61, 0, 62,
2744 63, 64, 65, 66, 67, 0, 0, 0, 0, 68,
2745 69, 554, 70, 71, 72, 73, 74, 0, 0, 0,
2746 0, 0, 0, 75, 0, 0, 0, 0, 76, 77,
2747 78, 79, 80, 81, 1143, 82, 83, 0, 84, 85,
2748 86, 87, 0, 0, 88, 0, 0, 89, 0, 0,
2749 0, 0, 0, 90, 91, 0, 92, 0, 93, 94,
2750 95, 96, 0, 97, 98, 99, 100, 101, 102, 103,
2751 104, 105, 106, 107, 108, 109, 110, 0, 0, 111,
2752 0, 112, 113, 902, 114, 115, 0, 116, 117, 0,
2753 0, 554, 5, 6, 7, 8, 9, 0, 0, 0,
2754 0, 0, 10, 347, 348, 349, 350, 351, 352, 353,
2755 354, 355, 356, 357, 358, 359, 360, 361, 362, 1381,
2756 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2758 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2759 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2760 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2761 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
2762 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2763 50, 51, 52, 0, 53, 54, 55, 56, 57, 58,
2764 59, 60, 61, 0, 62, 63, 64, 65, 66, 67,
2765 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2766 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2767 0, 0, 0, 76, 77, 78, 79, 80, 81, 0,
2768 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2769 0, 0, 89, 0, 0, 0, 0, 0, 90, 91,
2770 0, 92, 0, 93, 94, 95, 96, 0, 97, 98,
2771 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2772 109, 110, 0, 0, 111, 0, 112, 113, 1028, 114,
2773 115, 340, 116, 117, 5, 6, 7, 8, 9, 0,
2774 0, 0, 0, 0, 10, 341, 0, 342, 343, 344,
2775 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2776 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2777 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2778 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2779 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2780 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2781 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2782 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
2783 48, 49, 50, 51, 52, 0, 53, 54, 55, 56,
2784 57, 58, 59, 60, 61, 0, 62, 63, 64, 65,
2785 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2786 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2787 75, 0, 0, 0, 0, 76, 77, 78, 79, 80,
2788 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2789 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2790 90, 91, 0, 92, 0, 93, 94, 95, 96, 0,
2791 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2792 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2793 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2794 9, 0, 0, 0, 0, 341, 10, 342, 343, 344,
2795 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2796 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2797 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
2798 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
2799 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2800 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
2801 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
2802 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
2803 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
2804 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
2805 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
2806 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
2807 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
2808 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
2809 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
2810 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
2811 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2812 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
2813 112, 113, 539, 114, 115, 0, 116, 117, 5, 6,
2814 7, 8, 9, 0, 0, 0, 0, 0, 10, 342,
2815 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2816 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2817 0, 363, 0, 0, 0, 0, 0, 11, 12, 13,
2818 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
2819 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2820 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
2821 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
2822 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
2823 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
2824 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
2825 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
2826 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
2827 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
2828 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
2829 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
2830 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
2831 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
2832 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
2833 111, 0, 112, 113, 881, 114, 115, 0, 116, 117,
2834 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
2835 10, 343, 344, 345, 346, 347, 348, 349, 350, 351,
2836 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2837 362, 0, 363, 0, 0, 0, 0, 0, 0, 11,
2838 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
2839 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2840 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
2841 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
2842 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
2843 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
2844 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
2845 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
2846 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
2847 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
2848 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
2849 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
2850 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
2851 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
2852 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2853 0, 0, 111, 0, 112, 113, 972, 114, 115, 0,
2854 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
2855 0, 0, 10, 344, 345, 346, 347, 348, 349, 350,
2856 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2857 361, 362, 0, 363, 0, 0, 0, 0, 0, 0,
2858 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2859 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2860 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2861 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2862 38, 39, 40, 41, 974, 42, 0, 43, 0, 44,
2863 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2864 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
2865 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
2866 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2867 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2868 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
2869 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2870 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
2871 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
2872 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2873 109, 110, 0, 0, 111, 0, 112, 113, 0, 114,
2874 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
2875 0, 0, 0, 0, 10, 345, 346, 347, 348, 349,
2876 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2877 360, 361, 362, 0, 363, 0, 0, 0, 0, 0,
2878 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2879 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2880 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2881 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2882 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2883 0, 44, 1089, 0, 45, 0, 0, 0, 46, 47,
2884 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
2885 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
2886 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2887 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2888 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
2889 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2890 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2891 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
2892 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2893 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2894 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2895 9, 0, 0, 0, 0, 0, 10, 346, 347, 348,
2896 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2897 359, 360, 361, 362, 0, 363, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
2899 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
2900 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2901 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
2902 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
2903 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
2904 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
2905 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
2906 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
2907 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
2908 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
2909 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
2910 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
2911 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
2912 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2913 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
2914 112, 113, 1186, 114, 115, 0, 116, 117, 5, 6,
2915 7, 8, 9, 0, 0, 0, 0, 0, 10, -797,
2916 -797, -797, -797, 351, 352, 353, 354, 355, 356, 357,
2917 358, 359, 360, 361, 362, 0, 363, 0, 0, 0,
2918 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
2919 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
2920 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2921 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
2922 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
2923 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
2924 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
2925 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
2926 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
2927 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
2928 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
2929 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
2930 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
2931 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
2932 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
2933 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
2934 111, 0, 112, 113, 1382, 114, 115, 0, 116, 117,
2935 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
2936 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
2939 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
2940 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2941 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
2942 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
2943 40, 41, 0, 42, 0, 43, 1421, 44, 0, 0,
2944 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
2945 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
2946 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
2947 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
2948 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
2949 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
2950 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
2951 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
2952 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
2953 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2954 0, 0, 111, 0, 112, 113, 0, 114, 115, 0,
2955 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
2956 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
2957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2959 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2960 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2961 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2962 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2963 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
2964 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2965 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
2966 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
2967 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2968 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2969 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
2970 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2971 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
2972 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
2973 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2974 109, 110, 0, 0, 111, 0, 112, 113, 1451, 114,
2975 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
2976 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2979 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2980 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2981 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2982 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2983 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2984 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
2985 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
2986 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
2987 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2988 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2989 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
2990 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2991 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2992 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
2993 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2994 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2995 1452, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2996 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
2997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
3000 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3001 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3002 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3003 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
3004 1455, 43, 0, 44, 0, 0, 45, 0, 0, 0,
3005 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
3006 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
3007 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
3008 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3009 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3010 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
3011 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3012 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3013 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3014 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3015 112, 113, 0, 114, 115, 0, 116, 117, 5, 6,
3016 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
3020 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3021 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3022 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
3023 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
3024 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
3025 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
3026 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
3027 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
3028 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3029 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3030 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
3031 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
3032 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3033 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3034 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3035 111, 0, 112, 113, 1470, 114, 115, 0, 116, 117,
3036 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3037 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
3040 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3041 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3042 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
3043 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
3044 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
3045 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
3046 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
3047 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
3048 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
3049 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3050 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
3051 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
3052 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3053 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3054 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3055 0, 0, 111, 0, 112, 113, 1523, 114, 115, 0,
3056 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3057 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3060 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
3061 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3062 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
3063 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
3064 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
3065 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
3066 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
3067 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
3068 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
3069 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3070 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
3071 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
3072 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3073 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
3074 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3075 109, 110, 0, 0, 111, 0, 112, 113, 1529, 114,
3076 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3077 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3080 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
3081 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3082 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
3083 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
3084 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
3085 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
3086 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
3087 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
3088 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
3089 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3090 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
3091 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
3092 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3093 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
3094 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3095 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
3096 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3097 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3099 655, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3101 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3102 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3103 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3104 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
3105 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
3106 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
3107 55, 56, 57, 58, 171, 172, 61, 0, 62, 63,
3108 64, 0, 0, 0, 0, 0, 0, 0, 68, 69,
3109 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3110 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3111 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
3112 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3113 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3114 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3115 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3116 112, 113, 0, 114, 115, 0, 116, 117, 5, 6,
3117 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 0, 0, 841, 0, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3121 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3122 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3123 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
3124 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
3125 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
3126 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
3127 53, 0, 55, 56, 57, 58, 171, 172, 61, 0,
3128 62, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3129 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3130 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3131 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
3132 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3133 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3134 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3135 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3136 111, 0, 112, 113, 0, 114, 115, 0, 116, 117,
3137 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3138 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3139 0, 0, 0, 0, 1244, 0, 0, 0, 0, 0,
3140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3141 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3142 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3143 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
3144 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
3145 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
3146 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
3147 52, 0, 53, 0, 55, 56, 57, 58, 171, 172,
3148 61, 0, 62, 63, 64, 0, 0, 0, 0, 0,
3149 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
3150 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3151 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
3152 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3153 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3154 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3155 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3156 0, 0, 111, 0, 112, 113, 0, 114, 115, 0,
3157 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3158 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3159 0, 0, 0, 0, 0, 0, 1375, 0, 0, 0,
3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3161 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3162 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3163 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
3164 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
3165 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
3166 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
3167 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
3168 171, 172, 61, 0, 62, 63, 64, 0, 0, 0,
3169 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
3170 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3171 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
3172 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3173 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3174 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
3175 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3176 109, 110, 0, 0, 111, 0, 112, 113, 0, 114,
3177 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3178 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3182 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3183 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
3184 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
3185 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
3186 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
3187 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
3188 57, 58, 171, 172, 61, 0, 62, 63, 64, 0,
3189 0, 0, 0, 0, 0, 0, 68, 69, 0, 70,
3190 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3191 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
3192 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3193 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3194 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
3195 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3196 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
3197 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3198 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 602, 0, 0, 0, 0,
3201 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3202 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3203 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3204 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3205 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3207 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3208 0, 56, 57, 58, 171, 172, 173, 0, 34, 63,
3209 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3210 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3211 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3212 79, 603, 81, 0, 82, 83, 0, 84, 85, 86,
3213 0, 0, 1204, 88, 0, 0, 89, 0, 0, 0,
3214 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3215 96, 254, 97, 98, 99, 100, 101, 102, 103, 104,
3216 105, 106, 107, 108, 109, 110, 82, 83, 111, 84,
3217 85, 86, 0, 114, 115, 0, 116, 117, 5, 6,
3218 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3219 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3220 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
3221 1205, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3222 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3223 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3224 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3225 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3227 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3228 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3229 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3230 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3231 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3232 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3233 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3234 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3235 94, 95, 96, 254, 97, 98, 99, 100, 101, 102,
3236 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3237 111, 0, 255, 0, 0, 114, 115, 0, 116, 117,
3238 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3239 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3242 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3243 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3244 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3245 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3248 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3249 173, 0, 34, 63, 64, 0, 0, 0, 0, 0,
3250 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3251 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3252 0, 175, 77, 78, 79, 603, 81, 0, 82, 83,
3253 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3254 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3255 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3256 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3257 82, 83, 111, 84, 85, 86, 0, 114, 115, 0,
3258 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3259 0, 0, 10, 0, 0, 0, 96, 0, 97, 98,
3260 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3261 109, 208, 0, 0, 556, 0, 0, 0, 0, 0,
3262 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3263 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3264 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3265 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3266 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3268 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3269 171, 172, 173, 0, 34, 63, 64, 0, 0, 0,
3270 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3271 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3272 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3273 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3274 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3275 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3276 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3277 109, 110, 82, 83, 111, 84, 85, 86, 0, 114,
3278 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3279 0, 0, 0, 0, 10, 0, 0, 0, 96, 0,
3280 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3281 107, 108, 109, 0, 0, 0, 774, 0, 0, 0,
3282 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3283 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3284 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3285 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3286 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3288 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3289 57, 58, 171, 172, 173, 0, 0, 63, 64, 0,
3290 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3291 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3292 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3293 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3294 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3295 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3296 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3297 107, 108, 109, 110, 0, 0, 111, 0, 237, 0,
3298 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3299 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3303 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3304 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3305 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3306 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3309 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3310 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3311 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3312 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3313 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3314 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3315 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3316 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3317 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3318 240, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3319 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3323 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3324 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3325 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3326 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 295, 0, 0, 49, 0, 0, 0, 0,
3329 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3330 34, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3331 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3332 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3333 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3334 85, 86, 0, 0, 0, 88, 1004, 0, 89, 0,
3335 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3336 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3337 103, 104, 105, 106, 107, 108, 109, 110, 82, 83,
3338 111, 84, 85, 86, 0, 114, 115, 0, 116, 117,
3339 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3340 10, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3341 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3344 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3345 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3346 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3349 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3350 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3351 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3352 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3353 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3354 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3355 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3356 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3357 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3358 0, 0, 111, 427, 0, 0, 0, 114, 115, 0,
3359 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3360 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 551, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3364 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3365 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3366 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3367 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3369 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3370 171, 172, 173, 0, 0, 63, 64, 0, 0, 0,
3371 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3372 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3373 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3374 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3375 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3376 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3377 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3378 109, 110, 0, 0, 111, 0, 0, 0, 0, 114,
3379 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3380 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 563, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3384 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3385 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3386 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3387 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3390 57, 58, 171, 172, 173, 0, 34, 63, 64, 0,
3391 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3392 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3393 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3394 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3395 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3396 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3397 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3398 107, 108, 109, 110, 82, 83, 111, 84, 85, 86,
3399 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3400 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3401 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3402 105, 106, 107, 108, 109, 602, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3404 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3405 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3406 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3407 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3410 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3411 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3412 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3413 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3414 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3415 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3416 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3417 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3418 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3419 0, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3420 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 637, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3424 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3425 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3426 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3427 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3430 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3431 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3432 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3433 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3434 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3435 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3436 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3437 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3438 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3439 111, 0, 0, 0, 0, 114, 115, 0, 116, 117,
3440 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3441 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 639,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3445 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3446 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3447 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3450 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3451 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3452 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3453 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3454 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3455 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3456 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3457 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3458 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3459 0, 0, 111, 0, 0, 0, 0, 114, 115, 0,
3460 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3461 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3465 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3466 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3467 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3468 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3470 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3471 171, 172, 173, 0, 0, 63, 64, 0, 0, 0,
3472 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3473 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3474 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3475 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3476 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3477 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3478 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3479 109, 110, 0, 0, 111, 0, 0, 651, 0, 114,
3480 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3481 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 922, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3485 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3486 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3487 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3488 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3491 57, 58, 171, 172, 173, 0, 0, 63, 64, 0,
3492 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3493 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3494 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3495 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3496 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3497 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3498 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3499 107, 108, 109, 110, 0, 0, 111, 0, 0, 0,
3500 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3501 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 964, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3505 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3506 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3507 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3508 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3511 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3512 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3513 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3514 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3515 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3516 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3517 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3518 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3519 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3520 0, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3521 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3525 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3526 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3527 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3528 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3531 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3532 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3533 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3534 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3535 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3536 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3537 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3538 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3539 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3540 111, 0, 0, 0, 0, 114, 115, 0, 116, 117,
3541 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3542 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3545 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3546 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3547 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3548 34, 510, 36, 0, 0, 0, 0, 0, 38, 0,
3549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3550 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3551 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3552 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3553 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3554 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3555 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3556 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3557 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3558 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3559 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3560 0, 0, 111, 338, 339, 340, 0, 114, 115, 0,
3561 116, 117, 0, 0, 0, 0, 0, 0, 0, 341,
3562 0, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3563 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3564 361, 362, 0, 363, 338, 339, 340, 0, 0, 0,
3565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3566 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
3567 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3568 360, 361, 362, 0, 363, 0, 0, 0, 338, 339,
3569 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3570 0, 0, 0, 0, 341, 0, 342, 343, 344, 345,
3571 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
3572 356, 357, 358, 359, 360, 361, 362, 0, 363, 0,
3573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3575 0, 338, 339, 340, 0, 1263, 1264, 1265, 1266, 1267,
3576 0, 0, 1268, 1269, 1270, 1271, 0, 341, 0, 342,
3577 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3578 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
3579 0, 363, 1218, 0, 0, 0, 0, 0, 0, 0,
3580 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0,
3581 0, 0, 0, 0, 0, 1273, 1274, 1275, 1276, 1277,
3582 1278, 1279, 0, 0, 0, 34, 0, 0, 0, 0,
3583 0, 0, 0, 1219, 1280, 1281, 1282, 1283, 1284, 1285,
3584 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
3585 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305,
3586 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315,
3587 1316, 1317, 1318, 1319, 1320, 364, 0, 1321, 1322, 0,
3588 1323, 1324, 1325, 1326, 1327, 0, 0, 0, 0, 0,
3589 0, 0, 0, 0, 0, 0, 1328, 1329, 1330, 0,
3590 1331, 0, 0, 82, 83, 0, 84, 85, 86, 1332,
3591 0, 1333, 1334, 0, 1335, 0, 0, 0, 0, 0,
3592 0, 1336, 1337, 0, 1338, 1422, 1339, 1340, 1341, 96,
3593 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3594 106, 107, 108, 109, 338, 339, 340, 0, 0, 0,
3595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3596 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
3597 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3598 360, 361, 362, 0, 363, 338, 339, 340, 0, 0,
3599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3600 0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
3601 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3602 359, 360, 361, 362, 0, 363, 338, 339, 340, 0,
3603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3604 0, 0, 341, 0, 342, 343, 344, 345, 346, 347,
3605 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3606 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3608 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3609 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3610 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3611 0, 0, 0, 0, 338, 339, 340, 0, 0, 0,
3612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3613 341, 443, 342, 343, 344, 345, 346, 347, 348, 349,
3614 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3615 360, 361, 362, 0, 363, 338, 339, 340, 0, 0,
3616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3617 0, 341, 445, 342, 343, 344, 345, 346, 347, 348,
3618 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3619 359, 360, 361, 362, 0, 363, 338, 339, 340, 0,
3620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3621 0, 0, 341, 457, 342, 343, 344, 345, 346, 347,
3622 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3623 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3625 0, 0, 0, 341, 481, 342, 343, 344, 345, 346,
3626 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3627 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3628 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
3629 0, 34, 0, 200, 0, 0, 0, 0, 0, 341,
3630 629, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3631 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3632 361, 362, 0, 363, 338, 339, 340, 0, 0, 0,
3633 0, 0, 0, 0, 0, 0, 0, 593, 0, 0,
3634 341, 648, 342, 343, 344, 345, 346, 347, 348, 349,
3635 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3636 360, 361, 362, 242, 363, 0, 0, 0, 0, 82,
3637 83, 0, 84, 85, 86, 0, 0, 878, 0, 0,
3638 0, 0, 0, 0, 0, 0, 0, 0, 0, 243,
3639 0, 0, 0, 0, 0, 96, 0, 97, 98, 99,
3640 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3641 34, 0, 0, 0, 874, 875, 594, 0, 114, 0,
3642 0, 0, 0, 0, 0, 0, 0, 0, 0, 242,
3643 0, 0, 0, 0, 0, 0, 0, -292, 0, 0,
3644 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3645 329, 0, 0, 0, 0, 243, 1252, 0, 0, 0,
3646 0, 0, 0, 244, 245, 0, 0, 0, 0, 0,
3647 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
3648 0, 175, 0, 0, 79, 0, 246, 0, 82, 83,
3649 0, 84, 85, 86, 0, 0, 1112, 0, 0, 0,
3650 0, 0, 0, 450, 0, 0, 247, 0, 0, 242,
3651 0, 0, 0, 95, 96, 0, 97, 98, 99, 100,
3652 101, 102, 103, 104, 105, 106, 107, 108, 109, 244,
3653 245, 0, 248, 0, 0, 243, 0, 0, 0, 0,
3654 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
3655 79, 0, 246, 0, 82, 83, 34, 84, 85, 86,
3656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3657 0, 0, 247, 0, 0, 242, 0, 0, 0, 0,
3658 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3659 105, 106, 107, 108, 109, 0, 0, 0, 248, 0,
3660 0, 243, 0, 0, 0, 0, 0, 0, 0, 244,
3661 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3662 0, 0, 34, 0, 0, 0, 0, 175, 0, 0,
3663 79, 0, 246, 0, 82, 83, 0, 84, 85, 86,
3664 0, 854, 0, 0, 0, 0, 0, 0, 0, 0,
3665 0, 0, 247, 0, 0, 242, 0, 0, 0, 0,
3666 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3667 105, 106, 107, 108, 109, 244, 245, 0, 248, 0,
3668 0, 243, 0, 0, 0, 0, 0, 0, 0, 0,
3669 0, 0, 0, 175, 0, 0, 79, 0, 246, 0,
3670 82, 83, 34, 84, 85, 86, 0, 1098, 0, 0,
3671 835, 0, 0, 0, 0, 0, 0, 0, 247, 0,
3672 0, 0, 0, 0, 0, 0, 96, 0, 97, 98,
3673 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3674 109, 0, 0, 0, 248, 0, 0, 0, 0, 0,
3675 0, 34, 0, 200, 0, 244, 245, 0, 0, 0,
3676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3677 0, 0, 0, 175, 0, 0, 79, 0, 246, 0,
3678 82, 83, 0, 84, 85, 86, 0, 0, 0, 0,
3679 0, 201, 0, 0, 0, 0, 0, 0, 247, 0,
3680 0, 0, 0, 836, 0, 0, 96, 0, 97, 98,
3681 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3682 109, 0, 175, 0, 248, 79, 0, 81, 0, 82,
3683 83, 0, 84, 85, 86, 0, 0, 0, 0, 0,
3684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 0, 0, 673, 674, 0, 96, 0, 97, 98, 99,
3686 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3687 0, 675, 0, 202, 0, 0, 0, 0, 114, 31,
3688 32, 33, 34, 0, 0, 0, 0, 0, 0, 0,
3689 38, 338, 339, 340, 0, 0, 0, 0, 0, 0,
3690 0, 0, 0, 0, 0, 0, 0, 341, 0, 342,
3691 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3692 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
3693 34, 363, 200, 0, 0, 676, 0, 70, 71, 72,
3694 73, 74, 0, 0, 0, 0, 0, 0, 677, 0,
3695 0, 0, 0, 175, 77, 78, 79, 0, 678, 0,
3696 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3697 201, 0, 0, 0, 0, 0, 0, 0, 679, 0,
3698 34, 0, 200, 93, 0, 0, 680, 0, 97, 98,
3699 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3700 109, 175, 0, 0, 79, 413, 81, 0, 82, 83,
3701 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3702 201, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3703 0, 0, 502, 0, 96, 0, 97, 98, 99, 100,
3704 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3705 0, 175, 202, 0, 79, 486, 81, 114, 82, 83,
3706 0, 84, 85, 86, 34, 0, 200, 0, 0, 0,
3707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3708 0, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3709 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3710 0, 0, 202, 0, 201, 0, 0, 114, 0, 0,
3711 0, 0, 0, 0, 0, 0, 897, 0, 34, 0,
3712 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3713 0, 0, 0, 0, 0, 175, 0, 0, 79, 0,
3714 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3715 0, 0, 0, 0, 0, 0, 0, 0, 201, 0,
3716 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
3717 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3718 107, 108, 109, 34, 0, 200, 202, 0, 0, 175,
3719 0, 114, 79, 0, 81, 0, 82, 83, 0, 84,
3720 85, 86, 0, 0, 0, 0, 0, 0, 0, 0,
3721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3722 0, 0, 96, 213, 97, 98, 99, 100, 101, 102,
3723 103, 104, 105, 106, 107, 108, 109, 34, 0, 200,
3724 202, 0, 0, 0, 0, 114, 0, 0, 0, 0,
3725 0, 0, 0, 0, 175, 0, 0, 79, 0, 81,
3726 0, 82, 83, 0, 84, 85, 86, 0, 0, 0,
3727 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
3728 200, 0, 0, 0, 0, 0, 0, 96, 0, 97,
3729 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3730 108, 109, 0, 0, 0, 214, 0, 0, 0, 0,
3731 114, 0, 0, 0, 0, 82, 83, 0, 84, 85,
3732 86, 0, 0, 0, 0, 0, 0, 0, 34, 0,
3733 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3734 0, 96, 0, 97, 98, 99, 100, 101, 102, 103,
3735 104, 105, 106, 107, 108, 109, 82, 83, 0, 84,
3736 85, 86, 619, 0, 114, 0, 0, 0, 0, 34,
3737 0, 200, 0, 0, 0, 0, 0, 0, 0, 0,
3738 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3739 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
3740 0, 0, 0, 594, 0, 114, 82, 83, 0, 84,
3741 85, 86, 0, 0, 0, 0, 0, 0, 0, 34,
3742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3743 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3744 103, 104, 105, 106, 107, 108, 109, 82, 83, 0,
3745 84, 85, 86, 645, 0, 114, 0, 0, 0, 0,
3746 0, 0, 0, 0, 0, 34, 0, 0, 0, 0,
3747 0, 0, 0, 96, 0, 97, 98, 99, 100, 101,
3748 102, 103, 104, 105, 106, 107, 108, 109, 0, 0,
3749 175, 0, 0, 79, 918, 0, 114, 82, 83, 0,
3750 84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
3751 0, 0, 0, 34, 0, 0, 0, 0, 0, 0,
3752 0, 0, 0, 96, 0, 97, 98, 99, 100, 101,
3753 102, 103, 104, 105, 106, 107, 108, 109, 0, 291,
3754 0, 0, 0, 82, 83, 1424, 84, 85, 86, 0,
3755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3756 0, 0, 34, 0, 0, 0, 0, 0, 0, 96,
3757 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3758 106, 107, 108, 109, 0, 0, 0, 0, 0, 1347,
3759 292, 82, 83, 1348, 84, 85, 86, 0, 0, 0,
3760 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0,
3761 34, 0, 0, 0, 0, 1194, 0, 96, 0, 97,
3762 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3763 108, 109, 0, 175, 0, 1205, 79, 0, 1195, 0,
3764 82, 83, 0, 84, 1196, 86, 0, 0, 0, 0,
3765 0, 34, 0, 728, 729, 0, 0, 0, 0, 0,
3766 0, 0, 0, 0, 0, 0, 96, 34, 97, 98,
3767 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3768 109, 175, 0, 0, 79, 0, 81, 0, 82, 83,
3769 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3771 34, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3772 101, 102, 103, 104, 105, 106, 107, 108, 109, 82,
3773 83, 0, 84, 85, 86, 0, 0, 0, 0, 0,
3774 0, 263, 0, 0, 0, 82, 83, 0, 84, 85,
3775 86, 0, 0, 0, 0, 96, 0, 97, 98, 99,
3776 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3777 0, 96, 0, 97, 98, 99, 100, 101, 102, 103,
3778 104, 105, 106, 107, 108, 109, 326, 0, 82, 83,
3779 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3781 0, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3782 101, 102, 103, 104, 105, 106, 107, 108, 109, 338,
3783 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
3784 0, 0, 0, 0, 0, 341, 0, 342, 343, 344,
3785 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
3786 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
3787 338, 339, 340, 0, 0, 0, 0, 0, 0, 0,
3788 0, 0, 0, 0, 0, 0, 341, 0, 342, 343,
3789 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
3790 354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
3791 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3792 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
3793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3794 0, 0, 341, 521, 342, 343, 344, 345, 346, 347,
3795 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3796 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3798 0, 0, 0, 341, 780, 342, 343, 344, 345, 346,
3799 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3800 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3802 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
3803 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
3804 821, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3805 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3806 361, 362, 0, 363, 0, 0, 338, 339, 340, 0,
3807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3808 0, 1055, 341, 777, 342, 343, 344, 345, 346, 347,
3809 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3810 358, 359, 360, 361, 362, 659, 363, 338, 339, 340,
3811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3812 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3813 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3814 357, 358, 359, 360, 361, 362, 0, 363, 339, 340,
3815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3816 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3817 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3818 357, 358, 359, 360, 361, 362, 0, 363
3821 static const yytype_int16 yycheck[] =
3823 4, 157, 132, 4, 4, 553, 4, 4, 400, 51,
3824 30, 322, 177, 407, 87, 914, 28, 4, 91, 92,
3825 160, 41, 375, 630, 4, 45, 167, 363, 770, 215,
3826 319, 4, 754, 517, 747, 658, 664, 1050, 905, 221,
3827 395, 27, 9, 47, 111, 9, 50, 221, 178, 9,
3828 9, 24, 25, 9, 9, 242, 243, 9, 131, 54,
3829 9, 248, 9, 67, 9, 9, 421, 9, 9, 9,
3830 30, 9, 9, 27, 9, 123, 10, 11, 12, 9,
3831 111, 76, 222, 87, 79, 9, 9, 91, 92, 9,
3832 9, 9, 26, 304, 28, 29, 30, 31, 32, 33,
3833 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3834 44, 45, 46, 47, 48, 773, 50, 42, 75, 9,
3835 9, 42, 863, 9, 429, 165, 867, 131, 147, 42,
3836 788, 42, 319, 527, 1147, 202, 1149, 42, 111, 104,
3837 123, 92, 123, 121, 122, 132, 62, 214, 62, 26,
3838 62, 199, 1370, 866, 62, 195, 62, 150, 62, 95,
3839 96, 0, 95, 96, 62, 330, 43, 453, 75, 46,
3840 163, 67, 68, 478, 62, 62, 75, 157, 197, 198,
3841 62, 62, 32, 187, 926, 1052, 143, 929, 62, 62,
3842 62, 178, 1059, 1060, 62, 62, 147, 162, 592, 62,
3843 1418, 62, 955, 195, 490, 198, 959, 123, 8, 123,
3844 277, 123, 198, 196, 166, 196, 844, 47, 846, 1232,
3845 75, 32, 166, 227, 195, 75, 47, 231, 369, 202,
3846 227, 235, 199, 197, 231, 208, 196, 402, 197, 198,
3847 196, 214, 197, 197, 374, 958, 277, 196, 389, 253,
3848 197, 196, 325, 737, 227, 197, 197, 197, 231, 197,
3849 197, 448, 197, 199, 75, 199, 199, 197, 263, 143,
3850 411, 196, 193, 197, 197, 669, 196, 196, 196, 420,
3851 166, 939, 423, 196, 198, 196, 198, 195, 193, 1156,
3852 198, 196, 198, 200, 198, 268, 291, 195, 371, 372,
3853 198, 200, 275, 276, 277, 309, 196, 196, 158, 282,
3854 198, 198, 1054, 80, 318, 288, 198, 198, 322, 149,
3855 80, 325, 309, 198, 198, 198, 198, 75, 149, 309,
3856 198, 198, 724, 375, 164, 198, 309, 198, 32, 75,
3857 32, 408, 529, 530, 80, 200, 651, 158, 535, 150,
3858 655, 363, 975, 960, 536, 92, 119, 369, 75, 1372,
3859 67, 68, 536, 80, 195, 369, 370, 371, 372, 195,
3860 32, 75, 366, 140, 660, 195, 80, 389, 143, 75,
3861 140, 75, 671, 75, 80, 389, 373, 673, 674, 675,
3862 75, 1104, 140, 141, 142, 80, 143, 198, 392, 411,
3863 165, 195, 396, 4, 140, 141, 142, 411, 420, 595,
3864 147, 423, 75, 75, 119, 1157, 195, 80, 165, 423,
3865 4, 195, 816, 75, 141, 142, 75, 400, 80, 195,
3866 195, 786, 436, 198, 620, 408, 601, 141, 142, 436,
3867 795, 42, 197, 198, 140, 141, 142, 94, 95, 96,
3868 636, 198, 1165, 635, 32, 791, 141, 142, 42, 641,
3869 1067, 635, 1069, 436, 158, 195, 158, 641, 862, 108,
3870 109, 110, 111, 112, 113, 195, 1489, 195, 141, 142,
3871 149, 485, 195, 769, 671, 672, 559, 204, 483, 141,
3872 142, 1504, 141, 142, 27, 681, 500, 75, 198, 203,
3873 101, 641, 506, 507, 195, 106, 147, 108, 109, 110,
3874 111, 112, 113, 114, 32, 26, 197, 101, 14, 46,
3875 47, 48, 106, 50, 108, 109, 110, 111, 112, 113,
3876 114, 27, 43, 197, 198, 46, 841, 176, 94, 95,
3877 96, 1396, 1397, 754, 1392, 1393, 899, 197, 44, 197,
3878 151, 152, 453, 154, 62, 559, 1163, 197, 197, 770,
3879 954, 108, 109, 110, 197, 752, 197, 151, 152, 62,
3880 154, 115, 116, 117, 197, 176, 763, 863, 551, 62,
3881 935, 867, 198, 869, 143, 977, 195, 195, 943, 490,
3882 143, 62, 176, 195, 41, 147, 1495, 50, 199, 165,
3883 143, 887, 123, 202, 9, 143, 143, 1001, 195, 123,
3884 8, 1510, 100, 195, 1008, 199, 197, 758, 14, 165,
3885 108, 109, 110, 111, 112, 113, 630, 14, 632, 602,
3886 75, 1023, 1239, 197, 654, 197, 108, 109, 110, 111,
3887 112, 113, 285, 14, 81, 649, 289, 119, 120, 165,
3888 14, 108, 109, 110, 111, 112, 113, 661, 662, 92,
3889 196, 848, 649, 850, 637, 662, 639, 197, 311, 649,
3890 313, 314, 315, 316, 196, 201, 649, 196, 195, 100,
3891 195, 1075, 195, 9, 196, 157, 659, 196, 176, 662,
3892 84, 9, 197, 1048, 980, 14, 81, 195, 9, 703,
3893 181, 1056, 706, 890, 176, 75, 75, 75, 994, 1064,
3894 996, 1016, 75, 195, 184, 926, 703, 790, 929, 176,
3895 196, 196, 121, 703, 197, 912, 195, 914, 196, 62,
3896 703, 122, 736, 919, 164, 736, 736, 9, 736, 736,
3897 713, 124, 196, 1465, 14, 193, 758, 9, 62, 736,
3898 196, 724, 725, 9, 758, 14, 736, 199, 1044, 660,
3899 1482, 121, 202, 736, 202, 9, 195, 1374, 1490, 178,
3900 179, 180, 673, 674, 202, 1080, 185, 186, 195, 791,
3901 189, 190, 196, 202, 195, 197, 790, 197, 196, 1144,
3902 1095, 9, 124, 196, 195, 143, 143, 181, 802, 803,
3903 804, 198, 195, 195, 991, 181, 14, 1118, 828, 9,
3904 1021, 75, 198, 14, 92, 197, 14, 1103, 1029, 198,
3905 198, 202, 1108, 14, 1110, 829, 14, 831, 27, 833,
3906 197, 9, 829, 43, 44, 45, 46, 47, 48, 195,
3907 50, 195, 195, 1054, 831, 195, 833, 196, 124, 195,
3908 195, 831, 14, 833, 197, 1141, 829, 899, 831, 197,
3909 833, 865, 835, 1168, 868, 1413, 195, 9, 769, 1224,
3910 124, 1176, 196, 196, 202, 9, 9, 140, 75, 195,
3911 1185, 124, 197, 75, 14, 75, 195, 891, 196, 195,
3912 195, 198, 196, 1179, 195, 198, 198, 196, 124, 903,
3913 9, 1212, 903, 903, 202, 903, 903, 140, 27, 69,
3914 197, 196, 1099, 197, 166, 27, 903, 196, 124, 9,
3915 70, 71, 72, 903, 199, 196, 9, 196, 1115, 124,
3916 903, 81, 1480, 92, 199, 1221, 196, 1148, 14, 1244,
3917 195, 1128, 195, 1154, 1155, 196, 1157, 967, 196, 922,
3918 196, 955, 124, 198, 196, 959, 960, 196, 196, 9,
3919 196, 27, 197, 197, 1250, 1251, 970, 196, 869, 197,
3920 1256, 124, 153, 970, 1130, 198, 4, 981, 128, 129,
3921 130, 131, 132, 149, 75, 14, 887, 75, 195, 139,
3922 106, 964, 196, 196, 981, 145, 146, 970, 1128, 124,
3923 196, 981, 196, 196, 977, 978, 124, 124, 981, 14,
3924 160, 198, 197, 75, 42, 14, 196, 124, 195, 198,
3925 196, 14, 197, 197, 174, 1236, 14, 196, 198, 52,
3926 75, 195, 75, 24, 25, 9, 197, 28, 24, 25,
3927 75, 1021, 28, 104, 92, 1210, 143, 30, 92, 1029,
3928 1023, 156, 14, 196, 195, 75, 195, 197, 162, 50,
3929 1365, 159, 1367, 1067, 196, 1069, 9, 75, 197, 196,
3930 1375, 75, 196, 101, 1360, 198, 14, 75, 106, 980,
3931 108, 109, 110, 111, 112, 113, 114, 14, 75, 14,
3932 75, 14, 1473, 994, 483, 996, 789, 370, 372, 157,
3933 787, 739, 1486, 371, 1092, 1391, 1482, 978, 488, 1261,
3934 1114, 1416, 1345, 1123, 1118, 1514, 1402, 1502, 1357, 1123,
3935 39, 1407, 1231, 151, 152, 913, 154, 1114, 375, 880,
3936 467, 877, 467, 700, 1114, 906, 941, 803, 818, 283,
3937 1127, 1114, 851, 1044, -1, 276, -1, -1, 176, -1,
3938 1130, -1, -1, -1, -1, -1, -1, -1, -1, 1163,
3939 -1, -1, -1, -1, -1, 1169, -1, -1, 1148, 1173,
3940 -1, 199, -1, 1177, 1154, 1155, 1173, -1, 1464, -1,
3941 -1, -1, 1169, -1, -1, -1, -1, -1, -1, 1169,
3942 1177, -1, -1, -1, 1359, 1199, 1169, 1177, -1, -1,
3943 1173, 1205, 1103, 1508, 1177, -1, -1, 1108, 1212, 1110,
3944 1515, 202, -1, -1, -1, -1, 202, 208, -1, -1,
3945 -1, -1, 208, 214, -1, -1, -1, 1214, 214, -1,
3946 -1, -1, -1, 1519, -1, 1239, -1, -1, 1242, 1243,
3947 1141, 1527, -1, 1247, -1, 1531, 1243, -1, 1534, 1253,
3948 -1, 242, 243, -1, 1465, 1242, 1236, 248, -1, -1,
3949 1247, -1, 1242, -1, -1, -1, 1253, 1247, -1, 1242,
3950 1243, 1482, -1, 1253, 1247, -1, -1, 268, 1179, 1490,
3951 1253, -1, 268, 1356, 275, 276, -1, -1, -1, 275,
3952 276, 282, -1, -1, -1, -1, 282, 288, -1, -1,
3953 -1, -1, 288, -1, -1, 1461, -1, -1, 1495, -1,
3954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3955 1221, -1, -1, 1510, -1, -1, -1, -1, 319, -1,
3956 -1, 322, -1, 24, 25, 1408, -1, 28, -1, -1,
3957 -1, -1, -1, -1, -1, -1, -1, 1477, -1, 1250,
3958 1251, -1, 1356, -1, -1, 1256, 37, 38, 39, 40,
3959 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
3960 1374, -1, 363, -1, 1378, -1, -1, 363, -1, -1,
3961 -1, -1, -1, 1387, -1, -1, -1, -1, 1392, 1393,
3962 -1, 1378, 1396, 1397, -1, -1, -1, -1, 1378, -1,
3963 -1, -1, -1, -1, 1408, 1378, -1, -1, -1, 400,
3964 1414, 1415, -1, -1, 400, -1, 1420, 408, -1, -1,
3965 -1, -1, 408, -1, -1, -1, -1, 1414, 1415, -1,
3966 -1, -1, -1, 1420, 1414, 1415, -1, -1, -1, -1,
3967 1420, 1414, 1415, -1, -1, -1, -1, 1420, 4, 1453,
3968 -1, -1, -1, -1, -1, -1, 1460, 448, -1, 1360,
3969 -1, -1, 453, -1, -1, 4, 1453, -1, -1, -1,
3970 -1, -1, 1476, 1453, -1, -1, -1, -1, -1, -1,
3971 1453, 1461, -1, -1, -1, -1, 42, -1, -1, -1,
3972 1391, -1, -1, -1, -1, -1, -1, -1, -1, 490,
3973 -1, 1402, -1, 42, -1, -1, 1407, -1, -1, -1,
3974 -1, -1, 1516, -1, -1, -1, -1, 208, 1522, -1,
3975 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1516,
3976 -1, -1, -1, -1, -1, 1522, 1516, -1, 529, 530,
3977 -1, -1, 1522, 1516, 535, 101, -1, -1, -1, 1522,
3978 106, -1, 108, 109, 110, 111, 112, 113, 114, -1,
3979 551, 50, 101, 1464, -1, 551, -1, 106, -1, 108,
3980 109, 110, 111, 112, 113, 114, -1, 268, -1, -1,
3981 -1, -1, -1, -1, 275, 276, -1, -1, -1, -1,
3982 -1, 282, -1, 4, -1, 151, 152, 288, 154, -1,
3983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3984 -1, 602, 151, 152, -1, 154, 602, -1, 1519, -1,
3985 176, -1, -1, -1, -1, -1, 1527, -1, -1, -1,
3986 1531, 42, -1, 1534, -1, -1, -1, 176, -1, -1,
3987 -1, -1, -1, 199, -1, -1, 637, -1, 639, -1,
3988 -1, 637, -1, 639, -1, -1, -1, -1, -1, -1,
3989 199, -1, -1, -1, -1, -1, -1, -1, 659, 660,
3990 -1, -1, 363, 659, -1, -1, -1, -1, -1, -1,
3991 671, 672, 673, 674, 675, -1, -1, -1, -1, -1,
3992 101, -1, -1, -1, -1, 106, -1, 108, 109, 110,
3993 111, 112, 113, 114, -1, -1, -1, -1, -1, 400,
3994 -1, -1, -1, 704, -1, -1, -1, -1, -1, -1,
3995 -1, -1, 713, -1, -1, -1, -1, 713, -1, -1,
3996 -1, 722, -1, 724, 725, -1, -1, -1, 724, 725,
3997 151, 152, -1, 154, -1, -1, -1, -1, 739, -1,
3998 -1, -1, -1, 242, 243, -1, -1, -1, -1, 248,
3999 -1, 752, 453, -1, -1, 176, -1, -1, -1, -1,
4000 -1, -1, 763, -1, -1, -1, -1, -1, 769, -1,
4001 -1, 772, -1, -1, -1, -1, -1, -1, 199, -1,
4002 -1, 10, 11, 12, -1, -1, -1, -1, -1, 490,
4003 791, -1, -1, -1, -1, 791, -1, 26, -1, 28,
4004 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4005 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4006 319, 50, -1, 322, -1, -1, -1, -1, -1, -1,
4007 -1, -1, -1, -1, 835, -1, -1, -1, -1, 835,
4008 -1, -1, -1, -1, -1, -1, -1, 848, -1, 850,
4009 551, -1, -1, -1, -1, 453, -1, -1, -1, -1,
4010 -1, -1, 863, -1, -1, -1, 867, -1, 869, 14,
4011 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
4012 25, -1, -1, -1, -1, -1, 887, -1, -1, 890,
4013 -1, -1, 490, -1, -1, -1, -1, -1, -1, -1,
4014 -1, 602, -1, -1, -1, -1, -1, -1, -1, -1,
4015 -1, 912, -1, 914, -1, 60, 61, -1, -1, -1,
4016 -1, 922, -1, -1, -1, -1, 922, -1, -1, -1,
4017 -1, -1, -1, -1, -1, -1, 637, -1, 639, -1,
4018 -1, -1, -1, -1, -1, -1, -1, -1, -1, 448,
4019 -1, -1, -1, -1, 453, -1, -1, -1, 659, 660,
4020 -1, -1, -1, 964, -1, -1, -1, -1, 964, -1,
4021 199, -1, 673, 674, 675, -1, 977, 978, 123, 980,
4022 -1, 977, 978, -1, -1, -1, -1, -1, -1, -1,
4023 991, 490, -1, 994, -1, 996, -1, -1, -1, -1,
4024 -1, -1, -1, 704, -1, -1, -1, -1, -1, -1,
4025 -1, -1, 713, -1, -1, -1, -1, -1, -1, 1020,
4026 -1, 722, 1023, 724, 725, -1, -1, 1023, -1, -1,
4027 529, 530, -1, -1, -1, -1, 535, -1, 739, -1,
4028 -1, -1, -1, 1044, -1, -1, -1, -1, -1, -1,
4029 -1, 196, -1, -1, -1, -1, -1, -1, -1, -1,
4030 -1, -1, 660, -1, -1, -1, -1, -1, 769, -1,
4031 -1, 772, -1, -1, -1, 673, 674, 675, -1, -1,
4032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4033 791, -1, -1, -1, -1, -1, -1, -1, 1099, -1,
4034 -1, -1, 1103, -1, -1, -1, -1, 1108, -1, 1110,
4035 -1, -1, -1, -1, 1115, -1, -1, 1118, 1119, -1,
4036 1121, -1, -1, -1, -1, -1, -1, 1128, -1, -1,
4037 -1, -1, -1, -1, 835, -1, -1, -1, -1, -1,
4038 1141, -1, -1, 14, 15, 16, 17, 18, 19, 20,
4039 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
4040 -1, 660, 863, -1, -1, -1, 867, -1, 869, -1,
4041 -1, 769, 671, 672, 673, 674, 675, -1, 1179, -1,
4042 -1, -1, -1, -1, -1, -1, 887, 1188, 1189, 60,
4043 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4044 -1, -1, -1, -1, -1, -1, -1, 10, 11, 12,
4045 -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1,
4046 1221, 922, -1, 26, -1, 28, 29, 30, 31, 32,
4047 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
4048 43, 44, 45, 46, 47, 48, -1, 50, -1, 1250,
4049 1251, -1, 123, 752, -1, 1256, 1257, -1, -1, -1,
4050 1261, -1, -1, 964, 763, 863, -1, -1, -1, 867,
4051 769, 869, -1, -1, -1, -1, 977, 978, -1, 980,
4052 10, 11, 12, -1, -1, -1, -1, -1, -1, 887,
4053 -1, -1, -1, 994, -1, 996, 26, -1, 28, 29,
4054 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
4055 40, 41, 42, 43, 44, 45, 46, 47, 48, 1020,
4056 50, -1, 1023, -1, -1, 196, 14, 15, 16, 17,
4057 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
4058 -1, -1, -1, 1044, -1, -1, -1, -1, -1, 848,
4059 -1, 850, -1, -1, -1, -1, -1, -1, -1, 1360,
4060 -1, -1, -1, -1, 863, -1, -1, -1, 867, -1,
4061 869, -1, 60, 61, -1, -1, -1, -1, -1, -1,
4062 -1, -1, 980, -1, -1, -1, 1387, -1, 887, -1,
4063 1391, 890, -1, -1, -1, -1, 994, -1, 996, 202,
4064 -1, 1402, 1103, -1, -1, -1, 1407, 1108, -1, 1110,
4065 -1, -1, -1, 912, -1, 914, -1, -1, 1119, -1,
4066 1121, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4067 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
4068 1141, -1, -1, -1, -1, -1, 1044, 62, -1, -1,
4069 -1, -1, -1, -1, -1, 70, 71, 72, 73, -1,
4070 -1, -1, -1, 1464, -1, -1, 81, -1, -1, 199,
4071 -1, 1472, -1, -1, -1, -1, -1, -1, 1179, -1,
4072 -1, 980, -1, -1, -1, 1486, -1, 1188, 1189, -1,
4073 -1, -1, 991, -1, 1495, 994, -1, 996, -1, -1,
4074 -1, -1, -1, -1, -1, 1103, -1, -1, -1, 1510,
4075 1108, 126, 1110, -1, -1, -1, -1, -1, 1519, -1,
4076 1221, -1, -1, -1, 139, -1, 1527, -1, -1, -1,
4077 1531, -1, -1, 1534, -1, -1, 151, 152, -1, 154,
4078 155, 156, -1, 1141, -1, 1044, -1, 63, 64, 1250,
4079 1251, -1, -1, -1, 169, 1256, 1257, 73, -1, 75,
4080 1261, -1, 177, -1, 179, 180, 181, 182, 183, 184,
4081 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
4082 -1, 1179, -1, -1, -1, -1, -1, -1, -1, -1,
4083 -1, -1, -1, -1, -1, -1, -1, 113, -1, -1,
4084 1099, -1, -1, -1, 1103, -1, -1, -1, -1, 1108,
4085 -1, 1110, -1, -1, -1, -1, 1115, -1, -1, 1118,
4086 -1, -1, -1, 1221, -1, -1, -1, -1, 144, 1128,
4087 -1, 147, -1, 149, -1, 151, 152, -1, 154, 155,
4088 156, -1, 1141, -1, -1, -1, -1, 163, -1, -1,
4089 -1, -1, 1250, 1251, -1, -1, -1, -1, 1256, 1360,
4090 -1, 177, 1260, 179, 180, 181, 182, 183, 184, 185,
4091 186, 187, 188, 189, 190, 191, -1, -1, -1, 195,
4092 1179, -1, -1, -1, 200, -1, -1, -1, -1, -1,
4093 1391, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4094 -1, 1402, -1, -1, -1, -1, 1407, -1, -1, -1,
4095 -1, -1, -1, 1212, -1, -1, -1, -1, -1, -1,
4096 -1, -1, 1221, -1, -1, -1, -1, -1, -1, -1,
4097 -1, -1, 5, 6, -1, 8, 9, 10, -1, 12,
4098 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4099 23, 1250, 1251, 26, 27, -1, -1, 1256, -1, -1,
4100 -1, -1, 1360, 1464, -1, -1, 39, -1, -1, -1,
4101 -1, 1472, -1, 46, -1, 48, -1, -1, 51, -1,
4102 53, -1, -1, -1, -1, 1486, -1, -1, -1, -1,
4103 -1, -1, -1, 1391, -1, -1, -1, -1, -1, -1,
4104 -1, -1, -1, -1, 1402, -1, -1, 80, -1, 1407,
4105 -1, -1, -1, -1, -1, -1, -1, -1, 1519, -1,
4106 -1, 94, -1, -1, -1, -1, 1527, -1, -1, -1,
4107 1531, -1, 1430, 1534, -1, -1, -1, -1, 111, -1,
4108 -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
4109 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
4110 -1, 1360, -1, -1, -1, 26, 1464, 28, 29, 30,
4111 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4112 41, 42, 43, 44, 45, 46, 47, 48, 1387, 50,
4113 -1, -1, 1391, -1, -1, -1, -1, -1, -1, -1,
4114 -1, -1, -1, 1402, -1, -1, -1, -1, 1407, 182,
4115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4116 -1, 1519, -1, -1, -1, -1, -1, -1, -1, 1527,
4117 -1, -1, -1, 1531, -1, -1, 1534, -1, -1, -1,
4118 70, 71, 72, 73, -1, -1, -1, -1, -1, -1,
4119 223, -1, -1, 226, 10, 11, 12, -1, -1, -1,
4120 233, 234, -1, -1, -1, 1464, -1, -1, -1, -1,
4121 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
4122 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4123 46, 47, 48, -1, 50, -1, 1495, -1, -1, -1,
4124 -1, -1, -1, -1, 277, -1, -1, -1, -1, -1,
4125 283, 1510, -1, -1, 287, -1, -1, -1, -1, -1,
4126 1519, 151, 152, -1, 154, 155, 156, -1, 1527, -1,
4127 -1, -1, 1531, -1, -1, 1534, -1, 310, 199, -1,
4128 -1, -1, -1, -1, -1, -1, -1, 177, 321, 179,
4129 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4130 190, 191, -1, -1, -1, 338, 339, 340, 341, 342,
4131 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
4132 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
4133 -1, -1, 365, 366, -1, 368, -1, -1, -1, -1,
4134 -1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
4135 383, 384, 385, 386, -1, -1, -1, -1, -1, 392,
4136 393, -1, 395, 396, 397, -1, -1, -1, -1, -1,
4137 403, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4138 413, -1, 415, 199, -1, 10, 11, 12, 421, -1,
4139 -1, -1, -1, -1, -1, -1, -1, -1, 431, -1,
4140 433, 26, 27, 28, 29, 30, 31, 32, 33, 34,
4141 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4142 45, 46, 47, 48, -1, 50, -1, 460, -1, -1,
4143 463, 464, 465, -1, -1, -1, -1, -1, 10, 11,
4144 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4145 -1, -1, -1, 486, 26, -1, 28, 29, 30, 31,
4146 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
4147 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
4148 -1, -1, -1, -1, -1, -1, -1, -1, 521, -1,
4149 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
4150 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
4151 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
4152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4153 563, -1, -1, -1, -1, 43, 44, -1, -1, -1,
4154 -1, 49, -1, 51, 52, 53, 54, 55, 56, 57,
4155 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
4156 -1, 594, 70, 71, 72, 73, 74, 75, -1, 77,
4157 603, -1, 197, 81, 82, 83, 84, -1, 86, -1,
4158 88, -1, 90, -1, -1, 93, 619, -1, -1, 97,
4159 98, 99, 100, -1, 102, 103, -1, 105, -1, 107,
4160 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
4161 -1, -1, 645, -1, -1, -1, -1, 125, 126, -1,
4162 128, 129, 130, 131, 132, 658, -1, 199, -1, -1,
4163 -1, 139, -1, -1, -1, -1, 144, 145, 146, 147,
4164 148, 149, -1, 151, 152, -1, 154, 155, 156, -1,
4165 -1, -1, 160, -1, -1, 163, 689, -1, -1, -1,
4166 -1, 169, -1, -1, -1, -1, 174, 175, 176, 177,
4167 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
4168 188, 189, 190, 191, 192, -1, -1, 195, -1, 197,
4169 198, -1, 200, 201, -1, 203, 204, -1, -1, -1,
4170 733, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4171 -1, -1, -1, 746, 14, 15, 16, 17, 18, 19,
4172 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
4173 -1, -1, -1, -1, 767, -1, -1, 64, -1, -1,
4174 -1, -1, -1, -1, 777, -1, 73, 780, 75, 782,
4175 -1, -1, -1, 786, -1, -1, -1, -1, -1, -1,
4176 60, 61, 795, -1, -1, -1, -1, -1, -1, -1,
4177 -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
4178 -1, -1, -1, -1, -1, -1, 113, 26, 821, 28,
4179 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4180 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4181 -1, 50, -1, -1, -1, -1, -1, 144, -1, -1,
4182 147, -1, 149, 123, 151, 152, -1, 154, 155, 156,
4183 -1, -1, -1, -1, -1, -1, -1, -1, 871, 872,
4184 873, -1, -1, -1, 877, 878, -1, -1, -1, -1,
4185 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4186 187, 188, 189, 190, 191, -1, 899, -1, 195, -1,
4187 -1, -1, -1, 200, -1, -1, -1, -1, -1, -1,
4188 -1, -1, -1, -1, -1, 918, -1, -1, -1, -1,
4189 -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
4190 11, 12, 935, -1, -1, -1, -1, -1, -1, -1,
4191 943, -1, 945, -1, -1, 26, -1, 28, 29, 30,
4192 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4193 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4194 -1, -1, 975, -1, -1, 10, 11, 12, -1, -1,
4195 -1, 984, -1, -1, -1, -1, -1, -1, -1, -1,
4196 199, 26, -1, 28, 29, 30, 31, 32, 33, 34,
4197 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4198 45, 46, 47, 48, -1, 50, -1, 3, 4, 5,
4199 6, 7, -1, -1, -1, -1, -1, 13, -1, 1032,
4200 -1, -1, -1, 1036, -1, 1038, -1, -1, -1, -1,
4201 -1, -1, -1, -1, -1, 1048, -1, -1, -1, -1,
4202 -1, -1, 1055, 1056, -1, -1, 42, 43, 44, -1,
4203 -1, 1064, -1, 49, -1, 51, 52, 53, 54, 55,
4204 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
4205 66, -1, -1, -1, 70, 71, 72, 73, 74, 75,
4206 -1, 77, -1, -1, -1, 81, 82, 83, 84, -1,
4207 86, -1, 88, -1, 90, -1, -1, 93, -1, 1112,
4208 -1, 97, 98, 99, 100, 101, 102, 103, 199, 105,
4209 106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
4210 116, 117, 118, 119, 120, -1, -1, -1, -1, 125,
4211 126, 1144, 128, 129, 130, 131, 132, -1, -1, -1,
4212 -1, -1, -1, 139, -1, -1, -1, -1, 144, 145,
4213 146, 147, 148, 149, 199, 151, 152, -1, 154, 155,
4214 156, 157, -1, -1, 160, -1, -1, 163, -1, -1,
4215 -1, -1, -1, 169, 170, -1, 172, -1, 174, 175,
4216 176, 177, -1, 179, 180, 181, 182, 183, 184, 185,
4217 186, 187, 188, 189, 190, 191, 192, -1, -1, 195,
4218 -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
4219 -1, 1224, 3, 4, 5, 6, 7, -1, -1, -1,
4220 -1, -1, 13, 33, 34, 35, 36, 37, 38, 39,
4221 40, 41, 42, 43, 44, 45, 46, 47, 48, 1252,
4222 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4223 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4224 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4225 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4226 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4227 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4228 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4229 101, 102, 103, -1, 105, 106, 107, 108, 109, 110,
4230 111, 112, 113, -1, 115, 116, 117, 118, 119, 120,
4231 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4232 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4233 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4234 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4235 -1, -1, 163, -1, -1, -1, -1, -1, 169, 170,
4236 -1, 172, -1, 174, 175, 176, 177, -1, 179, 180,
4237 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4238 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4239 201, 12, 203, 204, 3, 4, 5, 6, 7, -1,
4240 -1, -1, -1, -1, 13, 26, -1, 28, 29, 30,
4241 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4242 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4243 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4244 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4245 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4246 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4247 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4248 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4249 99, 100, 101, 102, 103, -1, 105, 106, 107, 108,
4250 109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
4251 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4252 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4253 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4254 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4255 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4256 169, 170, -1, 172, -1, 174, 175, 176, 177, -1,
4257 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4258 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4259 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4260 7, -1, -1, -1, -1, 26, 13, 28, 29, 30,
4261 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4262 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4263 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4264 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4265 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4266 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4267 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4268 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4269 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4270 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4271 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4272 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4273 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4274 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4275 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4276 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4277 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4278 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4279 197, 198, 199, 200, 201, -1, 203, 204, 3, 4,
4280 5, 6, 7, -1, -1, -1, -1, -1, 13, 28,
4281 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4282 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4283 -1, 50, -1, -1, -1, -1, -1, 42, 43, 44,
4284 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4285 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4286 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4287 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4288 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4289 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4290 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4291 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4292 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4293 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4294 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4295 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4296 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4297 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4298 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4299 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4300 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4301 13, 29, 30, 31, 32, 33, 34, 35, 36, 37,
4302 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
4303 48, -1, 50, -1, -1, -1, -1, -1, -1, 42,
4304 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4305 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4306 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4307 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4308 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4309 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4310 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4311 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4312 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4313 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4314 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4315 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4316 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4317 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4318 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4319 -1, -1, 195, -1, 197, 198, 199, 200, 201, -1,
4320 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4321 -1, -1, 13, 30, 31, 32, 33, 34, 35, 36,
4322 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
4323 47, 48, -1, 50, -1, -1, -1, -1, -1, -1,
4324 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4325 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4326 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4327 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4328 81, 82, 83, 84, 85, 86, -1, 88, -1, 90,
4329 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4330 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4331 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4332 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4333 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4334 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4335 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4336 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4337 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4338 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4339 191, 192, -1, -1, 195, -1, 197, 198, -1, 200,
4340 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4341 -1, -1, -1, -1, 13, 31, 32, 33, 34, 35,
4342 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4343 46, 47, 48, -1, 50, -1, -1, -1, -1, -1,
4344 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4345 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4346 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4347 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4348 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4349 -1, 90, 91, -1, 93, -1, -1, -1, 97, 98,
4350 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4351 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4352 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4353 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4354 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4355 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4356 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4357 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4358 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4359 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4360 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4361 7, -1, -1, -1, -1, -1, 13, 32, 33, 34,
4362 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4363 45, 46, 47, 48, -1, 50, -1, -1, -1, -1,
4364 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4365 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4366 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4367 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4368 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4369 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4370 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4371 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4372 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4373 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4374 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4375 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4376 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4377 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4378 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4379 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4380 197, 198, 199, 200, 201, -1, 203, 204, 3, 4,
4381 5, 6, 7, -1, -1, -1, -1, -1, 13, 33,
4382 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4383 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
4384 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
4385 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4386 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4387 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4388 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4389 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4390 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4391 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4392 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4393 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4394 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4395 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4396 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4397 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4398 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4399 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4400 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4401 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4402 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4404 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
4405 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4406 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4407 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4408 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4409 83, 84, -1, 86, -1, 88, 89, 90, -1, -1,
4410 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4411 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4412 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4413 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4414 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4415 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4416 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4417 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4418 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4419 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4420 -1, -1, 195, -1, 197, 198, -1, 200, 201, -1,
4421 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4422 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4424 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4425 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4426 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4427 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4428 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4429 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4430 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4431 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4432 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4433 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4434 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4435 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4436 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4437 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4438 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4439 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4440 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4441 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4442 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4445 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4446 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4447 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4448 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4449 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4450 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4451 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4452 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4453 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4454 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4455 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4456 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4457 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4458 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4459 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4460 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4461 199, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4462 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4465 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4466 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4467 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4468 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4469 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4470 87, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4471 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4472 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4473 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4474 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4475 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4476 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4477 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4478 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4479 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4480 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4481 197, 198, -1, 200, 201, -1, 203, 204, 3, 4,
4482 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4485 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
4486 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4487 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4488 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4489 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4490 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4491 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4492 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4493 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4494 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4495 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4496 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4497 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4498 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4499 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4500 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4501 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4502 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4503 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4505 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
4506 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4507 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4508 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4509 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4510 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4511 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4512 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4513 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4514 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4515 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4516 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4517 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4518 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4519 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4520 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4521 -1, -1, 195, -1, 197, 198, 199, 200, 201, -1,
4522 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4523 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4526 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4527 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4528 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4529 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4530 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4531 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4532 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4533 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4534 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4535 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4536 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4537 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4538 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4539 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4540 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4541 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4542 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4543 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4546 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4547 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4548 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4549 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4550 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4551 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4552 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4553 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4554 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4555 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4556 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4557 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4558 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4559 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4560 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4561 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4562 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4563 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4565 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4566 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4567 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4568 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4569 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4570 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4571 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4572 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4573 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4574 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4575 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4576 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4577 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4578 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4579 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4580 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4581 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4582 197, 198, -1, 200, 201, -1, 203, 204, 3, 4,
4583 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4584 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4585 -1, -1, 27, -1, -1, -1, -1, -1, -1, -1,
4586 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4587 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4588 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4589 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4590 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4591 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4592 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4593 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4594 115, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4595 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4596 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4597 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4598 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4599 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4600 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4601 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4602 195, -1, 197, 198, -1, 200, 201, -1, 203, 204,
4603 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4604 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4605 -1, -1, -1, -1, 27, -1, -1, -1, -1, -1,
4606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4607 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4608 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4609 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4610 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4611 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4612 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4613 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4614 113, -1, 115, 116, 117, -1, -1, -1, -1, -1,
4615 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4616 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4617 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4618 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4619 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4620 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4621 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4622 -1, -1, 195, -1, 197, 198, -1, 200, 201, -1,
4623 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4624 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4625 -1, -1, -1, -1, -1, -1, 27, -1, -1, -1,
4626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4627 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4628 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4629 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4630 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4631 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4632 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4633 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4634 111, 112, 113, -1, 115, 116, 117, -1, -1, -1,
4635 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4636 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4637 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4638 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4639 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4640 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4641 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4642 191, 192, -1, -1, 195, -1, 197, 198, -1, 200,
4643 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4644 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4647 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4648 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4649 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4650 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4651 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4652 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4653 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4654 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4655 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4656 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4657 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4658 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4659 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4660 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4661 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4662 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4663 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4664 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4666 -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
4667 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4668 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4669 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4670 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4671 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4673 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4674 -1, 108, 109, 110, 111, 112, 113, -1, 73, 116,
4675 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4676 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4677 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4678 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4679 -1, -1, 117, 160, -1, -1, 163, -1, -1, -1,
4680 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4681 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
4682 187, 188, 189, 190, 191, 192, 151, 152, 195, 154,
4683 155, 156, -1, 200, 201, -1, 203, 204, 3, 4,
4684 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4685 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
4686 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
4687 195, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4688 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4689 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4690 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4691 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4693 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4694 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4695 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4696 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4697 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4698 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4699 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4700 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4701 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
4702 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4703 195, -1, 197, -1, -1, 200, 201, -1, 203, 204,
4704 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4705 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4708 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4709 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4710 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4711 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4713 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4714 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4715 113, -1, 73, 116, 117, -1, -1, -1, -1, -1,
4716 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4717 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4718 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4719 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4720 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4721 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4722 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4723 151, 152, 195, 154, 155, 156, -1, 200, 201, -1,
4724 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4725 -1, -1, 13, -1, -1, -1, 177, -1, 179, 180,
4726 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4727 191, 32, -1, -1, 195, -1, -1, -1, -1, -1,
4728 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4729 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4730 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4731 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4732 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4733 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4734 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4735 111, 112, 113, -1, 73, 116, 117, -1, -1, -1,
4736 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4737 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4738 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4739 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4740 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4741 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4742 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4743 191, 192, 151, 152, 195, 154, 155, 156, -1, 200,
4744 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4745 -1, -1, -1, -1, 13, -1, -1, -1, 177, -1,
4746 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4747 189, 190, 191, -1, -1, -1, 195, -1, -1, -1,
4748 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4749 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4750 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4751 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4752 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4754 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4755 109, 110, 111, 112, 113, -1, -1, 116, 117, -1,
4756 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4757 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4758 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4759 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4760 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4761 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4762 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4763 189, 190, 191, 192, -1, -1, 195, -1, 197, -1,
4764 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4765 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4768 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4769 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4770 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4771 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4772 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4774 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4775 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4776 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4777 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4778 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4779 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4780 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4781 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4782 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4783 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4784 197, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4785 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4788 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4789 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4790 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4791 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4792 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4794 -1, -1, 97, -1, -1, 100, -1, -1, -1, -1,
4795 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4796 73, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4797 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4798 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4799 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4800 155, 156, -1, -1, -1, 160, 119, -1, 163, -1,
4801 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4802 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4803 185, 186, 187, 188, 189, 190, 191, 192, 151, 152,
4804 195, 154, 155, 156, -1, 200, 201, -1, 203, 204,
4805 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4806 13, -1, -1, -1, 177, -1, 179, 180, 181, 182,
4807 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
4808 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4809 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4810 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4811 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4812 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4814 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4815 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4816 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
4817 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4818 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4819 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
4820 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4821 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4822 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
4823 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4824 -1, -1, 195, 196, -1, -1, -1, 200, 201, -1,
4825 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4826 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4828 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
4829 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4830 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4831 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4832 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4833 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4834 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4835 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4836 111, 112, 113, -1, -1, 116, 117, -1, -1, -1,
4837 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4838 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4839 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4840 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4841 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4842 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4843 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4844 191, 192, -1, -1, 195, -1, -1, -1, -1, 200,
4845 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4846 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4847 -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
4848 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4849 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4850 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4851 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4852 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4853 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4855 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4856 109, 110, 111, 112, 113, -1, 73, 116, 117, -1,
4857 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4858 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4859 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4860 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4861 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4862 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4863 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4864 189, 190, 191, 192, 151, 152, 195, 154, 155, 156,
4865 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4866 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4867 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4868 187, 188, 189, 190, 191, 32, -1, -1, -1, -1,
4869 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4870 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4871 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4872 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4873 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4875 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4876 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4877 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4878 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4879 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4880 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4881 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4882 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4883 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4884 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4885 -1, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4886 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4888 -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
4889 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4890 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4891 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4892 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4893 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4895 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4896 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4897 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4898 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4899 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4900 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4901 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4902 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4903 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4904 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4905 195, -1, -1, -1, -1, 200, 201, -1, 203, 204,
4906 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4907 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4908 -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
4909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4910 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4911 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4912 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4913 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4915 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4916 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4917 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
4918 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4919 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4920 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
4921 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4922 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4923 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
4924 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4925 -1, -1, 195, -1, -1, -1, -1, 200, 201, -1,
4926 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4927 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4930 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4931 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4932 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4933 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4934 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4935 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4936 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4937 111, 112, 113, -1, -1, 116, 117, -1, -1, -1,
4938 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4939 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4940 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4941 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4942 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4943 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4944 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4945 191, 192, -1, -1, 195, -1, -1, 198, -1, 200,
4946 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4947 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4949 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
4950 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4951 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4952 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4953 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4954 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4956 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4957 109, 110, 111, 112, 113, -1, -1, 116, 117, -1,
4958 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4959 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4960 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4961 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4962 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4963 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4964 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4965 189, 190, 191, 192, -1, -1, 195, -1, -1, -1,
4966 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4967 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4969 -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
4970 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4971 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4972 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4973 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4974 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4976 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4977 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4978 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4979 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4980 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4981 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4982 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4983 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4984 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4985 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4986 -1, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4987 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4990 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4991 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4992 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4993 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4994 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4996 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4997 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4998 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4999 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
5000 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
5001 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
5002 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
5003 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
5004 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
5005 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
5006 195, -1, -1, -1, -1, 200, 201, -1, 203, 204,
5007 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
5008 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5011 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
5012 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
5013 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
5014 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
5015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5016 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
5017 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
5018 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
5019 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
5020 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
5021 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
5022 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
5023 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
5024 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
5025 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
5026 -1, -1, 195, 10, 11, 12, -1, 200, 201, -1,
5027 203, 204, -1, -1, -1, -1, -1, -1, -1, 26,
5028 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5029 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5030 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5032 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5033 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5034 46, 47, 48, -1, 50, -1, -1, -1, 10, 11,
5035 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5036 -1, -1, -1, -1, 26, -1, 28, 29, 30, 31,
5037 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
5038 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
5039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5041 -1, 10, 11, 12, -1, 3, 4, 5, 6, 7,
5042 -1, -1, 10, 11, 12, 13, -1, 26, -1, 28,
5043 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5044 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5045 -1, 50, 199, -1, -1, -1, -1, -1, -1, -1,
5046 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
5047 -1, -1, -1, -1, -1, 63, 64, 65, 66, 67,
5048 68, 69, -1, -1, -1, 73, -1, -1, -1, -1,
5049 -1, -1, -1, 199, 82, 83, 84, 85, 86, 87,
5050 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5051 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5052 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
5053 118, 119, 120, 121, 122, 197, -1, 125, 126, -1,
5054 128, 129, 130, 131, 132, -1, -1, -1, -1, -1,
5055 -1, -1, -1, -1, -1, -1, 144, 145, 146, -1,
5056 148, -1, -1, 151, 152, -1, 154, 155, 156, 157,
5057 -1, 159, 160, -1, 162, -1, -1, -1, -1, -1,
5058 -1, 169, 170, -1, 172, 184, 174, 175, 176, 177,
5059 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5060 188, 189, 190, 191, 10, 11, 12, -1, -1, -1,
5061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5062 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5063 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5064 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5066 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
5067 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5068 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5070 -1, -1, 26, -1, 28, 29, 30, 31, 32, 33,
5071 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5072 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5074 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5075 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5076 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5077 -1, -1, -1, -1, 10, 11, 12, -1, -1, -1,
5078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5079 26, 197, 28, 29, 30, 31, 32, 33, 34, 35,
5080 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5081 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5083 -1, 26, 197, 28, 29, 30, 31, 32, 33, 34,
5084 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5085 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5087 -1, -1, 26, 197, 28, 29, 30, 31, 32, 33,
5088 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5089 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5091 -1, -1, -1, 26, 197, 28, 29, 30, 31, 32,
5092 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5093 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5094 -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
5095 -1, 73, -1, 75, -1, -1, -1, -1, -1, 26,
5096 196, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5097 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5098 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5099 -1, -1, -1, -1, -1, -1, -1, 119, -1, -1,
5100 26, 196, 28, 29, 30, 31, 32, 33, 34, 35,
5101 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5102 46, 47, 48, 26, 50, -1, -1, -1, -1, 151,
5103 152, -1, 154, 155, 156, -1, -1, 191, -1, -1,
5104 -1, -1, -1, -1, -1, -1, -1, -1, -1, 52,
5105 -1, -1, -1, -1, -1, 177, -1, 179, 180, 181,
5106 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5107 73, -1, -1, -1, 187, 188, 198, -1, 200, -1,
5108 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5109 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
5110 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
5111 113, -1, -1, -1, -1, 52, 183, -1, -1, -1,
5112 -1, -1, -1, 126, 127, -1, -1, -1, -1, -1,
5113 -1, -1, -1, -1, -1, -1, 73, -1, -1, -1,
5114 -1, 144, -1, -1, 147, -1, 149, -1, 151, 152,
5115 -1, 154, 155, 156, -1, -1, 182, -1, -1, -1,
5116 -1, -1, -1, 100, -1, -1, 169, -1, -1, 26,
5117 -1, -1, -1, 176, 177, -1, 179, 180, 181, 182,
5118 183, 184, 185, 186, 187, 188, 189, 190, 191, 126,
5119 127, -1, 195, -1, -1, 52, -1, -1, -1, -1,
5120 -1, -1, -1, -1, -1, -1, -1, 144, -1, -1,
5121 147, -1, 149, -1, 151, 152, 73, 154, 155, 156,
5122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5123 -1, -1, 169, -1, -1, 26, -1, -1, -1, -1,
5124 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
5125 187, 188, 189, 190, 191, -1, -1, -1, 195, -1,
5126 -1, 52, -1, -1, -1, -1, -1, -1, -1, 126,
5127 127, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5128 -1, -1, 73, -1, -1, -1, -1, 144, -1, -1,
5129 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
5130 -1, 158, -1, -1, -1, -1, -1, -1, -1, -1,
5131 -1, -1, 169, -1, -1, 26, -1, -1, -1, -1,
5132 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
5133 187, 188, 189, 190, 191, 126, 127, -1, 195, -1,
5134 -1, 52, -1, -1, -1, -1, -1, -1, -1, -1,
5135 -1, -1, -1, 144, -1, -1, 147, -1, 149, -1,
5136 151, 152, 73, 154, 155, 156, -1, 158, -1, -1,
5137 32, -1, -1, -1, -1, -1, -1, -1, 169, -1,
5138 -1, -1, -1, -1, -1, -1, 177, -1, 179, 180,
5139 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5140 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
5141 -1, 73, -1, 75, -1, 126, 127, -1, -1, -1,
5142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5143 -1, -1, -1, 144, -1, -1, 147, -1, 149, -1,
5144 151, 152, -1, 154, 155, 156, -1, -1, -1, -1,
5145 -1, 113, -1, -1, -1, -1, -1, -1, 169, -1,
5146 -1, -1, -1, 125, -1, -1, 177, -1, 179, 180,
5147 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5148 191, -1, 144, -1, 195, 147, -1, 149, -1, 151,
5149 152, -1, 154, 155, 156, -1, -1, -1, -1, -1,
5150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5151 -1, -1, 43, 44, -1, 177, -1, 179, 180, 181,
5152 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5153 -1, 62, -1, 195, -1, -1, -1, -1, 200, 70,
5154 71, 72, 73, -1, -1, -1, -1, -1, -1, -1,
5155 81, 10, 11, 12, -1, -1, -1, -1, -1, -1,
5156 -1, -1, -1, -1, -1, -1, -1, 26, -1, 28,
5157 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5158 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5159 73, 50, 75, -1, -1, 126, -1, 128, 129, 130,
5160 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
5161 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
5162 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
5163 113, -1, -1, -1, -1, -1, -1, -1, 169, -1,
5164 73, -1, 75, 174, -1, -1, 177, -1, 179, 180,
5165 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5166 191, 144, -1, -1, 147, 124, 149, -1, 151, 152,
5167 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5168 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5169 -1, -1, 125, -1, 177, -1, 179, 180, 181, 182,
5170 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
5171 -1, 144, 195, -1, 147, 198, 149, 200, 151, 152,
5172 -1, 154, 155, 156, 73, -1, 75, -1, -1, -1,
5173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5174 -1, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5175 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
5176 -1, -1, 195, -1, 113, -1, -1, 200, -1, -1,
5177 -1, -1, -1, -1, -1, -1, 125, -1, 73, -1,
5178 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5179 -1, -1, -1, -1, -1, 144, -1, -1, 147, -1,
5180 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
5181 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1,
5182 -1, -1, -1, -1, -1, -1, -1, -1, 177, -1,
5183 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
5184 189, 190, 191, 73, -1, 75, 195, -1, -1, 144,
5185 -1, 200, 147, -1, 149, -1, 151, 152, -1, 154,
5186 155, 156, -1, -1, -1, -1, -1, -1, -1, -1,
5187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5188 -1, -1, 177, 113, 179, 180, 181, 182, 183, 184,
5189 185, 186, 187, 188, 189, 190, 191, 73, -1, 75,
5190 195, -1, -1, -1, -1, 200, -1, -1, -1, -1,
5191 -1, -1, -1, -1, 144, -1, -1, 147, -1, 149,
5192 -1, 151, 152, -1, 154, 155, 156, -1, -1, -1,
5193 -1, -1, -1, -1, -1, -1, -1, -1, 73, -1,
5194 75, -1, -1, -1, -1, -1, -1, 177, -1, 179,
5195 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
5196 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
5197 200, -1, -1, -1, -1, 151, 152, -1, 154, 155,
5198 156, -1, -1, -1, -1, -1, -1, -1, 73, -1,
5199 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5200 -1, 177, -1, 179, 180, 181, 182, 183, 184, 185,
5201 186, 187, 188, 189, 190, 191, 151, 152, -1, 154,
5202 155, 156, 198, -1, 200, -1, -1, -1, -1, 73,
5203 -1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
5204 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
5205 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
5206 -1, -1, -1, 198, -1, 200, 151, 152, -1, 154,
5207 155, 156, -1, -1, -1, -1, -1, -1, -1, 73,
5208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5209 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
5210 185, 186, 187, 188, 189, 190, 191, 151, 152, -1,
5211 154, 155, 156, 198, -1, 200, -1, -1, -1, -1,
5212 -1, -1, -1, -1, -1, 73, -1, -1, -1, -1,
5213 -1, -1, -1, 177, -1, 179, 180, 181, 182, 183,
5214 184, 185, 186, 187, 188, 189, 190, 191, -1, -1,
5215 144, -1, -1, 147, 198, -1, 200, 151, 152, -1,
5216 154, 155, 156, -1, -1, -1, -1, -1, -1, -1,
5217 -1, -1, -1, 73, -1, -1, -1, -1, -1, -1,
5218 -1, -1, -1, 177, -1, 179, 180, 181, 182, 183,
5219 184, 185, 186, 187, 188, 189, 190, 191, -1, 147,
5220 -1, -1, -1, 151, 152, 199, 154, 155, 156, -1,
5221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5222 -1, -1, 73, -1, -1, -1, -1, -1, -1, 177,
5223 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5224 188, 189, 190, 191, -1, -1, -1, -1, -1, 149,
5225 198, 151, 152, 153, 154, 155, 156, -1, -1, -1,
5226 -1, -1, -1, 114, -1, -1, -1, -1, -1, -1,
5227 73, -1, -1, -1, -1, 126, -1, 177, -1, 179,
5228 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
5229 190, 191, -1, 144, -1, 195, 147, -1, 149, -1,
5230 151, 152, -1, 154, 155, 156, -1, -1, -1, -1,
5231 -1, 73, -1, 75, 76, -1, -1, -1, -1, -1,
5232 -1, -1, -1, -1, -1, -1, 177, 73, 179, 180,
5233 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5234 191, 144, -1, -1, 147, -1, 149, -1, 151, 152,
5235 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5237 73, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5238 183, 184, 185, 186, 187, 188, 189, 190, 191, 151,
5239 152, -1, 154, 155, 156, -1, -1, -1, -1, -1,
5240 -1, 147, -1, -1, -1, 151, 152, -1, 154, 155,
5241 156, -1, -1, -1, -1, 177, -1, 179, 180, 181,
5242 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5243 -1, 177, -1, 179, 180, 181, 182, 183, 184, 185,
5244 186, 187, 188, 189, 190, 191, 149, -1, 151, 152,
5245 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5247 -1, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5248 183, 184, 185, 186, 187, 188, 189, 190, 191, 10,
5249 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
5250 -1, -1, -1, -1, -1, 26, -1, 28, 29, 30,
5251 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5252 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
5253 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
5254 -1, -1, -1, -1, -1, -1, 26, -1, 28, 29,
5255 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5256 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5257 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5258 -1, -1, -1, -1, -1, -1, 10, 11, 12, -1,
5259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5260 -1, -1, 26, 124, 28, 29, 30, 31, 32, 33,
5261 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5262 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5264 -1, -1, -1, 26, 124, 28, 29, 30, 31, 32,
5265 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5266 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5268 -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
5269 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5270 124, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5271 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5272 47, 48, -1, 50, -1, -1, 10, 11, 12, -1,
5273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5274 -1, 124, 26, 27, 28, 29, 30, 31, 32, 33,
5275 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5276 44, 45, 46, 47, 48, 92, 50, 10, 11, 12,
5277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5278 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5279 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5280 43, 44, 45, 46, 47, 48, -1, 50, 11, 12,
5281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5282 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5283 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5284 43, 44, 45, 46, 47, 48, -1, 50
5287 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5288 symbol of state STATE-NUM. */
5289 static const yytype_uint16 yystos[] =
5291 0, 206, 207, 0, 208, 3, 4, 5, 6, 7,
5292 13, 42, 43, 44, 49, 51, 52, 53, 54, 55,
5293 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5294 66, 70, 71, 72, 73, 74, 75, 77, 81, 82,
5295 83, 84, 86, 88, 90, 93, 97, 98, 99, 100,
5296 101, 102, 103, 105, 106, 107, 108, 109, 110, 111,
5297 112, 113, 115, 116, 117, 118, 119, 120, 125, 126,
5298 128, 129, 130, 131, 132, 139, 144, 145, 146, 147,
5299 148, 149, 151, 152, 154, 155, 156, 157, 160, 163,
5300 169, 170, 172, 174, 175, 176, 177, 179, 180, 181,
5301 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5302 192, 195, 197, 198, 200, 201, 203, 204, 209, 212,
5303 215, 216, 217, 218, 219, 220, 223, 238, 239, 243,
5304 248, 254, 309, 310, 315, 319, 320, 321, 322, 323,
5305 324, 325, 326, 328, 331, 340, 341, 342, 344, 345,
5306 347, 366, 376, 377, 378, 383, 386, 404, 409, 411,
5307 412, 413, 414, 415, 416, 417, 418, 420, 433, 435,
5308 437, 111, 112, 113, 125, 144, 212, 238, 309, 325,
5309 411, 325, 195, 325, 325, 325, 402, 403, 325, 325,
5310 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
5311 75, 113, 195, 216, 377, 378, 411, 411, 32, 325,
5312 424, 425, 325, 113, 195, 216, 377, 378, 379, 410,
5313 416, 421, 422, 195, 316, 380, 195, 316, 332, 317,
5314 325, 225, 316, 195, 195, 195, 316, 197, 325, 212,
5315 197, 325, 26, 52, 126, 127, 149, 169, 195, 212,
5316 219, 438, 448, 449, 178, 197, 322, 325, 346, 348,
5317 198, 231, 325, 147, 213, 214, 215, 75, 200, 280,
5318 281, 119, 119, 75, 282, 195, 195, 195, 195, 212,
5319 252, 439, 195, 195, 75, 80, 140, 141, 142, 430,
5320 431, 147, 198, 215, 215, 97, 325, 253, 439, 149,
5321 195, 439, 439, 325, 333, 315, 325, 326, 411, 221,
5322 198, 80, 381, 430, 80, 430, 430, 27, 147, 165,
5323 440, 195, 9, 197, 32, 237, 149, 251, 439, 113,
5324 238, 310, 197, 197, 197, 197, 197, 197, 10, 11,
5325 12, 26, 28, 29, 30, 31, 32, 33, 34, 35,
5326 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5327 46, 47, 48, 50, 197, 62, 62, 197, 198, 143,
5328 120, 157, 254, 308, 309, 14, 15, 16, 17, 18,
5329 19, 20, 21, 22, 23, 24, 25, 60, 61, 123,
5330 406, 407, 62, 198, 408, 195, 62, 198, 200, 417,
5331 195, 237, 238, 14, 325, 41, 212, 401, 195, 315,
5332 411, 143, 411, 124, 202, 9, 388, 315, 411, 440,
5333 143, 195, 382, 123, 406, 407, 408, 196, 325, 27,
5334 223, 8, 334, 9, 197, 223, 224, 317, 318, 325,
5335 212, 266, 227, 197, 197, 197, 449, 449, 165, 195,
5336 100, 441, 449, 14, 212, 75, 197, 197, 197, 178,
5337 179, 180, 185, 186, 189, 190, 349, 350, 351, 352,
5338 353, 354, 355, 356, 357, 361, 362, 363, 232, 104,
5339 162, 197, 215, 9, 197, 92, 198, 411, 9, 197,
5340 14, 9, 197, 411, 434, 434, 315, 326, 411, 196,
5341 165, 246, 125, 411, 423, 424, 62, 123, 140, 431,
5342 74, 325, 411, 80, 140, 431, 215, 211, 197, 198,
5343 197, 124, 249, 367, 369, 81, 335, 336, 338, 14,
5344 92, 436, 276, 277, 404, 405, 196, 196, 196, 199,
5345 222, 223, 239, 243, 248, 325, 201, 203, 204, 212,
5346 441, 32, 278, 279, 325, 438, 195, 439, 244, 237,
5347 325, 325, 325, 27, 325, 325, 325, 325, 325, 325,
5348 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
5349 325, 325, 325, 325, 325, 325, 379, 325, 419, 419,
5350 325, 426, 427, 119, 198, 212, 416, 417, 252, 253,
5351 251, 238, 32, 148, 319, 322, 325, 346, 325, 325,
5352 325, 325, 325, 325, 325, 325, 325, 325, 325, 198,
5353 212, 416, 419, 325, 278, 419, 325, 423, 237, 196,
5354 195, 400, 9, 388, 315, 196, 212, 32, 325, 32,
5355 325, 196, 196, 416, 278, 198, 212, 416, 196, 221,
5356 270, 198, 325, 325, 84, 27, 223, 264, 197, 92,
5357 14, 9, 196, 27, 198, 267, 449, 81, 445, 446,
5358 447, 195, 9, 43, 44, 62, 126, 139, 149, 169,
5359 177, 216, 217, 219, 343, 377, 383, 384, 385, 181,
5360 75, 325, 75, 75, 325, 358, 359, 325, 325, 351,
5361 361, 184, 364, 221, 195, 230, 92, 214, 212, 325,
5362 281, 384, 75, 9, 196, 196, 196, 196, 196, 197,
5363 212, 444, 121, 257, 195, 9, 196, 196, 75, 76,
5364 212, 432, 212, 62, 199, 199, 208, 210, 325, 122,
5365 256, 164, 47, 149, 164, 371, 124, 9, 388, 196,
5366 449, 449, 14, 193, 9, 389, 449, 450, 123, 406,
5367 407, 408, 199, 9, 166, 411, 196, 9, 389, 14,
5368 329, 240, 121, 255, 195, 439, 325, 27, 202, 202,
5369 124, 199, 9, 388, 325, 440, 195, 247, 250, 245,
5370 237, 64, 411, 325, 440, 195, 202, 199, 196, 202,
5371 199, 196, 43, 44, 62, 70, 71, 72, 81, 126,
5372 139, 169, 177, 212, 391, 393, 396, 399, 212, 411,
5373 411, 124, 406, 407, 408, 196, 325, 271, 67, 68,
5374 272, 221, 316, 221, 318, 32, 125, 261, 411, 384,
5375 212, 27, 223, 265, 197, 268, 197, 268, 9, 166,
5376 124, 9, 388, 196, 158, 441, 442, 449, 384, 384,
5377 384, 387, 390, 195, 80, 143, 195, 195, 143, 198,
5378 325, 181, 181, 14, 187, 188, 360, 9, 191, 364,
5379 75, 199, 377, 198, 234, 212, 199, 14, 411, 197,
5380 92, 9, 166, 258, 377, 198, 423, 125, 411, 14,
5381 202, 325, 199, 208, 258, 198, 370, 14, 325, 335,
5382 197, 449, 27, 443, 405, 32, 75, 158, 198, 212,
5383 416, 449, 32, 325, 384, 276, 195, 377, 256, 330,
5384 241, 325, 325, 325, 199, 195, 278, 257, 256, 255,
5385 439, 379, 199, 195, 278, 14, 70, 71, 72, 212,
5386 392, 392, 393, 394, 395, 195, 80, 140, 195, 195,
5387 9, 388, 196, 400, 32, 325, 199, 67, 68, 273,
5388 316, 223, 199, 197, 85, 197, 411, 195, 124, 260,
5389 14, 221, 268, 94, 95, 96, 268, 199, 449, 449,
5390 445, 9, 196, 196, 124, 202, 9, 388, 387, 212,
5391 335, 337, 339, 387, 119, 212, 384, 428, 429, 325,
5392 325, 325, 359, 325, 349, 75, 235, 384, 449, 212,
5393 9, 283, 196, 195, 319, 322, 325, 202, 199, 283,
5394 150, 163, 198, 366, 373, 150, 198, 372, 124, 197,
5395 449, 334, 450, 75, 14, 75, 325, 440, 195, 411,
5396 196, 276, 198, 276, 195, 124, 195, 278, 196, 198,
5397 198, 256, 242, 382, 195, 278, 196, 124, 202, 9,
5398 388, 394, 140, 335, 397, 398, 394, 393, 411, 316,
5399 27, 69, 223, 197, 318, 423, 261, 196, 384, 91,
5400 94, 197, 325, 27, 197, 269, 199, 166, 158, 27,
5401 384, 384, 196, 124, 9, 388, 196, 196, 124, 199,
5402 9, 388, 182, 196, 221, 92, 377, 4, 101, 106,
5403 114, 151, 152, 154, 199, 284, 307, 308, 309, 314,
5404 404, 423, 199, 199, 47, 325, 325, 325, 32, 75,
5405 158, 14, 384, 199, 195, 278, 443, 196, 283, 196,
5406 276, 325, 278, 196, 283, 283, 198, 195, 278, 196,
5407 393, 393, 196, 124, 196, 9, 388, 196, 27, 221,
5408 197, 196, 196, 228, 197, 197, 269, 221, 449, 124,
5409 384, 335, 384, 384, 325, 198, 199, 449, 121, 122,
5410 438, 259, 377, 114, 126, 149, 155, 293, 294, 295,
5411 377, 153, 299, 300, 117, 195, 212, 301, 302, 285,
5412 238, 449, 9, 197, 308, 196, 149, 368, 199, 199,
5413 75, 14, 75, 384, 195, 278, 196, 106, 327, 443,
5414 199, 443, 196, 196, 199, 199, 283, 276, 196, 124,
5415 393, 335, 221, 226, 27, 223, 263, 221, 196, 384,
5416 124, 124, 183, 221, 377, 377, 14, 9, 197, 198,
5417 198, 9, 197, 3, 4, 5, 6, 7, 10, 11,
5418 12, 13, 50, 63, 64, 65, 66, 67, 68, 69,
5419 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
5420 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5421 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5422 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
5423 122, 125, 126, 128, 129, 130, 131, 132, 144, 145,
5424 146, 148, 157, 159, 160, 162, 169, 170, 172, 174,
5425 175, 176, 212, 374, 375, 9, 197, 149, 153, 212,
5426 302, 303, 304, 197, 75, 313, 237, 286, 438, 238,
5427 14, 384, 278, 196, 195, 198, 197, 198, 305, 327,
5428 443, 199, 196, 393, 124, 27, 223, 262, 221, 384,
5429 384, 325, 199, 197, 197, 384, 377, 289, 296, 383,
5430 294, 14, 27, 44, 297, 300, 9, 30, 196, 26,
5431 43, 46, 14, 9, 197, 439, 313, 14, 237, 384,
5432 196, 32, 75, 365, 221, 221, 198, 305, 443, 393,
5433 221, 89, 184, 233, 199, 212, 219, 290, 291, 292,
5434 9, 199, 384, 375, 375, 52, 298, 303, 303, 26,
5435 43, 46, 384, 75, 195, 197, 384, 439, 75, 9,
5436 389, 199, 199, 221, 305, 87, 197, 75, 104, 229,
5437 143, 92, 383, 156, 14, 287, 195, 32, 75, 196,
5438 199, 197, 195, 162, 236, 212, 308, 309, 384, 274,
5439 275, 405, 288, 75, 377, 234, 159, 212, 197, 196,
5440 9, 389, 108, 109, 110, 311, 312, 274, 75, 259,
5441 197, 443, 405, 450, 196, 196, 197, 197, 198, 306,
5442 311, 32, 75, 158, 443, 198, 221, 450, 75, 14,
5443 75, 306, 221, 199, 32, 75, 158, 14, 384, 199,
5444 75, 14, 75, 384, 14, 384, 384
5447 #define yyerrok (yyerrstatus = 0)
5448 #define yyclearin (yychar = YYEMPTY)
5449 #define YYEMPTY (-2)
5450 #define YYEOF 0
5452 #define YYACCEPT goto yyacceptlab
5453 #define YYABORT goto yyabortlab
5454 #define YYERROR goto yyerrorlab
5457 /* Like YYERROR except do call yyerror. This remains here temporarily
5458 to ease the transition to the new meaning of YYERROR, for GCC.
5459 Once GCC version 2 has supplanted version 1, this can go. */
5461 #define YYFAIL goto yyerrlab
5463 #define YYRECOVERING() (!!yyerrstatus)
5465 #define YYBACKUP(Token, Value) \
5466 do \
5467 if (yychar == YYEMPTY && yylen == 1) \
5469 yychar = (Token); \
5470 yylval = (Value); \
5471 yytoken = YYTRANSLATE (yychar); \
5472 YYPOPSTACK (1); \
5473 goto yybackup; \
5475 else \
5477 yyerror (&yylloc, _p, YY_("syntax error: cannot back up")); \
5478 YYERROR; \
5480 while (YYID (0))
5483 #define YYTERROR 1
5484 #define YYERRCODE 256
5487 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
5488 If N is 0, then set CURRENT to the empty location which ends
5489 the previous symbol: RHS[0] (always defined). */
5491 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
5492 #ifndef YYLLOC_DEFAULT
5493 # define YYLLOC_DEFAULT(Current, Rhs, N) \
5494 do \
5495 if (YYID (N)) \
5497 (Current).line0 = YYRHSLOC (Rhs, 1).line0; \
5498 (Current).char0 = YYRHSLOC (Rhs, 1).char0; \
5499 (Current).line1 = YYRHSLOC (Rhs, N).line1; \
5500 (Current).char1 = YYRHSLOC (Rhs, N).char1; \
5502 else \
5504 (Current).line0 = (Current).line1 = \
5505 YYRHSLOC (Rhs, 0).line1; \
5506 (Current).char0 = (Current).char1 = \
5507 YYRHSLOC (Rhs, 0).char1; \
5509 while (YYID (0))
5510 #endif
5513 /* YY_LOCATION_PRINT -- Print the location on the stream.
5514 This macro was not mandated originally: define only if we know
5515 we won't break user code: when these are the locations we know. */
5517 #ifndef YY_LOCATION_PRINT
5518 # if YYLTYPE_IS_TRIVIAL
5519 # define YY_LOCATION_PRINT(File, Loc) \
5520 fprintf (File, "%d.%d-%d.%d", \
5521 (Loc).line0, (Loc).char0, \
5522 (Loc).line1, (Loc).char1)
5523 # else
5524 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
5525 # endif
5526 #endif
5529 /* YYLEX -- calling `yylex' with the right arguments. */
5531 #ifdef YYLEX_PARAM
5532 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
5533 #else
5534 # define YYLEX yylex (&yylval, &yylloc)
5535 #endif
5537 /* Enable debugging if requested. */
5538 #if YYDEBUG
5540 # ifndef YYFPRINTF
5541 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
5542 # define YYFPRINTF fprintf
5543 # endif
5545 # define YYDPRINTF(Args) \
5546 do { \
5547 if (yydebug) \
5548 YYFPRINTF Args; \
5549 } while (YYID (0))
5551 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
5552 do { \
5553 if (yydebug) \
5555 YYFPRINTF (stderr, "%s ", Title); \
5556 yy_symbol_print (stderr, \
5557 Type, Value, Location, _p); \
5558 YYFPRINTF (stderr, "\n"); \
5560 } while (YYID (0))
5563 /*--------------------------------.
5564 | Print this symbol on YYOUTPUT. |
5565 `--------------------------------*/
5567 /*ARGSUSED*/
5568 #if (defined __STDC__ || defined __C99__FUNC__ \
5569 || defined __cplusplus || defined _MSC_VER)
5570 static void
5571 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5572 #else
5573 static void
5574 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
5575 FILE *yyoutput;
5576 int yytype;
5577 YYSTYPE const * const yyvaluep;
5578 YYLTYPE const * const yylocationp;
5579 HPHP::HPHP_PARSER_NS::Parser *_p;
5580 #endif
5582 if (!yyvaluep)
5583 return;
5584 YYUSE (yylocationp);
5585 YYUSE (_p);
5586 # ifdef YYPRINT
5587 if (yytype < YYNTOKENS)
5588 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
5589 # else
5590 YYUSE (yyoutput);
5591 # endif
5592 switch (yytype)
5594 default:
5595 break;
5600 /*--------------------------------.
5601 | Print this symbol on YYOUTPUT. |
5602 `--------------------------------*/
5604 #if (defined __STDC__ || defined __C99__FUNC__ \
5605 || defined __cplusplus || defined _MSC_VER)
5606 static void
5607 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5608 #else
5609 static void
5610 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
5611 FILE *yyoutput;
5612 int yytype;
5613 YYSTYPE const * const yyvaluep;
5614 YYLTYPE const * const yylocationp;
5615 HPHP::HPHP_PARSER_NS::Parser *_p;
5616 #endif
5618 if (yytype < YYNTOKENS)
5619 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
5620 else
5621 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
5623 YY_LOCATION_PRINT (yyoutput, *yylocationp);
5624 YYFPRINTF (yyoutput, ": ");
5625 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p);
5626 YYFPRINTF (yyoutput, ")");
5629 /*------------------------------------------------------------------.
5630 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
5631 | TOP (included). |
5632 `------------------------------------------------------------------*/
5634 #if (defined __STDC__ || defined __C99__FUNC__ \
5635 || defined __cplusplus || defined _MSC_VER)
5636 static void
5637 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
5638 #else
5639 static void
5640 yy_stack_print (yybottom, yytop)
5641 yytype_int16 *yybottom;
5642 yytype_int16 *yytop;
5643 #endif
5645 YYFPRINTF (stderr, "Stack now");
5646 for (; yybottom <= yytop; yybottom++)
5648 int yybot = *yybottom;
5649 YYFPRINTF (stderr, " %d", yybot);
5651 YYFPRINTF (stderr, "\n");
5654 # define YY_STACK_PRINT(Bottom, Top) \
5655 do { \
5656 if (yydebug) \
5657 yy_stack_print ((Bottom), (Top)); \
5658 } while (YYID (0))
5661 /*------------------------------------------------.
5662 | Report that the YYRULE is going to be reduced. |
5663 `------------------------------------------------*/
5665 #if (defined __STDC__ || defined __C99__FUNC__ \
5666 || defined __cplusplus || defined _MSC_VER)
5667 static void
5668 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, HPHP::HPHP_PARSER_NS::Parser *_p)
5669 #else
5670 static void
5671 yy_reduce_print (yyvsp, yylsp, yyrule, _p)
5672 YYSTYPE *yyvsp;
5673 YYLTYPE *yylsp;
5674 int yyrule;
5675 HPHP::HPHP_PARSER_NS::Parser *_p;
5676 #endif
5678 int yynrhs = yyr2[yyrule];
5679 int yyi;
5680 unsigned long int yylno = yyrline[yyrule];
5681 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
5682 yyrule - 1, yylno);
5683 /* The symbols being reduced. */
5684 for (yyi = 0; yyi < yynrhs; yyi++)
5686 YYFPRINTF (stderr, " $%d = ", yyi + 1);
5687 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
5688 &(yyvsp[(yyi + 1) - (yynrhs)])
5689 , &(yylsp[(yyi + 1) - (yynrhs)]) , _p);
5690 YYFPRINTF (stderr, "\n");
5694 # define YY_REDUCE_PRINT(Rule) \
5695 do { \
5696 if (yydebug) \
5697 yy_reduce_print (yyvsp, yylsp, Rule, _p); \
5698 } while (YYID (0))
5700 /* Nonzero means print parse trace. It is left uninitialized so that
5701 multiple parsers can coexist. */
5702 int yydebug;
5703 #else /* !YYDEBUG */
5704 # define YYDPRINTF(Args)
5705 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
5706 # define YY_STACK_PRINT(Bottom, Top)
5707 # define YY_REDUCE_PRINT(Rule)
5708 #endif /* !YYDEBUG */
5711 /* YYINITDEPTH -- initial size of the parser's stacks. */
5712 #ifndef YYINITDEPTH
5713 # define YYINITDEPTH 200
5714 #endif
5716 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
5717 if the built-in stack extension method is used).
5719 Do not make this value too large; the results are undefined if
5720 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
5721 evaluated with infinite-precision integer arithmetic. */
5723 #ifndef YYMAXDEPTH
5724 # define YYMAXDEPTH 10000
5725 #endif
5729 #if YYERROR_VERBOSE
5731 # ifndef yystrlen
5732 # if defined __GLIBC__ && defined _STRING_H
5733 # define yystrlen strlen
5734 # else
5735 /* Return the length of YYSTR. */
5736 #if (defined __STDC__ || defined __C99__FUNC__ \
5737 || defined __cplusplus || defined _MSC_VER)
5738 static YYSIZE_T
5739 yystrlen (const char *yystr)
5740 #else
5741 static YYSIZE_T
5742 yystrlen (yystr)
5743 const char *yystr;
5744 #endif
5746 YYSIZE_T yylen;
5747 for (yylen = 0; yystr[yylen]; yylen++)
5748 continue;
5749 return yylen;
5751 # endif
5752 # endif
5754 # ifndef yystpcpy
5755 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
5756 # define yystpcpy stpcpy
5757 # else
5758 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
5759 YYDEST. */
5760 #if (defined __STDC__ || defined __C99__FUNC__ \
5761 || defined __cplusplus || defined _MSC_VER)
5762 static char *
5763 yystpcpy (char *yydest, const char *yysrc)
5764 #else
5765 static char *
5766 yystpcpy (yydest, yysrc)
5767 char *yydest;
5768 const char *yysrc;
5769 #endif
5771 char *yyd = yydest;
5772 const char *yys = yysrc;
5774 while ((*yyd++ = *yys++) != '\0')
5775 continue;
5777 return yyd - 1;
5779 # endif
5780 # endif
5782 # ifndef yytnamerr
5783 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
5784 quotes and backslashes, so that it's suitable for yyerror. The
5785 heuristic is that double-quoting is unnecessary unless the string
5786 contains an apostrophe, a comma, or backslash (other than
5787 backslash-backslash). YYSTR is taken from yytname. If YYRES is
5788 null, do not copy; instead, return the length of what the result
5789 would have been. */
5790 static YYSIZE_T
5791 yytnamerr (char *yyres, const char *yystr)
5793 if (*yystr == '"')
5795 YYSIZE_T yyn = 0;
5796 char const *yyp = yystr;
5798 for (;;)
5799 switch (*++yyp)
5801 case '\'':
5802 case ',':
5803 goto do_not_strip_quotes;
5805 case '\\':
5806 if (*++yyp != '\\')
5807 goto do_not_strip_quotes;
5808 /* Fall through. */
5809 default:
5810 if (yyres)
5811 yyres[yyn] = *yyp;
5812 yyn++;
5813 break;
5815 case '"':
5816 if (yyres)
5817 yyres[yyn] = '\0';
5818 return yyn;
5820 do_not_strip_quotes: ;
5823 if (! yyres)
5824 return yystrlen (yystr);
5826 return yystpcpy (yyres, yystr) - yyres;
5828 # endif
5830 /* Copy into YYRESULT an error message about the unexpected token
5831 YYCHAR while in state YYSTATE. Return the number of bytes copied,
5832 including the terminating null byte. If YYRESULT is null, do not
5833 copy anything; just return the number of bytes that would be
5834 copied. As a special case, return 0 if an ordinary "syntax error"
5835 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
5836 size calculation. */
5837 static YYSIZE_T
5838 yysyntax_error (char *yyresult, int yystate, int yychar)
5840 int yyn = yypact[yystate];
5842 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
5843 return 0;
5844 else
5846 int yytype = YYTRANSLATE (yychar);
5847 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
5848 YYSIZE_T yysize = yysize0;
5849 YYSIZE_T yysize1;
5850 int yysize_overflow = 0;
5851 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
5852 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
5853 int yyx;
5855 # if 0
5856 /* This is so xgettext sees the translatable formats that are
5857 constructed on the fly. */
5858 YY_("syntax error, unexpected %s");
5859 YY_("syntax error, unexpected %s, expecting %s");
5860 YY_("syntax error, unexpected %s, expecting %s or %s");
5861 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
5862 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
5863 # endif
5864 char *yyfmt;
5865 char const *yyf;
5866 static char const yyunexpected[] = "syntax error, unexpected %s";
5867 static char const yyexpecting[] = ", expecting %s";
5868 static char const yyor[] = " or %s";
5869 char yyformat[sizeof yyunexpected
5870 + sizeof yyexpecting - 1
5871 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
5872 * (sizeof yyor - 1))];
5873 char const *yyprefix = yyexpecting;
5875 /* Start YYX at -YYN if negative to avoid negative indexes in
5876 YYCHECK. */
5877 int yyxbegin = yyn < 0 ? -yyn : 0;
5879 /* Stay within bounds of both yycheck and yytname. */
5880 int yychecklim = YYLAST - yyn + 1;
5881 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5882 int yycount = 1;
5884 yyarg[0] = yytname[yytype];
5885 yyfmt = yystpcpy (yyformat, yyunexpected);
5887 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5888 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
5890 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
5892 yycount = 1;
5893 yysize = yysize0;
5894 yyformat[sizeof yyunexpected - 1] = '\0';
5895 break;
5897 yyarg[yycount++] = yytname[yyx];
5898 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
5899 yysize_overflow |= (yysize1 < yysize);
5900 yysize = yysize1;
5901 yyfmt = yystpcpy (yyfmt, yyprefix);
5902 yyprefix = yyor;
5905 yyf = YY_(yyformat);
5906 yysize1 = yysize + yystrlen (yyf);
5907 yysize_overflow |= (yysize1 < yysize);
5908 yysize = yysize1;
5910 if (yysize_overflow)
5911 return YYSIZE_MAXIMUM;
5913 if (yyresult)
5915 /* Avoid sprintf, as that infringes on the user's name space.
5916 Don't have undefined behavior even if the translation
5917 produced a string with the wrong number of "%s"s. */
5918 char *yyp = yyresult;
5919 int yyi = 0;
5920 while ((*yyp = *yyf) != '\0')
5922 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
5924 yyp += yytnamerr (yyp, yyarg[yyi++]);
5925 yyf += 2;
5927 else
5929 yyp++;
5930 yyf++;
5934 return yysize;
5937 #endif /* YYERROR_VERBOSE */
5940 /*-----------------------------------------------.
5941 | Release the memory associated to this symbol. |
5942 `-----------------------------------------------*/
5944 /*ARGSUSED*/
5945 #if (defined __STDC__ || defined __C99__FUNC__ \
5946 || defined __cplusplus || defined _MSC_VER)
5947 static void
5948 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5949 #else
5950 static void
5951 yydestruct (yymsg, yytype, yyvaluep, yylocationp, _p)
5952 const char *yymsg;
5953 int yytype;
5954 YYSTYPE *yyvaluep;
5955 YYLTYPE *yylocationp;
5956 HPHP::HPHP_PARSER_NS::Parser *_p;
5957 #endif
5959 YYUSE (yyvaluep);
5960 YYUSE (yylocationp);
5961 YYUSE (_p);
5963 if (!yymsg)
5964 yymsg = "Deleting";
5965 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
5967 switch (yytype)
5970 default:
5971 break;
5975 /* Prevent warnings from -Wmissing-prototypes. */
5976 #ifdef YYPARSE_PARAM
5977 #if defined __STDC__ || defined __cplusplus
5978 int yyparse (void *YYPARSE_PARAM);
5979 #else
5980 int yyparse ();
5981 #endif
5982 #else /* ! YYPARSE_PARAM */
5983 #if defined __STDC__ || defined __cplusplus
5984 int yyparse (HPHP::HPHP_PARSER_NS::Parser *_p);
5985 #else
5986 int yyparse ();
5987 #endif
5988 #endif /* ! YYPARSE_PARAM */
5994 /*-------------------------.
5995 | yyparse or yypush_parse. |
5996 `-------------------------*/
5998 #ifdef YYPARSE_PARAM
5999 #if (defined __STDC__ || defined __C99__FUNC__ \
6000 || defined __cplusplus || defined _MSC_VER)
6002 yyparse (void *YYPARSE_PARAM)
6003 #else
6005 yyparse (YYPARSE_PARAM)
6006 void *YYPARSE_PARAM;
6007 #endif
6008 #else /* ! YYPARSE_PARAM */
6009 #if (defined __STDC__ || defined __C99__FUNC__ \
6010 || defined __cplusplus || defined _MSC_VER)
6012 yyparse (HPHP::HPHP_PARSER_NS::Parser *_p)
6013 #else
6015 yyparse (_p)
6016 HPHP::HPHP_PARSER_NS::Parser *_p;
6017 #endif
6018 #endif
6020 /* The lookahead symbol. */
6021 int yychar;
6023 /* The semantic value of the lookahead symbol. */
6024 YYSTYPE yylval;
6026 /* Location data for the lookahead symbol. */
6027 YYLTYPE yylloc;
6029 /* Number of syntax errors so far. */
6030 int yynerrs;
6032 int yystate;
6033 /* Number of tokens to shift before error messages enabled. */
6034 int yyerrstatus;
6036 /* The stacks and their tools:
6037 `yyss': related to states.
6038 `yyvs': related to semantic values.
6039 `yyls': related to locations.
6041 Refer to the stacks thru separate pointers, to allow yyoverflow
6042 to reallocate them elsewhere. */
6044 /* The state stack. */
6045 yytype_int16 yyssa[YYINITDEPTH];
6046 yytype_int16 *yyss;
6047 yytype_int16 *yyssp;
6049 /* The semantic value stack. */
6050 YYSTYPE yyvsa[YYINITDEPTH];
6051 YYSTYPE *yyvs;
6052 YYSTYPE *yyvsp;
6054 /* The location stack. */
6055 YYLTYPE yylsa[YYINITDEPTH];
6056 YYLTYPE *yyls;
6057 YYLTYPE *yylsp;
6059 /* The locations where the error started and ended. */
6060 YYLTYPE yyerror_range[2];
6062 YYSIZE_T yystacksize;
6064 int yyn;
6065 int yyresult;
6066 /* Lookahead token as an internal (translated) token number. */
6067 int yytoken;
6068 /* The variables used to return semantic value and location from the
6069 action routines. */
6070 YYSTYPE yyval;
6071 YYLTYPE yyloc;
6073 #if YYERROR_VERBOSE
6074 /* Buffer for error messages, and its allocated size. */
6075 char yymsgbuf[128];
6076 char *yymsg = yymsgbuf;
6077 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
6078 #endif
6080 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
6082 /* The number of symbols on the RHS of the reduced rule.
6083 Keep to zero when no symbol should be popped. */
6084 int yylen = 0;
6086 yytoken = 0;
6087 yyss = yyssa;
6088 yyvs = yyvsa;
6089 yyls = yylsa;
6090 yystacksize = YYINITDEPTH;
6092 YYDPRINTF ((stderr, "Starting parse\n"));
6094 yystate = 0;
6095 yyerrstatus = 0;
6096 yynerrs = 0;
6097 yychar = YYEMPTY; /* Cause a token to be read. */
6099 /* Initialize stack pointers.
6100 Waste one element of value and location stack
6101 so that they stay on the same level as the state stack.
6102 The wasted elements are never initialized. */
6103 yyssp = yyss;
6104 yyvsp = yyvs;
6105 yylsp = yyls;
6107 #if YYLTYPE_IS_TRIVIAL
6108 /* Initialize the default location before parsing starts. */
6109 yylloc.line0 = yylloc.line1 = 1;
6110 yylloc.char0 = yylloc.char1 = 1;
6111 #endif
6113 goto yysetstate;
6115 /*------------------------------------------------------------.
6116 | yynewstate -- Push a new state, which is found in yystate. |
6117 `------------------------------------------------------------*/
6118 yynewstate:
6119 /* In all cases, when you get here, the value and location stacks
6120 have just been pushed. So pushing a state here evens the stacks. */
6121 yyssp++;
6123 yysetstate:
6124 *yyssp = yystate;
6126 if (yyss + yystacksize - 1 <= yyssp)
6128 /* Get the current used size of the three stacks, in elements. */
6129 YYSIZE_T yysize = yyssp - yyss + 1;
6131 #ifdef yyoverflow
6133 /* Give user a chance to reallocate the stack. Use copies of
6134 these so that the &'s don't force the real ones into
6135 memory. */
6136 YYSTYPE *yyvs1 = yyvs;
6137 yytype_int16 *yyss1 = yyss;
6138 YYLTYPE *yyls1 = yyls;
6140 /* Each stack pointer address is followed by the size of the
6141 data in use in that stack, in bytes. This used to be a
6142 conditional around just the two extra args, but that might
6143 be undefined if yyoverflow is a macro. */
6144 yyoverflow (YY_("memory exhausted"),
6145 &yyss1, yysize * sizeof (*yyssp),
6146 &yyvs1, yysize * sizeof (*yyvsp),
6147 &yyls1, yysize * sizeof (*yylsp),
6148 &yystacksize);
6150 yyls = yyls1;
6151 yyss = yyss1;
6152 yyvs = yyvs1;
6154 #else /* no yyoverflow */
6155 # ifndef YYSTACK_RELOCATE
6156 goto yyexhaustedlab;
6157 # else
6158 /* Extend the stack our own way. */
6159 if (YYMAXDEPTH <= yystacksize)
6160 goto yyexhaustedlab;
6161 yystacksize *= 2;
6162 if (YYMAXDEPTH < yystacksize)
6163 yystacksize = YYMAXDEPTH;
6166 yytype_int16 *yyss1 = yyss;
6167 struct yyalloc *yyptr =
6168 (struct yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
6169 memset(yyptr, 0, YYSTACK_BYTES (yystacksize));
6170 if (! yyptr)
6171 goto yyexhaustedlab;
6172 YYSTACK_RELOCATE (yyss_alloc, yyss);
6173 YYSTACK_RELOCATE_RESET (yyvs_alloc, yyvs);
6174 YYSTACK_RELOCATE (yyls_alloc, yyls);
6175 # undef YYSTACK_RELOCATE
6176 if (yyss1 != yyssa)
6177 YYSTACK_FREE (yyss1);
6179 # endif
6180 #endif /* no yyoverflow */
6182 yyssp = yyss + yysize - 1;
6183 yyvsp = yyvs + yysize - 1;
6184 yylsp = yyls + yysize - 1;
6186 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
6187 (unsigned long int) yystacksize));
6189 if (yyss + yystacksize - 1 <= yyssp)
6190 YYABORT;
6193 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
6195 if (yystate == YYFINAL)
6196 YYACCEPT;
6198 goto yybackup;
6200 /*-----------.
6201 | yybackup. |
6202 `-----------*/
6203 yybackup:
6205 /* Do appropriate processing given the current state. Read a
6206 lookahead token if we need one and don't already have one. */
6208 /* First try to decide what to do without reference to lookahead token. */
6209 yyn = yypact[yystate];
6210 if (yyn == YYPACT_NINF)
6211 goto yydefault;
6213 /* Not known => get a lookahead token if don't already have one. */
6215 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
6216 if (yychar == YYEMPTY)
6218 YYDPRINTF ((stderr, "Reading a token: "));
6219 yychar = YYLEX;
6222 if (yychar <= YYEOF)
6224 yychar = yytoken = YYEOF;
6225 YYDPRINTF ((stderr, "Now at end of input.\n"));
6227 else
6229 yytoken = YYTRANSLATE (yychar);
6230 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
6233 /* If the proper action on seeing token YYTOKEN is to reduce or to
6234 detect an error, take that action. */
6235 yyn += yytoken;
6236 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
6237 goto yydefault;
6238 yyn = yytable[yyn];
6239 if (yyn <= 0)
6241 if (yyn == 0 || yyn == YYTABLE_NINF)
6242 goto yyerrlab;
6243 yyn = -yyn;
6244 goto yyreduce;
6247 /* Count tokens shifted since error; after three, turn off error
6248 status. */
6249 if (yyerrstatus)
6250 yyerrstatus--;
6252 /* Shift the lookahead token. */
6253 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
6255 /* Discard the shifted token. */
6256 yychar = YYEMPTY;
6258 yystate = yyn;
6259 *++yyvsp = yylval;
6260 *++yylsp = yylloc;
6261 goto yynewstate;
6264 /*-----------------------------------------------------------.
6265 | yydefault -- do the default action for the current state. |
6266 `-----------------------------------------------------------*/
6267 yydefault:
6268 yyn = yydefact[yystate];
6269 if (yyn == 0)
6270 goto yyerrlab;
6271 goto yyreduce;
6274 /*-----------------------------.
6275 | yyreduce -- Do a reduction. |
6276 `-----------------------------*/
6277 yyreduce:
6278 /* yyn is the number of a rule to reduce with. */
6279 yylen = yyr2[yyn];
6281 /* If YYLEN is nonzero, implement the default value of the action:
6282 `$$ = $1'.
6284 Otherwise, the following line sets YYVAL to garbage.
6285 This behavior is undocumented and Bison
6286 users should not rely upon it. Assigning to YYVAL
6287 unconditionally makes the parser a bit smaller, and it avoids a
6288 GCC warning that YYVAL may be used uninitialized. */
6289 yyval = yyvsp[1-yylen];
6291 /* Default location. */
6292 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
6293 YY_REDUCE_PRINT (yyn);
6294 switch (yyn)
6296 case 2:
6298 /* Line 1455 of yacc.c */
6299 #line 749 "hphp.y"
6300 { _p->onNewLabelScope(true);
6301 _p->initParseTree();;}
6302 break;
6304 case 3:
6306 /* Line 1455 of yacc.c */
6307 #line 752 "hphp.y"
6308 { _p->popLabelInfo();
6309 _p->finiParseTree();
6310 _p->onCompleteLabelScope(true);;}
6311 break;
6313 case 4:
6315 /* Line 1455 of yacc.c */
6316 #line 759 "hphp.y"
6317 { _p->addTopStatement((yyvsp[(2) - (2)]));;}
6318 break;
6320 case 5:
6322 /* Line 1455 of yacc.c */
6323 #line 760 "hphp.y"
6324 { ;}
6325 break;
6327 case 6:
6329 /* Line 1455 of yacc.c */
6330 #line 763 "hphp.y"
6331 { _p->nns((yyvsp[(1) - (1)]).num(), (yyvsp[(1) - (1)]).text()); (yyval) = (yyvsp[(1) - (1)]);;}
6332 break;
6334 case 7:
6336 /* Line 1455 of yacc.c */
6337 #line 764 "hphp.y"
6338 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
6339 break;
6341 case 8:
6343 /* Line 1455 of yacc.c */
6344 #line 765 "hphp.y"
6345 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
6346 break;
6348 case 9:
6350 /* Line 1455 of yacc.c */
6351 #line 766 "hphp.y"
6352 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);;}
6353 break;
6355 case 10:
6357 /* Line 1455 of yacc.c */
6358 #line 767 "hphp.y"
6359 { (yyval) = (yyvsp[(1) - (1)]); ;}
6360 break;
6362 case 11:
6364 /* Line 1455 of yacc.c */
6365 #line 768 "hphp.y"
6366 { _p->onHaltCompiler();
6367 _p->finiParseTree();
6368 YYACCEPT;;}
6369 break;
6371 case 12:
6373 /* Line 1455 of yacc.c */
6374 #line 771 "hphp.y"
6375 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text(), true);
6376 (yyval).reset();;}
6377 break;
6379 case 13:
6381 /* Line 1455 of yacc.c */
6382 #line 773 "hphp.y"
6383 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text());;}
6384 break;
6386 case 14:
6388 /* Line 1455 of yacc.c */
6389 #line 774 "hphp.y"
6390 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(5) - (6)]);;}
6391 break;
6393 case 15:
6395 /* Line 1455 of yacc.c */
6396 #line 775 "hphp.y"
6397 { _p->onNamespaceStart("");;}
6398 break;
6400 case 16:
6402 /* Line 1455 of yacc.c */
6403 #line 776 "hphp.y"
6404 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(4) - (5)]);;}
6405 break;
6407 case 17:
6409 /* Line 1455 of yacc.c */
6410 #line 777 "hphp.y"
6411 { _p->nns(); (yyval).reset();;}
6412 break;
6414 case 18:
6416 /* Line 1455 of yacc.c */
6417 #line 778 "hphp.y"
6418 { _p->nns();
6419 _p->finishStatement((yyval), (yyvsp[(1) - (2)])); (yyval) = 1;;}
6420 break;
6422 case 19:
6424 /* Line 1455 of yacc.c */
6425 #line 783 "hphp.y"
6426 { (yyval) = (yyvsp[(1) - (1)]);;}
6427 break;
6429 case 20:
6431 /* Line 1455 of yacc.c */
6432 #line 784 "hphp.y"
6433 { (yyval) = (yyvsp[(1) - (1)]);;}
6434 break;
6436 case 21:
6438 /* Line 1455 of yacc.c */
6439 #line 785 "hphp.y"
6440 { (yyval) = (yyvsp[(1) - (1)]);;}
6441 break;
6443 case 22:
6445 /* Line 1455 of yacc.c */
6446 #line 786 "hphp.y"
6447 { (yyval) = (yyvsp[(1) - (1)]);;}
6448 break;
6450 case 23:
6452 /* Line 1455 of yacc.c */
6453 #line 787 "hphp.y"
6454 { (yyval) = (yyvsp[(1) - (1)]);;}
6455 break;
6457 case 24:
6459 /* Line 1455 of yacc.c */
6460 #line 788 "hphp.y"
6461 { (yyval) = (yyvsp[(1) - (1)]);;}
6462 break;
6464 case 25:
6466 /* Line 1455 of yacc.c */
6467 #line 789 "hphp.y"
6468 { (yyval) = (yyvsp[(1) - (1)]);;}
6469 break;
6471 case 26:
6473 /* Line 1455 of yacc.c */
6474 #line 790 "hphp.y"
6475 { (yyval) = (yyvsp[(1) - (1)]);;}
6476 break;
6478 case 27:
6480 /* Line 1455 of yacc.c */
6481 #line 791 "hphp.y"
6482 { (yyval) = (yyvsp[(1) - (1)]);;}
6483 break;
6485 case 28:
6487 /* Line 1455 of yacc.c */
6488 #line 792 "hphp.y"
6489 { (yyval) = (yyvsp[(1) - (1)]);;}
6490 break;
6492 case 29:
6494 /* Line 1455 of yacc.c */
6495 #line 793 "hphp.y"
6496 { (yyval) = (yyvsp[(1) - (1)]);;}
6497 break;
6499 case 30:
6501 /* Line 1455 of yacc.c */
6502 #line 794 "hphp.y"
6503 { (yyval) = (yyvsp[(1) - (1)]);;}
6504 break;
6506 case 31:
6508 /* Line 1455 of yacc.c */
6509 #line 795 "hphp.y"
6510 { (yyval) = (yyvsp[(1) - (1)]);;}
6511 break;
6513 case 32:
6515 /* Line 1455 of yacc.c */
6516 #line 796 "hphp.y"
6517 { (yyval) = (yyvsp[(1) - (1)]);;}
6518 break;
6520 case 33:
6522 /* Line 1455 of yacc.c */
6523 #line 797 "hphp.y"
6524 { (yyval) = (yyvsp[(1) - (1)]);;}
6525 break;
6527 case 34:
6529 /* Line 1455 of yacc.c */
6530 #line 798 "hphp.y"
6531 { (yyval) = (yyvsp[(1) - (1)]);;}
6532 break;
6534 case 35:
6536 /* Line 1455 of yacc.c */
6537 #line 799 "hphp.y"
6538 { (yyval) = (yyvsp[(1) - (1)]);;}
6539 break;
6541 case 36:
6543 /* Line 1455 of yacc.c */
6544 #line 800 "hphp.y"
6545 { (yyval) = (yyvsp[(1) - (1)]);;}
6546 break;
6548 case 37:
6550 /* Line 1455 of yacc.c */
6551 #line 801 "hphp.y"
6552 { (yyval) = (yyvsp[(1) - (1)]);;}
6553 break;
6555 case 38:
6557 /* Line 1455 of yacc.c */
6558 #line 802 "hphp.y"
6559 { (yyval) = (yyvsp[(1) - (1)]);;}
6560 break;
6562 case 39:
6564 /* Line 1455 of yacc.c */
6565 #line 807 "hphp.y"
6566 { ;}
6567 break;
6569 case 40:
6571 /* Line 1455 of yacc.c */
6572 #line 808 "hphp.y"
6573 { ;}
6574 break;
6576 case 41:
6578 /* Line 1455 of yacc.c */
6579 #line 811 "hphp.y"
6580 { _p->onUse((yyvsp[(1) - (1)]).text(),"");;}
6581 break;
6583 case 42:
6585 /* Line 1455 of yacc.c */
6586 #line 812 "hphp.y"
6587 { _p->onUse((yyvsp[(2) - (2)]).text(),"");;}
6588 break;
6590 case 43:
6592 /* Line 1455 of yacc.c */
6593 #line 813 "hphp.y"
6594 { _p->onUse((yyvsp[(1) - (3)]).text(),(yyvsp[(3) - (3)]).text());;}
6595 break;
6597 case 44:
6599 /* Line 1455 of yacc.c */
6600 #line 815 "hphp.y"
6601 { _p->onUse((yyvsp[(2) - (4)]).text(),(yyvsp[(4) - (4)]).text());;}
6602 break;
6604 case 45:
6606 /* Line 1455 of yacc.c */
6607 #line 819 "hphp.y"
6608 { (yyval) = (yyvsp[(1) - (1)]);;}
6609 break;
6611 case 46:
6613 /* Line 1455 of yacc.c */
6614 #line 821 "hphp.y"
6615 { (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(2) - (3)]) + (yyvsp[(3) - (3)]); (yyval) = (yyvsp[(1) - (3)]).num() | 2;;}
6616 break;
6618 case 47:
6620 /* Line 1455 of yacc.c */
6621 #line 824 "hphp.y"
6622 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = (yyval).num() | 1;;}
6623 break;
6625 case 48:
6627 /* Line 1455 of yacc.c */
6628 #line 826 "hphp.y"
6629 { (yyval).set((yyvsp[(3) - (3)]).num() | 2, _p->nsDecl((yyvsp[(3) - (3)]).text()));;}
6630 break;
6632 case 49:
6634 /* Line 1455 of yacc.c */
6635 #line 827 "hphp.y"
6636 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = (yyval).num() | 2;;}
6637 break;
6639 case 50:
6641 /* Line 1455 of yacc.c */
6642 #line 830 "hphp.y"
6643 { if ((yyvsp[(1) - (1)]).num() & 1) {
6644 (yyvsp[(1) - (1)]).setText(_p->resolve((yyvsp[(1) - (1)]).text(),0));
6646 (yyval) = (yyvsp[(1) - (1)]);;}
6647 break;
6649 case 51:
6651 /* Line 1455 of yacc.c */
6652 #line 837 "hphp.y"
6653 { if ((yyvsp[(1) - (2)]).num() & 1) {
6654 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),0));
6656 (yyval) = (yyvsp[(1) - (2)]);;}
6657 break;
6659 case 52:
6661 /* Line 1455 of yacc.c */
6662 #line 844 "hphp.y"
6663 { if ((yyvsp[(1) - (2)]).num() & 1) {
6664 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),1));
6666 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
6667 break;
6669 case 53:
6671 /* Line 1455 of yacc.c */
6672 #line 852 "hphp.y"
6673 { (yyvsp[(3) - (5)]).setText(_p->nsDecl((yyvsp[(3) - (5)]).text()));
6674 on_constant(_p,(yyval),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
6675 break;
6677 case 54:
6679 /* Line 1455 of yacc.c */
6680 #line 855 "hphp.y"
6681 { (yyvsp[(2) - (4)]).setText(_p->nsDecl((yyvsp[(2) - (4)]).text()));
6682 on_constant(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
6683 break;
6685 case 55:
6687 /* Line 1455 of yacc.c */
6688 #line 861 "hphp.y"
6689 { _p->addStatement((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
6690 break;
6692 case 56:
6694 /* Line 1455 of yacc.c */
6695 #line 862 "hphp.y"
6696 { _p->onStatementListStart((yyval));;}
6697 break;
6699 case 57:
6701 /* Line 1455 of yacc.c */
6702 #line 865 "hphp.y"
6703 { (yyval) = (yyvsp[(1) - (1)]);;}
6704 break;
6706 case 58:
6708 /* Line 1455 of yacc.c */
6709 #line 866 "hphp.y"
6710 { (yyval) = (yyvsp[(1) - (1)]);;}
6711 break;
6713 case 59:
6715 /* Line 1455 of yacc.c */
6716 #line 867 "hphp.y"
6717 { (yyval) = (yyvsp[(1) - (1)]);;}
6718 break;
6720 case 60:
6722 /* Line 1455 of yacc.c */
6723 #line 868 "hphp.y"
6724 { (yyval) = (yyvsp[(1) - (1)]);;}
6725 break;
6727 case 61:
6729 /* Line 1455 of yacc.c */
6730 #line 871 "hphp.y"
6731 { _p->onBlock((yyval), (yyvsp[(2) - (3)]));;}
6732 break;
6734 case 62:
6736 /* Line 1455 of yacc.c */
6737 #line 875 "hphp.y"
6738 { _p->onIf((yyval),(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]));;}
6739 break;
6741 case 63:
6743 /* Line 1455 of yacc.c */
6744 #line 880 "hphp.y"
6745 { _p->onIf((yyval),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]));;}
6746 break;
6748 case 64:
6750 /* Line 1455 of yacc.c */
6751 #line 881 "hphp.y"
6752 { _p->onNewLabelScope(false);
6753 _p->pushLabelScope();;}
6754 break;
6756 case 65:
6758 /* Line 1455 of yacc.c */
6759 #line 883 "hphp.y"
6760 { _p->popLabelScope();
6761 _p->onWhile((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
6762 _p->onCompleteLabelScope(false);;}
6763 break;
6765 case 66:
6767 /* Line 1455 of yacc.c */
6768 #line 887 "hphp.y"
6769 { _p->onNewLabelScope(false);
6770 _p->pushLabelScope();;}
6771 break;
6773 case 67:
6775 /* Line 1455 of yacc.c */
6776 #line 890 "hphp.y"
6777 { _p->popLabelScope();
6778 _p->onDo((yyval),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));
6779 _p->onCompleteLabelScope(false);;}
6780 break;
6782 case 68:
6784 /* Line 1455 of yacc.c */
6785 #line 894 "hphp.y"
6786 { _p->onNewLabelScope(false);
6787 _p->pushLabelScope();;}
6788 break;
6790 case 69:
6792 /* Line 1455 of yacc.c */
6793 #line 896 "hphp.y"
6794 { _p->popLabelScope();
6795 _p->onFor((yyval),(yyvsp[(3) - (10)]),(yyvsp[(5) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]));
6796 _p->onCompleteLabelScope(false);;}
6797 break;
6799 case 70:
6801 /* Line 1455 of yacc.c */
6802 #line 899 "hphp.y"
6803 { _p->onNewLabelScope(false);
6804 _p->pushLabelScope();;}
6805 break;
6807 case 71:
6809 /* Line 1455 of yacc.c */
6810 #line 901 "hphp.y"
6811 { _p->popLabelScope();
6812 _p->onSwitch((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
6813 _p->onCompleteLabelScope(false);;}
6814 break;
6816 case 72:
6818 /* Line 1455 of yacc.c */
6819 #line 904 "hphp.y"
6820 { _p->onBreakContinue((yyval), true, NULL);;}
6821 break;
6823 case 73:
6825 /* Line 1455 of yacc.c */
6826 #line 905 "hphp.y"
6827 { _p->onBreakContinue((yyval), true, &(yyvsp[(2) - (3)]));;}
6828 break;
6830 case 74:
6832 /* Line 1455 of yacc.c */
6833 #line 906 "hphp.y"
6834 { _p->onBreakContinue((yyval), false, NULL);;}
6835 break;
6837 case 75:
6839 /* Line 1455 of yacc.c */
6840 #line 907 "hphp.y"
6841 { _p->onBreakContinue((yyval), false, &(yyvsp[(2) - (3)]));;}
6842 break;
6844 case 76:
6846 /* Line 1455 of yacc.c */
6847 #line 908 "hphp.y"
6848 { _p->onReturn((yyval), NULL);;}
6849 break;
6851 case 77:
6853 /* Line 1455 of yacc.c */
6854 #line 909 "hphp.y"
6855 { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));;}
6856 break;
6858 case 78:
6860 /* Line 1455 of yacc.c */
6861 #line 910 "hphp.y"
6862 { _p->onYieldBreak((yyval));;}
6863 break;
6865 case 79:
6867 /* Line 1455 of yacc.c */
6868 #line 911 "hphp.y"
6869 { _p->onGlobal((yyval), (yyvsp[(2) - (3)]));;}
6870 break;
6872 case 80:
6874 /* Line 1455 of yacc.c */
6875 #line 912 "hphp.y"
6876 { _p->onStatic((yyval), (yyvsp[(2) - (3)]));;}
6877 break;
6879 case 81:
6881 /* Line 1455 of yacc.c */
6882 #line 913 "hphp.y"
6883 { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);;}
6884 break;
6886 case 82:
6888 /* Line 1455 of yacc.c */
6889 #line 914 "hphp.y"
6890 { _p->onUnset((yyval), (yyvsp[(3) - (5)]));;}
6891 break;
6893 case 83:
6895 /* Line 1455 of yacc.c */
6896 #line 915 "hphp.y"
6897 { (yyval).reset(); (yyval) = ';';;}
6898 break;
6900 case 84:
6902 /* Line 1455 of yacc.c */
6903 #line 916 "hphp.y"
6904 { _p->onEcho((yyval), (yyvsp[(1) - (1)]), 1);;}
6905 break;
6907 case 85:
6909 /* Line 1455 of yacc.c */
6910 #line 919 "hphp.y"
6911 { _p->onNewLabelScope(false);
6912 _p->pushLabelScope();;}
6913 break;
6915 case 86:
6917 /* Line 1455 of yacc.c */
6918 #line 921 "hphp.y"
6919 { _p->popLabelScope();
6920 _p->onForEach((yyval),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]));
6921 _p->onCompleteLabelScope(false);;}
6922 break;
6924 case 87:
6926 /* Line 1455 of yacc.c */
6927 #line 925 "hphp.y"
6928 { _p->onBlock((yyval), (yyvsp[(5) - (5)])); (yyval) = T_DECLARE;;}
6929 break;
6931 case 88:
6933 /* Line 1455 of yacc.c */
6934 #line 932 "hphp.y"
6935 { _p->onCompleteLabelScope(false);;}
6936 break;
6938 case 89:
6940 /* Line 1455 of yacc.c */
6941 #line 933 "hphp.y"
6942 { _p->onTry((yyval),(yyvsp[(2) - (13)]),(yyvsp[(5) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(11) - (13)]),(yyvsp[(13) - (13)]));;}
6943 break;
6945 case 90:
6947 /* Line 1455 of yacc.c */
6948 #line 936 "hphp.y"
6949 { _p->onCompleteLabelScope(false);;}
6950 break;
6952 case 91:
6954 /* Line 1455 of yacc.c */
6955 #line 937 "hphp.y"
6956 { _p->onTry((yyval), (yyvsp[(2) - (5)]), (yyvsp[(5) - (5)]));;}
6957 break;
6959 case 92:
6961 /* Line 1455 of yacc.c */
6962 #line 938 "hphp.y"
6963 { _p->onThrow((yyval), (yyvsp[(2) - (3)]));;}
6964 break;
6966 case 93:
6968 /* Line 1455 of yacc.c */
6969 #line 939 "hphp.y"
6970 { _p->onGoto((yyval), (yyvsp[(2) - (3)]), true);
6971 _p->addGoto((yyvsp[(2) - (3)]).text(),
6972 _p->getLocation(),
6973 &(yyval));;}
6974 break;
6976 case 94:
6978 /* Line 1455 of yacc.c */
6979 #line 943 "hphp.y"
6980 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
6981 break;
6983 case 95:
6985 /* Line 1455 of yacc.c */
6986 #line 944 "hphp.y"
6987 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
6988 break;
6990 case 96:
6992 /* Line 1455 of yacc.c */
6993 #line 945 "hphp.y"
6994 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
6995 break;
6997 case 97:
6999 /* Line 1455 of yacc.c */
7000 #line 946 "hphp.y"
7001 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
7002 break;
7004 case 98:
7006 /* Line 1455 of yacc.c */
7007 #line 947 "hphp.y"
7008 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
7009 break;
7011 case 99:
7013 /* Line 1455 of yacc.c */
7014 #line 948 "hphp.y"
7015 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
7016 break;
7018 case 100:
7020 /* Line 1455 of yacc.c */
7021 #line 949 "hphp.y"
7022 { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); ;}
7023 break;
7025 case 101:
7027 /* Line 1455 of yacc.c */
7028 #line 950 "hphp.y"
7029 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
7030 break;
7032 case 102:
7034 /* Line 1455 of yacc.c */
7035 #line 951 "hphp.y"
7036 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));;}
7037 break;
7039 case 103:
7041 /* Line 1455 of yacc.c */
7042 #line 952 "hphp.y"
7043 { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); ;}
7044 break;
7046 case 104:
7048 /* Line 1455 of yacc.c */
7049 #line 953 "hphp.y"
7050 { _p->onLabel((yyval), (yyvsp[(1) - (2)]));
7051 _p->addLabel((yyvsp[(1) - (2)]).text(),
7052 _p->getLocation(),
7053 &(yyval));
7054 _p->onScopeLabel((yyval), (yyvsp[(1) - (2)]));;}
7055 break;
7057 case 105:
7059 /* Line 1455 of yacc.c */
7060 #line 961 "hphp.y"
7061 { _p->onNewLabelScope(false);;}
7062 break;
7064 case 106:
7066 /* Line 1455 of yacc.c */
7067 #line 962 "hphp.y"
7068 { (yyval) = (yyvsp[(3) - (4)]);;}
7069 break;
7071 case 107:
7073 /* Line 1455 of yacc.c */
7074 #line 971 "hphp.y"
7075 { _p->onCatch((yyval), (yyvsp[(1) - (9)]), (yyvsp[(4) - (9)]), (yyvsp[(5) - (9)]), (yyvsp[(8) - (9)]));;}
7076 break;
7078 case 108:
7080 /* Line 1455 of yacc.c */
7081 #line 972 "hphp.y"
7082 { (yyval).reset();;}
7083 break;
7085 case 109:
7087 /* Line 1455 of yacc.c */
7088 #line 976 "hphp.y"
7089 { _p->onNewLabelScope(false);
7090 _p->pushLabelScope();;}
7091 break;
7093 case 110:
7095 /* Line 1455 of yacc.c */
7096 #line 978 "hphp.y"
7097 { _p->popLabelScope();
7098 _p->onFinally((yyval), (yyvsp[(3) - (4)]));
7099 _p->onCompleteLabelScope(false);;}
7100 break;
7102 case 111:
7104 /* Line 1455 of yacc.c */
7105 #line 984 "hphp.y"
7106 { (yyval) = (yyvsp[(2) - (2)]);;}
7107 break;
7109 case 112:
7111 /* Line 1455 of yacc.c */
7112 #line 985 "hphp.y"
7113 { (yyval).reset();;}
7114 break;
7116 case 113:
7118 /* Line 1455 of yacc.c */
7119 #line 989 "hphp.y"
7120 { (yyval) = 1;;}
7121 break;
7123 case 114:
7125 /* Line 1455 of yacc.c */
7126 #line 990 "hphp.y"
7127 { (yyval).reset();;}
7128 break;
7130 case 115:
7132 /* Line 1455 of yacc.c */
7133 #line 994 "hphp.y"
7134 { _p->pushFuncLocation(); ;}
7135 break;
7137 case 116:
7139 /* Line 1455 of yacc.c */
7140 #line 999 "hphp.y"
7141 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7142 _p->onNewLabelScope(true);
7143 _p->onFunctionStart((yyvsp[(3) - (3)]));
7144 _p->pushLabelInfo();;}
7145 break;
7147 case 117:
7149 /* Line 1455 of yacc.c */
7150 #line 1005 "hphp.y"
7151 { _p->onFunction((yyval),nullptr,(yyvsp[(8) - (9)]),(yyvsp[(2) - (9)]),(yyvsp[(3) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]),nullptr);
7152 _p->popLabelInfo();
7153 _p->popTypeScope();
7154 _p->onCompleteLabelScope(true);;}
7155 break;
7157 case 118:
7159 /* Line 1455 of yacc.c */
7160 #line 1011 "hphp.y"
7161 { (yyvsp[(4) - (4)]).setText(_p->nsDecl((yyvsp[(4) - (4)]).text()));
7162 _p->onNewLabelScope(true);
7163 _p->onFunctionStart((yyvsp[(4) - (4)]));
7164 _p->pushLabelInfo();;}
7165 break;
7167 case 119:
7169 /* Line 1455 of yacc.c */
7170 #line 1017 "hphp.y"
7171 { _p->onFunction((yyval),&(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr);
7172 _p->popLabelInfo();
7173 _p->popTypeScope();
7174 _p->onCompleteLabelScope(true);;}
7175 break;
7177 case 120:
7179 /* Line 1455 of yacc.c */
7180 #line 1023 "hphp.y"
7181 { (yyvsp[(5) - (5)]).setText(_p->nsDecl((yyvsp[(5) - (5)]).text()));
7182 _p->onNewLabelScope(true);
7183 _p->onFunctionStart((yyvsp[(5) - (5)]));
7184 _p->pushLabelInfo();;}
7185 break;
7187 case 121:
7189 /* Line 1455 of yacc.c */
7190 #line 1029 "hphp.y"
7191 { _p->onFunction((yyval),&(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)]));
7192 _p->popLabelInfo();
7193 _p->popTypeScope();
7194 _p->onCompleteLabelScope(true);;}
7195 break;
7197 case 122:
7199 /* Line 1455 of yacc.c */
7200 #line 1037 "hphp.y"
7201 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7202 _p->onClassStart((yyvsp[(1) - (2)]).num(),(yyvsp[(2) - (2)]));;}
7203 break;
7205 case 123:
7207 /* Line 1455 of yacc.c */
7208 #line 1040 "hphp.y"
7209 { Token stmts;
7210 if (_p->peekClass()) {
7211 xhp_collect_attributes(_p,stmts,(yyvsp[(7) - (8)]));
7212 } else {
7213 stmts = (yyvsp[(7) - (8)]);
7215 _p->onClass((yyval),(yyvsp[(1) - (8)]).num(),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),
7216 stmts,0);
7217 if (_p->peekClass()) {
7218 _p->xhpResetAttributes();
7220 _p->popClass();
7221 _p->popTypeScope();;}
7222 break;
7224 case 124:
7226 /* Line 1455 of yacc.c */
7227 #line 1055 "hphp.y"
7228 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7229 _p->onClassStart((yyvsp[(2) - (3)]).num(),(yyvsp[(3) - (3)]));;}
7230 break;
7232 case 125:
7234 /* Line 1455 of yacc.c */
7235 #line 1058 "hphp.y"
7236 { Token stmts;
7237 if (_p->peekClass()) {
7238 xhp_collect_attributes(_p,stmts,(yyvsp[(8) - (9)]));
7239 } else {
7240 stmts = (yyvsp[(8) - (9)]);
7242 _p->onClass((yyval),(yyvsp[(2) - (9)]).num(),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),
7243 stmts,&(yyvsp[(1) - (9)]));
7244 if (_p->peekClass()) {
7245 _p->xhpResetAttributes();
7247 _p->popClass();
7248 _p->popTypeScope();;}
7249 break;
7251 case 126:
7253 /* Line 1455 of yacc.c */
7254 #line 1072 "hphp.y"
7255 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7256 _p->onClassStart(T_INTERFACE,(yyvsp[(2) - (2)]));;}
7257 break;
7259 case 127:
7261 /* Line 1455 of yacc.c */
7262 #line 1075 "hphp.y"
7263 { _p->onInterface((yyval),(yyvsp[(2) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(6) - (7)]),0);
7264 _p->popClass();
7265 _p->popTypeScope();;}
7266 break;
7268 case 128:
7270 /* Line 1455 of yacc.c */
7271 #line 1080 "hphp.y"
7272 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7273 _p->onClassStart(T_INTERFACE,(yyvsp[(3) - (3)]));;}
7274 break;
7276 case 129:
7278 /* Line 1455 of yacc.c */
7279 #line 1083 "hphp.y"
7280 { _p->onInterface((yyval),(yyvsp[(3) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));
7281 _p->popClass();
7282 _p->popTypeScope();;}
7283 break;
7285 case 130:
7287 /* Line 1455 of yacc.c */
7288 #line 1090 "hphp.y"
7289 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7290 _p->onClassStart(T_TRAIT, (yyvsp[(2) - (2)]));;}
7291 break;
7293 case 131:
7295 /* Line 1455 of yacc.c */
7296 #line 1093 "hphp.y"
7297 { Token t_ext;
7298 t_ext.reset();
7299 _p->onClass((yyval),T_TRAIT,(yyvsp[(2) - (7)]),t_ext,(yyvsp[(4) - (7)]),
7300 (yyvsp[(6) - (7)]), 0);
7301 _p->popClass();
7302 _p->popTypeScope();;}
7303 break;
7305 case 132:
7307 /* Line 1455 of yacc.c */
7308 #line 1101 "hphp.y"
7309 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7310 _p->onClassStart(T_TRAIT, (yyvsp[(3) - (3)]));;}
7311 break;
7313 case 133:
7315 /* Line 1455 of yacc.c */
7316 #line 1104 "hphp.y"
7317 { Token t_ext;
7318 t_ext.reset();
7319 _p->onClass((yyval),T_TRAIT,(yyvsp[(3) - (8)]),t_ext,(yyvsp[(5) - (8)]),
7320 (yyvsp[(7) - (8)]), &(yyvsp[(1) - (8)]));
7321 _p->popClass();
7322 _p->popTypeScope();;}
7323 break;
7325 case 134:
7327 /* Line 1455 of yacc.c */
7328 #line 1112 "hphp.y"
7329 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
7330 break;
7332 case 135:
7334 /* Line 1455 of yacc.c */
7335 #line 1113 "hphp.y"
7336 { (yyvsp[(1) - (1)]).xhpLabel(); _p->pushTypeScope();
7337 _p->pushClass(true); (yyval) = (yyvsp[(1) - (1)]);;}
7338 break;
7340 case 136:
7342 /* Line 1455 of yacc.c */
7343 #line 1117 "hphp.y"
7344 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
7345 break;
7347 case 137:
7349 /* Line 1455 of yacc.c */
7350 #line 1120 "hphp.y"
7351 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);;}
7352 break;
7354 case 138:
7356 /* Line 1455 of yacc.c */
7357 #line 1123 "hphp.y"
7358 { (yyval) = T_CLASS;;}
7359 break;
7361 case 139:
7363 /* Line 1455 of yacc.c */
7364 #line 1124 "hphp.y"
7365 { (yyval) = T_ABSTRACT;;}
7366 break;
7368 case 140:
7370 /* Line 1455 of yacc.c */
7371 #line 1125 "hphp.y"
7372 { (yyval) = T_FINAL;;}
7373 break;
7375 case 141:
7377 /* Line 1455 of yacc.c */
7378 #line 1129 "hphp.y"
7379 { (yyval) = (yyvsp[(2) - (2)]);;}
7380 break;
7382 case 142:
7384 /* Line 1455 of yacc.c */
7385 #line 1130 "hphp.y"
7386 { (yyval).reset();;}
7387 break;
7389 case 143:
7391 /* Line 1455 of yacc.c */
7392 #line 1133 "hphp.y"
7393 { (yyval) = (yyvsp[(2) - (2)]);;}
7394 break;
7396 case 144:
7398 /* Line 1455 of yacc.c */
7399 #line 1134 "hphp.y"
7400 { (yyval).reset();;}
7401 break;
7403 case 145:
7405 /* Line 1455 of yacc.c */
7406 #line 1137 "hphp.y"
7407 { (yyval) = (yyvsp[(2) - (2)]);;}
7408 break;
7410 case 146:
7412 /* Line 1455 of yacc.c */
7413 #line 1138 "hphp.y"
7414 { (yyval).reset();;}
7415 break;
7417 case 147:
7419 /* Line 1455 of yacc.c */
7420 #line 1141 "hphp.y"
7421 { _p->onInterfaceName((yyval), NULL, (yyvsp[(1) - (1)]));;}
7422 break;
7424 case 148:
7426 /* Line 1455 of yacc.c */
7427 #line 1143 "hphp.y"
7428 { _p->onInterfaceName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
7429 break;
7431 case 149:
7433 /* Line 1455 of yacc.c */
7434 #line 1146 "hphp.y"
7435 { _p->onTraitName((yyval), NULL, (yyvsp[(1) - (1)]));;}
7436 break;
7438 case 150:
7440 /* Line 1455 of yacc.c */
7441 #line 1148 "hphp.y"
7442 { _p->onTraitName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
7443 break;
7445 case 151:
7447 /* Line 1455 of yacc.c */
7448 #line 1152 "hphp.y"
7449 { (yyval) = (yyvsp[(2) - (2)]);;}
7450 break;
7452 case 152:
7454 /* Line 1455 of yacc.c */
7455 #line 1153 "hphp.y"
7456 { (yyval).reset();;}
7457 break;
7459 case 153:
7461 /* Line 1455 of yacc.c */
7462 #line 1156 "hphp.y"
7463 { (yyval) = (yyvsp[(1) - (1)]);;}
7464 break;
7466 case 154:
7468 /* Line 1455 of yacc.c */
7469 #line 1157 "hphp.y"
7470 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;}
7471 break;
7473 case 155:
7475 /* Line 1455 of yacc.c */
7476 #line 1158 "hphp.y"
7477 { _p->onListAssignment((yyval), (yyvsp[(3) - (4)]), NULL);;}
7478 break;
7480 case 156:
7482 /* Line 1455 of yacc.c */
7483 #line 1162 "hphp.y"
7484 { (yyval) = (yyvsp[(1) - (1)]);;}
7485 break;
7487 case 157:
7489 /* Line 1455 of yacc.c */
7490 #line 1164 "hphp.y"
7491 { (yyval) = (yyvsp[(2) - (4)]);;}
7492 break;
7494 case 158:
7496 /* Line 1455 of yacc.c */
7497 #line 1167 "hphp.y"
7498 { (yyval) = (yyvsp[(1) - (1)]);;}
7499 break;
7501 case 159:
7503 /* Line 1455 of yacc.c */
7504 #line 1169 "hphp.y"
7505 { (yyval) = (yyvsp[(2) - (4)]);;}
7506 break;
7508 case 160:
7510 /* Line 1455 of yacc.c */
7511 #line 1172 "hphp.y"
7512 { (yyval) = (yyvsp[(1) - (1)]);;}
7513 break;
7515 case 161:
7517 /* Line 1455 of yacc.c */
7518 #line 1174 "hphp.y"
7519 { (yyval) = (yyvsp[(2) - (4)]);;}
7520 break;
7522 case 162:
7524 /* Line 1455 of yacc.c */
7525 #line 1177 "hphp.y"
7526 { (yyval) = (yyvsp[(1) - (1)]);;}
7527 break;
7529 case 163:
7531 /* Line 1455 of yacc.c */
7532 #line 1179 "hphp.y"
7533 { (yyval) = (yyvsp[(2) - (4)]);;}
7534 break;
7536 case 166:
7538 /* Line 1455 of yacc.c */
7539 #line 1189 "hphp.y"
7540 { (yyval) = (yyvsp[(2) - (3)]);;}
7541 break;
7543 case 167:
7545 /* Line 1455 of yacc.c */
7546 #line 1190 "hphp.y"
7547 { (yyval) = (yyvsp[(3) - (4)]);;}
7548 break;
7550 case 168:
7552 /* Line 1455 of yacc.c */
7553 #line 1191 "hphp.y"
7554 { (yyval) = (yyvsp[(2) - (4)]);;}
7555 break;
7557 case 169:
7559 /* Line 1455 of yacc.c */
7560 #line 1192 "hphp.y"
7561 { (yyval) = (yyvsp[(3) - (5)]);;}
7562 break;
7564 case 170:
7566 /* Line 1455 of yacc.c */
7567 #line 1197 "hphp.y"
7568 { _p->onCase((yyval),(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
7569 break;
7571 case 171:
7573 /* Line 1455 of yacc.c */
7574 #line 1199 "hphp.y"
7575 { _p->onCase((yyval),(yyvsp[(1) - (4)]),NULL,(yyvsp[(4) - (4)]));;}
7576 break;
7578 case 172:
7580 /* Line 1455 of yacc.c */
7581 #line 1200 "hphp.y"
7582 { (yyval).reset();;}
7583 break;
7585 case 173:
7587 /* Line 1455 of yacc.c */
7588 #line 1203 "hphp.y"
7589 { (yyval).reset();;}
7590 break;
7592 case 174:
7594 /* Line 1455 of yacc.c */
7595 #line 1204 "hphp.y"
7596 { (yyval).reset();;}
7597 break;
7599 case 175:
7601 /* Line 1455 of yacc.c */
7602 #line 1209 "hphp.y"
7603 { _p->onElseIf((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;}
7604 break;
7606 case 176:
7608 /* Line 1455 of yacc.c */
7609 #line 1210 "hphp.y"
7610 { (yyval).reset();;}
7611 break;
7613 case 177:
7615 /* Line 1455 of yacc.c */
7616 #line 1215 "hphp.y"
7617 { _p->onElseIf((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
7618 break;
7620 case 178:
7622 /* Line 1455 of yacc.c */
7623 #line 1216 "hphp.y"
7624 { (yyval).reset();;}
7625 break;
7627 case 179:
7629 /* Line 1455 of yacc.c */
7630 #line 1219 "hphp.y"
7631 { (yyval) = (yyvsp[(2) - (2)]);;}
7632 break;
7634 case 180:
7636 /* Line 1455 of yacc.c */
7637 #line 1220 "hphp.y"
7638 { (yyval).reset();;}
7639 break;
7641 case 181:
7643 /* Line 1455 of yacc.c */
7644 #line 1223 "hphp.y"
7645 { (yyval) = (yyvsp[(3) - (3)]);;}
7646 break;
7648 case 182:
7650 /* Line 1455 of yacc.c */
7651 #line 1224 "hphp.y"
7652 { (yyval).reset();;}
7653 break;
7655 case 183:
7657 /* Line 1455 of yacc.c */
7658 #line 1232 "hphp.y"
7659 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),false,
7660 &(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)])); ;}
7661 break;
7663 case 184:
7665 /* Line 1455 of yacc.c */
7666 #line 1238 "hphp.y"
7667 { validate_hh_variadic_variant(
7668 _p, (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]), &(yyvsp[(4) - (6)]));
7669 (yyval) = (yyvsp[(1) - (6)]); ;}
7670 break;
7672 case 185:
7674 /* Line 1455 of yacc.c */
7675 #line 1242 "hphp.y"
7676 { (yyval) = (yyvsp[(1) - (2)]);;}
7677 break;
7679 case 186:
7681 /* Line 1455 of yacc.c */
7682 #line 1246 "hphp.y"
7683 { _p->onVariadicParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),false,
7684 &(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)])); ;}
7685 break;
7687 case 187:
7689 /* Line 1455 of yacc.c */
7690 #line 1251 "hphp.y"
7691 { validate_hh_variadic_variant(
7692 _p, (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]), &(yyvsp[(2) - (4)]));
7693 (yyval).reset(); ;}
7694 break;
7696 case 188:
7698 /* Line 1455 of yacc.c */
7699 #line 1254 "hphp.y"
7700 { (yyval).reset(); ;}
7701 break;
7703 case 189:
7705 /* Line 1455 of yacc.c */
7706 #line 1260 "hphp.y"
7707 { _p->onParam((yyval),NULL,(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]),0,
7708 NULL,&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]));;}
7709 break;
7711 case 190:
7713 /* Line 1455 of yacc.c */
7714 #line 1264 "hphp.y"
7715 { _p->onParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),1,
7716 NULL,&(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)]));;}
7717 break;
7719 case 191:
7721 /* Line 1455 of yacc.c */
7722 #line 1269 "hphp.y"
7723 { _p->onParam((yyval),NULL,(yyvsp[(3) - (7)]),(yyvsp[(5) - (7)]),1,
7724 &(yyvsp[(7) - (7)]),&(yyvsp[(1) - (7)]),&(yyvsp[(2) - (7)]));;}
7725 break;
7727 case 192:
7729 /* Line 1455 of yacc.c */
7730 #line 1274 "hphp.y"
7731 { _p->onParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(4) - (6)]),0,
7732 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)]));;}
7733 break;
7735 case 193:
7737 /* Line 1455 of yacc.c */
7738 #line 1279 "hphp.y"
7739 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]),0,
7740 NULL,&(yyvsp[(3) - (6)]),&(yyvsp[(4) - (6)]));;}
7741 break;
7743 case 194:
7745 /* Line 1455 of yacc.c */
7746 #line 1284 "hphp.y"
7747 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),1,
7748 NULL,&(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)]));;}
7749 break;
7751 case 195:
7753 /* Line 1455 of yacc.c */
7754 #line 1290 "hphp.y"
7755 { _p->onParam((yyval),&(yyvsp[(1) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(7) - (9)]),1,
7756 &(yyvsp[(9) - (9)]),&(yyvsp[(3) - (9)]),&(yyvsp[(4) - (9)]));;}
7757 break;
7759 case 196:
7761 /* Line 1455 of yacc.c */
7762 #line 1296 "hphp.y"
7763 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]),0,
7764 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)]));;}
7765 break;
7767 case 197:
7769 /* Line 1455 of yacc.c */
7770 #line 1304 "hphp.y"
7771 { _p->onVariadicParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),
7772 false,&(yyvsp[(3) - (6)]),NULL); ;}
7773 break;
7775 case 198:
7777 /* Line 1455 of yacc.c */
7778 #line 1309 "hphp.y"
7779 { validate_hh_variadic_variant(
7780 _p, (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), NULL);
7781 (yyval) = (yyvsp[(1) - (5)]); ;}
7782 break;
7784 case 199:
7786 /* Line 1455 of yacc.c */
7787 #line 1313 "hphp.y"
7788 { (yyval) = (yyvsp[(1) - (2)]);;}
7789 break;
7791 case 200:
7793 /* Line 1455 of yacc.c */
7794 #line 1316 "hphp.y"
7795 { _p->onVariadicParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),
7796 false,&(yyvsp[(1) - (4)]),NULL); ;}
7797 break;
7799 case 201:
7801 /* Line 1455 of yacc.c */
7802 #line 1320 "hphp.y"
7803 { validate_hh_variadic_variant(
7804 _p, (yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), NULL);
7805 (yyval).reset(); ;}
7806 break;
7808 case 202:
7810 /* Line 1455 of yacc.c */
7811 #line 1323 "hphp.y"
7812 { (yyval).reset();;}
7813 break;
7815 case 203:
7817 /* Line 1455 of yacc.c */
7818 #line 1328 "hphp.y"
7819 { _p->onParam((yyval),NULL,(yyvsp[(2) - (3)]),(yyvsp[(3) - (3)]),false,
7820 NULL,&(yyvsp[(1) - (3)]),NULL); ;}
7821 break;
7823 case 204:
7825 /* Line 1455 of yacc.c */
7826 #line 1331 "hphp.y"
7827 { _p->onParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),true,
7828 NULL,&(yyvsp[(1) - (4)]),NULL); ;}
7829 break;
7831 case 205:
7833 /* Line 1455 of yacc.c */
7834 #line 1335 "hphp.y"
7835 { _p->onParam((yyval),NULL,(yyvsp[(2) - (6)]),(yyvsp[(4) - (6)]),true,
7836 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),NULL); ;}
7837 break;
7839 case 206:
7841 /* Line 1455 of yacc.c */
7842 #line 1339 "hphp.y"
7843 { _p->onParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),false,
7844 &(yyvsp[(5) - (5)]),&(yyvsp[(1) - (5)]),NULL); ;}
7845 break;
7847 case 207:
7849 /* Line 1455 of yacc.c */
7850 #line 1343 "hphp.y"
7851 { _p->onParam((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]),false,
7852 NULL,&(yyvsp[(3) - (5)]),NULL); ;}
7853 break;
7855 case 208:
7857 /* Line 1455 of yacc.c */
7858 #line 1347 "hphp.y"
7859 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),true,
7860 NULL,&(yyvsp[(3) - (6)]),NULL); ;}
7861 break;
7863 case 209:
7865 /* Line 1455 of yacc.c */
7866 #line 1352 "hphp.y"
7867 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(6) - (8)]),true,
7868 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),NULL); ;}
7869 break;
7871 case 210:
7873 /* Line 1455 of yacc.c */
7874 #line 1357 "hphp.y"
7875 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(5) - (7)]),false,
7876 &(yyvsp[(7) - (7)]),&(yyvsp[(3) - (7)]),NULL); ;}
7877 break;
7879 case 211:
7881 /* Line 1455 of yacc.c */
7882 #line 1363 "hphp.y"
7883 { (yyval) = (yyvsp[(1) - (2)]);;}
7884 break;
7886 case 212:
7888 /* Line 1455 of yacc.c */
7889 #line 1364 "hphp.y"
7890 { (yyval).reset();;}
7891 break;
7893 case 213:
7895 /* Line 1455 of yacc.c */
7896 #line 1367 "hphp.y"
7897 { _p->onCallParam((yyval),NULL,(yyvsp[(1) - (1)]),0);;}
7898 break;
7900 case 214:
7902 /* Line 1455 of yacc.c */
7903 #line 1368 "hphp.y"
7904 { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),1);;}
7905 break;
7907 case 215:
7909 /* Line 1455 of yacc.c */
7910 #line 1370 "hphp.y"
7911 { _p->onCallParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
7912 break;
7914 case 216:
7916 /* Line 1455 of yacc.c */
7917 #line 1372 "hphp.y"
7918 { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
7919 break;
7921 case 217:
7923 /* Line 1455 of yacc.c */
7924 #line 1376 "hphp.y"
7925 { _p->onGlobalVar((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
7926 break;
7928 case 218:
7930 /* Line 1455 of yacc.c */
7931 #line 1377 "hphp.y"
7932 { _p->onGlobalVar((yyval), NULL, (yyvsp[(1) - (1)]));;}
7933 break;
7935 case 219:
7937 /* Line 1455 of yacc.c */
7938 #line 1380 "hphp.y"
7939 { (yyval) = (yyvsp[(1) - (1)]);;}
7940 break;
7942 case 220:
7944 /* Line 1455 of yacc.c */
7945 #line 1381 "hphp.y"
7946 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;;}
7947 break;
7949 case 221:
7951 /* Line 1455 of yacc.c */
7952 #line 1382 "hphp.y"
7953 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 1;;}
7954 break;
7956 case 222:
7958 /* Line 1455 of yacc.c */
7959 #line 1386 "hphp.y"
7960 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
7961 break;
7963 case 223:
7965 /* Line 1455 of yacc.c */
7966 #line 1388 "hphp.y"
7967 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;}
7968 break;
7970 case 224:
7972 /* Line 1455 of yacc.c */
7973 #line 1389 "hphp.y"
7974 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (1)]),0);;}
7975 break;
7977 case 225:
7979 /* Line 1455 of yacc.c */
7980 #line 1390 "hphp.y"
7981 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
7982 break;
7984 case 226:
7986 /* Line 1455 of yacc.c */
7987 #line 1395 "hphp.y"
7988 { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
7989 break;
7991 case 227:
7993 /* Line 1455 of yacc.c */
7994 #line 1396 "hphp.y"
7995 { (yyval).reset();;}
7996 break;
7998 case 228:
8000 /* Line 1455 of yacc.c */
8001 #line 1399 "hphp.y"
8002 { _p->onClassVariableModifer((yyvsp[(1) - (1)]));;}
8003 break;
8005 case 229:
8007 /* Line 1455 of yacc.c */
8008 #line 1400 "hphp.y"
8009 { _p->onClassVariableStart
8010 ((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
8011 break;
8013 case 230:
8015 /* Line 1455 of yacc.c */
8016 #line 1403 "hphp.y"
8017 { _p->onClassVariableModifer((yyvsp[(1) - (2)]));;}
8018 break;
8020 case 231:
8022 /* Line 1455 of yacc.c */
8023 #line 1404 "hphp.y"
8024 { _p->onClassVariableStart
8025 ((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),&(yyvsp[(2) - (5)]));;}
8026 break;
8028 case 232:
8030 /* Line 1455 of yacc.c */
8031 #line 1406 "hphp.y"
8032 { _p->onClassVariableStart
8033 ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);;}
8034 break;
8036 case 233:
8038 /* Line 1455 of yacc.c */
8039 #line 1410 "hphp.y"
8040 { _p->onNewLabelScope(true);
8041 _p->onMethodStart((yyvsp[(4) - (5)]), (yyvsp[(1) - (5)]));
8042 _p->pushLabelInfo();;}
8043 break;
8045 case 234:
8047 /* Line 1455 of yacc.c */
8048 #line 1416 "hphp.y"
8049 { _p->onMethod((yyval),(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr);
8050 _p->popLabelInfo();
8051 _p->popTypeScope();
8052 _p->onCompleteLabelScope(true);;}
8053 break;
8055 case 235:
8057 /* Line 1455 of yacc.c */
8058 #line 1423 "hphp.y"
8059 { _p->onNewLabelScope(true);
8060 _p->onMethodStart((yyvsp[(5) - (6)]), (yyvsp[(2) - (6)]));
8061 _p->pushLabelInfo();;}
8062 break;
8064 case 236:
8066 /* Line 1455 of yacc.c */
8067 #line 1429 "hphp.y"
8068 { _p->onMethod((yyval),(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)]));
8069 _p->popLabelInfo();
8070 _p->popTypeScope();
8071 _p->onCompleteLabelScope(true);;}
8072 break;
8074 case 237:
8076 /* Line 1455 of yacc.c */
8077 #line 1434 "hphp.y"
8078 { _p->xhpSetAttributes((yyvsp[(2) - (3)]));;}
8079 break;
8081 case 238:
8083 /* Line 1455 of yacc.c */
8084 #line 1436 "hphp.y"
8085 { xhp_category_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;}
8086 break;
8088 case 239:
8090 /* Line 1455 of yacc.c */
8091 #line 1438 "hphp.y"
8092 { xhp_children_stmt(_p,(yyval),(yyvsp[(2) - (3)]));;}
8093 break;
8095 case 240:
8097 /* Line 1455 of yacc.c */
8098 #line 1440 "hphp.y"
8099 { _p->onTraitRequire((yyval), (yyvsp[(3) - (4)]), true); ;}
8100 break;
8102 case 241:
8104 /* Line 1455 of yacc.c */
8105 #line 1442 "hphp.y"
8106 { _p->onTraitRequire((yyval), (yyvsp[(3) - (4)]), false); ;}
8107 break;
8109 case 242:
8111 /* Line 1455 of yacc.c */
8112 #line 1443 "hphp.y"
8113 { Token t; t.reset();
8114 _p->onTraitUse((yyval),(yyvsp[(2) - (3)]),t); ;}
8115 break;
8117 case 243:
8119 /* Line 1455 of yacc.c */
8120 #line 1446 "hphp.y"
8121 { _p->onTraitUse((yyval),(yyvsp[(2) - (5)]),(yyvsp[(4) - (5)])); ;}
8122 break;
8124 case 244:
8126 /* Line 1455 of yacc.c */
8127 #line 1449 "hphp.y"
8128 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;}
8129 break;
8131 case 245:
8133 /* Line 1455 of yacc.c */
8134 #line 1450 "hphp.y"
8135 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); ;}
8136 break;
8138 case 246:
8140 /* Line 1455 of yacc.c */
8141 #line 1451 "hphp.y"
8142 { (yyval).reset(); ;}
8143 break;
8145 case 247:
8147 /* Line 1455 of yacc.c */
8148 #line 1457 "hphp.y"
8149 { _p->onTraitPrecRule((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;}
8150 break;
8152 case 248:
8154 /* Line 1455 of yacc.c */
8155 #line 1461 "hphp.y"
8156 { _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),
8157 (yyvsp[(4) - (5)]));;}
8158 break;
8160 case 249:
8162 /* Line 1455 of yacc.c */
8163 #line 1464 "hphp.y"
8164 { Token t; t.reset();
8165 _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),
8166 t);;}
8167 break;
8169 case 250:
8171 /* Line 1455 of yacc.c */
8172 #line 1471 "hphp.y"
8173 { _p->onTraitAliasRuleStart((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
8174 break;
8176 case 251:
8178 /* Line 1455 of yacc.c */
8179 #line 1472 "hphp.y"
8180 { Token t; t.reset();
8181 _p->onTraitAliasRuleStart((yyval),t,(yyvsp[(1) - (1)]));;}
8182 break;
8184 case 252:
8186 /* Line 1455 of yacc.c */
8187 #line 1477 "hphp.y"
8188 { xhp_attribute_list(_p,(yyval),
8189 _p->xhpGetAttributes(),(yyvsp[(1) - (1)]));;}
8190 break;
8192 case 253:
8194 /* Line 1455 of yacc.c */
8195 #line 1480 "hphp.y"
8196 { xhp_attribute_list(_p,(yyval), &(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
8197 break;
8199 case 254:
8201 /* Line 1455 of yacc.c */
8202 #line 1487 "hphp.y"
8203 { xhp_attribute(_p,(yyval),(yyvsp[(1) - (4)]),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));
8204 (yyval) = 1;;}
8205 break;
8207 case 255:
8209 /* Line 1455 of yacc.c */
8210 #line 1489 "hphp.y"
8211 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;;}
8212 break;
8214 case 256:
8216 /* Line 1455 of yacc.c */
8217 #line 1493 "hphp.y"
8218 { (yyval) = 4;;}
8219 break;
8221 case 257:
8223 /* Line 1455 of yacc.c */
8224 #line 1494 "hphp.y"
8225 { /* This case handles all types other
8226 than "array", "var" and "enum".
8227 For now we just use type code 5;
8228 later xhp_attribute() will fix up
8229 the type code as appropriate. */
8230 (yyval) = 5; (yyval).setText((yyvsp[(1) - (1)]));;}
8231 break;
8233 case 258:
8235 /* Line 1455 of yacc.c */
8236 #line 1500 "hphp.y"
8237 { (yyval) = 6;;}
8238 break;
8240 case 259:
8242 /* Line 1455 of yacc.c */
8243 #line 1502 "hphp.y"
8244 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 7;;}
8245 break;
8247 case 260:
8249 /* Line 1455 of yacc.c */
8250 #line 1506 "hphp.y"
8251 { _p->onArrayPair((yyval), 0,0,(yyvsp[(1) - (1)]),0);;}
8252 break;
8254 case 261:
8256 /* Line 1455 of yacc.c */
8257 #line 1508 "hphp.y"
8258 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),0,(yyvsp[(3) - (3)]),0);;}
8259 break;
8261 case 262:
8263 /* Line 1455 of yacc.c */
8264 #line 1512 "hphp.y"
8265 { (yyval) = (yyvsp[(2) - (2)]);;}
8266 break;
8268 case 263:
8270 /* Line 1455 of yacc.c */
8271 #line 1513 "hphp.y"
8272 { scalar_null(_p, (yyval));;}
8273 break;
8275 case 264:
8277 /* Line 1455 of yacc.c */
8278 #line 1517 "hphp.y"
8279 { scalar_num(_p, (yyval), "1");;}
8280 break;
8282 case 265:
8284 /* Line 1455 of yacc.c */
8285 #line 1518 "hphp.y"
8286 { scalar_num(_p, (yyval), "0");;}
8287 break;
8289 case 266:
8291 /* Line 1455 of yacc.c */
8292 #line 1522 "hphp.y"
8293 { Token t; scalar_num(_p, t, "1");
8294 _p->onArrayPair((yyval),0,&(yyvsp[(1) - (1)]),t,0);;}
8295 break;
8297 case 267:
8299 /* Line 1455 of yacc.c */
8300 #line 1525 "hphp.y"
8301 { Token t; scalar_num(_p, t, "1");
8302 _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]),t,0);;}
8303 break;
8305 case 268:
8307 /* Line 1455 of yacc.c */
8308 #line 1530 "hphp.y"
8309 { _p->onScalar((yyval),
8310 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
8311 break;
8313 case 269:
8315 /* Line 1455 of yacc.c */
8316 #line 1535 "hphp.y"
8317 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 2;;}
8318 break;
8320 case 270:
8322 /* Line 1455 of yacc.c */
8323 #line 1536 "hphp.y"
8324 { (yyval) = -1;
8325 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1;;}
8326 break;
8328 case 271:
8330 /* Line 1455 of yacc.c */
8331 #line 1538 "hphp.y"
8332 { (yyval) = 0;;}
8333 break;
8335 case 272:
8337 /* Line 1455 of yacc.c */
8338 #line 1542 "hphp.y"
8339 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (3)]), 0);;}
8340 break;
8342 case 273:
8344 /* Line 1455 of yacc.c */
8345 #line 1543 "hphp.y"
8346 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 1);;}
8347 break;
8349 case 274:
8351 /* Line 1455 of yacc.c */
8352 #line 1544 "hphp.y"
8353 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 2);;}
8354 break;
8356 case 275:
8358 /* Line 1455 of yacc.c */
8359 #line 1545 "hphp.y"
8360 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 3);;}
8361 break;
8363 case 276:
8365 /* Line 1455 of yacc.c */
8366 #line 1549 "hphp.y"
8367 { (yyval) = (yyvsp[(1) - (1)]);;}
8368 break;
8370 case 277:
8372 /* Line 1455 of yacc.c */
8373 #line 1550 "hphp.y"
8374 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (1)]),0, 0);;}
8375 break;
8377 case 278:
8379 /* Line 1455 of yacc.c */
8380 #line 1551 "hphp.y"
8381 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),1, 0);;}
8382 break;
8384 case 279:
8386 /* Line 1455 of yacc.c */
8387 #line 1552 "hphp.y"
8388 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),2, 0);;}
8389 break;
8391 case 280:
8393 /* Line 1455 of yacc.c */
8394 #line 1553 "hphp.y"
8395 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),3, 0);;}
8396 break;
8398 case 281:
8400 /* Line 1455 of yacc.c */
8401 #line 1555 "hphp.y"
8402 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),4,&(yyvsp[(3) - (3)]));;}
8403 break;
8405 case 282:
8407 /* Line 1455 of yacc.c */
8408 #line 1557 "hphp.y"
8409 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),5,&(yyvsp[(3) - (3)]));;}
8410 break;
8412 case 283:
8414 /* Line 1455 of yacc.c */
8415 #line 1561 "hphp.y"
8416 { (yyval) = -1;
8417 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1; else
8418 if ((yyvsp[(1) - (1)]).same("pcdata")) (yyval) = 2;;}
8419 break;
8421 case 284:
8423 /* Line 1455 of yacc.c */
8424 #line 1564 "hphp.y"
8425 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 3;;}
8426 break;
8428 case 285:
8430 /* Line 1455 of yacc.c */
8431 #line 1565 "hphp.y"
8432 { (yyvsp[(1) - (1)]).xhpLabel(0); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 4;;}
8433 break;
8435 case 286:
8437 /* Line 1455 of yacc.c */
8438 #line 1569 "hphp.y"
8439 { (yyval).reset();;}
8440 break;
8442 case 287:
8444 /* Line 1455 of yacc.c */
8445 #line 1570 "hphp.y"
8446 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;}
8447 break;
8449 case 288:
8451 /* Line 1455 of yacc.c */
8452 #line 1574 "hphp.y"
8453 { (yyval).reset();;}
8454 break;
8456 case 289:
8458 /* Line 1455 of yacc.c */
8459 #line 1575 "hphp.y"
8460 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;;}
8461 break;
8463 case 290:
8465 /* Line 1455 of yacc.c */
8466 #line 1578 "hphp.y"
8467 { (yyval) = (yyvsp[(1) - (1)]);;}
8468 break;
8470 case 291:
8472 /* Line 1455 of yacc.c */
8473 #line 1579 "hphp.y"
8474 { (yyval).reset();;}
8475 break;
8477 case 292:
8479 /* Line 1455 of yacc.c */
8480 #line 1582 "hphp.y"
8481 { (yyval) = (yyvsp[(1) - (1)]);;}
8482 break;
8484 case 293:
8486 /* Line 1455 of yacc.c */
8487 #line 1583 "hphp.y"
8488 { (yyval).reset();;}
8489 break;
8491 case 294:
8493 /* Line 1455 of yacc.c */
8494 #line 1586 "hphp.y"
8495 { _p->onMemberModifier((yyval),NULL,(yyvsp[(1) - (1)]));;}
8496 break;
8498 case 295:
8500 /* Line 1455 of yacc.c */
8501 #line 1588 "hphp.y"
8502 { _p->onMemberModifier((yyval),&(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
8503 break;
8505 case 296:
8507 /* Line 1455 of yacc.c */
8508 #line 1591 "hphp.y"
8509 { (yyval) = T_PUBLIC;;}
8510 break;
8512 case 297:
8514 /* Line 1455 of yacc.c */
8515 #line 1592 "hphp.y"
8516 { (yyval) = T_PROTECTED;;}
8517 break;
8519 case 298:
8521 /* Line 1455 of yacc.c */
8522 #line 1593 "hphp.y"
8523 { (yyval) = T_PRIVATE;;}
8524 break;
8526 case 299:
8528 /* Line 1455 of yacc.c */
8529 #line 1594 "hphp.y"
8530 { (yyval) = T_STATIC;;}
8531 break;
8533 case 300:
8535 /* Line 1455 of yacc.c */
8536 #line 1595 "hphp.y"
8537 { (yyval) = T_ABSTRACT;;}
8538 break;
8540 case 301:
8542 /* Line 1455 of yacc.c */
8543 #line 1596 "hphp.y"
8544 { (yyval) = T_FINAL;;}
8545 break;
8547 case 302:
8549 /* Line 1455 of yacc.c */
8550 #line 1597 "hphp.y"
8551 { (yyval) = T_ASYNC;;}
8552 break;
8554 case 303:
8556 /* Line 1455 of yacc.c */
8557 #line 1601 "hphp.y"
8558 { (yyval) = (yyvsp[(1) - (1)]);;}
8559 break;
8561 case 304:
8563 /* Line 1455 of yacc.c */
8564 #line 1602 "hphp.y"
8565 { (yyval).reset();;}
8566 break;
8568 case 305:
8570 /* Line 1455 of yacc.c */
8571 #line 1605 "hphp.y"
8572 { (yyval) = T_PUBLIC;;}
8573 break;
8575 case 306:
8577 /* Line 1455 of yacc.c */
8578 #line 1606 "hphp.y"
8579 { (yyval) = T_PROTECTED;;}
8580 break;
8582 case 307:
8584 /* Line 1455 of yacc.c */
8585 #line 1607 "hphp.y"
8586 { (yyval) = T_PRIVATE;;}
8587 break;
8589 case 308:
8591 /* Line 1455 of yacc.c */
8592 #line 1611 "hphp.y"
8593 { _p->onClassVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
8594 break;
8596 case 309:
8598 /* Line 1455 of yacc.c */
8599 #line 1613 "hphp.y"
8600 { _p->onClassVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));;}
8601 break;
8603 case 310:
8605 /* Line 1455 of yacc.c */
8606 #line 1614 "hphp.y"
8607 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (1)]),0);;}
8608 break;
8610 case 311:
8612 /* Line 1455 of yacc.c */
8613 #line 1615 "hphp.y"
8614 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
8615 break;
8617 case 312:
8619 /* Line 1455 of yacc.c */
8620 #line 1619 "hphp.y"
8621 { _p->onClassConstant((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
8622 break;
8624 case 313:
8626 /* Line 1455 of yacc.c */
8627 #line 1620 "hphp.y"
8628 { _p->onClassConstant((yyval),0,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
8629 break;
8631 case 314:
8633 /* Line 1455 of yacc.c */
8634 #line 1624 "hphp.y"
8635 { (yyval) = (yyvsp[(2) - (3)]);;}
8636 break;
8638 case 315:
8640 /* Line 1455 of yacc.c */
8641 #line 1626 "hphp.y"
8642 { _p->onNewObject((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));;}
8643 break;
8645 case 316:
8647 /* Line 1455 of yacc.c */
8648 #line 1627 "hphp.y"
8649 { UEXP((yyval),(yyvsp[(2) - (2)]),T_CLONE,1);;}
8650 break;
8652 case 317:
8654 /* Line 1455 of yacc.c */
8655 #line 1628 "hphp.y"
8656 { (yyval) = (yyvsp[(1) - (1)]);;}
8657 break;
8659 case 318:
8661 /* Line 1455 of yacc.c */
8662 #line 1629 "hphp.y"
8663 { (yyval) = (yyvsp[(1) - (1)]);;}
8664 break;
8666 case 319:
8668 /* Line 1455 of yacc.c */
8669 #line 1632 "hphp.y"
8670 { (yyval) = (yyvsp[(2) - (3)]);;}
8671 break;
8673 case 320:
8675 /* Line 1455 of yacc.c */
8676 #line 1636 "hphp.y"
8677 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
8678 break;
8680 case 321:
8682 /* Line 1455 of yacc.c */
8683 #line 1637 "hphp.y"
8684 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
8685 break;
8687 case 322:
8689 /* Line 1455 of yacc.c */
8690 #line 1641 "hphp.y"
8691 { (yyval) = (yyvsp[(1) - (1)]);;}
8692 break;
8694 case 323:
8696 /* Line 1455 of yacc.c */
8697 #line 1642 "hphp.y"
8698 { (yyval).reset();;}
8699 break;
8701 case 324:
8703 /* Line 1455 of yacc.c */
8704 #line 1646 "hphp.y"
8705 { _p->onYield((yyval), (yyvsp[(2) - (2)]));;}
8706 break;
8708 case 325:
8710 /* Line 1455 of yacc.c */
8711 #line 1647 "hphp.y"
8712 { _p->onYieldPair((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;}
8713 break;
8715 case 326:
8717 /* Line 1455 of yacc.c */
8718 #line 1651 "hphp.y"
8719 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
8720 break;
8722 case 327:
8724 /* Line 1455 of yacc.c */
8725 #line 1656 "hphp.y"
8726 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;}
8727 break;
8729 case 328:
8731 /* Line 1455 of yacc.c */
8732 #line 1660 "hphp.y"
8733 { _p->onAwait((yyval), (yyvsp[(2) - (2)])); ;}
8734 break;
8736 case 329:
8738 /* Line 1455 of yacc.c */
8739 #line 1664 "hphp.y"
8740 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
8741 break;
8743 case 330:
8745 /* Line 1455 of yacc.c */
8746 #line 1669 "hphp.y"
8747 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);;}
8748 break;
8750 case 331:
8752 /* Line 1455 of yacc.c */
8753 #line 1673 "hphp.y"
8754 { (yyval) = (yyvsp[(1) - (1)]);;}
8755 break;
8757 case 332:
8759 /* Line 1455 of yacc.c */
8760 #line 1674 "hphp.y"
8761 { (yyval) = (yyvsp[(1) - (1)]);;}
8762 break;
8764 case 333:
8766 /* Line 1455 of yacc.c */
8767 #line 1675 "hphp.y"
8768 { (yyval) = (yyvsp[(1) - (1)]);;}
8769 break;
8771 case 334:
8773 /* Line 1455 of yacc.c */
8774 #line 1679 "hphp.y"
8775 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]));;}
8776 break;
8778 case 335:
8780 /* Line 1455 of yacc.c */
8781 #line 1680 "hphp.y"
8782 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
8783 break;
8785 case 336:
8787 /* Line 1455 of yacc.c */
8788 #line 1681 "hphp.y"
8789 { _p->onAssign((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]), 1);;}
8790 break;
8792 case 337:
8794 /* Line 1455 of yacc.c */
8795 #line 1684 "hphp.y"
8796 { _p->onAssignNew((yyval),(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]));;}
8797 break;
8799 case 338:
8801 /* Line 1455 of yacc.c */
8802 #line 1685 "hphp.y"
8803 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PLUS_EQUAL);;}
8804 break;
8806 case 339:
8808 /* Line 1455 of yacc.c */
8809 #line 1686 "hphp.y"
8810 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MINUS_EQUAL);;}
8811 break;
8813 case 340:
8815 /* Line 1455 of yacc.c */
8816 #line 1687 "hphp.y"
8817 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MUL_EQUAL);;}
8818 break;
8820 case 341:
8822 /* Line 1455 of yacc.c */
8823 #line 1688 "hphp.y"
8824 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_DIV_EQUAL);;}
8825 break;
8827 case 342:
8829 /* Line 1455 of yacc.c */
8830 #line 1689 "hphp.y"
8831 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_CONCAT_EQUAL);;}
8832 break;
8834 case 343:
8836 /* Line 1455 of yacc.c */
8837 #line 1690 "hphp.y"
8838 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MOD_EQUAL);;}
8839 break;
8841 case 344:
8843 /* Line 1455 of yacc.c */
8844 #line 1691 "hphp.y"
8845 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_AND_EQUAL);;}
8846 break;
8848 case 345:
8850 /* Line 1455 of yacc.c */
8851 #line 1692 "hphp.y"
8852 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_OR_EQUAL);;}
8853 break;
8855 case 346:
8857 /* Line 1455 of yacc.c */
8858 #line 1693 "hphp.y"
8859 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_XOR_EQUAL);;}
8860 break;
8862 case 347:
8864 /* Line 1455 of yacc.c */
8865 #line 1694 "hphp.y"
8866 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL_EQUAL);;}
8867 break;
8869 case 348:
8871 /* Line 1455 of yacc.c */
8872 #line 1695 "hphp.y"
8873 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR_EQUAL);;}
8874 break;
8876 case 349:
8878 /* Line 1455 of yacc.c */
8879 #line 1696 "hphp.y"
8880 { UEXP((yyval),(yyvsp[(1) - (2)]),T_INC,0);;}
8881 break;
8883 case 350:
8885 /* Line 1455 of yacc.c */
8886 #line 1697 "hphp.y"
8887 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INC,1);;}
8888 break;
8890 case 351:
8892 /* Line 1455 of yacc.c */
8893 #line 1698 "hphp.y"
8894 { UEXP((yyval),(yyvsp[(1) - (2)]),T_DEC,0);;}
8895 break;
8897 case 352:
8899 /* Line 1455 of yacc.c */
8900 #line 1699 "hphp.y"
8901 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DEC,1);;}
8902 break;
8904 case 353:
8906 /* Line 1455 of yacc.c */
8907 #line 1700 "hphp.y"
8908 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);;}
8909 break;
8911 case 354:
8913 /* Line 1455 of yacc.c */
8914 #line 1701 "hphp.y"
8915 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);;}
8916 break;
8918 case 355:
8920 /* Line 1455 of yacc.c */
8921 #line 1702 "hphp.y"
8922 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);;}
8923 break;
8925 case 356:
8927 /* Line 1455 of yacc.c */
8928 #line 1703 "hphp.y"
8929 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);;}
8930 break;
8932 case 357:
8934 /* Line 1455 of yacc.c */
8935 #line 1704 "hphp.y"
8936 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);;}
8937 break;
8939 case 358:
8941 /* Line 1455 of yacc.c */
8942 #line 1705 "hphp.y"
8943 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');;}
8944 break;
8946 case 359:
8948 /* Line 1455 of yacc.c */
8949 #line 1706 "hphp.y"
8950 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');;}
8951 break;
8953 case 360:
8955 /* Line 1455 of yacc.c */
8956 #line 1707 "hphp.y"
8957 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');;}
8958 break;
8960 case 361:
8962 /* Line 1455 of yacc.c */
8963 #line 1708 "hphp.y"
8964 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');;}
8965 break;
8967 case 362:
8969 /* Line 1455 of yacc.c */
8970 #line 1709 "hphp.y"
8971 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');;}
8972 break;
8974 case 363:
8976 /* Line 1455 of yacc.c */
8977 #line 1710 "hphp.y"
8978 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');;}
8979 break;
8981 case 364:
8983 /* Line 1455 of yacc.c */
8984 #line 1711 "hphp.y"
8985 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');;}
8986 break;
8988 case 365:
8990 /* Line 1455 of yacc.c */
8991 #line 1712 "hphp.y"
8992 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');;}
8993 break;
8995 case 366:
8997 /* Line 1455 of yacc.c */
8998 #line 1713 "hphp.y"
8999 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');;}
9000 break;
9002 case 367:
9004 /* Line 1455 of yacc.c */
9005 #line 1714 "hphp.y"
9006 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);;}
9007 break;
9009 case 368:
9011 /* Line 1455 of yacc.c */
9012 #line 1715 "hphp.y"
9013 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);;}
9014 break;
9016 case 369:
9018 /* Line 1455 of yacc.c */
9019 #line 1716 "hphp.y"
9020 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
9021 break;
9023 case 370:
9025 /* Line 1455 of yacc.c */
9026 #line 1717 "hphp.y"
9027 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
9028 break;
9030 case 371:
9032 /* Line 1455 of yacc.c */
9033 #line 1718 "hphp.y"
9034 { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);;}
9035 break;
9037 case 372:
9039 /* Line 1455 of yacc.c */
9040 #line 1719 "hphp.y"
9041 { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);;}
9042 break;
9044 case 373:
9046 /* Line 1455 of yacc.c */
9047 #line 1720 "hphp.y"
9048 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);;}
9049 break;
9051 case 374:
9053 /* Line 1455 of yacc.c */
9054 #line 1721 "hphp.y"
9055 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);;}
9056 break;
9058 case 375:
9060 /* Line 1455 of yacc.c */
9061 #line 1722 "hphp.y"
9062 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);;}
9063 break;
9065 case 376:
9067 /* Line 1455 of yacc.c */
9068 #line 1723 "hphp.y"
9069 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);;}
9070 break;
9072 case 377:
9074 /* Line 1455 of yacc.c */
9075 #line 1724 "hphp.y"
9076 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');;}
9077 break;
9079 case 378:
9081 /* Line 1455 of yacc.c */
9082 #line 1725 "hphp.y"
9083 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
9084 T_IS_SMALLER_OR_EQUAL);;}
9085 break;
9087 case 379:
9089 /* Line 1455 of yacc.c */
9090 #line 1727 "hphp.y"
9091 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');;}
9092 break;
9094 case 380:
9096 /* Line 1455 of yacc.c */
9097 #line 1728 "hphp.y"
9098 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
9099 T_IS_GREATER_OR_EQUAL);;}
9100 break;
9102 case 381:
9104 /* Line 1455 of yacc.c */
9105 #line 1731 "hphp.y"
9106 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_INSTANCEOF);;}
9107 break;
9109 case 382:
9111 /* Line 1455 of yacc.c */
9112 #line 1732 "hphp.y"
9113 { (yyval) = (yyvsp[(2) - (3)]);;}
9114 break;
9116 case 383:
9118 /* Line 1455 of yacc.c */
9119 #line 1733 "hphp.y"
9120 { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));;}
9121 break;
9123 case 384:
9125 /* Line 1455 of yacc.c */
9126 #line 1734 "hphp.y"
9127 { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));;}
9128 break;
9130 case 385:
9132 /* Line 1455 of yacc.c */
9133 #line 1735 "hphp.y"
9134 { (yyval) = (yyvsp[(1) - (1)]);;}
9135 break;
9137 case 386:
9139 /* Line 1455 of yacc.c */
9140 #line 1736 "hphp.y"
9141 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INT_CAST,1);;}
9142 break;
9144 case 387:
9146 /* Line 1455 of yacc.c */
9147 #line 1737 "hphp.y"
9148 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DOUBLE_CAST,1);;}
9149 break;
9151 case 388:
9153 /* Line 1455 of yacc.c */
9154 #line 1738 "hphp.y"
9155 { UEXP((yyval),(yyvsp[(2) - (2)]),T_STRING_CAST,1);;}
9156 break;
9158 case 389:
9160 /* Line 1455 of yacc.c */
9161 #line 1739 "hphp.y"
9162 { UEXP((yyval),(yyvsp[(2) - (2)]),T_ARRAY_CAST,1);;}
9163 break;
9165 case 390:
9167 /* Line 1455 of yacc.c */
9168 #line 1740 "hphp.y"
9169 { UEXP((yyval),(yyvsp[(2) - (2)]),T_OBJECT_CAST,1);;}
9170 break;
9172 case 391:
9174 /* Line 1455 of yacc.c */
9175 #line 1741 "hphp.y"
9176 { UEXP((yyval),(yyvsp[(2) - (2)]),T_BOOL_CAST,1);;}
9177 break;
9179 case 392:
9181 /* Line 1455 of yacc.c */
9182 #line 1742 "hphp.y"
9183 { UEXP((yyval),(yyvsp[(2) - (2)]),T_UNSET_CAST,1);;}
9184 break;
9186 case 393:
9188 /* Line 1455 of yacc.c */
9189 #line 1743 "hphp.y"
9190 { UEXP((yyval),(yyvsp[(2) - (2)]),T_EXIT,1);;}
9191 break;
9193 case 394:
9195 /* Line 1455 of yacc.c */
9196 #line 1744 "hphp.y"
9197 { UEXP((yyval),(yyvsp[(2) - (2)]),'@',1);;}
9198 break;
9200 case 395:
9202 /* Line 1455 of yacc.c */
9203 #line 1745 "hphp.y"
9204 { (yyval) = (yyvsp[(1) - (1)]); ;}
9205 break;
9207 case 396:
9209 /* Line 1455 of yacc.c */
9210 #line 1746 "hphp.y"
9211 { (yyval) = (yyvsp[(1) - (1)]); ;}
9212 break;
9214 case 397:
9216 /* Line 1455 of yacc.c */
9217 #line 1747 "hphp.y"
9218 { (yyval) = (yyvsp[(1) - (1)]); ;}
9219 break;
9221 case 398:
9223 /* Line 1455 of yacc.c */
9224 #line 1748 "hphp.y"
9225 { _p->onEncapsList((yyval),'`',(yyvsp[(2) - (3)]));;}
9226 break;
9228 case 399:
9230 /* Line 1455 of yacc.c */
9231 #line 1749 "hphp.y"
9232 { UEXP((yyval),(yyvsp[(2) - (2)]),T_PRINT,1);;}
9233 break;
9235 case 400:
9237 /* Line 1455 of yacc.c */
9238 #line 1750 "hphp.y"
9239 { (yyval) = (yyvsp[(1) - (1)]);;}
9240 break;
9242 case 401:
9244 /* Line 1455 of yacc.c */
9245 #line 1751 "hphp.y"
9246 { (yyval) = (yyvsp[(1) - (1)]);;}
9247 break;
9249 case 402:
9251 /* Line 1455 of yacc.c */
9252 #line 1752 "hphp.y"
9253 { (yyval) = (yyvsp[(1) - (1)]);;}
9254 break;
9256 case 403:
9258 /* Line 1455 of yacc.c */
9259 #line 1759 "hphp.y"
9260 { (yyval) = (yyvsp[(3) - (5)]);;}
9261 break;
9263 case 404:
9265 /* Line 1455 of yacc.c */
9266 #line 1760 "hphp.y"
9267 { (yyval).reset();;}
9268 break;
9270 case 405:
9272 /* Line 1455 of yacc.c */
9273 #line 1765 "hphp.y"
9274 { Token t;
9275 _p->onNewLabelScope(true);
9276 _p->onClosureStart(t);
9277 _p->pushLabelInfo(); ;}
9278 break;
9280 case 406:
9282 /* Line 1455 of yacc.c */
9283 #line 1771 "hphp.y"
9284 { _p->finishStatement((yyvsp[(10) - (11)]), (yyvsp[(10) - (11)])); (yyvsp[(10) - (11)]) = 1;
9285 (yyval) = _p->onClosure(ClosureType::Long,
9286 nullptr,
9287 (yyvsp[(2) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(10) - (11)]));
9288 _p->popLabelInfo();
9289 _p->onCompleteLabelScope(true);;}
9290 break;
9292 case 407:
9294 /* Line 1455 of yacc.c */
9295 #line 1779 "hphp.y"
9296 { Token t;
9297 _p->onNewLabelScope(true);
9298 _p->onClosureStart(t);
9299 _p->pushLabelInfo(); ;}
9300 break;
9302 case 408:
9304 /* Line 1455 of yacc.c */
9305 #line 1785 "hphp.y"
9306 { _p->finishStatement((yyvsp[(11) - (12)]), (yyvsp[(11) - (12)])); (yyvsp[(11) - (12)]) = 1;
9307 (yyval) = _p->onClosure(ClosureType::Long,
9308 &(yyvsp[(1) - (12)]),
9309 (yyvsp[(3) - (12)]),(yyvsp[(6) - (12)]),(yyvsp[(9) - (12)]),(yyvsp[(11) - (12)]));
9310 _p->popLabelInfo();
9311 _p->onCompleteLabelScope(true);;}
9312 break;
9314 case 409:
9316 /* Line 1455 of yacc.c */
9317 #line 1794 "hphp.y"
9318 { _p->pushFuncLocation();
9319 Token t;
9320 _p->onNewLabelScope(true);
9321 _p->onClosureStart(t);
9322 _p->pushLabelInfo();
9323 Token u;
9324 _p->onParam((yyvsp[(1) - (1)]),NULL,u,(yyvsp[(1) - (1)]),0,
9325 NULL,NULL,NULL);;}
9326 break;
9328 case 410:
9330 /* Line 1455 of yacc.c */
9331 #line 1802 "hphp.y"
9332 { Token v; Token w;
9333 _p->finishStatement((yyvsp[(3) - (3)]), (yyvsp[(3) - (3)])); (yyvsp[(3) - (3)]) = 1;
9334 (yyval) = _p->onClosure(ClosureType::Short,
9335 nullptr,
9336 v,(yyvsp[(1) - (3)]),w,(yyvsp[(3) - (3)]));
9337 _p->popLabelInfo();
9338 _p->onCompleteLabelScope(true);;}
9339 break;
9341 case 411:
9343 /* Line 1455 of yacc.c */
9344 #line 1809 "hphp.y"
9345 { _p->pushFuncLocation();
9346 Token t;
9347 _p->onNewLabelScope(true);
9348 _p->onClosureStart(t);
9349 _p->pushLabelInfo();;}
9350 break;
9352 case 412:
9354 /* Line 1455 of yacc.c */
9355 #line 1817 "hphp.y"
9356 { Token u; Token v;
9357 _p->finishStatement((yyvsp[(6) - (6)]), (yyvsp[(6) - (6)])); (yyvsp[(6) - (6)]) = 1;
9358 (yyval) = _p->onClosure(ClosureType::Short,
9359 nullptr,
9360 u,(yyvsp[(3) - (6)]),v,(yyvsp[(6) - (6)]));
9361 _p->popLabelInfo();
9362 _p->onCompleteLabelScope(true);;}
9363 break;
9365 case 413:
9367 /* Line 1455 of yacc.c */
9368 #line 1827 "hphp.y"
9369 { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));;}
9370 break;
9372 case 414:
9374 /* Line 1455 of yacc.c */
9375 #line 1829 "hphp.y"
9376 { (yyval) = (yyvsp[(3) - (4)]);;}
9377 break;
9379 case 415:
9381 /* Line 1455 of yacc.c */
9382 #line 1833 "hphp.y"
9383 { validate_shape_keyname((yyvsp[(1) - (1)]), _p);
9384 _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); ;}
9385 break;
9387 case 416:
9389 /* Line 1455 of yacc.c */
9390 #line 1841 "hphp.y"
9391 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
9392 break;
9394 case 417:
9396 /* Line 1455 of yacc.c */
9397 #line 1844 "hphp.y"
9398 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
9399 break;
9401 case 418:
9403 /* Line 1455 of yacc.c */
9404 #line 1851 "hphp.y"
9405 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
9406 break;
9408 case 419:
9410 /* Line 1455 of yacc.c */
9411 #line 1854 "hphp.y"
9412 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
9413 break;
9415 case 420:
9417 /* Line 1455 of yacc.c */
9418 #line 1859 "hphp.y"
9419 { (yyval) = (yyvsp[(1) - (2)]); ;}
9420 break;
9422 case 421:
9424 /* Line 1455 of yacc.c */
9425 #line 1860 "hphp.y"
9426 { (yyval).reset(); ;}
9427 break;
9429 case 422:
9431 /* Line 1455 of yacc.c */
9432 #line 1865 "hphp.y"
9433 { (yyval) = (yyvsp[(1) - (2)]); ;}
9434 break;
9436 case 423:
9438 /* Line 1455 of yacc.c */
9439 #line 1866 "hphp.y"
9440 { (yyval).reset(); ;}
9441 break;
9443 case 424:
9445 /* Line 1455 of yacc.c */
9446 #line 1870 "hphp.y"
9447 { _p->onArray((yyval), (yyvsp[(3) - (4)]), T_ARRAY);;}
9448 break;
9450 case 425:
9452 /* Line 1455 of yacc.c */
9453 #line 1874 "hphp.y"
9454 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;}
9455 break;
9457 case 426:
9459 /* Line 1455 of yacc.c */
9460 #line 1875 "hphp.y"
9461 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
9462 break;
9464 case 427:
9466 /* Line 1455 of yacc.c */
9467 #line 1880 "hphp.y"
9468 { Token t;
9469 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
9470 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;}
9471 break;
9473 case 428:
9475 /* Line 1455 of yacc.c */
9476 #line 1887 "hphp.y"
9477 { Token t;
9478 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
9479 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);;}
9480 break;
9482 case 429:
9484 /* Line 1455 of yacc.c */
9485 #line 1894 "hphp.y"
9486 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
9487 break;
9489 case 430:
9491 /* Line 1455 of yacc.c */
9492 #line 1896 "hphp.y"
9493 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
9494 break;
9496 case 431:
9498 /* Line 1455 of yacc.c */
9499 #line 1900 "hphp.y"
9500 { (yyval) = (yyvsp[(1) - (1)]);;}
9501 break;
9503 case 432:
9505 /* Line 1455 of yacc.c */
9506 #line 1901 "hphp.y"
9507 { (yyval) = (yyvsp[(1) - (1)]);;}
9508 break;
9510 case 433:
9512 /* Line 1455 of yacc.c */
9513 #line 1902 "hphp.y"
9514 { (yyval) = (yyvsp[(2) - (3)]);;}
9515 break;
9517 case 434:
9519 /* Line 1455 of yacc.c */
9520 #line 1906 "hphp.y"
9521 { _p->onQuery((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
9522 break;
9524 case 435:
9526 /* Line 1455 of yacc.c */
9527 #line 1910 "hphp.y"
9528 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);;}
9529 break;
9531 case 436:
9533 /* Line 1455 of yacc.c */
9534 #line 1914 "hphp.y"
9535 { _p->onFromClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;}
9536 break;
9538 case 437:
9540 /* Line 1455 of yacc.c */
9541 #line 1919 "hphp.y"
9542 { _p->onQueryBody((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), NULL); ;}
9543 break;
9545 case 438:
9547 /* Line 1455 of yacc.c */
9548 #line 1921 "hphp.y"
9549 { _p->onQueryBody((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)])); ;}
9550 break;
9552 case 439:
9554 /* Line 1455 of yacc.c */
9555 #line 1923 "hphp.y"
9556 { _p->onQueryBody((yyval), NULL, (yyvsp[(1) - (1)]), NULL); ;}
9557 break;
9559 case 440:
9561 /* Line 1455 of yacc.c */
9562 #line 1925 "hphp.y"
9563 { _p->onQueryBody((yyval), NULL, (yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); ;}
9564 break;
9566 case 441:
9568 /* Line 1455 of yacc.c */
9569 #line 1929 "hphp.y"
9570 { _p->onQueryBodyClause((yyval), NULL, (yyvsp[(1) - (1)])); ;}
9571 break;
9573 case 442:
9575 /* Line 1455 of yacc.c */
9576 #line 1931 "hphp.y"
9577 { _p->onQueryBodyClause((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); ;}
9578 break;
9580 case 443:
9582 /* Line 1455 of yacc.c */
9583 #line 1935 "hphp.y"
9584 { (yyval) = (yyvsp[(1) - (1)]);;}
9585 break;
9587 case 444:
9589 /* Line 1455 of yacc.c */
9590 #line 1936 "hphp.y"
9591 { (yyval) = (yyvsp[(1) - (1)]);;}
9592 break;
9594 case 445:
9596 /* Line 1455 of yacc.c */
9597 #line 1937 "hphp.y"
9598 { (yyval) = (yyvsp[(1) - (1)]);;}
9599 break;
9601 case 446:
9603 /* Line 1455 of yacc.c */
9604 #line 1938 "hphp.y"
9605 { (yyval) = (yyvsp[(1) - (1)]);;}
9606 break;
9608 case 447:
9610 /* Line 1455 of yacc.c */
9611 #line 1939 "hphp.y"
9612 { (yyval) = (yyvsp[(1) - (1)]);;}
9613 break;
9615 case 448:
9617 /* Line 1455 of yacc.c */
9618 #line 1940 "hphp.y"
9619 { (yyval) = (yyvsp[(1) - (1)]);;}
9620 break;
9622 case 449:
9624 /* Line 1455 of yacc.c */
9625 #line 1944 "hphp.y"
9626 { _p->onFromClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;}
9627 break;
9629 case 450:
9631 /* Line 1455 of yacc.c */
9632 #line 1948 "hphp.y"
9633 { _p->onLetClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;}
9634 break;
9636 case 451:
9638 /* Line 1455 of yacc.c */
9639 #line 1952 "hphp.y"
9640 { _p->onWhereClause((yyval), (yyvsp[(2) - (2)])); ;}
9641 break;
9643 case 452:
9645 /* Line 1455 of yacc.c */
9646 #line 1957 "hphp.y"
9647 { _p->onJoinClause((yyval), (yyvsp[(2) - (8)]), (yyvsp[(4) - (8)]), (yyvsp[(6) - (8)]), (yyvsp[(8) - (8)])); ;}
9648 break;
9650 case 453:
9652 /* Line 1455 of yacc.c */
9653 #line 1962 "hphp.y"
9654 { _p->onJoinIntoClause((yyval), (yyvsp[(2) - (10)]), (yyvsp[(4) - (10)]), (yyvsp[(6) - (10)]), (yyvsp[(8) - (10)]), (yyvsp[(10) - (10)])); ;}
9655 break;
9657 case 454:
9659 /* Line 1455 of yacc.c */
9660 #line 1966 "hphp.y"
9661 { _p->onOrderbyClause((yyval), (yyvsp[(2) - (2)])); ;}
9662 break;
9664 case 455:
9666 /* Line 1455 of yacc.c */
9667 #line 1970 "hphp.y"
9668 { _p->onOrdering((yyval), NULL, (yyvsp[(1) - (1)])); ;}
9669 break;
9671 case 456:
9673 /* Line 1455 of yacc.c */
9674 #line 1971 "hphp.y"
9675 { _p->onOrdering((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); ;}
9676 break;
9678 case 457:
9680 /* Line 1455 of yacc.c */
9681 #line 1975 "hphp.y"
9682 { _p->onOrderingExpr((yyval), (yyvsp[(1) - (1)]), NULL); ;}
9683 break;
9685 case 458:
9687 /* Line 1455 of yacc.c */
9688 #line 1976 "hphp.y"
9689 { _p->onOrderingExpr((yyval), (yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); ;}
9690 break;
9692 case 459:
9694 /* Line 1455 of yacc.c */
9695 #line 1980 "hphp.y"
9696 { (yyval) = (yyvsp[(1) - (1)]);;}
9697 break;
9699 case 460:
9701 /* Line 1455 of yacc.c */
9702 #line 1981 "hphp.y"
9703 { (yyval) = (yyvsp[(1) - (1)]);;}
9704 break;
9706 case 461:
9708 /* Line 1455 of yacc.c */
9709 #line 1985 "hphp.y"
9710 { (yyval) = (yyvsp[(1) - (1)]);;}
9711 break;
9713 case 462:
9715 /* Line 1455 of yacc.c */
9716 #line 1986 "hphp.y"
9717 { (yyval) = (yyvsp[(1) - (1)]);;}
9718 break;
9720 case 463:
9722 /* Line 1455 of yacc.c */
9723 #line 1990 "hphp.y"
9724 { _p->onSelectClause((yyval), (yyvsp[(2) - (2)])); ;}
9725 break;
9727 case 464:
9729 /* Line 1455 of yacc.c */
9730 #line 1994 "hphp.y"
9731 { _p->onGroupClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); ;}
9732 break;
9734 case 465:
9736 /* Line 1455 of yacc.c */
9737 #line 1998 "hphp.y"
9738 { _p->onIntoClause((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); ;}
9739 break;
9741 case 466:
9743 /* Line 1455 of yacc.c */
9744 #line 2002 "hphp.y"
9745 { _p->onClosureParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
9746 break;
9748 case 467:
9750 /* Line 1455 of yacc.c */
9751 #line 2003 "hphp.y"
9752 { _p->onClosureParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
9753 break;
9755 case 468:
9757 /* Line 1455 of yacc.c */
9758 #line 2004 "hphp.y"
9759 { _p->onClosureParam((yyval), 0,(yyvsp[(1) - (1)]),0);;}
9760 break;
9762 case 469:
9764 /* Line 1455 of yacc.c */
9765 #line 2005 "hphp.y"
9766 { _p->onClosureParam((yyval), 0,(yyvsp[(2) - (2)]),1);;}
9767 break;
9769 case 470:
9771 /* Line 1455 of yacc.c */
9772 #line 2012 "hphp.y"
9773 { xhp_tag(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]));;}
9774 break;
9776 case 471:
9778 /* Line 1455 of yacc.c */
9779 #line 2015 "hphp.y"
9780 { Token t1; _p->onArray(t1,(yyvsp[(1) - (2)]));
9781 Token t2; _p->onArray(t2,(yyvsp[(2) - (2)]));
9782 Token file; scalar_file(_p, file);
9783 Token line; scalar_line(_p, line);
9784 _p->onCallParam((yyvsp[(1) - (2)]),NULL,t1,0);
9785 _p->onCallParam((yyval), &(yyvsp[(1) - (2)]),t2,0);
9786 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),file,0);
9787 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),line,0);
9788 (yyval).setText("");;}
9789 break;
9791 case 472:
9793 /* Line 1455 of yacc.c */
9794 #line 2026 "hphp.y"
9795 { Token file; scalar_file(_p, file);
9796 Token line; scalar_line(_p, line);
9797 _p->onArray((yyvsp[(4) - (6)]),(yyvsp[(1) - (6)]));
9798 _p->onArray((yyvsp[(5) - (6)]),(yyvsp[(3) - (6)]));
9799 _p->onCallParam((yyvsp[(2) - (6)]),NULL,(yyvsp[(4) - (6)]),0);
9800 _p->onCallParam((yyval), &(yyvsp[(2) - (6)]),(yyvsp[(5) - (6)]),0);
9801 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),file,0);
9802 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),line,0);
9803 (yyval).setText((yyvsp[(6) - (6)]).text());;}
9804 break;
9806 case 473:
9808 /* Line 1455 of yacc.c */
9809 #line 2037 "hphp.y"
9810 { (yyval).reset(); (yyval).setText("");;}
9811 break;
9813 case 474:
9815 /* Line 1455 of yacc.c */
9816 #line 2038 "hphp.y"
9817 { (yyval).reset(); (yyval).setText((yyvsp[(1) - (1)]));;}
9818 break;
9820 case 475:
9822 /* Line 1455 of yacc.c */
9823 #line 2043 "hphp.y"
9824 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),0);;}
9825 break;
9827 case 476:
9829 /* Line 1455 of yacc.c */
9830 #line 2044 "hphp.y"
9831 { (yyval).reset();;}
9832 break;
9834 case 477:
9836 /* Line 1455 of yacc.c */
9837 #line 2047 "hphp.y"
9838 { _p->onArrayPair((yyval),&(yyvsp[(1) - (2)]),0,(yyvsp[(2) - (2)]),0);;}
9839 break;
9841 case 478:
9843 /* Line 1455 of yacc.c */
9844 #line 2048 "hphp.y"
9845 { (yyval).reset();;}
9846 break;
9848 case 479:
9850 /* Line 1455 of yacc.c */
9851 #line 2051 "hphp.y"
9852 { _p->onScalar((yyval),
9853 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
9854 break;
9856 case 480:
9858 /* Line 1455 of yacc.c */
9859 #line 2055 "hphp.y"
9860 { (yyvsp[(1) - (1)]).xhpDecode();
9861 _p->onScalar((yyval),
9862 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
9863 break;
9865 case 481:
9867 /* Line 1455 of yacc.c */
9868 #line 2058 "hphp.y"
9869 { (yyval) = (yyvsp[(2) - (3)]);;}
9870 break;
9872 case 482:
9874 /* Line 1455 of yacc.c */
9875 #line 2061 "hphp.y"
9876 { (yyval).reset();
9877 if ((yyvsp[(1) - (1)]).htmlTrim()) {
9878 (yyvsp[(1) - (1)]).xhpDecode();
9879 _p->onScalar((yyval),
9880 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));
9883 break;
9885 case 483:
9887 /* Line 1455 of yacc.c */
9888 #line 2068 "hphp.y"
9889 { (yyval) = (yyvsp[(2) - (3)]); ;}
9890 break;
9892 case 484:
9894 /* Line 1455 of yacc.c */
9895 #line 2069 "hphp.y"
9896 { (yyval) = (yyvsp[(1) - (1)]); ;}
9897 break;
9899 case 485:
9901 /* Line 1455 of yacc.c */
9902 #line 2073 "hphp.y"
9903 { (yyval) = (yyvsp[(1) - (1)]);;}
9904 break;
9906 case 486:
9908 /* Line 1455 of yacc.c */
9909 #line 2075 "hphp.y"
9910 { (yyval) = (yyvsp[(1) - (3)]) + ":" + (yyvsp[(3) - (3)]);;}
9911 break;
9913 case 487:
9915 /* Line 1455 of yacc.c */
9916 #line 2077 "hphp.y"
9917 { (yyval) = (yyvsp[(1) - (3)]) + "-" + (yyvsp[(3) - (3)]);;}
9918 break;
9920 case 488:
9922 /* Line 1455 of yacc.c */
9923 #line 2080 "hphp.y"
9924 { (yyval) = (yyvsp[(1) - (1)]);;}
9925 break;
9927 case 489:
9929 /* Line 1455 of yacc.c */
9930 #line 2081 "hphp.y"
9931 { (yyval) = (yyvsp[(1) - (1)]);;}
9932 break;
9934 case 490:
9936 /* Line 1455 of yacc.c */
9937 #line 2082 "hphp.y"
9938 { (yyval) = (yyvsp[(1) - (1)]);;}
9939 break;
9941 case 491:
9943 /* Line 1455 of yacc.c */
9944 #line 2083 "hphp.y"
9945 { (yyval) = (yyvsp[(1) - (1)]);;}
9946 break;
9948 case 492:
9950 /* Line 1455 of yacc.c */
9951 #line 2084 "hphp.y"
9952 { (yyval) = (yyvsp[(1) - (1)]);;}
9953 break;
9955 case 493:
9957 /* Line 1455 of yacc.c */
9958 #line 2085 "hphp.y"
9959 { (yyval) = (yyvsp[(1) - (1)]);;}
9960 break;
9962 case 494:
9964 /* Line 1455 of yacc.c */
9965 #line 2086 "hphp.y"
9966 { (yyval) = (yyvsp[(1) - (1)]);;}
9967 break;
9969 case 495:
9971 /* Line 1455 of yacc.c */
9972 #line 2087 "hphp.y"
9973 { (yyval) = (yyvsp[(1) - (1)]);;}
9974 break;
9976 case 496:
9978 /* Line 1455 of yacc.c */
9979 #line 2088 "hphp.y"
9980 { (yyval) = (yyvsp[(1) - (1)]);;}
9981 break;
9983 case 497:
9985 /* Line 1455 of yacc.c */
9986 #line 2089 "hphp.y"
9987 { (yyval) = (yyvsp[(1) - (1)]);;}
9988 break;
9990 case 498:
9992 /* Line 1455 of yacc.c */
9993 #line 2090 "hphp.y"
9994 { (yyval) = (yyvsp[(1) - (1)]);;}
9995 break;
9997 case 499:
9999 /* Line 1455 of yacc.c */
10000 #line 2091 "hphp.y"
10001 { (yyval) = (yyvsp[(1) - (1)]);;}
10002 break;
10004 case 500:
10006 /* Line 1455 of yacc.c */
10007 #line 2092 "hphp.y"
10008 { (yyval) = (yyvsp[(1) - (1)]);;}
10009 break;
10011 case 501:
10013 /* Line 1455 of yacc.c */
10014 #line 2093 "hphp.y"
10015 { (yyval) = (yyvsp[(1) - (1)]);;}
10016 break;
10018 case 502:
10020 /* Line 1455 of yacc.c */
10021 #line 2094 "hphp.y"
10022 { (yyval) = (yyvsp[(1) - (1)]);;}
10023 break;
10025 case 503:
10027 /* Line 1455 of yacc.c */
10028 #line 2095 "hphp.y"
10029 { (yyval) = (yyvsp[(1) - (1)]);;}
10030 break;
10032 case 504:
10034 /* Line 1455 of yacc.c */
10035 #line 2096 "hphp.y"
10036 { (yyval) = (yyvsp[(1) - (1)]);;}
10037 break;
10039 case 505:
10041 /* Line 1455 of yacc.c */
10042 #line 2097 "hphp.y"
10043 { (yyval) = (yyvsp[(1) - (1)]);;}
10044 break;
10046 case 506:
10048 /* Line 1455 of yacc.c */
10049 #line 2098 "hphp.y"
10050 { (yyval) = (yyvsp[(1) - (1)]);;}
10051 break;
10053 case 507:
10055 /* Line 1455 of yacc.c */
10056 #line 2099 "hphp.y"
10057 { (yyval) = (yyvsp[(1) - (1)]);;}
10058 break;
10060 case 508:
10062 /* Line 1455 of yacc.c */
10063 #line 2100 "hphp.y"
10064 { (yyval) = (yyvsp[(1) - (1)]);;}
10065 break;
10067 case 509:
10069 /* Line 1455 of yacc.c */
10070 #line 2101 "hphp.y"
10071 { (yyval) = (yyvsp[(1) - (1)]);;}
10072 break;
10074 case 510:
10076 /* Line 1455 of yacc.c */
10077 #line 2102 "hphp.y"
10078 { (yyval) = (yyvsp[(1) - (1)]);;}
10079 break;
10081 case 511:
10083 /* Line 1455 of yacc.c */
10084 #line 2103 "hphp.y"
10085 { (yyval) = (yyvsp[(1) - (1)]);;}
10086 break;
10088 case 512:
10090 /* Line 1455 of yacc.c */
10091 #line 2104 "hphp.y"
10092 { (yyval) = (yyvsp[(1) - (1)]);;}
10093 break;
10095 case 513:
10097 /* Line 1455 of yacc.c */
10098 #line 2105 "hphp.y"
10099 { (yyval) = (yyvsp[(1) - (1)]);;}
10100 break;
10102 case 514:
10104 /* Line 1455 of yacc.c */
10105 #line 2106 "hphp.y"
10106 { (yyval) = (yyvsp[(1) - (1)]);;}
10107 break;
10109 case 515:
10111 /* Line 1455 of yacc.c */
10112 #line 2107 "hphp.y"
10113 { (yyval) = (yyvsp[(1) - (1)]);;}
10114 break;
10116 case 516:
10118 /* Line 1455 of yacc.c */
10119 #line 2108 "hphp.y"
10120 { (yyval) = (yyvsp[(1) - (1)]);;}
10121 break;
10123 case 517:
10125 /* Line 1455 of yacc.c */
10126 #line 2109 "hphp.y"
10127 { (yyval) = (yyvsp[(1) - (1)]);;}
10128 break;
10130 case 518:
10132 /* Line 1455 of yacc.c */
10133 #line 2110 "hphp.y"
10134 { (yyval) = (yyvsp[(1) - (1)]);;}
10135 break;
10137 case 519:
10139 /* Line 1455 of yacc.c */
10140 #line 2111 "hphp.y"
10141 { (yyval) = (yyvsp[(1) - (1)]);;}
10142 break;
10144 case 520:
10146 /* Line 1455 of yacc.c */
10147 #line 2112 "hphp.y"
10148 { (yyval) = (yyvsp[(1) - (1)]);;}
10149 break;
10151 case 521:
10153 /* Line 1455 of yacc.c */
10154 #line 2113 "hphp.y"
10155 { (yyval) = (yyvsp[(1) - (1)]);;}
10156 break;
10158 case 522:
10160 /* Line 1455 of yacc.c */
10161 #line 2114 "hphp.y"
10162 { (yyval) = (yyvsp[(1) - (1)]);;}
10163 break;
10165 case 523:
10167 /* Line 1455 of yacc.c */
10168 #line 2115 "hphp.y"
10169 { (yyval) = (yyvsp[(1) - (1)]);;}
10170 break;
10172 case 524:
10174 /* Line 1455 of yacc.c */
10175 #line 2116 "hphp.y"
10176 { (yyval) = (yyvsp[(1) - (1)]);;}
10177 break;
10179 case 525:
10181 /* Line 1455 of yacc.c */
10182 #line 2117 "hphp.y"
10183 { (yyval) = (yyvsp[(1) - (1)]);;}
10184 break;
10186 case 526:
10188 /* Line 1455 of yacc.c */
10189 #line 2118 "hphp.y"
10190 { (yyval) = (yyvsp[(1) - (1)]);;}
10191 break;
10193 case 527:
10195 /* Line 1455 of yacc.c */
10196 #line 2119 "hphp.y"
10197 { (yyval) = (yyvsp[(1) - (1)]);;}
10198 break;
10200 case 528:
10202 /* Line 1455 of yacc.c */
10203 #line 2120 "hphp.y"
10204 { (yyval) = (yyvsp[(1) - (1)]);;}
10205 break;
10207 case 529:
10209 /* Line 1455 of yacc.c */
10210 #line 2121 "hphp.y"
10211 { (yyval) = (yyvsp[(1) - (1)]);;}
10212 break;
10214 case 530:
10216 /* Line 1455 of yacc.c */
10217 #line 2122 "hphp.y"
10218 { (yyval) = (yyvsp[(1) - (1)]);;}
10219 break;
10221 case 531:
10223 /* Line 1455 of yacc.c */
10224 #line 2123 "hphp.y"
10225 { (yyval) = (yyvsp[(1) - (1)]);;}
10226 break;
10228 case 532:
10230 /* Line 1455 of yacc.c */
10231 #line 2124 "hphp.y"
10232 { (yyval) = (yyvsp[(1) - (1)]);;}
10233 break;
10235 case 533:
10237 /* Line 1455 of yacc.c */
10238 #line 2125 "hphp.y"
10239 { (yyval) = (yyvsp[(1) - (1)]);;}
10240 break;
10242 case 534:
10244 /* Line 1455 of yacc.c */
10245 #line 2126 "hphp.y"
10246 { (yyval) = (yyvsp[(1) - (1)]);;}
10247 break;
10249 case 535:
10251 /* Line 1455 of yacc.c */
10252 #line 2127 "hphp.y"
10253 { (yyval) = (yyvsp[(1) - (1)]);;}
10254 break;
10256 case 536:
10258 /* Line 1455 of yacc.c */
10259 #line 2128 "hphp.y"
10260 { (yyval) = (yyvsp[(1) - (1)]);;}
10261 break;
10263 case 537:
10265 /* Line 1455 of yacc.c */
10266 #line 2129 "hphp.y"
10267 { (yyval) = (yyvsp[(1) - (1)]);;}
10268 break;
10270 case 538:
10272 /* Line 1455 of yacc.c */
10273 #line 2130 "hphp.y"
10274 { (yyval) = (yyvsp[(1) - (1)]);;}
10275 break;
10277 case 539:
10279 /* Line 1455 of yacc.c */
10280 #line 2131 "hphp.y"
10281 { (yyval) = (yyvsp[(1) - (1)]);;}
10282 break;
10284 case 540:
10286 /* Line 1455 of yacc.c */
10287 #line 2132 "hphp.y"
10288 { (yyval) = (yyvsp[(1) - (1)]);;}
10289 break;
10291 case 541:
10293 /* Line 1455 of yacc.c */
10294 #line 2133 "hphp.y"
10295 { (yyval) = (yyvsp[(1) - (1)]);;}
10296 break;
10298 case 542:
10300 /* Line 1455 of yacc.c */
10301 #line 2134 "hphp.y"
10302 { (yyval) = (yyvsp[(1) - (1)]);;}
10303 break;
10305 case 543:
10307 /* Line 1455 of yacc.c */
10308 #line 2135 "hphp.y"
10309 { (yyval) = (yyvsp[(1) - (1)]);;}
10310 break;
10312 case 544:
10314 /* Line 1455 of yacc.c */
10315 #line 2136 "hphp.y"
10316 { (yyval) = (yyvsp[(1) - (1)]);;}
10317 break;
10319 case 545:
10321 /* Line 1455 of yacc.c */
10322 #line 2137 "hphp.y"
10323 { (yyval) = (yyvsp[(1) - (1)]);;}
10324 break;
10326 case 546:
10328 /* Line 1455 of yacc.c */
10329 #line 2138 "hphp.y"
10330 { (yyval) = (yyvsp[(1) - (1)]);;}
10331 break;
10333 case 547:
10335 /* Line 1455 of yacc.c */
10336 #line 2139 "hphp.y"
10337 { (yyval) = (yyvsp[(1) - (1)]);;}
10338 break;
10340 case 548:
10342 /* Line 1455 of yacc.c */
10343 #line 2140 "hphp.y"
10344 { (yyval) = (yyvsp[(1) - (1)]);;}
10345 break;
10347 case 549:
10349 /* Line 1455 of yacc.c */
10350 #line 2141 "hphp.y"
10351 { (yyval) = (yyvsp[(1) - (1)]);;}
10352 break;
10354 case 550:
10356 /* Line 1455 of yacc.c */
10357 #line 2142 "hphp.y"
10358 { (yyval) = (yyvsp[(1) - (1)]);;}
10359 break;
10361 case 551:
10363 /* Line 1455 of yacc.c */
10364 #line 2143 "hphp.y"
10365 { (yyval) = (yyvsp[(1) - (1)]);;}
10366 break;
10368 case 552:
10370 /* Line 1455 of yacc.c */
10371 #line 2144 "hphp.y"
10372 { (yyval) = (yyvsp[(1) - (1)]);;}
10373 break;
10375 case 553:
10377 /* Line 1455 of yacc.c */
10378 #line 2145 "hphp.y"
10379 { (yyval) = (yyvsp[(1) - (1)]);;}
10380 break;
10382 case 554:
10384 /* Line 1455 of yacc.c */
10385 #line 2146 "hphp.y"
10386 { (yyval) = (yyvsp[(1) - (1)]);;}
10387 break;
10389 case 555:
10391 /* Line 1455 of yacc.c */
10392 #line 2147 "hphp.y"
10393 { (yyval) = (yyvsp[(1) - (1)]);;}
10394 break;
10396 case 556:
10398 /* Line 1455 of yacc.c */
10399 #line 2148 "hphp.y"
10400 { (yyval) = (yyvsp[(1) - (1)]);;}
10401 break;
10403 case 557:
10405 /* Line 1455 of yacc.c */
10406 #line 2149 "hphp.y"
10407 { (yyval) = (yyvsp[(1) - (1)]);;}
10408 break;
10410 case 558:
10412 /* Line 1455 of yacc.c */
10413 #line 2150 "hphp.y"
10414 { (yyval) = (yyvsp[(1) - (1)]);;}
10415 break;
10417 case 559:
10419 /* Line 1455 of yacc.c */
10420 #line 2151 "hphp.y"
10421 { (yyval) = (yyvsp[(1) - (1)]);;}
10422 break;
10424 case 560:
10426 /* Line 1455 of yacc.c */
10427 #line 2152 "hphp.y"
10428 { (yyval) = (yyvsp[(1) - (1)]);;}
10429 break;
10431 case 561:
10433 /* Line 1455 of yacc.c */
10434 #line 2153 "hphp.y"
10435 { (yyval) = (yyvsp[(1) - (1)]);;}
10436 break;
10438 case 562:
10440 /* Line 1455 of yacc.c */
10441 #line 2154 "hphp.y"
10442 { (yyval) = (yyvsp[(1) - (1)]);;}
10443 break;
10445 case 563:
10447 /* Line 1455 of yacc.c */
10448 #line 2155 "hphp.y"
10449 { (yyval) = (yyvsp[(1) - (1)]);;}
10450 break;
10452 case 564:
10454 /* Line 1455 of yacc.c */
10455 #line 2156 "hphp.y"
10456 { (yyval) = (yyvsp[(1) - (1)]);;}
10457 break;
10459 case 565:
10461 /* Line 1455 of yacc.c */
10462 #line 2157 "hphp.y"
10463 { (yyval) = (yyvsp[(1) - (1)]);;}
10464 break;
10466 case 566:
10468 /* Line 1455 of yacc.c */
10469 #line 2158 "hphp.y"
10470 { (yyval) = (yyvsp[(1) - (1)]);;}
10471 break;
10473 case 567:
10475 /* Line 1455 of yacc.c */
10476 #line 2159 "hphp.y"
10477 { (yyval) = (yyvsp[(1) - (1)]);;}
10478 break;
10480 case 568:
10482 /* Line 1455 of yacc.c */
10483 #line 2164 "hphp.y"
10484 { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
10485 break;
10487 case 569:
10489 /* Line 1455 of yacc.c */
10490 #line 2168 "hphp.y"
10491 { (yyval) = (yyvsp[(1) - (1)]);;}
10492 break;
10494 case 570:
10496 /* Line 1455 of yacc.c */
10497 #line 2169 "hphp.y"
10498 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;}
10499 break;
10501 case 571:
10503 /* Line 1455 of yacc.c */
10504 #line 2172 "hphp.y"
10505 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;}
10506 break;
10508 case 572:
10510 /* Line 1455 of yacc.c */
10511 #line 2173 "hphp.y"
10512 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;}
10513 break;
10515 case 573:
10517 /* Line 1455 of yacc.c */
10518 #line 2174 "hphp.y"
10519 { _p->onName((yyval),(yyvsp[(1) - (1)]),
10520 Parser::StaticClassExprName);;}
10521 break;
10523 case 574:
10525 /* Line 1455 of yacc.c */
10526 #line 2178 "hphp.y"
10527 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;}
10528 break;
10530 case 575:
10532 /* Line 1455 of yacc.c */
10533 #line 2179 "hphp.y"
10534 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;}
10535 break;
10537 case 576:
10539 /* Line 1455 of yacc.c */
10540 #line 2180 "hphp.y"
10541 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;}
10542 break;
10544 case 577:
10546 /* Line 1455 of yacc.c */
10547 #line 2184 "hphp.y"
10548 { (yyval).reset();;}
10549 break;
10551 case 578:
10553 /* Line 1455 of yacc.c */
10554 #line 2185 "hphp.y"
10555 { (yyval) = (yyvsp[(1) - (1)]);;}
10556 break;
10558 case 579:
10560 /* Line 1455 of yacc.c */
10561 #line 2186 "hphp.y"
10562 { (yyval).reset();;}
10563 break;
10565 case 580:
10567 /* Line 1455 of yacc.c */
10568 #line 2190 "hphp.y"
10569 { (yyval).reset();;}
10570 break;
10572 case 581:
10574 /* Line 1455 of yacc.c */
10575 #line 2191 "hphp.y"
10576 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;}
10577 break;
10579 case 582:
10581 /* Line 1455 of yacc.c */
10582 #line 2192 "hphp.y"
10583 { (yyval) = (yyvsp[(1) - (1)]);;}
10584 break;
10586 case 583:
10588 /* Line 1455 of yacc.c */
10589 #line 2196 "hphp.y"
10590 { (yyval) = (yyvsp[(2) - (3)]);;}
10591 break;
10593 case 584:
10595 /* Line 1455 of yacc.c */
10596 #line 2197 "hphp.y"
10597 { (yyval).reset();;}
10598 break;
10600 case 585:
10602 /* Line 1455 of yacc.c */
10603 #line 2201 "hphp.y"
10604 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;}
10605 break;
10607 case 586:
10609 /* Line 1455 of yacc.c */
10610 #line 2202 "hphp.y"
10611 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;}
10612 break;
10614 case 587:
10616 /* Line 1455 of yacc.c */
10617 #line 2203 "hphp.y"
10618 { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;}
10619 break;
10621 case 588:
10623 /* Line 1455 of yacc.c */
10624 #line 2204 "hphp.y"
10625 { _p->onScalar((yyval),
10626 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
10627 break;
10629 case 589:
10631 /* Line 1455 of yacc.c */
10632 #line 2206 "hphp.y"
10633 { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;}
10634 break;
10636 case 590:
10638 /* Line 1455 of yacc.c */
10639 #line 2207 "hphp.y"
10640 { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;}
10641 break;
10643 case 591:
10645 /* Line 1455 of yacc.c */
10646 #line 2208 "hphp.y"
10647 { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;}
10648 break;
10650 case 592:
10652 /* Line 1455 of yacc.c */
10653 #line 2209 "hphp.y"
10654 { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;}
10655 break;
10657 case 593:
10659 /* Line 1455 of yacc.c */
10660 #line 2210 "hphp.y"
10661 { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;}
10662 break;
10664 case 594:
10666 /* Line 1455 of yacc.c */
10667 #line 2211 "hphp.y"
10668 { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;}
10669 break;
10671 case 595:
10673 /* Line 1455 of yacc.c */
10674 #line 2212 "hphp.y"
10675 { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;}
10676 break;
10678 case 596:
10680 /* Line 1455 of yacc.c */
10681 #line 2213 "hphp.y"
10682 { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;}
10683 break;
10685 case 597:
10687 /* Line 1455 of yacc.c */
10688 #line 2214 "hphp.y"
10689 { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;}
10690 break;
10692 case 598:
10694 /* Line 1455 of yacc.c */
10695 #line 2217 "hphp.y"
10696 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;}
10697 break;
10699 case 599:
10701 /* Line 1455 of yacc.c */
10702 #line 2219 "hphp.y"
10703 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;}
10704 break;
10706 case 600:
10708 /* Line 1455 of yacc.c */
10709 #line 2223 "hphp.y"
10710 { (yyval) = (yyvsp[(1) - (1)]);;}
10711 break;
10713 case 601:
10715 /* Line 1455 of yacc.c */
10716 #line 2224 "hphp.y"
10717 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
10718 break;
10720 case 602:
10722 /* Line 1455 of yacc.c */
10723 #line 2225 "hphp.y"
10724 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
10725 break;
10727 case 603:
10729 /* Line 1455 of yacc.c */
10730 #line 2226 "hphp.y"
10731 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
10732 break;
10734 case 604:
10736 /* Line 1455 of yacc.c */
10737 #line 2228 "hphp.y"
10738 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
10739 break;
10741 case 605:
10743 /* Line 1455 of yacc.c */
10744 #line 2230 "hphp.y"
10745 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
10746 break;
10748 case 606:
10750 /* Line 1455 of yacc.c */
10751 #line 2231 "hphp.y"
10752 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;}
10753 break;
10755 case 607:
10757 /* Line 1455 of yacc.c */
10758 #line 2233 "hphp.y"
10759 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
10760 break;
10762 case 608:
10764 /* Line 1455 of yacc.c */
10765 #line 2234 "hphp.y"
10766 { (yyval) = (yyvsp[(1) - (1)]);;}
10767 break;
10769 case 609:
10771 /* Line 1455 of yacc.c */
10772 #line 2235 "hphp.y"
10773 { (yyval) = (yyvsp[(1) - (1)]);;}
10774 break;
10776 case 610:
10778 /* Line 1455 of yacc.c */
10779 #line 2241 "hphp.y"
10780 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;}
10781 break;
10783 case 611:
10785 /* Line 1455 of yacc.c */
10786 #line 2243 "hphp.y"
10787 { (yyvsp[(1) - (3)]).xhpLabel();
10788 _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;}
10789 break;
10791 case 612:
10793 /* Line 1455 of yacc.c */
10794 #line 2247 "hphp.y"
10795 { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;}
10796 break;
10798 case 613:
10800 /* Line 1455 of yacc.c */
10801 #line 2251 "hphp.y"
10802 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
10803 break;
10805 case 614:
10807 /* Line 1455 of yacc.c */
10808 #line 2252 "hphp.y"
10809 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;}
10810 break;
10812 case 615:
10814 /* Line 1455 of yacc.c */
10815 #line 2253 "hphp.y"
10816 { (yyval) = (yyvsp[(1) - (1)]);;}
10817 break;
10819 case 616:
10821 /* Line 1455 of yacc.c */
10822 #line 2254 "hphp.y"
10823 { (yyval) = (yyvsp[(1) - (1)]);;}
10824 break;
10826 case 617:
10828 /* Line 1455 of yacc.c */
10829 #line 2255 "hphp.y"
10830 { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;}
10831 break;
10833 case 618:
10835 /* Line 1455 of yacc.c */
10836 #line 2256 "hphp.y"
10837 { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;}
10838 break;
10840 case 619:
10842 /* Line 1455 of yacc.c */
10843 #line 2258 "hphp.y"
10844 { _p->onEncapsList((yyval),T_START_HEREDOC,
10845 (yyvsp[(2) - (3)]));;}
10846 break;
10848 case 620:
10850 /* Line 1455 of yacc.c */
10851 #line 2263 "hphp.y"
10852 { (yyval) = (yyvsp[(1) - (2)]);;}
10853 break;
10855 case 621:
10857 /* Line 1455 of yacc.c */
10858 #line 2264 "hphp.y"
10859 { (yyval).reset();;}
10860 break;
10862 case 622:
10864 /* Line 1455 of yacc.c */
10865 #line 2268 "hphp.y"
10866 { (yyval).reset();;}
10867 break;
10869 case 623:
10871 /* Line 1455 of yacc.c */
10872 #line 2269 "hphp.y"
10873 { (yyval).reset();;}
10874 break;
10876 case 624:
10878 /* Line 1455 of yacc.c */
10879 #line 2272 "hphp.y"
10880 { only_in_hh_syntax(_p); (yyval).reset();;}
10881 break;
10883 case 625:
10885 /* Line 1455 of yacc.c */
10886 #line 2273 "hphp.y"
10887 { (yyval).reset();;}
10888 break;
10890 case 626:
10892 /* Line 1455 of yacc.c */
10893 #line 2279 "hphp.y"
10894 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
10895 break;
10897 case 627:
10899 /* Line 1455 of yacc.c */
10900 #line 2281 "hphp.y"
10901 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
10902 break;
10904 case 628:
10906 /* Line 1455 of yacc.c */
10907 #line 2283 "hphp.y"
10908 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
10909 break;
10911 case 629:
10913 /* Line 1455 of yacc.c */
10914 #line 2284 "hphp.y"
10915 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
10916 break;
10918 case 630:
10920 /* Line 1455 of yacc.c */
10921 #line 2288 "hphp.y"
10922 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;}
10923 break;
10925 case 631:
10927 /* Line 1455 of yacc.c */
10928 #line 2289 "hphp.y"
10929 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;}
10930 break;
10932 case 632:
10934 /* Line 1455 of yacc.c */
10935 #line 2290 "hphp.y"
10936 { _p->onScalar((yyval), T_ONUMBER, (yyvsp[(1) - (1)]));;}
10937 break;
10939 case 633:
10941 /* Line 1455 of yacc.c */
10942 #line 2291 "hphp.y"
10943 { _p->onScalar((yyval),
10944 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;}
10945 break;
10947 case 634:
10949 /* Line 1455 of yacc.c */
10950 #line 2295 "hphp.y"
10951 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;}
10952 break;
10954 case 635:
10956 /* Line 1455 of yacc.c */
10957 #line 2297 "hphp.y"
10958 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;}
10959 break;
10961 case 636:
10963 /* Line 1455 of yacc.c */
10964 #line 2300 "hphp.y"
10965 { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;}
10966 break;
10968 case 637:
10970 /* Line 1455 of yacc.c */
10971 #line 2301 "hphp.y"
10972 { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;}
10973 break;
10975 case 638:
10977 /* Line 1455 of yacc.c */
10978 #line 2302 "hphp.y"
10979 { _p->onScalar((yyval),T_ONUMBER,(yyvsp[(1) - (1)]));;}
10980 break;
10982 case 639:
10984 /* Line 1455 of yacc.c */
10985 #line 2303 "hphp.y"
10986 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;}
10987 break;
10989 case 640:
10991 /* Line 1455 of yacc.c */
10992 #line 2306 "hphp.y"
10993 { (yyval) = (yyvsp[(1) - (1)]);;}
10994 break;
10996 case 641:
10998 /* Line 1455 of yacc.c */
10999 #line 2307 "hphp.y"
11000 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;}
11001 break;
11003 case 642:
11005 /* Line 1455 of yacc.c */
11006 #line 2308 "hphp.y"
11007 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;}
11008 break;
11010 case 643:
11012 /* Line 1455 of yacc.c */
11013 #line 2309 "hphp.y"
11014 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;}
11015 break;
11017 case 644:
11019 /* Line 1455 of yacc.c */
11020 #line 2311 "hphp.y"
11021 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;}
11022 break;
11024 case 645:
11026 /* Line 1455 of yacc.c */
11027 #line 2313 "hphp.y"
11028 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;}
11029 break;
11031 case 646:
11033 /* Line 1455 of yacc.c */
11034 #line 2314 "hphp.y"
11035 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
11036 break;
11038 case 647:
11040 /* Line 1455 of yacc.c */
11041 #line 2316 "hphp.y"
11042 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;}
11043 break;
11045 case 648:
11047 /* Line 1455 of yacc.c */
11048 #line 2321 "hphp.y"
11049 { (yyval) = (yyvsp[(1) - (2)]);;}
11050 break;
11052 case 649:
11054 /* Line 1455 of yacc.c */
11055 #line 2322 "hphp.y"
11056 { (yyval).reset();;}
11057 break;
11059 case 650:
11061 /* Line 1455 of yacc.c */
11062 #line 2327 "hphp.y"
11063 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
11064 break;
11066 case 651:
11068 /* Line 1455 of yacc.c */
11069 #line 2329 "hphp.y"
11070 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
11071 break;
11073 case 652:
11075 /* Line 1455 of yacc.c */
11076 #line 2331 "hphp.y"
11077 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11078 break;
11080 case 653:
11082 /* Line 1455 of yacc.c */
11083 #line 2332 "hphp.y"
11084 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
11085 break;
11087 case 654:
11089 /* Line 1455 of yacc.c */
11090 #line 2336 "hphp.y"
11091 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
11092 break;
11094 case 655:
11096 /* Line 1455 of yacc.c */
11097 #line 2337 "hphp.y"
11098 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
11099 break;
11101 case 656:
11103 /* Line 1455 of yacc.c */
11104 #line 2342 "hphp.y"
11105 { (yyval) = (yyvsp[(1) - (2)]); ;}
11106 break;
11108 case 657:
11110 /* Line 1455 of yacc.c */
11111 #line 2343 "hphp.y"
11112 { (yyval).reset(); ;}
11113 break;
11115 case 658:
11117 /* Line 1455 of yacc.c */
11118 #line 2348 "hphp.y"
11119 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;}
11120 break;
11122 case 659:
11124 /* Line 1455 of yacc.c */
11125 #line 2351 "hphp.y"
11126 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;}
11127 break;
11129 case 660:
11131 /* Line 1455 of yacc.c */
11132 #line 2356 "hphp.y"
11133 { (yyval) = (yyvsp[(1) - (2)]);;}
11134 break;
11136 case 661:
11138 /* Line 1455 of yacc.c */
11139 #line 2357 "hphp.y"
11140 { (yyval).reset();;}
11141 break;
11143 case 662:
11145 /* Line 1455 of yacc.c */
11146 #line 2360 "hphp.y"
11147 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;}
11148 break;
11150 case 663:
11152 /* Line 1455 of yacc.c */
11153 #line 2361 "hphp.y"
11154 { Token t; t.reset();
11155 _p->onArray((yyval),t,T_ARRAY);;}
11156 break;
11158 case 664:
11160 /* Line 1455 of yacc.c */
11161 #line 2368 "hphp.y"
11162 { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;}
11163 break;
11165 case 665:
11167 /* Line 1455 of yacc.c */
11168 #line 2370 "hphp.y"
11169 { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11170 break;
11172 case 666:
11174 /* Line 1455 of yacc.c */
11175 #line 2373 "hphp.y"
11176 { only_in_hh_syntax(_p);;}
11177 break;
11179 case 667:
11181 /* Line 1455 of yacc.c */
11182 #line 2375 "hphp.y"
11183 { (yyval) = (yyvsp[(2) - (3)]);;}
11184 break;
11186 case 668:
11188 /* Line 1455 of yacc.c */
11189 #line 2378 "hphp.y"
11190 { (yyval) = (yyvsp[(2) - (3)]);;}
11191 break;
11193 case 669:
11195 /* Line 1455 of yacc.c */
11196 #line 2381 "hphp.y"
11197 { (yyval) = (yyvsp[(1) - (1)]);;}
11198 break;
11200 case 670:
11202 /* Line 1455 of yacc.c */
11203 #line 2382 "hphp.y"
11204 { (yyval).reset();;}
11205 break;
11207 case 671:
11209 /* Line 1455 of yacc.c */
11210 #line 2386 "hphp.y"
11211 { (yyval) = (yyvsp[(1) - (1)]);;}
11212 break;
11214 case 672:
11216 /* Line 1455 of yacc.c */
11217 #line 2388 "hphp.y"
11218 { (yyval) = (yyvsp[(2) - (2)]);;}
11219 break;
11221 case 673:
11223 /* Line 1455 of yacc.c */
11224 #line 2392 "hphp.y"
11225 { (yyval) = (yyvsp[(2) - (2)]);;}
11226 break;
11228 case 674:
11230 /* Line 1455 of yacc.c */
11231 #line 2393 "hphp.y"
11232 { (yyval) = (yyvsp[(3) - (4)]);;}
11233 break;
11235 case 675:
11237 /* Line 1455 of yacc.c */
11238 #line 2397 "hphp.y"
11239 { (yyval) = (yyvsp[(2) - (3)]);;}
11240 break;
11242 case 676:
11244 /* Line 1455 of yacc.c */
11245 #line 2398 "hphp.y"
11246 { (yyval) = (yyvsp[(2) - (3)]);;}
11247 break;
11249 case 677:
11251 /* Line 1455 of yacc.c */
11252 #line 2402 "hphp.y"
11253 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
11254 break;
11256 case 678:
11258 /* Line 1455 of yacc.c */
11259 #line 2404 "hphp.y"
11260 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;}
11261 break;
11263 case 679:
11265 /* Line 1455 of yacc.c */
11266 #line 2409 "hphp.y"
11267 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;}
11268 break;
11270 case 680:
11272 /* Line 1455 of yacc.c */
11273 #line 2411 "hphp.y"
11274 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;}
11275 break;
11277 case 681:
11279 /* Line 1455 of yacc.c */
11280 #line 2415 "hphp.y"
11281 { (yyval) = (yyvsp[(1) - (1)]);;}
11282 break;
11284 case 682:
11286 /* Line 1455 of yacc.c */
11287 #line 2416 "hphp.y"
11288 { (yyval) = (yyvsp[(1) - (1)]);;}
11289 break;
11291 case 683:
11293 /* Line 1455 of yacc.c */
11294 #line 2417 "hphp.y"
11295 { (yyval) = (yyvsp[(1) - (1)]);;}
11296 break;
11298 case 684:
11300 /* Line 1455 of yacc.c */
11301 #line 2418 "hphp.y"
11302 { (yyval) = (yyvsp[(1) - (1)]);;}
11303 break;
11305 case 685:
11307 /* Line 1455 of yacc.c */
11308 #line 2419 "hphp.y"
11309 { (yyval) = (yyvsp[(1) - (1)]);;}
11310 break;
11312 case 686:
11314 /* Line 1455 of yacc.c */
11315 #line 2420 "hphp.y"
11316 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11317 break;
11319 case 687:
11321 /* Line 1455 of yacc.c */
11322 #line 2422 "hphp.y"
11323 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
11324 break;
11326 case 688:
11328 /* Line 1455 of yacc.c */
11329 #line 2425 "hphp.y"
11330 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
11331 break;
11333 case 689:
11335 /* Line 1455 of yacc.c */
11336 #line 2427 "hphp.y"
11337 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
11338 break;
11340 case 690:
11342 /* Line 1455 of yacc.c */
11343 #line 2428 "hphp.y"
11344 { (yyval) = (yyvsp[(2) - (3)]);;}
11345 break;
11347 case 691:
11349 /* Line 1455 of yacc.c */
11350 #line 2432 "hphp.y"
11351 { (yyval) = (yyvsp[(1) - (1)]);;}
11352 break;
11354 case 692:
11356 /* Line 1455 of yacc.c */
11357 #line 2433 "hphp.y"
11358 { (yyval) = (yyvsp[(1) - (1)]);;}
11359 break;
11361 case 693:
11363 /* Line 1455 of yacc.c */
11364 #line 2434 "hphp.y"
11365 { (yyval) = (yyvsp[(1) - (1)]);;}
11366 break;
11368 case 694:
11370 /* Line 1455 of yacc.c */
11371 #line 2435 "hphp.y"
11372 { (yyval) = (yyvsp[(1) - (1)]);;}
11373 break;
11375 case 695:
11377 /* Line 1455 of yacc.c */
11378 #line 2437 "hphp.y"
11379 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11380 break;
11382 case 696:
11384 /* Line 1455 of yacc.c */
11385 #line 2439 "hphp.y"
11386 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
11387 break;
11389 case 697:
11391 /* Line 1455 of yacc.c */
11392 #line 2441 "hphp.y"
11393 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;}
11394 break;
11396 case 698:
11398 /* Line 1455 of yacc.c */
11399 #line 2442 "hphp.y"
11400 { (yyval) = (yyvsp[(2) - (3)]);;}
11401 break;
11403 case 699:
11405 /* Line 1455 of yacc.c */
11406 #line 2446 "hphp.y"
11407 { (yyval) = (yyvsp[(1) - (1)]);;}
11408 break;
11410 case 700:
11412 /* Line 1455 of yacc.c */
11413 #line 2447 "hphp.y"
11414 { (yyval) = (yyvsp[(1) - (1)]);;}
11415 break;
11417 case 701:
11419 /* Line 1455 of yacc.c */
11420 #line 2448 "hphp.y"
11421 { (yyval) = (yyvsp[(2) - (3)]);;}
11422 break;
11424 case 702:
11426 /* Line 1455 of yacc.c */
11427 #line 2454 "hphp.y"
11428 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;}
11429 break;
11431 case 703:
11433 /* Line 1455 of yacc.c */
11434 #line 2457 "hphp.y"
11435 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;}
11436 break;
11438 case 704:
11440 /* Line 1455 of yacc.c */
11441 #line 2460 "hphp.y"
11442 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]));;}
11443 break;
11445 case 705:
11447 /* Line 1455 of yacc.c */
11448 #line 2464 "hphp.y"
11449 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;}
11450 break;
11452 case 706:
11454 /* Line 1455 of yacc.c */
11455 #line 2468 "hphp.y"
11456 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]));;}
11457 break;
11459 case 707:
11461 /* Line 1455 of yacc.c */
11462 #line 2472 "hphp.y"
11463 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]));;}
11464 break;
11466 case 708:
11468 /* Line 1455 of yacc.c */
11469 #line 2479 "hphp.y"
11470 { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;}
11471 break;
11473 case 709:
11475 /* Line 1455 of yacc.c */
11476 #line 2483 "hphp.y"
11477 { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;}
11478 break;
11480 case 710:
11482 /* Line 1455 of yacc.c */
11483 #line 2487 "hphp.y"
11484 { _p->onCall((yyval),1,(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));;}
11485 break;
11487 case 711:
11489 /* Line 1455 of yacc.c */
11490 #line 2491 "hphp.y"
11491 { (yyval) = (yyvsp[(1) - (1)]);;}
11492 break;
11494 case 712:
11496 /* Line 1455 of yacc.c */
11497 #line 2493 "hphp.y"
11498 { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11499 break;
11501 case 713:
11503 /* Line 1455 of yacc.c */
11504 #line 2498 "hphp.y"
11505 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
11506 break;
11508 case 714:
11510 /* Line 1455 of yacc.c */
11511 #line 2499 "hphp.y"
11512 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
11513 break;
11515 case 715:
11517 /* Line 1455 of yacc.c */
11518 #line 2500 "hphp.y"
11519 { (yyval) = (yyvsp[(1) - (1)]);;}
11520 break;
11522 case 716:
11524 /* Line 1455 of yacc.c */
11525 #line 2503 "hphp.y"
11526 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;}
11527 break;
11529 case 717:
11531 /* Line 1455 of yacc.c */
11532 #line 2504 "hphp.y"
11533 { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;}
11534 break;
11536 case 718:
11538 /* Line 1455 of yacc.c */
11539 #line 2507 "hphp.y"
11540 { (yyval) = (yyvsp[(1) - (1)]);;}
11541 break;
11543 case 719:
11545 /* Line 1455 of yacc.c */
11546 #line 2508 "hphp.y"
11547 { (yyval).reset();;}
11548 break;
11550 case 720:
11552 /* Line 1455 of yacc.c */
11553 #line 2512 "hphp.y"
11554 { (yyval) = 1;;}
11555 break;
11557 case 721:
11559 /* Line 1455 of yacc.c */
11560 #line 2513 "hphp.y"
11561 { (yyval)++;;}
11562 break;
11564 case 722:
11566 /* Line 1455 of yacc.c */
11567 #line 2517 "hphp.y"
11568 { (yyval) = (yyvsp[(1) - (1)]);;}
11569 break;
11571 case 723:
11573 /* Line 1455 of yacc.c */
11574 #line 2518 "hphp.y"
11575 { (yyval) = (yyvsp[(1) - (1)]);;}
11576 break;
11578 case 724:
11580 /* Line 1455 of yacc.c */
11581 #line 2519 "hphp.y"
11582 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11583 break;
11585 case 725:
11587 /* Line 1455 of yacc.c */
11588 #line 2521 "hphp.y"
11589 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
11590 break;
11592 case 726:
11594 /* Line 1455 of yacc.c */
11595 #line 2524 "hphp.y"
11596 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
11597 break;
11599 case 727:
11601 /* Line 1455 of yacc.c */
11602 #line 2525 "hphp.y"
11603 { (yyval) = (yyvsp[(2) - (3)]);;}
11604 break;
11606 case 729:
11608 /* Line 1455 of yacc.c */
11609 #line 2529 "hphp.y"
11610 { (yyval) = (yyvsp[(1) - (1)]);;}
11611 break;
11613 case 730:
11615 /* Line 1455 of yacc.c */
11616 #line 2531 "hphp.y"
11617 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;}
11618 break;
11620 case 731:
11622 /* Line 1455 of yacc.c */
11623 #line 2533 "hphp.y"
11624 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;}
11625 break;
11627 case 732:
11629 /* Line 1455 of yacc.c */
11630 #line 2534 "hphp.y"
11631 { (yyval) = (yyvsp[(2) - (3)]);;}
11632 break;
11634 case 733:
11636 /* Line 1455 of yacc.c */
11637 #line 2538 "hphp.y"
11638 { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;}
11639 break;
11641 case 734:
11643 /* Line 1455 of yacc.c */
11644 #line 2539 "hphp.y"
11645 { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;}
11646 break;
11648 case 735:
11650 /* Line 1455 of yacc.c */
11651 #line 2541 "hphp.y"
11652 { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;}
11653 break;
11655 case 736:
11657 /* Line 1455 of yacc.c */
11658 #line 2542 "hphp.y"
11659 { _p->onAListVar((yyval),NULL,NULL);;}
11660 break;
11662 case 737:
11664 /* Line 1455 of yacc.c */
11665 #line 2543 "hphp.y"
11666 { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;}
11667 break;
11669 case 738:
11671 /* Line 1455 of yacc.c */
11672 #line 2544 "hphp.y"
11673 { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;}
11674 break;
11676 case 739:
11678 /* Line 1455 of yacc.c */
11679 #line 2549 "hphp.y"
11680 { (yyval) = (yyvsp[(1) - (2)]);;}
11681 break;
11683 case 740:
11685 /* Line 1455 of yacc.c */
11686 #line 2550 "hphp.y"
11687 { (yyval).reset();;}
11688 break;
11690 case 741:
11692 /* Line 1455 of yacc.c */
11693 #line 2554 "hphp.y"
11694 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;}
11695 break;
11697 case 742:
11699 /* Line 1455 of yacc.c */
11700 #line 2555 "hphp.y"
11701 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;}
11702 break;
11704 case 743:
11706 /* Line 1455 of yacc.c */
11707 #line 2556 "hphp.y"
11708 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;}
11709 break;
11711 case 744:
11713 /* Line 1455 of yacc.c */
11714 #line 2557 "hphp.y"
11715 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;}
11716 break;
11718 case 745:
11720 /* Line 1455 of yacc.c */
11721 #line 2560 "hphp.y"
11722 { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;}
11723 break;
11725 case 746:
11727 /* Line 1455 of yacc.c */
11728 #line 2562 "hphp.y"
11729 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;}
11730 break;
11732 case 747:
11734 /* Line 1455 of yacc.c */
11735 #line 2563 "hphp.y"
11736 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;}
11737 break;
11739 case 748:
11741 /* Line 1455 of yacc.c */
11742 #line 2564 "hphp.y"
11743 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;}
11744 break;
11746 case 749:
11748 /* Line 1455 of yacc.c */
11749 #line 2569 "hphp.y"
11750 { (yyval) = (yyvsp[(1) - (2)]);;}
11751 break;
11753 case 750:
11755 /* Line 1455 of yacc.c */
11756 #line 2570 "hphp.y"
11757 { _p->onEmptyCollection((yyval));;}
11758 break;
11760 case 751:
11762 /* Line 1455 of yacc.c */
11763 #line 2574 "hphp.y"
11764 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
11765 break;
11767 case 752:
11769 /* Line 1455 of yacc.c */
11770 #line 2575 "hphp.y"
11771 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;}
11772 break;
11774 case 753:
11776 /* Line 1455 of yacc.c */
11777 #line 2576 "hphp.y"
11778 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
11779 break;
11781 case 754:
11783 /* Line 1455 of yacc.c */
11784 #line 2577 "hphp.y"
11785 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;}
11786 break;
11788 case 755:
11790 /* Line 1455 of yacc.c */
11791 #line 2582 "hphp.y"
11792 { (yyval) = (yyvsp[(1) - (2)]);;}
11793 break;
11795 case 756:
11797 /* Line 1455 of yacc.c */
11798 #line 2583 "hphp.y"
11799 { _p->onEmptyCollection((yyval));;}
11800 break;
11802 case 757:
11804 /* Line 1455 of yacc.c */
11805 #line 2588 "hphp.y"
11806 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;}
11807 break;
11809 case 758:
11811 /* Line 1455 of yacc.c */
11812 #line 2590 "hphp.y"
11813 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;}
11814 break;
11816 case 759:
11818 /* Line 1455 of yacc.c */
11819 #line 2592 "hphp.y"
11820 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;}
11821 break;
11823 case 760:
11825 /* Line 1455 of yacc.c */
11826 #line 2593 "hphp.y"
11827 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;}
11828 break;
11830 case 761:
11832 /* Line 1455 of yacc.c */
11833 #line 2597 "hphp.y"
11834 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;}
11835 break;
11837 case 762:
11839 /* Line 1455 of yacc.c */
11840 #line 2599 "hphp.y"
11841 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;}
11842 break;
11844 case 763:
11846 /* Line 1455 of yacc.c */
11847 #line 2600 "hphp.y"
11848 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;}
11849 break;
11851 case 764:
11853 /* Line 1455 of yacc.c */
11854 #line 2602 "hphp.y"
11855 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0);
11856 _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;}
11857 break;
11859 case 765:
11861 /* Line 1455 of yacc.c */
11862 #line 2607 "hphp.y"
11863 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;}
11864 break;
11866 case 766:
11868 /* Line 1455 of yacc.c */
11869 #line 2609 "hphp.y"
11870 { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;}
11871 break;
11873 case 767:
11875 /* Line 1455 of yacc.c */
11876 #line 2611 "hphp.y"
11877 { _p->encapObjProp((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
11878 break;
11880 case 768:
11882 /* Line 1455 of yacc.c */
11883 #line 2613 "hphp.y"
11884 { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;}
11885 break;
11887 case 769:
11889 /* Line 1455 of yacc.c */
11890 #line 2615 "hphp.y"
11891 { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;}
11892 break;
11894 case 770:
11896 /* Line 1455 of yacc.c */
11897 #line 2616 "hphp.y"
11898 { (yyval) = (yyvsp[(2) - (3)]);;}
11899 break;
11901 case 771:
11903 /* Line 1455 of yacc.c */
11904 #line 2619 "hphp.y"
11905 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;}
11906 break;
11908 case 772:
11910 /* Line 1455 of yacc.c */
11911 #line 2620 "hphp.y"
11912 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;}
11913 break;
11915 case 773:
11917 /* Line 1455 of yacc.c */
11918 #line 2621 "hphp.y"
11919 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;}
11920 break;
11922 case 774:
11924 /* Line 1455 of yacc.c */
11925 #line 2625 "hphp.y"
11926 { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;}
11927 break;
11929 case 775:
11931 /* Line 1455 of yacc.c */
11932 #line 2626 "hphp.y"
11933 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;}
11934 break;
11936 case 776:
11938 /* Line 1455 of yacc.c */
11939 #line 2627 "hphp.y"
11940 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
11941 break;
11943 case 777:
11945 /* Line 1455 of yacc.c */
11946 #line 2628 "hphp.y"
11947 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);;}
11948 break;
11950 case 778:
11952 /* Line 1455 of yacc.c */
11953 #line 2629 "hphp.y"
11954 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;}
11955 break;
11957 case 779:
11959 /* Line 1455 of yacc.c */
11960 #line 2630 "hphp.y"
11961 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;}
11962 break;
11964 case 780:
11966 /* Line 1455 of yacc.c */
11967 #line 2631 "hphp.y"
11968 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;}
11969 break;
11971 case 781:
11973 /* Line 1455 of yacc.c */
11974 #line 2632 "hphp.y"
11975 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;}
11976 break;
11978 case 782:
11980 /* Line 1455 of yacc.c */
11981 #line 2633 "hphp.y"
11982 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;}
11983 break;
11985 case 783:
11987 /* Line 1455 of yacc.c */
11988 #line 2637 "hphp.y"
11989 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;}
11990 break;
11992 case 784:
11994 /* Line 1455 of yacc.c */
11995 #line 2638 "hphp.y"
11996 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;}
11997 break;
11999 case 785:
12001 /* Line 1455 of yacc.c */
12002 #line 2643 "hphp.y"
12003 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
12004 break;
12006 case 786:
12008 /* Line 1455 of yacc.c */
12009 #line 2645 "hphp.y"
12010 { _p->onClassClass((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;}
12011 break;
12013 case 789:
12015 /* Line 1455 of yacc.c */
12016 #line 2659 "hphp.y"
12017 { (yyvsp[(2) - (5)]).setText(_p->nsDecl((yyvsp[(2) - (5)]).text()));
12018 _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)]));
12019 _p->popTypeScope(); ;}
12020 break;
12022 case 790:
12024 /* Line 1455 of yacc.c */
12025 #line 2663 "hphp.y"
12026 { (yyvsp[(2) - (6)]).setText(_p->nsDecl((yyvsp[(2) - (6)]).text()));
12027 _p->onTypedef((yyval), (yyvsp[(2) - (6)]), (yyvsp[(5) - (6)]));
12028 _p->popTypeScope(); ;}
12029 break;
12031 case 791:
12033 /* Line 1455 of yacc.c */
12034 #line 2669 "hphp.y"
12035 { (yyval) = (yyvsp[(1) - (1)]); ;}
12036 break;
12038 case 792:
12040 /* Line 1455 of yacc.c */
12041 #line 2670 "hphp.y"
12042 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;}
12043 break;
12045 case 793:
12047 /* Line 1455 of yacc.c */
12048 #line 2676 "hphp.y"
12049 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;}
12050 break;
12052 case 794:
12054 /* Line 1455 of yacc.c */
12055 #line 2680 "hphp.y"
12056 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); ;}
12057 break;
12059 case 795:
12061 /* Line 1455 of yacc.c */
12062 #line 2686 "hphp.y"
12063 { (yyval) = (yyvsp[(2) - (3)]); ;}
12064 break;
12066 case 796:
12068 /* Line 1455 of yacc.c */
12069 #line 2687 "hphp.y"
12070 { (yyval).reset(); ;}
12071 break;
12073 case 797:
12075 /* Line 1455 of yacc.c */
12076 #line 2691 "hphp.y"
12077 { Token t; t.reset();
12078 _p->onTypeList((yyvsp[(1) - (1)]), t);
12079 (yyval) = (yyvsp[(1) - (1)]); ;}
12080 break;
12082 case 798:
12084 /* Line 1455 of yacc.c */
12085 #line 2694 "hphp.y"
12086 { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
12087 (yyval) = (yyvsp[(1) - (3)]); ;}
12088 break;
12090 case 799:
12092 /* Line 1455 of yacc.c */
12093 #line 2699 "hphp.y"
12094 { (yyval) = (yyvsp[(1) - (3)]); ;}
12095 break;
12097 case 800:
12099 /* Line 1455 of yacc.c */
12100 #line 2700 "hphp.y"
12101 { (yyval) = (yyvsp[(1) - (1)]); ;}
12102 break;
12104 case 801:
12106 /* Line 1455 of yacc.c */
12107 #line 2701 "hphp.y"
12108 { (yyval).reset(); ;}
12109 break;
12111 case 802:
12113 /* Line 1455 of yacc.c */
12114 #line 2702 "hphp.y"
12115 { (yyval).reset(); ;}
12116 break;
12118 case 803:
12120 /* Line 1455 of yacc.c */
12121 #line 2706 "hphp.y"
12122 { (yyval).reset(); ;}
12123 break;
12125 case 804:
12127 /* Line 1455 of yacc.c */
12128 #line 2707 "hphp.y"
12129 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;}
12130 break;
12132 case 805:
12134 /* Line 1455 of yacc.c */
12135 #line 2712 "hphp.y"
12136 { _p->addTypeVar((yyvsp[(3) - (3)]).text()); ;}
12137 break;
12139 case 806:
12141 /* Line 1455 of yacc.c */
12142 #line 2713 "hphp.y"
12143 { _p->addTypeVar((yyvsp[(1) - (1)]).text()); ;}
12144 break;
12146 case 807:
12148 /* Line 1455 of yacc.c */
12149 #line 2715 "hphp.y"
12150 { _p->addTypeVar((yyvsp[(3) - (5)]).text()); ;}
12151 break;
12153 case 808:
12155 /* Line 1455 of yacc.c */
12156 #line 2716 "hphp.y"
12157 { _p->addTypeVar((yyvsp[(1) - (3)]).text()); ;}
12158 break;
12160 case 809:
12162 /* Line 1455 of yacc.c */
12163 #line 2722 "hphp.y"
12164 { validate_shape_keyname((yyvsp[(1) - (3)]), _p); ;}
12165 break;
12167 case 812:
12169 /* Line 1455 of yacc.c */
12170 #line 2733 "hphp.y"
12171 { (yyval) = (yyvsp[(1) - (2)]); ;}
12172 break;
12174 case 813:
12176 /* Line 1455 of yacc.c */
12177 #line 2735 "hphp.y"
12179 break;
12181 case 814:
12183 /* Line 1455 of yacc.c */
12184 #line 2739 "hphp.y"
12185 { (yyval).setText("array"); ;}
12186 break;
12188 case 815:
12190 /* Line 1455 of yacc.c */
12191 #line 2746 "hphp.y"
12192 { only_in_hh_syntax(_p);
12193 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?');
12194 (yyval) = (yyvsp[(2) - (2)]); ;}
12195 break;
12197 case 816:
12199 /* Line 1455 of yacc.c */
12200 #line 2749 "hphp.y"
12201 { only_in_hh_syntax(_p);
12202 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@');
12203 (yyval) = (yyvsp[(2) - (2)]); ;}
12204 break;
12206 case 817:
12208 /* Line 1455 of yacc.c */
12209 #line 2752 "hphp.y"
12210 { (yyval) = (yyvsp[(1) - (1)]); ;}
12211 break;
12213 case 818:
12215 /* Line 1455 of yacc.c */
12216 #line 2753 "hphp.y"
12217 { Token t; t.reset();
12218 (yyvsp[(1) - (1)]).setText("array");
12219 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;}
12220 break;
12222 case 819:
12224 /* Line 1455 of yacc.c */
12225 #line 2756 "hphp.y"
12226 { Token t; t.reset();
12227 (yyvsp[(1) - (1)]).setText("callable");
12228 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;}
12229 break;
12231 case 820:
12233 /* Line 1455 of yacc.c */
12234 #line 2759 "hphp.y"
12235 { (yyval) = (yyvsp[(1) - (1)]); ;}
12236 break;
12238 case 821:
12240 /* Line 1455 of yacc.c */
12241 #line 2761 "hphp.y"
12242 { (yyvsp[(1) - (4)]).setText("array");
12243 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;}
12244 break;
12246 case 822:
12248 /* Line 1455 of yacc.c */
12249 #line 2764 "hphp.y"
12250 { _p->onTypeList((yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]));
12251 (yyvsp[(1) - (6)]).setText("array");
12252 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (6)]), (yyvsp[(3) - (6)])); ;}
12253 break;
12255 case 823:
12257 /* Line 1455 of yacc.c */
12258 #line 2767 "hphp.y"
12259 { (yyvsp[(1) - (1)]).xhpLabel();
12260 Token t; t.reset();
12261 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t);
12262 _p->onTypeSpecialization((yyval), 'x'); ;}
12263 break;
12265 case 824:
12267 /* Line 1455 of yacc.c */
12268 #line 2773 "hphp.y"
12269 { only_in_hh_syntax(_p);
12270 _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)]));
12271 _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)]));
12272 _p->onTypeSpecialization((yyval), 'f'); ;}
12273 break;
12275 case 825:
12277 /* Line 1455 of yacc.c */
12278 #line 2777 "hphp.y"
12279 { only_in_hh_syntax(_p);
12280 _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)]));
12281 Token t; t.reset(); t.setText("array");
12282 _p->onTypeAnnotation((yyval), t, (yyvsp[(2) - (5)]));
12283 _p->onTypeSpecialization((yyval), 't'); ;}
12284 break;
12286 case 826:
12288 /* Line 1455 of yacc.c */
12289 #line 2785 "hphp.y"
12290 { (yyval) = (yyvsp[(1) - (1)]); ;}
12291 break;
12293 case 827:
12295 /* Line 1455 of yacc.c */
12296 #line 2786 "hphp.y"
12297 { (yyval).reset(); ;}
12298 break;
12302 /* Line 1455 of yacc.c */
12303 #line 12302 "hphp.tab.cpp"
12304 default: break;
12306 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
12308 YYPOPSTACK (yylen);
12309 yylen = 0;
12310 YY_STACK_PRINT (yyss, yyssp);
12312 *++yyvsp = yyval;
12313 *++yylsp = yyloc;
12315 /* Now `shift' the result of the reduction. Determine what state
12316 that goes to, based on the state we popped back to and the rule
12317 number reduced by. */
12319 yyn = yyr1[yyn];
12321 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
12322 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
12323 yystate = yytable[yystate];
12324 else
12325 yystate = yydefgoto[yyn - YYNTOKENS];
12327 goto yynewstate;
12330 /*------------------------------------.
12331 | yyerrlab -- here on detecting error |
12332 `------------------------------------*/
12333 yyerrlab:
12334 /* If not already recovering from an error, report this error. */
12335 if (!yyerrstatus)
12337 ++yynerrs;
12338 #if ! YYERROR_VERBOSE
12339 yyerror (&yylloc, _p, YY_("syntax error"));
12340 #else
12342 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
12343 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
12345 YYSIZE_T yyalloc = 2 * yysize;
12346 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
12347 yyalloc = YYSTACK_ALLOC_MAXIMUM;
12348 if (yymsg != yymsgbuf)
12349 YYSTACK_FREE (yymsg);
12350 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
12351 if (yymsg)
12352 yymsg_alloc = yyalloc;
12353 else
12355 yymsg = yymsgbuf;
12356 yymsg_alloc = sizeof yymsgbuf;
12360 if (0 < yysize && yysize <= yymsg_alloc)
12362 (void) yysyntax_error (yymsg, yystate, yychar);
12363 yyerror (&yylloc, _p, yymsg);
12365 else
12367 yyerror (&yylloc, _p, YY_("syntax error"));
12368 if (yysize != 0)
12369 goto yyexhaustedlab;
12372 #endif
12375 yyerror_range[0] = yylloc;
12377 if (yyerrstatus == 3)
12379 /* If just tried and failed to reuse lookahead token after an
12380 error, discard it. */
12382 if (yychar <= YYEOF)
12384 /* Return failure if at end of input. */
12385 if (yychar == YYEOF)
12386 YYABORT;
12388 else
12390 yydestruct ("Error: discarding",
12391 yytoken, &yylval, &yylloc, _p);
12392 yychar = YYEMPTY;
12396 /* Else will try to reuse lookahead token after shifting the error
12397 token. */
12398 goto yyerrlab1;
12401 /*---------------------------------------------------.
12402 | yyerrorlab -- error raised explicitly by YYERROR. |
12403 `---------------------------------------------------*/
12404 yyerrorlab:
12406 /* Pacify compilers like GCC when the user code never invokes
12407 YYERROR and the label yyerrorlab therefore never appears in user
12408 code. */
12409 if (/*CONSTCOND*/ 0)
12410 goto yyerrorlab;
12412 yyerror_range[0] = yylsp[1-yylen];
12413 /* Do not reclaim the symbols of the rule which action triggered
12414 this YYERROR. */
12415 YYPOPSTACK (yylen);
12416 yylen = 0;
12417 YY_STACK_PRINT (yyss, yyssp);
12418 yystate = *yyssp;
12419 goto yyerrlab1;
12422 /*-------------------------------------------------------------.
12423 | yyerrlab1 -- common code for both syntax error and YYERROR. |
12424 `-------------------------------------------------------------*/
12425 yyerrlab1:
12426 yyerrstatus = 3; /* Each real token shifted decrements this. */
12428 for (;;)
12430 yyn = yypact[yystate];
12431 if (yyn != YYPACT_NINF)
12433 yyn += YYTERROR;
12434 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
12436 yyn = yytable[yyn];
12437 if (0 < yyn)
12438 break;
12442 /* Pop the current state because it cannot handle the error token. */
12443 if (yyssp == yyss)
12444 YYABORT;
12446 yyerror_range[0] = *yylsp;
12447 yydestruct ("Error: popping",
12448 yystos[yystate], yyvsp, yylsp, _p);
12449 YYPOPSTACK (1);
12450 yystate = *yyssp;
12451 YY_STACK_PRINT (yyss, yyssp);
12454 *++yyvsp = yylval;
12456 yyerror_range[1] = yylloc;
12457 /* Using YYLLOC is tempting, but would change the location of
12458 the lookahead. YYLOC is available though. */
12459 YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
12460 *++yylsp = yyloc;
12462 /* Shift the error token. */
12463 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
12465 yystate = yyn;
12466 goto yynewstate;
12469 /*-------------------------------------.
12470 | yyacceptlab -- YYACCEPT comes here. |
12471 `-------------------------------------*/
12472 yyacceptlab:
12473 yyresult = 0;
12474 goto yyreturn;
12476 /*-----------------------------------.
12477 | yyabortlab -- YYABORT comes here. |
12478 `-----------------------------------*/
12479 yyabortlab:
12480 yyresult = 1;
12481 goto yyreturn;
12483 #if !defined(yyoverflow) || YYERROR_VERBOSE
12484 /*-------------------------------------------------.
12485 | yyexhaustedlab -- memory exhaustion comes here. |
12486 `-------------------------------------------------*/
12487 yyexhaustedlab:
12488 yyerror (&yylloc, _p, YY_("memory exhausted"));
12489 yyresult = 2;
12490 /* Fall through. */
12491 #endif
12493 yyreturn:
12494 if (yychar != YYEMPTY)
12495 yydestruct ("Cleanup: discarding lookahead",
12496 yytoken, &yylval, &yylloc, _p);
12497 /* Do not reclaim the symbols of the rule which action triggered
12498 this YYABORT or YYACCEPT. */
12499 YYPOPSTACK (yylen);
12500 YY_STACK_PRINT (yyss, yyssp);
12501 while (yyssp != yyss)
12503 yydestruct ("Cleanup: popping",
12504 yystos[*yyssp], yyvsp, yylsp, _p);
12505 YYPOPSTACK (1);
12507 #ifndef yyoverflow
12508 if (yyss != yyssa)
12509 YYSTACK_FREE (yyss);
12510 YYSTACK_CLEANUP;
12511 #endif
12512 #if YYERROR_VERBOSE
12513 if (yymsg != yymsgbuf)
12514 YYSTACK_FREE (yymsg);
12515 #endif
12516 /* Make sure YYID is used. */
12517 return YYID (yyresult);
12522 /* Line 1675 of yacc.c */
12523 #line 2789 "hphp.y"
12525 bool Parser::parseImpl() {
12526 return yyparse(this) == 0;