47 #define YYBISON_VERSION "2.5"
50 #define YYSKELETON_NAME "yacc.c"
62 #define YYLSP_NEEDED 0
65 #define yyparse base_sql_parse
66 #define yylex base_sql_lex
67 #define yyerror base_sql_error
68 #define yylval base_sql_lval
69 #define yychar base_sql_char
70 #define yydebug base_sql_debug
71 #define yynerrs base_sql_nerrs
77 #line 25 "drizzled/sql_yacc.yy"
84 #define YYSession (session)
86 #define YYENABLE_NLS 0
87 #define YYLTYPE_IS_TRIVIAL 0
89 #define YYINITDEPTH 100
90 #define YYMAXDEPTH 3200
91 #define Lex (session->lex())
95 #include <drizzled/parser.h>
96 #include <drizzled/session.h>
97 #include <drizzled/alter_column.h>
98 #include <drizzled/alter_info.h>
99 #include <drizzled/message/alter_table.pb.h>
100 #include <drizzled/item/subselect.h>
101 #include <drizzled/table_ident.h>
102 #include <drizzled/var.h>
103 #include <drizzled/system_variables.h>
104 #include <drizzled/lex_input_stream.h>
109 #define yyoverflow(A,B,C,D,E,F) \
111 unsigned long val= *(F); \
112 if (drizzled::my_yyoverflow((B), (D), &val)) \
114 yyerror(NULL, (A)); \
119 *(F)= (YYSIZE_T)val; \
123 #define DRIZZLE_YYABORT \
129 #define DRIZZLE_YYABORT_UNLESS(A) \
132 parser::my_parse_error(YYSession->m_lip);\
173 parser::errorOn(session, s);
178 using namespace drizzled;
182 #line 183 "drizzled/sql_yacc.cc"
190 #ifdef YYERROR_VERBOSE
191 # undef YYERROR_VERBOSE
192 # define YYERROR_VERBOSE 1
194 # define YYERROR_VERBOSE 0
198 #ifndef YYTOKEN_TABLE
199 # define YYTOKEN_TABLE 0
222 ASENSITIVE_SYM = 271,
261 COMPRESSED_SYM = 310,
264 CONNECTION_SYM = 313,
265 CONSISTENT_SYM = 314,
281 DATE_ADD_INTERVAL = 330,
282 DATE_SUB_INTERVAL = 331,
285 DAY_MICROSECOND_SYM = 334,
286 DAY_MINUTE_SYM = 335,
287 DAY_SECOND_SYM = 336,
289 DEALLOCATE_SYM = 338,
298 DETERMINISTIC_SYM = 347,
337 FRAC_SECOND_SYM = 386,
342 GROUP_CONCAT_SYM = 391,
347 HOUR_MICROSECOND_SYM = 396,
348 HOUR_MINUTE_SYM = 397,
349 HOUR_SECOND_SYM = 398,
352 IDENTIFIED_SYM = 401,
363 INSENSITIVE_SYM = 412,
376 KEY_BLOCK_SIZE = 425,
400 MICROSECOND_SYM = 449,
401 MINUTE_MICROSECOND_SYM = 450,
402 MINUTE_SECOND_SYM = 451,
445 PROCESSLIST_SYM = 494,
451 READ_WRITE_SYM = 500,
458 REPEATABLE_SYM = 507,
472 ROW_FORMAT_SYM = 521,
475 SECOND_MICROSECOND_SYM = 524,
481 SERIALIZABLE_SYM = 530,
493 SQLEXCEPTION_SYM = 542,
495 SQLWARNING_SYM = 544,
496 SQL_BIG_RESULT = 545,
497 SQL_BUFFER_RESULT = 546,
498 SQL_CALC_FOUND_ROWS = 547,
499 SQL_SMALL_RESULT = 548,
504 STDDEV_SAMP_SYM = 553,
518 TABLE_REF_PRIORITY = 567,
526 TIMESTAMP_DIFF = 575,
531 TRANSACTION_SYM = 580,
537 UNCOMMITTED_SYM = 586,
552 UTC_TIMESTAMP_SYM = 601,
569 WITH_ROLLUP_SYM = 618,
573 YEAR_MONTH_SYM = 622,
585 #define ABORT_SYM 258
587 #define ADDDATE_SYM 260
589 #define AFTER_SYM 262
590 #define AGGREGATE_SYM 263
592 #define ALTER_SYM 265
593 #define ANALYZE_SYM 266
598 #define ASENSITIVE_SYM 271
602 #define BEFORE_SYM 275
603 #define BEGIN_SYM 276
604 #define BETWEEN_SYM 277
605 #define BIGINT_SYM 278
610 #define BOOLEAN_SYM 283
613 #define BTREE_SYM 286
620 #define CATALOG_SYM 293
621 #define CHAIN_SYM 294
622 #define CHANGE_SYM 295
625 #define CHECKSUM_SYM 298
626 #define CHECK_SYM 299
627 #define CLOSE_SYM 300
629 #define COLLATE_SYM 302
630 #define COLLATION_SYM 303
632 #define COLUMN_SYM 305
633 #define COMMENT_SYM 306
634 #define COMMITTED_SYM 307
635 #define COMMIT_SYM 308
636 #define COMPACT_SYM 309
637 #define COMPRESSED_SYM 310
638 #define CONCURRENT 311
639 #define CONDITION_SYM 312
640 #define CONNECTION_SYM 313
641 #define CONSISTENT_SYM 314
642 #define CONSTRAINT 315
643 #define CONTAINS_SYM 316
644 #define CONVERT_SYM 317
645 #define COUNT_SYM 318
651 #define CURRENT_USER 324
652 #define CURSOR_SYM 325
654 #define DATABASES 327
656 #define DATETIME_SYM 329
657 #define DATE_ADD_INTERVAL 330
658 #define DATE_SUB_INTERVAL 331
660 #define DAY_HOUR_SYM 333
661 #define DAY_MICROSECOND_SYM 334
662 #define DAY_MINUTE_SYM 335
663 #define DAY_SECOND_SYM 336
665 #define DEALLOCATE_SYM 338
666 #define DECIMAL_NUM 339
667 #define DECIMAL_SYM 340
668 #define DECLARE_SYM 341
671 #define DELETE_SYM 344
674 #define DETERMINISTIC_SYM 347
675 #define DISABLE_SYM 348
679 #define DOUBLE_SYM 352
683 #define DUPLICATE_SYM 356
684 #define DYNAMIC_SYM 357
687 #define ENABLE_SYM 360
691 #define END_OF_INPUT 364
692 #define ENGINE_SYM 365
694 #define EQUAL_SYM 367
697 #define ESCAPE_SYM 370
698 #define EXCLUSIVE_SYM 371
699 #define EXECUTE_SYM 372
701 #define EXTENDED_SYM 374
702 #define EXTRACT_SYM 375
703 #define FALSE_SYM 376
705 #define FIRST_SYM 378
706 #define FIXED_SYM 379
707 #define FLOAT_NUM 380
708 #define FLUSH_SYM 381
709 #define FORCE_SYM 382
712 #define FOUND_SYM 385
713 #define FRAC_SECOND_SYM 386
717 #define GLOBAL_SYM 390
718 #define GROUP_CONCAT_SYM 391
719 #define GROUP_SYM 392
723 #define HOUR_MICROSECOND_SYM 396
724 #define HOUR_MINUTE_SYM 397
725 #define HOUR_SECOND_SYM 398
728 #define IDENTIFIED_SYM 401
729 #define IDENTITY_SYM 402
730 #define IDENT_QUOTED 403
732 #define IGNORE_SYM 405
735 #define INDEX_SYM 408
737 #define INNER_SYM 410
738 #define INOUT_SYM 411
739 #define INSENSITIVE_SYM 412
741 #define INTERVAL_SYM 414
747 #define ISOLATION 420
748 #define ITERATE_SYM 421
752 #define KEY_BLOCK_SIZE 425
759 #define LEVEL_SYM 432
760 #define LEX_HOSTNAME 433
765 #define LOCAL_SYM 438
766 #define LOCKS_SYM 439
773 #define MAX_VALUE_SYM 446
774 #define MEDIUM_SYM 447
775 #define MERGE_SYM 448
776 #define MICROSECOND_SYM 449
777 #define MINUTE_MICROSECOND_SYM 450
778 #define MINUTE_SECOND_SYM 451
779 #define MINUTE_SYM 452
782 #define MODIFIES_SYM 455
783 #define MODIFY_SYM 456
785 #define MONTH_SYM 458
786 #define NAMES_SYM 459
788 #define NATIONAL_SYM 461
799 #define NUMERIC_SYM 472
800 #define OFFLINE_SYM 473
801 #define OFFSET_SYM 474
803 #define ONE_SHOT_SYM 476
805 #define ONLINE_SYM 478
809 #define OPTIONALLY 482
810 #define ORDER_SYM 483
816 #define POSITION_SYM 489
817 #define PRECISION 490
819 #define PRIMARY_SYM 492
821 #define PROCESSLIST_SYM 494
822 #define QUARTER_SYM 495
823 #define QUERY_SYM 496
824 #define RANGE_SYM 497
825 #define READS_SYM 498
827 #define READ_WRITE_SYM 500
829 #define REDUNDANT_SYM 502
830 #define REFERENCES 503
831 #define REGEXP_SYM 504
832 #define RELEASE_SYM 505
834 #define REPEATABLE_SYM 507
835 #define REPEAT_SYM 508
837 #define REPLICATE 510
838 #define REPLICATION 511
840 #define RETURNS_SYM 513
841 #define RETURN_SYM 514
844 #define ROLLBACK_SYM 517
845 #define ROLLUP_SYM 518
846 #define ROUTINE_SYM 519
848 #define ROW_FORMAT_SYM 521
850 #define SAVEPOINT_SYM 523
851 #define SECOND_MICROSECOND_SYM 524
852 #define SECOND_SYM 525
853 #define SECURITY_SYM 526
854 #define SELECT_SYM 527
855 #define SENSITIVE_SYM 528
856 #define SEPARATOR_SYM 529
857 #define SERIALIZABLE_SYM 530
858 #define SERIAL_SYM 531
859 #define SERVER_SYM 532
860 #define SESSION_SYM 533
863 #define SHARE_SYM 536
865 #define SIGNED_SYM 538
866 #define SIMPLE_SYM 539
867 #define SNAPSHOT_SYM 540
868 #define SPECIFIC_SYM 541
869 #define SQLEXCEPTION_SYM 542
870 #define SQLSTATE_SYM 543
871 #define SQLWARNING_SYM 544
872 #define SQL_BIG_RESULT 545
873 #define SQL_BUFFER_RESULT 546
874 #define SQL_CALC_FOUND_ROWS 547
875 #define SQL_SMALL_RESULT 548
878 #define START_SYM 551
879 #define STATUS_SYM 552
880 #define STDDEV_SAMP_SYM 553
883 #define STORED_SYM 556
884 #define STRAIGHT_JOIN 557
885 #define STRING_SYM 558
886 #define SUBDATE_SYM 559
887 #define SUBJECT_SYM 560
888 #define SUBSTRING 561
890 #define SUSPEND_SYM 563
893 #define TABLESPACE 566
894 #define TABLE_REF_PRIORITY 567
895 #define TABLE_SYM 568
896 #define TEMPORARY_SYM 569
897 #define TERMINATED 570
898 #define TEXT_STRING 571
901 #define TIMESTAMP_ADD 574
902 #define TIMESTAMP_DIFF 575
903 #define TIMESTAMP_SYM 576
907 #define TRANSACTION_SYM 580
910 #define TRUNCATE_SYM 583
912 #define ULONGLONG_NUM 585
913 #define UNCOMMITTED_SYM 586
914 #define UNDOFILE_SYM 587
916 #define UNION_SYM 589
917 #define UNIQUE_SYM 590
918 #define UNKNOWN_SYM 591
919 #define UNLOCK_SYM 592
920 #define UNSIGNED_SYM 593
921 #define UPDATE_SYM 594
926 #define UTC_DATE_SYM 599
927 #define UTC_TIME_SYM 600
928 #define UTC_TIMESTAMP_SYM 601
932 #define VALUE_SYM 605
933 #define VARBINARY 606
934 #define VARCHAR_SYM 607
935 #define VARIABLES 608
936 #define VARIANCE_SYM 609
938 #define VAR_SAMP_SYM 611
945 #define WITH_ROLLUP_SYM 618
947 #define WRITE_SYM 620
949 #define YEAR_MONTH_SYM 622
951 #define ZEROFILL_SYM 624
952 #define LESS_THAN 625
953 #define GREATER_THAN 626
955 #define SHIFT_RIGHT 628
956 #define SHIFT_LEFT 629
962 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
965 #line 127 "drizzled/sql_yacc.yy"
970 #line 127 "drizzled/sql_yacc.yy"
974 unsigned long ulong_num;
975 uint64_t ulonglong_number;
976 int64_t longlong_number;
981 const char* simple_string;
990 drizzled::enum_field_types field_val;
992 drizzled::sql_var_t var_type;
993 drizzled::Key::Keytype key_type;
994 drizzled::ha_key_alg key_alg;
995 drizzled::ha_rkey_function ha_rkey_mode;
996 drizzled::enum_tx_isolation tx_isolation;
997 drizzled::Cast_target cast_type;
999 drizzled::thr_lock_type lock_type;
1000 drizzled::interval_type interval, interval_time_st;
1001 drizzled::type::timestamp_t date_time_type;
1002 drizzled::Select_Lex *select_lex;
1003 drizzled::chooser_compare_func_creator boolfunc2creator;
1005 drizzled::index_hint_type index_hint;
1006 drizzled::enum_filetype filetype;
1007 drizzled::message::Table::ForeignKeyConstraint::ForeignKeyOption m_fk_option;
1013 #line 1014 "drizzled/sql_yacc.cc"
1015 # define YYSTYPE_IS_TRIVIAL 1
1016 # define yystype YYSTYPE
1017 # define YYSTYPE_IS_DECLARED 1
1024 #line 167 "drizzled/sql_yacc.yy"
1028 bool my_yyoverflow(
short **a,
union ParserType **b,
unsigned long *yystacksize);
1033 #line 1034 "drizzled/sql_yacc.cc"
1040 typedef YYTYPE_UINT8 yytype_uint8;
1042 typedef unsigned char yytype_uint8;
1046 typedef YYTYPE_INT8 yytype_int8;
1047 #elif (defined __STDC__ || defined __C99__FUNC__ \
1048 || defined __cplusplus || defined _MSC_VER)
1049 typedef signed char yytype_int8;
1051 typedef short int yytype_int8;
1054 #ifdef YYTYPE_UINT16
1055 typedef YYTYPE_UINT16 yytype_uint16;
1057 typedef unsigned short int yytype_uint16;
1061 typedef YYTYPE_INT16 yytype_int16;
1063 typedef short int yytype_int16;
1067 # ifdef __SIZE_TYPE__
1068 # define YYSIZE_T __SIZE_TYPE__
1069 # elif defined size_t
1070 # define YYSIZE_T size_t
1071 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1072 || defined __cplusplus || defined _MSC_VER)
1073 # include <stddef.h>
1074 # define YYSIZE_T size_t
1076 # define YYSIZE_T unsigned int
1080 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1083 # if defined YYENABLE_NLS && YYENABLE_NLS
1085 # include <libintl.h>
1086 # define YY_(msgid) dgettext ("bison-runtime", msgid)
1090 # define YY_(msgid) msgid
1095 #if ! defined lint || defined __GNUC__
1096 # define YYUSE(e) ((void) (e))
1103 # define YYID(n) (n)
1105 #if (defined __STDC__ || defined __C99__FUNC__ \
1106 || defined __cplusplus || defined _MSC_VER)
1119 #if ! defined yyoverflow || YYERROR_VERBOSE
1123 # ifdef YYSTACK_USE_ALLOCA
1124 # if YYSTACK_USE_ALLOCA
1126 # define YYSTACK_ALLOC __builtin_alloca
1127 # elif defined __BUILTIN_VA_ARG_INCR
1128 # include <alloca.h>
1130 # define YYSTACK_ALLOC __alloca
1131 # elif defined _MSC_VER
1132 # include <malloc.h>
1133 # define alloca _alloca
1135 # define YYSTACK_ALLOC alloca
1136 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1137 || defined __cplusplus || defined _MSC_VER)
1138 # include <stdlib.h>
1139 # ifndef EXIT_SUCCESS
1140 # define EXIT_SUCCESS 0
1147 # ifdef YYSTACK_ALLOC
1149 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
1150 # ifndef YYSTACK_ALLOC_MAXIMUM
1155 # define YYSTACK_ALLOC_MAXIMUM 4032
1158 # define YYSTACK_ALLOC YYMALLOC
1159 # define YYSTACK_FREE YYFREE
1160 # ifndef YYSTACK_ALLOC_MAXIMUM
1161 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1163 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1164 && ! ((defined YYMALLOC || defined malloc) \
1165 && (defined YYFREE || defined free)))
1166 # include <stdlib.h>
1167 # ifndef EXIT_SUCCESS
1168 # define EXIT_SUCCESS 0
1172 # define YYMALLOC malloc
1173 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1174 || defined __cplusplus || defined _MSC_VER)
1175 void *malloc (YYSIZE_T);
1179 # define YYFREE free
1180 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1181 || defined __cplusplus || defined _MSC_VER)
1189 #if (! defined yyoverflow \
1190 && (! defined __cplusplus \
1191 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1196 yytype_int16 yyss_alloc;
1201 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1205 # define YYSTACK_BYTES(N) \
1206 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1207 + YYSTACK_GAP_MAXIMUM)
1209 # define YYCOPY_NEEDED 1
1216 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1219 YYSIZE_T yynewbytes; \
1220 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1221 Stack = &yyptr->Stack_alloc; \
1222 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1223 yyptr += yynewbytes / sizeof (*yyptr); \
1229 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1233 # if defined __GNUC__ && 1 < __GNUC__
1234 # define YYCOPY(To, From, Count) \
1235 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1237 # define YYCOPY(To, From, Count) \
1241 for (yyi = 0; yyi < (Count); yyi++) \
1242 (To)[yyi] = (From)[yyi]; \
1252 #define YYLAST 15107
1255 #define YYNTOKENS 393
1259 #define YYNRULES 1229
1261 #define YYNSTATES 2122
1264 #define YYUNDEFTOK 2
1265 #define YYMAXUTOK 630
1267 #define YYTRANSLATE(YYX) \
1268 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1271 static const yytype_uint16 yytranslate[] =
1273 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1274 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1275 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1276 2, 2, 2, 2, 2, 2, 2, 382, 375, 2,
1277 386, 387, 380, 379, 390, 378, 391, 381, 2, 2,
1278 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1279 2, 370, 2, 2, 392, 2, 2, 2, 2, 2,
1280 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1281 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1282 2, 2, 2, 2, 383, 2, 2, 2, 2, 2,
1283 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1284 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1285 2, 2, 2, 388, 374, 389, 384, 2, 2, 2,
1286 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1298 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1299 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1300 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1301 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1302 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1303 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1304 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1305 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1306 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1307 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1308 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1309 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1310 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1311 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1312 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1313 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1314 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1315 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1316 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1317 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1318 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1319 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1320 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1321 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1322 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1323 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1324 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1325 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1326 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1327 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1328 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1329 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1330 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1331 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1332 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1333 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1334 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1335 365, 366, 367, 368, 369, 371, 372, 373, 376, 377,
1342 static const yytype_uint16 yyprhs[] =
1344 0, 0, 3, 5, 8, 10, 12, 14, 16, 18,
1345 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
1346 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
1347 60, 62, 64, 68, 69, 77, 78, 92, 93, 100,
1348 106, 107, 113, 118, 121, 124, 125, 126, 131, 132,
1349 139, 142, 144, 145, 146, 153, 154, 156, 159, 163,
1350 165, 167, 170, 174, 176, 180, 184, 187, 191, 195,
1351 199, 200, 202, 203, 207, 208, 210, 212, 215, 217,
1352 220, 224, 226, 230, 234, 238, 242, 246, 249, 253,
1353 257, 261, 265, 269, 271, 273, 276, 278, 280, 282,
1354 287, 292, 297, 299, 301, 303, 305, 307, 309, 311,
1355 313, 316, 318, 322, 324, 326, 329, 332, 340, 349,
1356 358, 361, 364, 365, 367, 370, 371, 373, 376, 377,
1357 382, 385, 391, 394, 397, 400, 406, 409, 410, 417,
1358 423, 426, 429, 432, 435, 439, 443, 447, 450, 453,
1359 456, 458, 461, 463, 465, 470, 475, 478, 481, 485,
1360 486, 490, 492, 498, 499, 503, 504, 506, 508, 509,
1361 513, 514, 516, 517, 521, 523, 525, 528, 531, 533,
1362 536, 537, 540, 544, 547, 548, 551, 555, 558, 559,
1363 561, 564, 566, 568, 571, 574, 576, 577, 579, 582,
1364 584, 586, 588, 592, 595, 597, 598, 600, 603, 605,
1365 607, 611, 614, 619, 621, 622, 625, 627, 629, 631,
1366 632, 634, 635, 637, 643, 644, 648, 652, 654, 655,
1367 658, 661, 664, 665, 669, 673, 680, 687, 689, 691,
1368 694, 697, 700, 702, 705, 708, 710, 712, 713, 715,
1369 717, 719, 721, 722, 724, 725, 727, 730, 731, 733,
1370 735, 738, 741, 743, 747, 750, 752, 754, 759, 762,
1371 764, 769, 770, 772, 773, 776, 778, 782, 783, 791,
1372 792, 798, 799, 802, 805, 807, 808, 810, 812, 814,
1373 818, 821, 825, 828, 833, 834, 841, 842, 843, 852,
1374 856, 861, 865, 869, 872, 875, 882, 888, 892, 896,
1375 898, 900, 902, 903, 905, 906, 908, 909, 912, 914,
1376 915, 917, 919, 923, 924, 928, 929, 934, 935, 940,
1377 941, 946, 948, 952, 956, 958, 961, 966, 969, 973,
1378 976, 980, 981, 985, 986, 987, 994, 997, 999, 1001,
1379 1004, 1007, 1015, 1016, 1018, 1021, 1023, 1025, 1027, 1029,
1380 1031, 1033, 1035, 1037, 1039, 1041, 1042, 1045, 1050, 1054,
1381 1056, 1058, 1062, 1067, 1068, 1069, 1070, 1073, 1076, 1078,
1382 1080, 1081, 1084, 1088, 1092, 1096, 1099, 1103, 1108, 1112,
1383 1117, 1121, 1126, 1128, 1132, 1137, 1141, 1145, 1152, 1154,
1384 1160, 1167, 1173, 1181, 1188, 1197, 1203, 1210, 1215, 1221,
1385 1225, 1230, 1232, 1236, 1240, 1244, 1248, 1252, 1256, 1262,
1386 1268, 1272, 1276, 1280, 1284, 1288, 1292, 1294, 1296, 1298,
1387 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316, 1318,
1388 1320, 1324, 1326, 1328, 1330, 1334, 1337, 1340, 1343, 1347,
1389 1351, 1357, 1364, 1369, 1374, 1377, 1384, 1390, 1397, 1402,
1390 1407, 1413, 1418, 1421, 1426, 1431, 1436, 1447, 1454, 1463,
1391 1470, 1475, 1480, 1487, 1492, 1497, 1502, 1510, 1518, 1526,
1392 1533, 1540, 1547, 1554, 1558, 1563, 1570, 1579, 1582, 1585,
1393 1594, 1603, 1610, 1613, 1618, 1625, 1632, 1641, 1650, 1657,
1394 1666, 1673, 1676, 1681, 1690, 1699, 1702, 1705, 1708, 1713,
1395 1718, 1722, 1726, 1732, 1741, 1747, 1752, 1759, 1764, 1771,
1396 1780, 1787, 1792, 1796, 1800, 1807, 1808, 1814, 1815, 1817,
1397 1819, 1823, 1828, 1833, 1839, 1845, 1850, 1851, 1852, 1860,
1398 1865, 1871, 1876, 1882, 1887, 1892, 1897, 1902, 1907, 1913,
1399 1914, 1923, 1924, 1928, 1932, 1934, 1939, 1940, 1942, 1943,
1400 1946, 1947, 1949, 1950, 1954, 1957, 1959, 1961, 1964, 1966,
1401 1968, 1971, 1974, 1976, 1978, 1980, 1983, 1985, 1989, 1990,
1402 1992, 1993, 1996, 2001, 2007, 2009, 2011, 2013, 2015, 2020,
1403 2022, 2026, 2030, 2034, 2035, 2042, 2043, 2050, 2051, 2060,
1404 2065, 2066, 2075, 2076, 2087, 2094, 2095, 2104, 2105, 2116,
1405 2123, 2125, 2128, 2131, 2132, 2137, 2141, 2147, 2151, 2152,
1406 2153, 2162, 2164, 2165, 2166, 2173, 2174, 2178, 2179, 2180,
1407 2186, 2187, 2189, 2190, 2192, 2193, 2196, 2200, 2204, 2206,
1408 2208, 2209, 2217, 2218, 2226, 2228, 2231, 2232, 2233, 2236,
1409 2237, 2240, 2241, 2243, 2245, 2247, 2249, 2253, 2255, 2259,
1410 2261, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277, 2279,
1411 2281, 2283, 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299,
1412 2301, 2303, 2305, 2306, 2308, 2309, 2312, 2313, 2315, 2316,
1413 2317, 2321, 2322, 2323, 2327, 2330, 2331, 2332, 2337, 2342,
1414 2345, 2346, 2348, 2352, 2356, 2358, 2361, 2362, 2364, 2365,
1415 2370, 2375, 2378, 2379, 2381, 2383, 2384, 2386, 2387, 2389,
1416 2392, 2394, 2398, 2402, 2404, 2406, 2408, 2409, 2412, 2414,
1417 2416, 2418, 2420, 2422, 2424, 2426, 2428, 2430, 2432, 2434,
1418 2435, 2438, 2442, 2444, 2447, 2448, 2452, 2453, 2459, 2462,
1419 2464, 2468, 2474, 2475, 2483, 2488, 2490, 2494, 2496, 2497,
1420 2500, 2501, 2503, 2509, 2511, 2514, 2515, 2519, 2520, 2522,
1421 2523, 2525, 2526, 2527, 2535, 2536, 2537, 2543, 2546, 2548,
1422 2550, 2552, 2556, 2561, 2562, 2566, 2570, 2572, 2575, 2578,
1423 2579, 2583, 2584, 2590, 2594, 2596, 2600, 2602, 2606, 2608,
1424 2610, 2611, 2613, 2614, 2619, 2620, 2622, 2626, 2628, 2630,
1425 2632, 2633, 2634, 2641, 2642, 2652, 2656, 2658, 2662, 2666,
1426 2668, 2672, 2673, 2682, 2683, 2685, 2689, 2690, 2692, 2693,
1427 2697, 2700, 2704, 2708, 2713, 2719, 2725, 2731, 2737, 2740,
1428 2743, 2747, 2750, 2754, 2756, 2760, 2765, 2766, 2769, 2771,
1429 2773, 2774, 2777, 2780, 2781, 2786, 2787, 2792, 2794, 2796,
1430 2797, 2799, 2800, 2802, 2804, 2805, 2809, 2813, 2815, 2816,
1431 2820, 2825, 2827, 2829, 2832, 2833, 2835, 2839, 2840, 2842,
1432 2844, 2847, 2848, 2849, 2850, 2851, 2870, 2872, 2873, 2875,
1433 2876, 2878, 2880, 2881, 2883, 2885, 2887, 2890, 2893, 2894,
1434 2897, 2900, 2902, 2906, 2911, 2915, 2919, 2920, 2923, 2926,
1435 2928, 2932, 2936, 2937, 2941, 2943, 2945, 2946, 2950, 2953,
1436 2957, 2959, 2961, 2964, 2965, 2968, 2970, 2973, 2975, 2977,
1437 2979, 2981, 2984, 2987, 2989, 2991, 2993, 2995, 2997, 2999,
1438 3001, 3004, 3007, 3009, 3011, 3013, 3015, 3017, 3020, 3023,
1439 3025, 3027, 3029, 3031, 3033, 3035, 3038, 3041, 3043, 3045,
1440 3047, 3049, 3051, 3053, 3055, 3059, 3065, 3067, 3069, 3071,
1441 3075, 3080, 3086, 3088, 3094, 3098, 3101, 3103, 3107, 3110,
1442 3112, 3114, 3116, 3118, 3120, 3122, 3124, 3126, 3128, 3130,
1443 3132, 3134, 3136, 3138, 3140, 3142, 3144, 3146, 3148, 3150,
1444 3152, 3154, 3156, 3158, 3160, 3162, 3164, 3166, 3168, 3170,
1445 3172, 3174, 3176, 3178, 3180, 3182, 3184, 3186, 3188, 3190,
1446 3192, 3194, 3196, 3198, 3200, 3202, 3204, 3206, 3208, 3210,
1447 3212, 3214, 3216, 3218, 3220, 3222, 3224, 3226, 3228, 3230,
1448 3232, 3234, 3236, 3238, 3240, 3242, 3244, 3246, 3248, 3250,
1449 3252, 3254, 3256, 3258, 3260, 3262, 3264, 3266, 3268, 3270,
1450 3272, 3274, 3276, 3278, 3280, 3282, 3284, 3286, 3288, 3290,
1451 3292, 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308, 3310,
1452 3312, 3314, 3316, 3318, 3320, 3322, 3324, 3326, 3328, 3330,
1453 3332, 3334, 3336, 3338, 3340, 3342, 3344, 3346, 3348, 3350,
1454 3352, 3354, 3356, 3358, 3360, 3362, 3364, 3366, 3368, 3370,
1455 3372, 3374, 3376, 3378, 3380, 3382, 3384, 3386, 3388, 3390,
1456 3392, 3394, 3396, 3398, 3400, 3402, 3404, 3406, 3408, 3410,
1457 3412, 3414, 3416, 3418, 3420, 3422, 3424, 3426, 3428, 3430,
1458 3432, 3434, 3436, 3438, 3439, 3444, 3445, 3447, 3449, 3453,
1459 3454, 3457, 3459, 3461, 3463, 3465, 3466, 3468, 3469, 3471,
1460 3473, 3475, 3476, 3479, 3482, 3485, 3487, 3490, 3495, 3501,
1461 3506, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3528, 3531,
1462 3534, 3536, 3538, 3540, 3542, 3544, 3546, 3548, 3550, 3551,
1463 3555, 3556, 3560, 3561, 3563, 3564, 3568, 3571, 3572, 3574,
1464 3577, 3578, 3580, 3585, 3590, 3596, 3599, 3603, 3605, 3606,
1465 3608, 3609, 3614, 3615, 3617, 3619, 3620, 3623, 3626, 3628,
1466 3629, 3631, 3633, 3636, 3640, 3642, 3643, 3649, 3653, 3654
1470 static const yytype_int16 yyrhs[] =
1472 394, 0, -1, 109, -1, 395, 109, -1, 396, -1,
1473 793, -1, 493, -1, 510, -1, 512, -1, 799, -1,
1474 397, -1, 698, -1, 709, -1, 655, -1, 661, -1,
1475 715, -1, 666, -1, 721, -1, 724, -1, 802, -1,
1476 514, -1, 669, -1, 800, -1, 801, -1, 518, -1,
1477 772, -1, 703, -1, 508, -1, 701, -1, 791, -1,
1478 692, -1, 723, -1, 64, 38, 761, -1, -1, 64,
1479 414, 313, 415, 759, 398, 401, -1, -1, 64, 497,
1480 399, 480, 153, 766, 482, 220, 759, 386, 488, 387,
1481 483, -1, -1, 64, 71, 415, 760, 400, 411, -1,
1482 386, 429, 387, 416, 403, -1, -1, 386, 407, 387,
1483 402, 807, -1, 386, 406, 387, 416, -1, 406, 416,
1484 -1, 416, 403, -1, -1, -1, 732, 407, 404, 804,
1485 -1, -1, 732, 386, 407, 387, 405, 807, -1, 179,
1486 759, -1, 408, -1, -1, -1, 272, 409, 529, 535,
1487 410, 428, -1, -1, 425, -1, 425, 412, -1, 425,
1488 390, 412, -1, 412, -1, 413, -1, 413, 412, -1,
1489 413, 390, 412, -1, 767, -1, 255, 370, 327, -1,
1490 255, 370, 121, -1, 88, 763, -1, 88, 69, 540,
1491 -1, 767, 370, 767, -1, 767, 370, 646, -1, -1,
1492 314, -1, -1, 149, 212, 118, -1, -1, 418, -1,
1493 419, -1, 419, 417, -1, 419, -1, 419, 418, -1,
1494 419, 390, 418, -1, 420, -1, 110, 370, 767, -1,
1495 51, 684, 763, -1, 18, 684, 646, -1, 255, 370,
1496 327, -1, 255, 370, 121, -1, 88, 763, -1, 88,
1497 69, 540, -1, 266, 370, 427, -1, 122, 370, 763,
1498 -1, 767, 370, 768, -1, 767, 370, 646, -1, 423,
1499 -1, 424, -1, 42, 279, -1, 41, -1, 347, -1,
1500 87, -1, 467, 421, 684, 422, -1, 467, 47, 684,
1501 466, -1, 467, 47, 684, 466, -1, 54, -1, 55,
1502 -1, 87, -1, 102, -1, 124, -1, 247, -1, 426,
1503 -1, 640, -1, 528, 534, -1, 430, -1, 429, 390,
1504 430, -1, 431, -1, 432, -1, 437, 433, -1, 437,
1505 469, -1, 475, 490, 482, 386, 488, 387, 483, -1,
1506 435, 476, 490, 482, 386, 488, 387, 483, -1, 435,
1507 128, 171, 490, 386, 488, 387, 469, -1, 436, 433,
1508 -1, 435, 434, -1, -1, 434, -1, 44, 541, -1,
1509 -1, 436, -1, 60, 490, -1, -1, 758, 438, 439,
1510 464, -1, 321, 461, -1, 321, 386, 216, 387, 461,
1511 -1, 74, 461, -1, 442, 458, -1, 42, 455, -1,
1512 441, 386, 216, 387, 455, -1, 317, 455, -1, -1,
1513 111, 440, 386, 492, 387, 455, -1, 351, 386, 216,
1514 387, 453, -1, 443, 458, -1, 77, 453, -1, 322,
1515 453, -1, 27, 453, -1, 85, 444, 458, -1, 217,
1516 444, 458, -1, 124, 444, 458, -1, 348, 453, -1,
1517 167, 453, -1, 28, 454, -1, 276, -1, 42, 355,
1518 -1, 42, -1, 352, -1, 161, 448, 447, 449, -1,
1519 23, 448, 447, 449, -1, 246, 450, -1, 97, 450,
1520 -1, 97, 235, 450, -1, -1, 386, 216, 387, -1,
1521 445, -1, 386, 216, 390, 216, 387, -1, -1, 386,
1522 216, 387, -1, -1, 283, -1, 338, -1, -1, 386,
1523 216, 387, -1, -1, 369, -1, -1, 386, 216, 387,
1524 -1, 445, -1, 215, -1, 212, 215, -1, 468, 171,
1525 -1, 335, -1, 335, 171, -1, -1, 453, 451, -1,
1526 453, 87, 747, -1, 453, 452, -1, -1, 454, 451,
1527 -1, 454, 87, 750, -1, 454, 452, -1, -1, 456,
1528 -1, 456, 457, -1, 457, -1, 451, -1, 87, 747,
1529 -1, 47, 465, -1, 452, -1, -1, 459, -1, 459,
1530 460, -1, 460, -1, 451, -1, 18, -1, 276, 87,
1531 350, -1, 87, 749, -1, 452, -1, -1, 462, -1,
1532 462, 463, -1, 463, -1, 451, -1, 87, 213, 540,
1533 -1, 87, 751, -1, 220, 339, 213, 540, -1, 452,
1534 -1, -1, 51, 763, -1, 767, -1, 465, -1, 87,
1535 -1, -1, 87, -1, -1, 237, -1, 248, 759, 470,
1536 472, 473, -1, -1, 386, 471, 387, -1, 471, 390,
1537 766, -1, 766, -1, -1, 189, 133, -1, 189, 233,
1538 -1, 189, 284, -1, -1, 220, 339, 474, -1, 220,
1539 89, 474, -1, 220, 339, 474, 220, 89, 474, -1,
1540 220, 89, 474, 220, 339, 474, -1, 257, -1, 34,
1541 -1, 279, 215, -1, 214, 4, -1, 279, 87, -1,
1542 477, -1, 237, 171, -1, 335, 478, -1, 171, -1,
1543 153, -1, -1, 477, -1, 169, -1, 153, -1, 152,
1544 -1, -1, 335, -1, -1, 481, -1, 481, 485, -1,
1545 -1, 484, -1, 486, -1, 484, 486, -1, 343, 487,
1546 -1, 485, -1, 170, 684, 645, -1, 51, 763, -1,
1547 31, -1, 138, -1, 488, 390, 489, 638, -1, 489,
1548 638, -1, 766, -1, 766, 386, 216, 387, -1, -1,
1549 758, -1, -1, 391, 766, -1, 746, -1, 492, 390,
1550 746, -1, -1, 10, 497, 505, 313, 759, 494, 496,
1551 -1, -1, 10, 71, 760, 495, 425, -1, -1, 94,
1552 311, -1, 151, 311, -1, 498, -1, -1, 223, -1,
1553 218, -1, 500, -1, 498, 390, 500, -1, 6, 504,
1554 -1, 499, 431, 506, -1, 6, 432, -1, 499, 386,
1555 429, 387, -1, -1, 40, 504, 758, 501, 437, 506,
1556 -1, -1, -1, 201, 504, 758, 502, 439, 464, 503,
1557 506, -1, 99, 504, 758, -1, 99, 128, 171, 490,
1558 -1, 99, 237, 171, -1, 99, 477, 758, -1, 93,
1559 169, -1, 105, 169, -1, 10, 504, 758, 279, 87,
1560 747, -1, 10, 504, 758, 99, 87, -1, 251, 507,
1561 759, -1, 62, 323, 466, -1, 417, -1, 127, -1,
1562 631, -1, -1, 50, -1, -1, 150, -1, -1, 7,
1563 766, -1, 123, -1, -1, 323, -1, 14, -1, 296,
1564 325, 509, -1, -1, 362, 59, 285, -1, -1, 11,
1565 790, 511, 657, -1, -1, 44, 790, 513, 657, -1,
1566 -1, 251, 790, 515, 516, -1, 517, -1, 516, 390,
1567 517, -1, 759, 323, 759, -1, 519, -1, 272, 522,
1568 -1, 386, 520, 387, 807, -1, 272, 524, -1, 386,
1569 520, 387, -1, 272, 592, -1, 386, 521, 387, -1,
1570 -1, 524, 523, 804, -1, -1, -1, 525, 529, 535,
1571 526, 527, 534, -1, 634, 640, -1, 651, -1, 528,
1572 -1, 651, 528, -1, 528, 651, -1, 132, 574, 623,
1573 628, 625, 634, 640, -1, -1, 530, -1, 530, 533,
1574 -1, 533, -1, 95, -1, 9, -1, 293, -1, 290,
1575 -1, 302, -1, 291, -1, 532, -1, 531, -1, 292,
1576 -1, -1, 129, 339, -1, 185, 163, 281, 199, -1,
1577 535, 390, 536, -1, 536, -1, 380, -1, 537, 754,
1578 538, -1, 537, 541, 538, 539, -1, -1, -1, -1,
1579 14, 766, -1, 14, 763, -1, 766, -1, 763, -1,
1580 -1, 386, 387, -1, 541, 229, 541, -1, 541, 366,
1581 541, -1, 541, 12, 541, -1, 212, 541, -1, 542,
1582 164, 327, -1, 542, 164, 212, 327, -1, 542, 164,
1583 121, -1, 542, 164, 212, 121, -1, 542, 164, 336,
1584 -1, 542, 164, 212, 336, -1, 542, -1, 542, 164,
1585 215, -1, 542, 164, 212, 215, -1, 542, 112, 543,
1586 -1, 542, 545, 543, -1, 542, 545, 546, 386, 815,
1587 387, -1, 543, -1, 544, 163, 386, 815, 387, -1,
1588 544, 212, 163, 386, 815, 387, -1, 544, 163, 386,
1589 541, 387, -1, 544, 163, 386, 541, 390, 569, 387,
1590 -1, 544, 212, 163, 386, 541, 387, -1, 544, 212,
1591 163, 386, 541, 390, 569, 387, -1, 544, 22, 544,
1592 12, 543, -1, 544, 212, 22, 544, 12, 543, -1,
1593 544, 179, 547, 627, -1, 544, 212, 179, 547, 627,
1594 -1, 544, 249, 544, -1, 544, 212, 249, 544, -1,
1595 544, -1, 544, 374, 544, -1, 544, 375, 544, -1,
1596 544, 376, 544, -1, 544, 377, 544, -1, 544, 379,
1597 544, -1, 544, 378, 544, -1, 544, 379, 159, 541,
1598 617, -1, 544, 378, 159, 541, 617, -1, 544, 380,
1599 544, -1, 544, 381, 544, -1, 544, 382, 544, -1,
1600 544, 96, 544, -1, 544, 202, 544, -1, 544, 383,
1601 544, -1, 547, -1, 370, -1, 134, -1, 372, -1,
1602 174, -1, 371, -1, 208, -1, 9, -1, 13, -1,
1603 756, -1, 548, -1, 549, -1, 551, -1, 550, -1,
1604 547, 47, 767, -1, 748, -1, 560, -1, 556, -1,
1605 547, 373, 547, -1, 379, 547, -1, 378, 547, -1,
1606 384, 547, -1, 386, 815, 387, -1, 386, 541, 387,
1607 -1, 386, 541, 390, 569, 387, -1, 267, 386, 541,
1608 390, 569, 387, -1, 118, 386, 815, 387, -1, 388,
1609 766, 541, 389, -1, 24, 547, -1, 37, 386, 541,
1610 14, 568, 387, -1, 36, 570, 572, 571, 107, -1,
1611 62, 386, 541, 390, 568, 387, -1, 87, 386, 756,
1612 387, -1, 349, 386, 756, 387, -1, 159, 541, 617,
1613 379, 541, -1, 42, 386, 569, 387, -1, 69, 540,
1614 -1, 77, 386, 541, 387, -1, 82, 386, 541, 387,
1615 -1, 144, 386, 541, 387, -1, 158, 386, 541, 390,
1616 541, 390, 541, 390, 541, 387, -1, 159, 386, 541,
1617 390, 541, 387, -1, 159, 386, 541, 390, 541, 390,
1618 569, 387, -1, 176, 386, 541, 390, 541, 387, -1,
1619 197, 386, 541, 387, -1, 203, 386, 541, 387, -1,
1620 261, 386, 541, 390, 541, 387, -1, 270, 386, 541,
1621 387, -1, 321, 386, 541, 387, -1, 326, 386, 541,
1622 387, -1, 326, 386, 175, 541, 132, 541, 387, -1,
1623 326, 386, 324, 541, 132, 541, 387, -1, 326, 386,
1624 30, 541, 132, 541, 387, -1, 326, 386, 175, 132,
1625 541, 387, -1, 326, 386, 324, 132, 541, 387, -1,
1626 326, 386, 30, 132, 541, 387, -1, 326, 386, 541,
1627 132, 541, 387, -1, 341, 386, 387, -1, 368, 386,
1628 541, 387, -1, 5, 386, 541, 390, 541, 387, -1,
1629 5, 386, 541, 390, 159, 541, 617, 387, -1, 68,
1630 540, -1, 67, 540, -1, 75, 386, 541, 390, 159,
1631 541, 617, 387, -1, 76, 386, 541, 390, 159, 541,
1632 617, 387, -1, 120, 386, 617, 132, 541, 387, -1,
1633 213, 540, -1, 213, 386, 541, 387, -1, 234, 386,
1634 544, 163, 541, 387, -1, 304, 386, 541, 390, 541,
1635 387, -1, 304, 386, 541, 390, 159, 541, 617, 387,
1636 -1, 306, 386, 541, 390, 541, 390, 541, 387, -1,
1637 306, 386, 541, 390, 541, 387, -1, 306, 386, 541,
1638 132, 541, 129, 541, 387, -1, 306, 386, 541, 132,
1639 541, 387, -1, 309, 540, -1, 309, 386, 541, 387,
1640 -1, 319, 386, 618, 390, 541, 390, 541, 387, -1,
1641 320, 386, 618, 390, 541, 390, 541, 387, -1, 345,
1642 540, -1, 344, 540, -1, 346, 540, -1, 46, 386,
1643 569, 387, -1, 48, 386, 541, 387, -1, 71, 386,
1644 387, -1, 38, 386, 387, -1, 117, 386, 541, 387,
1645 665, -1, 149, 386, 541, 390, 541, 390, 541, 387,
1646 -1, 172, 722, 386, 541, 387, -1, 194, 386, 541,
1647 387, -1, 202, 386, 541, 390, 541, 387, -1, 240,
1648 386, 541, 387, -1, 253, 386, 541, 390, 541, 387,
1649 -1, 254, 386, 541, 390, 541, 390, 541, 387, -1,
1650 328, 386, 541, 390, 541, 387, -1, 357, 386, 541,
1651 387, -1, 348, 386, 387, -1, 167, 386, 387, -1,
1652 357, 386, 541, 390, 541, 387, -1, -1, 762, 386,
1653 552, 553, 387, -1, -1, 554, -1, 555, -1, 554,
1654 390, 555, -1, 537, 541, 538, 539, -1, 19, 386,
1655 566, 387, -1, 19, 386, 95, 566, 387, -1, 63,
1656 386, 622, 380, 387, -1, 63, 386, 566, 387, -1,
1657 -1, -1, 63, 386, 95, 557, 569, 558, 387, -1,
1658 198, 386, 566, 387, -1, 198, 386, 95, 566, 387,
1659 -1, 190, 386, 566, 387, -1, 190, 386, 95, 566,
1660 387, -1, 299, 386, 566, 387, -1, 354, 386, 566,
1661 387, -1, 298, 386, 566, 387, -1, 356, 386, 566,
1662 387, -1, 307, 386, 566, 387, -1, 307, 386, 95,
1663 566, 387, -1, -1, 136, 386, 563, 559, 569, 565,
1664 564, 387, -1, -1, 392, 561, 562, -1, 785, 280,
1665 541, -1, 785, -1, 392, 781, 785, 491, -1, -1,
1666 95, -1, -1, 274, 746, -1, -1, 635, -1, -1,
1667 622, 567, 541, -1, 24, 446, -1, 28, -1, 283,
1668 -1, 283, 161, -1, 161, -1, 338, -1, 338, 161,
1669 -1, 42, 446, -1, 77, -1, 322, -1, 74, -1,
1670 85, 444, -1, 541, -1, 569, 390, 541, -1, -1,
1671 541, -1, -1, 104, 541, -1, 360, 541, 318, 541,
1672 -1, 572, 360, 541, 318, 541, -1, 586, -1, 577,
1673 -1, 576, -1, 573, -1, 388, 766, 573, 389, -1,
1674 575, -1, 576, 390, 575, -1, 573, 585, 573, -1,
1675 573, 302, 586, -1, -1, 573, 585, 573, 220, 578,
1676 541, -1, -1, 573, 302, 586, 220, 579, 541, -1,
1677 -1, 573, 585, 573, 343, 580, 386, 616, 387, -1,
1678 573, 207, 168, 586, -1, -1, 573, 176, 602, 168,
1679 573, 220, 581, 541, -1, -1, 573, 176, 602, 168,
1680 586, 582, 343, 386, 616, 387, -1, 573, 207, 176,
1681 602, 168, 586, -1, -1, 573, 261, 602, 168, 573,
1682 220, 583, 541, -1, -1, 573, 261, 602, 168, 586,
1683 584, 343, 386, 616, 387, -1, 573, 207, 261, 602,
1684 168, 586, -1, 168, -1, 155, 168, -1, 65, 168,
1685 -1, -1, 587, 759, 621, 611, -1, 601, 600, 597,
1686 -1, 386, 600, 588, 387, 621, -1, 595, 634, 640,
1687 -1, -1, -1, 588, 334, 811, 589, 812, 590, 634,
1688 640, -1, 592, -1, -1, -1, 593, 529, 535, 594,
1689 428, 534, -1, -1, 600, 596, 576, -1, -1, -1,
1690 598, 529, 535, 599, 428, -1, -1, 272, -1, -1,
1691 230, -1, -1, 129, 168, -1, 129, 228, 32, -1,
1692 129, 137, 32, -1, 127, -1, 150, -1, -1, 604,
1693 477, 603, 606, 386, 615, 387, -1, -1, 342, 477,
1694 603, 607, 386, 613, 387, -1, 605, -1, 608, 605,
1695 -1, -1, -1, 610, 608, -1, -1, 612, 609, -1,
1696 -1, 615, -1, 766, -1, 237, -1, 614, -1, 615,
1697 390, 614, -1, 766, -1, 616, 390, 766, -1, 619,
1698 -1, 78, -1, 79, -1, 80, -1, 81, -1, 141,
1699 -1, 142, -1, 143, -1, 195, -1, 196, -1, 269,
1700 -1, 367, -1, 619, -1, 131, -1, 82, -1, 359,
1701 -1, 144, -1, 197, -1, 203, -1, 240, -1, 270,
1702 -1, 194, -1, 368, -1, -1, 14, -1, -1, 620,
1703 766, -1, -1, 9, -1, -1, -1, 361, 624, 541,
1704 -1, -1, -1, 139, 626, 541, -1, 115, 547, -1,
1705 -1, -1, 137, 32, 629, 630, -1, 629, 390, 755,
1706 638, -1, 755, 638, -1, -1, 363, -1, 228, 32,
1707 632, -1, 632, 390, 633, -1, 633, -1, 756, 638,
1708 -1, -1, 635, -1, -1, 228, 32, 636, 637, -1,
1709 637, 390, 755, 638, -1, 755, 638, -1, -1, 15,
1710 -1, 90, -1, -1, 641, -1, -1, 641, -1, 180,
1711 642, -1, 643, -1, 643, 390, 643, -1, 643, 219,
1712 643, -1, 330, -1, 187, -1, 216, -1, -1, 180,
1713 643, -1, 216, -1, 140, -1, 187, -1, 330, -1,
1714 84, -1, 125, -1, 216, -1, 330, -1, 187, -1,
1715 84, -1, 125, -1, -1, 648, 649, -1, 649, 390,
1716 650, -1, 650, -1, 392, 785, -1, -1, 160, 652,
1717 653, -1, -1, 231, 765, 654, 733, 736, -1, 100,
1718 765, -1, 647, -1, 99, 38, 761, -1, 99, 660,
1719 790, 659, 657, -1, -1, 99, 497, 153, 766, 220,
1720 759, 656, -1, 99, 71, 659, 760, -1, 658, -1,
1721 657, 390, 658, -1, 759, -1, -1, 149, 118, -1,
1722 -1, 314, -1, 117, 662, 663, 664, 665, -1, 785,
1723 -1, 392, 785, -1, -1, 362, 214, 259, -1, -1,
1724 56, -1, -1, 357, -1, -1, -1, 158, 667, 505,
1725 672, 668, 674, 690, -1, -1, -1, 254, 670, 672,
1726 671, 674, -1, 160, 673, -1, 673, -1, 658, -1,
1727 677, -1, 386, 387, 677, -1, 386, 676, 387, 677,
1728 -1, -1, 279, 675, 681, -1, 676, 390, 753, -1,
1729 753, -1, 349, 680, -1, 350, 680, -1, -1, 408,
1730 678, 804, -1, -1, 386, 408, 387, 679, 807, -1,
1731 680, 390, 685, -1, 685, -1, 681, 390, 682, -1,
1732 682, -1, 756, 683, 689, -1, 370, -1, 280, -1,
1733 -1, 370, -1, -1, 386, 686, 687, 387, -1, -1,
1734 688, -1, 688, 390, 689, -1, 689, -1, 541, -1,
1735 87, -1, -1, -1, 220, 101, 691, 171, 339, 696,
1736 -1, -1, 339, 505, 759, 279, 694, 693, 623, 634,
1737 644, -1, 694, 390, 695, -1, 695, -1, 756, 683,
1738 689, -1, 696, 390, 697, -1, 697, -1, 756, 683,
1739 689, -1, -1, 89, 700, 132, 759, 699, 623, 634,
1740 644, -1, -1, 150, -1, 328, 702, 658, -1, -1,
1741 313, -1, -1, 282, 704, 705, -1, 72, 708, -1,
1742 310, 706, 708, -1, 314, 310, 708, -1, 313, 297,
1743 706, 708, -1, 49, 707, 759, 706, 708, -1, 479,
1744 707, 759, 706, 623, -1, 63, 386, 380, 387, 358,
1745 -1, 63, 386, 380, 387, 113, -1, 358, 639, -1,
1746 113, 639, -1, 780, 297, 708, -1, 768, 297, -1,
1747 64, 313, 759, -1, 239, -1, 780, 353, 708, -1,
1748 64, 71, 415, 766, -1, -1, 707, 766, -1, 132,
1749 -1, 163, -1, -1, 179, 763, -1, 361, 541, -1,
1750 -1, 712, 759, 710, 714, -1, -1, 712, 713, 711,
1751 518, -1, 90, -1, 91, -1, -1, 119, -1, -1,
1752 746, -1, 766, -1, -1, 126, 716, 717, -1, 717,
1753 390, 718, -1, 718, -1, -1, 790, 719, 720, -1,
1754 310, 362, 244, 185, -1, 186, -1, 297, -1, 135,
1755 297, -1, -1, 657, -1, 172, 722, 541, -1, -1,
1756 58, -1, 241, -1, 342, 760, -1, -1, -1, -1,
1757 -1, 182, 729, 725, 730, 154, 765, 726, 731, 160,
1758 727, 313, 759, 728, 733, 736, 739, 741, 744, -1,
1759 73, -1, -1, 56, -1, -1, 254, -1, 150, -1,
1760 -1, 14, -1, 254, -1, 150, -1, 254, 14, -1,
1761 150, 14, -1, -1, 49, 734, -1, 734, 735, -1,
1762 735, -1, 315, 32, 746, -1, 227, 106, 32, 746,
1763 -1, 106, 32, 746, -1, 114, 32, 746, -1, -1,
1764 181, 737, -1, 737, 738, -1, 738, -1, 315, 32,
1765 746, -1, 295, 32, 746, -1, -1, 150, 216, 740,
1766 -1, 181, -1, 265, -1, -1, 386, 742, 387, -1,
1767 386, 387, -1, 742, 390, 743, -1, 743, -1, 756,
1768 -1, 392, 785, -1, -1, 279, 696, -1, 764, -1,
1769 745, 764, -1, 764, -1, 140, -1, 25, -1, 748,
1770 -1, 379, 752, -1, 378, 752, -1, 745, -1, 752,
1771 -1, 215, -1, 121, -1, 327, -1, 140, -1, 25,
1772 -1, 77, 745, -1, 321, 745, -1, 745, -1, 140,
1773 -1, 25, -1, 752, -1, 215, -1, 379, 752, -1,
1774 378, 752, -1, 215, -1, 121, -1, 327, -1, 745,
1775 -1, 215, -1, 752, -1, 77, 745, -1, 321, 745,
1776 -1, 216, -1, 187, -1, 330, -1, 84, -1, 125,
1777 -1, 756, -1, 754, -1, 766, 391, 380, -1, 766,
1778 391, 766, 391, 380, -1, 541, -1, 766, -1, 757,
1779 -1, 766, 391, 766, -1, 391, 766, 391, 766, -1,
1780 766, 391, 766, 391, 766, -1, 766, -1, 766, 391,
1781 766, 391, 766, -1, 766, 391, 766, -1, 391, 766,
1782 -1, 766, -1, 760, 391, 766, -1, 391, 766, -1,
1783 766, -1, 766, -1, 145, -1, 148, -1, 316, -1,
1784 316, -1, 316, -1, 762, -1, 770, -1, 762, -1,
1785 763, -1, 762, -1, 763, -1, 321, -1, 291, -1,
1786 147, -1, 771, -1, 21, -1, 43, -1, 45, -1,
1787 51, -1, 53, -1, 61, -1, 83, -1, 98, -1,
1788 107, -1, 126, -1, 214, -1, 224, -1, 262, -1,
1789 268, -1, 271, -1, 277, -1, 283, -1, 296, -1,
1790 300, -1, 328, -1, 4, -1, 5, -1, 7, -1,
1791 8, -1, 13, -1, 17, -1, 18, -1, 19, -1,
1792 26, -1, 29, -1, 28, -1, 31, -1, 35, -1,
1793 39, -1, 46, -1, 48, -1, 49, -1, 52, -1,
1794 54, -1, 55, -1, 56, -1, 58, -1, 59, -1,
1795 66, -1, 73, -1, 72, -1, 74, -1, 77, -1,
1796 82, -1, 93, -1, 94, -1, 100, -1, 101, -1,
1797 102, -1, 108, -1, 111, -1, 110, -1, 113, -1,
1798 115, -1, 116, -1, 119, -1, 130, -1, 105, -1,
1799 133, -1, 122, -1, 123, -1, 124, -1, 131, -1,
1800 135, -1, 138, -1, 144, -1, 146, -1, 151, -1,
1801 152, -1, 165, -1, 167, -1, 170, -1, 173, -1,
1802 177, -1, 183, -1, 184, -1, 186, -1, 191, -1,
1803 192, -1, 193, -1, 194, -1, 197, -1, 201, -1,
1804 199, -1, 203, -1, 205, -1, 204, -1, 206, -1,
1805 210, -1, 209, -1, 211, -1, 218, -1, 219, -1,
1806 221, -1, 222, -1, 223, -1, 233, -1, 236, -1,
1807 238, -1, 239, -1, 240, -1, 241, -1, 247, -1,
1808 252, -1, 258, -1, 263, -1, 264, -1, 265, -1,
1809 266, -1, 267, -1, 270, -1, 276, -1, 275, -1,
1810 278, -1, 284, -1, 281, -1, 285, -1, 297, -1,
1811 303, -1, 304, -1, 305, -1, 308, -1, 310, -1,
1812 311, -1, 314, -1, 317, -1, 325, -1, 322, -1,
1813 319, -1, 320, -1, 329, -1, 331, -1, 332, -1,
1814 336, -1, 348, -1, 341, -1, 353, -1, 350, -1,
1815 358, -1, 359, -1, 364, -1, 368, -1, -1, 279,
1816 774, 773, 775, -1, -1, 226, -1, 776, -1, 775,
1817 390, 776, -1, -1, 777, 782, -1, 779, -1, 135,
1818 -1, 183, -1, 278, -1, -1, 221, -1, -1, 135,
1819 -1, 183, -1, 278, -1, -1, 135, 391, -1, 183,
1820 391, -1, 278, 391, -1, 783, -1, 779, 784, -1,
1821 778, 787, 683, 789, -1, 778, 325, 165, 177, 788,
1822 -1, 392, 785, 683, 541, -1, 392, 392, 781, 787,
1823 683, 789, -1, 786, -1, 763, -1, 178, -1, 769,
1824 -1, 762, -1, 786, -1, 244, 331, -1, 244, 52,
1825 -1, 252, 244, -1, 275, -1, 541, -1, 87, -1,
1826 220, -1, 9, -1, 24, -1, 313, -1, 310, -1,
1827 -1, 337, 792, 790, -1, -1, 21, 794, 795, -1,
1828 -1, 364, -1, -1, 12, 214, 39, -1, 12, 39,
1829 -1, -1, 250, -1, 214, 250, -1, -1, 268, -1,
1830 53, 795, 796, 797, -1, 262, 795, 796, 797, -1,
1831 262, 795, 323, 798, 803, -1, 268, 803, -1, 250,
1832 268, 803, -1, 762, -1, -1, 805, -1, -1, 334,
1833 811, 806, 519, -1, -1, 805, -1, 808, -1, -1,
1834 809, 810, -1, 635, 639, -1, 641, -1, -1, 95,
1835 -1, 9, -1, 272, 591, -1, 386, 521, 387, -1,
1836 812, -1, -1, 813, 334, 811, 814, 812, -1, 816,
1837 813, 817, -1, -1, -1
1841 static const yytype_uint16 yyrline[] =
1843 0, 809, 809, 821, 825, 826, 831, 832, 833, 834,
1844 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
1845 845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
1846 855, 856, 862, 867, 866, 881, 880, 894, 893, 904,
1847 907, 906, 911, 913, 915, 920, 922, 921, 927, 926,
1848 934, 944, 954, 975, 953, 989, 990, 991, 992, 993,
1849 997, 998, 999, 1003, 1008, 1012, 1016, 1020, 1024, 1028,
1850 1035, 1036, 1040, 1041, 1044, 1046, 1050, 1051, 1055, 1056,
1851 1057, 1060, 1063, 1067, 1071, 1075, 1079, 1083, 1087, 1091,
1852 1095, 1099, 1103, 1107, 1108, 1112, 1113, 1117, 1118, 1122,
1853 1127, 1137, 1144, 1145, 1146, 1147, 1148, 1149, 1153, 1160,
1854 1161, 1165, 1166, 1170, 1171, 1175, 1176, 1183, 1187, 1192,
1855 1196, 1200, 1206, 1208, 1212, 1216, 1217, 1221, 1226, 1225,
1856 1251, 1255, 1259, 1266, 1270, 1274, 1278, 1287, 1286, 1297,
1857 1301, 1306, 1313, 1320, 1324, 1328, 1332, 1336, 1340, 1344,
1858 1348, 1355, 1357, 1359, 1364, 1368, 1375, 1379, 1383, 1391,
1859 1392, 1394, 1399, 1407, 1408, 1412, 1413, 1414, 1418, 1419,
1860 1423, 1424, 1429, 1430, 1432, 1437, 1441, 1453, 1457, 1461,
1861 1468, 1469, 1471, 1478, 1483, 1484, 1486, 1493, 1498, 1499,
1862 1503, 1504, 1508, 1510, 1517, 1530, 1535, 1536, 1540, 1541,
1863 1545, 1547, 1551, 1555, 1562, 1567, 1568, 1572, 1573, 1577,
1864 1579, 1586, 1593, 1597, 1602, 1603, 1614, 1625, 1626, 1630,
1865 1631, 1634, 1636, 1640, 1648, 1649, 1653, 1655, 1664, 1665,
1866 1667, 1669, 1675, 1679, 1684, 1689, 1695, 1704, 1705, 1706,
1867 1707, 1708, 1712, 1716, 1717, 1721, 1722, 1726, 1727, 1731,
1868 1732, 1733, 1737, 1738, 1742, 1754, 1755, 1759, 1760, 1764,
1869 1765, 1769, 1773, 1774, 1776, 1781, 1782, 1786, 1787, 1791,
1870 1792, 1804, 1805, 1809, 1810, 1814, 1815, 1823, 1822, 1839,
1871 1838, 1855, 1857, 1863, 1869, 1874, 1877, 1881, 1888, 1889,
1872 1893, 1903, 1904, 1910, 1918, 1917, 1925, 1938, 1924, 1952,
1873 1962, 1966, 1970, 1974, 1984, 1993, 2000, 2007, 2033, 2043,
1874 2049, 2055, 2064, 2065, 2069, 2070, 2074, 2075, 2079, 2086,
1875 2087, 2088, 2092, 2099, 2100, 2108, 2107, 2117, 2116, 2126,
1876 2125, 2134, 2135, 2139, 2156, 2164, 2165, 2169, 2174, 2179,
1877 2184, 2189, 2188, 2207, 2214, 2207, 2221, 2222, 2223, 2224,
1878 2225, 2229, 2238, 2240, 2245, 2246, 2250, 2260, 2273, 2283,
1879 2297, 2298, 2304, 2306, 2308, 2316, 2318, 2322, 2330, 2331,
1880 2332, 2340, 2344, 2363, 2370, 2377, 2378, 2379, 2380, 2381,
1881 2385, 2386, 2391, 2440, 2445, 2486, 2488, 2492, 2496, 2500,
1882 2504, 2508, 2512, 2516, 2520, 2524, 2528, 2532, 2536, 2540,
1883 2544, 2549, 2553, 2559, 2563, 2571, 2575, 2581, 2585, 2589,
1884 2599, 2610, 2614, 2618, 2622, 2626, 2630, 2634, 2638, 2642,
1885 2646, 2650, 2654, 2658, 2662, 2666, 2670, 2674, 2675, 2676,
1886 2677, 2678, 2679, 2683, 2684, 2688, 2689, 2690, 2691, 2692,
1887 2693, 2698, 2699, 2700, 2704, 2708, 2709, 2713, 2717, 2721,
1888 2722, 2727, 2732, 2736, 2737, 2742, 2749, 2751, 2758, 2763,
1889 2768, 2780, 2782, 2790, 2792, 2794, 2796, 2798, 2806, 2813,
1890 2815, 2817, 2819, 2821, 2823, 2825, 2827, 2829, 2831, 2833,
1891 2835, 2837, 2839, 2841, 2849, 2865, 2870, 2872, 2877, 2882,
1892 2884, 2886, 2888, 2893, 2898, 2900, 2905, 2907, 2918, 2928,
1893 2939, 2949, 2954, 2959, 2961, 2963, 2968, 2973, 2986, 2988,
1894 2990, 2998, 3006, 3021, 3025, 3040, 3042, 3044, 3046, 3048,
1895 3050, 3052, 3061, 3069, 3077, 3099, 3098, 3141, 3142, 3146,
1896 3151, 3159, 3179, 3181, 3183, 3185, 3188, 3190, 3187, 3193,
1897 3200, 3202, 3204, 3206, 3208, 3210, 3212, 3214, 3216, 3219,
1898 3218, 3234, 3233, 3242, 3247, 3252, 3266, 3267, 3272, 3275,
1899 3280, 3283, 3293, 3292, 3308, 3310, 3312, 3314, 3316, 3318,
1900 3320, 3322, 3324, 3326, 3328, 3330, 3335, 3340, 3348, 3349,
1901 3353, 3354, 3358, 3364, 3375, 3376, 3384, 3395, 3396, 3402,
1902 3403, 3423, 3428, 3434, 3432, 3449, 3447, 3464, 3462, 3469,
1903 3478, 3476, 3493, 3492, 3502, 3513, 3511, 3528, 3527, 3537,
1904 3547, 3548, 3549, 3565, 3565, 3576, 3614, 3655, 3659, 3664,
1905 3656, 3676, 3695, 3702, 3695, 3711, 3710, 3731, 3745, 3731,
1906 3752, 3756, 3774, 3775, 3780, 3783, 3784, 3785, 3789, 3790,
1907 3795, 3794, 3800, 3799, 3807, 3808, 3811, 3813, 3813, 3817,
1908 3817, 3822, 3823, 3827, 3829, 3834, 3835, 3839, 3844, 3852,
1909 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862,
1910 3863, 3867, 3868, 3886, 3887, 3888, 3889, 3890, 3891, 3892,
1911 3893, 3894, 3897, 3899, 3903, 3904, 3910, 3912, 3916, 3918,
1912 3917, 3931, 3934, 3933, 3948, 3954, 3964, 3966, 3970, 3972,
1913 3977, 3978, 4002, 4006, 4007, 4011, 4022, 4024, 4029, 4028,
1914 4037, 4041, 4048, 4049, 4050, 4055, 4060, 4064, 4065, 4069,
1915 4073, 4080, 4087, 4097, 4098, 4099, 4104, 4107, 4116, 4117,
1916 4118, 4119, 4120, 4121, 4125, 4126, 4127, 4128, 4129, 4133,
1917 4133, 4142, 4143, 4147, 4166, 4165, 4172, 4171, 4178, 4187,
1918 4196, 4200, 4207, 4207, 4223, 4233, 4234, 4238, 4246, 4247,
1919 4251, 4252, 4260, 4267, 4271, 4277, 4278, 4282, 4283, 4287,
1920 4288, 4297, 4305, 4296, 4315, 4321, 4314, 4330, 4331, 4335,
1921 4343, 4344, 4345, 4347, 4346, 4355, 4356, 4360, 4361, 4363,
1922 4362, 4368, 4367, 4375, 4376, 4380, 4381, 4385, 4393, 4394,
1923 4398, 4399, 4404, 4403, 4414, 4415, 4419, 4423, 4430, 4431,
1924 4434, 4436, 4436, 4444, 4443, 4470, 4471, 4475, 4483, 4484,
1925 4488, 4499, 4498, 4511, 4512, 4516, 4524, 4526, 4533, 4532,
1926 4544, 4550, 4556, 4562, 4568, 4574, 4579, 4583, 4587, 4591,
1927 4595, 4600, 4605, 4610, 4615, 4620, 4627, 4628, 4632, 4633,
1928 4636, 4638, 4642, 4653, 4652, 4661, 4660, 4669, 4670, 4674,
1929 4675, 4679, 4680, 4681, 4692, 4691, 4700, 4701, 4706, 4705,
1930 4711, 4716, 4721, 4726, 4734, 4735, 4741, 4748, 4749, 4750,
1931 4756, 4767, 4775, 4782, 4787, 4766, 4802, 4805, 4806, 4813,
1932 4814, 4815, 4819, 4820, 4821, 4822, 4823, 4824, 4827, 4829,
1933 4833, 4834, 4838, 4843, 4849, 4854, 4861, 4863, 4867, 4868,
1934 4872, 4877, 4884, 4886, 4894, 4895, 4899, 4900, 4901, 4905,
1935 4907, 4912, 4913, 4918, 4919, 4925, 4929, 4936, 4940, 4949,
1936 4961, 4962, 4963, 4971, 4972, 4973, 4978, 4979, 4980, 4981,
1937 4982, 4983, 4987, 4988, 4989, 4990, 4991, 4996, 4997, 5005,
1938 5010, 5014, 5021, 5022, 5027, 5028, 5029, 5033, 5038, 5043,
1939 5045, 5053, 5068, 5069, 5073, 5077, 5084, 5088, 5092, 5096,
1940 5100, 5104, 5111, 5115, 5122, 5129, 5136, 5140, 5144, 5151,
1941 5155, 5159, 5163, 5178, 5185, 5192, 5199, 5200, 5207, 5208,
1942 5212, 5213, 5217, 5218, 5219, 5224, 5225, 5226, 5227, 5228,
1943 5229, 5230, 5231, 5232, 5233, 5234, 5235, 5236, 5237, 5238,
1944 5239, 5240, 5241, 5242, 5243, 5244, 5254, 5255, 5256, 5257,
1945 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267,
1946 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5275, 5276, 5277,
1947 5278, 5279, 5280, 5281, 5282, 5283, 5284, 5285, 5286, 5287,
1948 5288, 5289, 5290, 5291, 5292, 5293, 5294, 5295, 5296, 5297,
1949 5298, 5299, 5300, 5301, 5302, 5303, 5304, 5305, 5306, 5307,
1950 5308, 5309, 5310, 5311, 5312, 5313, 5314, 5315, 5316, 5317,
1951 5318, 5319, 5320, 5321, 5322, 5323, 5324, 5325, 5326, 5327,
1952 5328, 5329, 5330, 5331, 5332, 5333, 5334, 5335, 5336, 5337,
1953 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5345, 5346, 5347,
1954 5348, 5349, 5350, 5351, 5352, 5353, 5354, 5355, 5356, 5357,
1955 5358, 5359, 5360, 5361, 5362, 5363, 5364, 5365, 5366, 5367,
1956 5368, 5369, 5370, 5371, 5372, 5373, 5374, 5375, 5376, 5377,
1957 5378, 5379, 5380, 5387, 5386, 5395, 5396, 5400, 5401, 5405,
1958 5405, 5411, 5412, 5413, 5414, 5418, 5419, 5423, 5424, 5425,
1959 5426, 5430, 5431, 5432, 5433, 5437, 5438, 5442, 5453, 5461,
1960 5465, 5472, 5473, 5474, 5478, 5482, 5486, 5501, 5502, 5503,
1961 5504, 5508, 5509, 5510, 5511, 5512, 5516, 5517, 5522, 5521,
1962 5531, 5530, 5538, 5539, 5544, 5545, 5546, 5551, 5552, 5553,
1963 5557, 5558, 5562, 5569, 5573, 5580, 5587, 5594, 5603, 5604,
1964 5609, 5608, 5624, 5625, 5626, 5630, 5630, 5651, 5652, 5656,
1965 5657, 5658, 5662, 5666, 5673, 5676, 5674, 5689, 5696, 5715
1969 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1972 static const char *
const yytname[] =
1974 "$end",
"error",
"$undefined",
"ABORT_SYM",
"ACTION",
"ADDDATE_SYM",
1975 "ADD_SYM",
"AFTER_SYM",
"AGGREGATE_SYM",
"ALL",
"ALTER_SYM",
1976 "ANALYZE_SYM",
"AND_SYM",
"ANY_SYM",
"AS",
"ASC",
"ASENSITIVE_SYM",
1977 "AT_SYM",
"AUTO_INC",
"AVG_SYM",
"BEFORE_SYM",
"BEGIN_SYM",
1978 "BETWEEN_SYM",
"BIGINT_SYM",
"BINARY",
"BIN_NUM",
"BIT_SYM",
"BLOB_SYM",
1979 "BOOLEAN_SYM",
"BOOL_SYM",
"BOTH",
"BTREE_SYM",
"BY",
"CALL_SYM",
1980 "CASCADE",
"CASCADED",
"CASE_SYM",
"CAST_SYM",
"CATALOG_SYM",
1981 "CHAIN_SYM",
"CHANGE_SYM",
"CHARSET",
"CHAR_SYM",
"CHECKSUM_SYM",
1982 "CHECK_SYM",
"CLOSE_SYM",
"COALESCE",
"COLLATE_SYM",
"COLLATION_SYM",
1983 "COLUMNS",
"COLUMN_SYM",
"COMMENT_SYM",
"COMMITTED_SYM",
"COMMIT_SYM",
1984 "COMPACT_SYM",
"COMPRESSED_SYM",
"CONCURRENT",
"CONDITION_SYM",
1985 "CONNECTION_SYM",
"CONSISTENT_SYM",
"CONSTRAINT",
"CONTAINS_SYM",
1986 "CONVERT_SYM",
"COUNT_SYM",
"CREATE",
"CROSS",
"CUBE_SYM",
"CURDATE",
1987 "CURTIME",
"CURRENT_USER",
"CURSOR_SYM",
"DATABASE",
"DATABASES",
1988 "DATA_SYM",
"DATETIME_SYM",
"DATE_ADD_INTERVAL",
"DATE_SUB_INTERVAL",
1989 "DATE_SYM",
"DAY_HOUR_SYM",
"DAY_MICROSECOND_SYM",
"DAY_MINUTE_SYM",
1990 "DAY_SECOND_SYM",
"DAY_SYM",
"DEALLOCATE_SYM",
"DECIMAL_NUM",
1991 "DECIMAL_SYM",
"DECLARE_SYM",
"DEFAULT",
"DEFINER",
"DELETE_SYM",
"DESC",
1992 "DESCRIBE",
"DETERMINISTIC_SYM",
"DISABLE_SYM",
"DISCARD",
"DISTINCT",
1993 "DIV_SYM",
"DOUBLE_SYM",
"DO_SYM",
"DROP",
"DUMPFILE",
"DUPLICATE_SYM",
1994 "DYNAMIC_SYM",
"EACH_SYM",
"ELSE",
"ENABLE_SYM",
"ENCLOSED",
"END",
1995 "ENDS_SYM",
"END_OF_INPUT",
"ENGINE_SYM",
"ENUM_SYM",
"EQUAL_SYM",
1996 "ERRORS",
"ESCAPED",
"ESCAPE_SYM",
"EXCLUSIVE_SYM",
"EXECUTE_SYM",
1997 "EXISTS",
"EXTENDED_SYM",
"EXTRACT_SYM",
"FALSE_SYM",
"FILE_SYM",
1998 "FIRST_SYM",
"FIXED_SYM",
"FLOAT_NUM",
"FLUSH_SYM",
"FORCE_SYM",
1999 "FOREIGN",
"FOR_SYM",
"FOUND_SYM",
"FRAC_SECOND_SYM",
"FROM",
"FULL",
2000 "GE",
"GLOBAL_SYM",
"GROUP_CONCAT_SYM",
"GROUP_SYM",
"HASH_SYM",
2001 "HAVING",
"HEX_NUM",
"HOUR_MICROSECOND_SYM",
"HOUR_MINUTE_SYM",
2002 "HOUR_SECOND_SYM",
"HOUR_SYM",
"IDENT",
"IDENTIFIED_SYM",
"IDENTITY_SYM",
2003 "IDENT_QUOTED",
"IF",
"IGNORE_SYM",
"IMPORT",
"INDEXES",
"INDEX_SYM",
2004 "INFILE",
"INNER_SYM",
"INOUT_SYM",
"INSENSITIVE_SYM",
"INSERT",
2005 "INTERVAL_SYM",
"INTO",
"INT_SYM",
"INVOKER",
"IN_SYM",
"IS",
2006 "ISOLATION",
"ITERATE_SYM",
"IPV6_SYM",
"JOIN_SYM",
"KEYS",
2007 "KEY_BLOCK_SIZE",
"KEY_SYM",
"KILL_SYM",
"LAST_SYM",
"LE",
"LEADING",
2008 "LEFT",
"LEVEL_SYM",
"LEX_HOSTNAME",
"LIKE",
"LIMIT",
"LINES",
"LOAD",
2009 "LOCAL_SYM",
"LOCKS_SYM",
"LOCK_SYM",
"LOGS_SYM",
"LONG_NUM",
"LONG_SYM",
2010 "MATCH",
"MAX_SYM",
"MAX_VALUE_SYM",
"MEDIUM_SYM",
"MERGE_SYM",
2011 "MICROSECOND_SYM",
"MINUTE_MICROSECOND_SYM",
"MINUTE_SECOND_SYM",
2012 "MINUTE_SYM",
"MIN_SYM",
"MODE_SYM",
"MODIFIES_SYM",
"MODIFY_SYM",
2013 "MOD_SYM",
"MONTH_SYM",
"NAMES_SYM",
"NAME_SYM",
"NATIONAL_SYM",
2014 "NATURAL",
"NE",
"NEW_SYM",
"NEXT_SYM",
"NONE_SYM",
"NOT_SYM",
"NOW_SYM",
2015 "NO_SYM",
"NULL_SYM",
"NUM",
"NUMERIC_SYM",
"OFFLINE_SYM",
"OFFSET_SYM",
2016 "ON",
"ONE_SHOT_SYM",
"ONE_SYM",
"ONLINE_SYM",
"OPEN_SYM",
"OPTIMIZE",
2017 "OPTION",
"OPTIONALLY",
"ORDER_SYM",
"OR_SYM",
"OUTER",
"OUTFILE",
2018 "OUT_SYM",
"PARTIAL",
"POSITION_SYM",
"PRECISION",
"PREV_SYM",
2019 "PRIMARY_SYM",
"PROCESS",
"PROCESSLIST_SYM",
"QUARTER_SYM",
"QUERY_SYM",
2020 "RANGE_SYM",
"READS_SYM",
"READ_SYM",
"READ_WRITE_SYM",
"REAL",
2021 "REDUNDANT_SYM",
"REFERENCES",
"REGEXP_SYM",
"RELEASE_SYM",
"RENAME",
2022 "REPEATABLE_SYM",
"REPEAT_SYM",
"REPLACE",
"REPLICATE",
"REPLICATION",
2023 "RESTRICT",
"RETURNS_SYM",
"RETURN_SYM",
"REVOKE",
"RIGHT",
2024 "ROLLBACK_SYM",
"ROLLUP_SYM",
"ROUTINE_SYM",
"ROWS_SYM",
2025 "ROW_FORMAT_SYM",
"ROW_SYM",
"SAVEPOINT_SYM",
"SECOND_MICROSECOND_SYM",
2026 "SECOND_SYM",
"SECURITY_SYM",
"SELECT_SYM",
"SENSITIVE_SYM",
2027 "SEPARATOR_SYM",
"SERIALIZABLE_SYM",
"SERIAL_SYM",
"SERVER_SYM",
2028 "SESSION_SYM",
"SET_SYM",
"SET_VAR",
"SHARE_SYM",
"SHOW",
"SIGNED_SYM",
2029 "SIMPLE_SYM",
"SNAPSHOT_SYM",
"SPECIFIC_SYM",
"SQLEXCEPTION_SYM",
2030 "SQLSTATE_SYM",
"SQLWARNING_SYM",
"SQL_BIG_RESULT",
"SQL_BUFFER_RESULT",
2031 "SQL_CALC_FOUND_ROWS",
"SQL_SMALL_RESULT",
"SQL_SYM",
"STARTING",
2032 "START_SYM",
"STATUS_SYM",
"STDDEV_SAMP_SYM",
"STD_SYM",
"STOP_SYM",
2033 "STORED_SYM",
"STRAIGHT_JOIN",
"STRING_SYM",
"SUBDATE_SYM",
2034 "SUBJECT_SYM",
"SUBSTRING",
"SUM_SYM",
"SUSPEND_SYM",
"SYSDATE",
2035 "TABLES",
"TABLESPACE",
"TABLE_REF_PRIORITY",
"TABLE_SYM",
2036 "TEMPORARY_SYM",
"TERMINATED",
"TEXT_STRING",
"TEXT_SYM",
"THEN_SYM",
2037 "TIMESTAMP_ADD",
"TIMESTAMP_DIFF",
"TIMESTAMP_SYM",
"TIME_SYM",
"TO_SYM",
2038 "TRAILING",
"TRANSACTION_SYM",
"TRIM",
"TRUE_SYM",
"TRUNCATE_SYM",
2039 "TYPE_SYM",
"ULONGLONG_NUM",
"UNCOMMITTED_SYM",
"UNDOFILE_SYM",
2040 "UNDO_SYM",
"UNION_SYM",
"UNIQUE_SYM",
"UNKNOWN_SYM",
"UNLOCK_SYM",
2041 "UNSIGNED_SYM",
"UPDATE_SYM",
"USAGE",
"USER",
"USE_SYM",
"USING",
2042 "UTC_DATE_SYM",
"UTC_TIME_SYM",
"UTC_TIMESTAMP_SYM",
"UTF8_SYM",
2043 "UUID_SYM",
"VALUES",
"VALUE_SYM",
"VARBINARY",
"VARCHAR_SYM",
2044 "VARIABLES",
"VARIANCE_SYM",
"VARYING",
"VAR_SAMP_SYM",
"WAIT_SYM",
2045 "WARNINGS",
"WEEK_SYM",
"WHEN_SYM",
"WHERE",
"WITH",
"WITH_ROLLUP_SYM",
2046 "WORK_SYM",
"WRITE_SYM",
"XOR",
"YEAR_MONTH_SYM",
"YEAR_SYM",
2047 "ZEROFILL_SYM",
"'='",
"LESS_THAN",
"GREATER_THAN",
"CONCAT",
"'|'",
2048 "'&'",
"SHIFT_RIGHT",
"SHIFT_LEFT",
"'-'",
"'+'",
"'*'",
"'/'",
"'%'",
2049 "'^'",
"'~'",
"UMINUS",
"'('",
"')'",
"'{'",
"'}'",
"','",
"'.'",
"'@'",
2050 "$accept",
"query",
"verb_clause",
"statement",
"create",
"$@1",
"$@2",
2051 "$@3",
"create_table_definition",
"$@4",
"create_select_as",
"$@5",
2052 "$@6",
"create_like",
"create_select",
"stored_select",
"$@7",
"$@8",
2053 "opt_create_database_options",
"opt_database_custom_options",
2054 "custom_database_option",
"opt_table_options",
"opt_if_not_exists",
2055 "opt_create_table_options",
"create_table_options_space_separated",
2056 "create_table_options",
"create_table_option",
"custom_engine_option",
2057 "charset",
"charset_name_or_default",
"default_charset",
2058 "default_collation",
"default_collation_schema",
"row_format",
2059 "row_format_or_text",
"opt_select_from",
"field_list",
"field_list_item",
2060 "column_def",
"key_def",
"opt_check_constraint",
"check_constraint",
2061 "opt_constraint",
"constraint",
"field_spec",
"$@9",
"field_def",
"$@10",
2062 "varchar",
"int_type",
"real_type",
"float_options",
"precision",
2063 "opt_len",
"opt_field_number_signed",
"ignored_field_number_length",
2064 "opt_zerofill",
"opt_precision",
"opt_attribute_not_null",
2065 "opt_attribute_index",
"opt_attribute",
"opt_attribute_boolean",
2066 "opt_attribute_string",
"opt_attribute_list_string",
"attribute_string",
2067 "opt_attribute_number",
"opt_attribute_list_integer",
2068 "attribute_integer",
"opt_attribute_timestamp",
2069 "opt_attribute_list_timestamp",
"attribute_timestamp",
2070 "opt_attribute_comment",
"collation_name",
"collation_name_or_default",
2071 "opt_default",
"opt_primary",
"references",
"opt_ref_list",
"ref_list",
2072 "opt_match_clause",
"opt_on_update_delete",
"delete_option",
"key_type",
2073 "constraint_key_type",
"key_or_index",
"opt_key_or_index",
2074 "keys_or_index",
"opt_unique",
"init_key_options",
"key_alg",
2075 "key_options",
"key_opts",
"key_using_alg",
"key_opt",
"btree_or_rtree",
2076 "key_list",
"key_part",
"opt_ident",
"opt_component",
"string_list",
2077 "alter",
"$@11",
"$@12",
"alter_commands",
"build_method",
"alter_list",
2078 "add_column",
"alter_list_item",
"$@13",
"$@14",
"$@15",
"opt_column",
2079 "opt_ignore",
"opt_place",
"opt_to",
"start",
"start_transaction_opts",
2080 "analyze",
"$@16",
"check",
"$@17",
"rename",
"$@18",
2081 "table_to_table_list",
"table_to_table",
"select",
"select_init",
2082 "select_paren",
"select_paren_derived",
"select_init2",
"$@19",
2083 "select_part2",
"$@20",
"$@21",
"select_into",
"select_from",
2084 "select_options",
"select_option_list",
"select_option_distinct_or_all",
2085 "select_option_small_or_big",
"select_option",
"select_lock_type",
2086 "select_item_list",
"select_item",
"remember_name",
"remember_end",
2087 "select_alias",
"optional_braces",
"expr",
"bool_pri",
"predicate",
2088 "bit_expr",
"comp_op",
"all_or_any",
"simple_expr",
2089 "function_call_keyword",
"function_call_nonkeyword",
2090 "function_call_conflict",
"function_call_generic",
"@22",
2091 "opt_udf_expr_list",
"udf_expr_list",
"udf_expr",
"sum_expr",
"$@23",
2092 "$@24",
"$@25",
"variable",
"$@26",
"variable_aux",
"opt_distinct",
2093 "opt_gconcat_separator",
"opt_gorder_clause",
"in_sum_expr",
"$@27",
2094 "cast_type",
"expr_list",
"opt_expr",
"opt_else",
"when_list",
2095 "table_ref",
"join_table_list",
"esc_table_ref",
"derived_table_list",
2096 "join_table",
"$@28",
"$@29",
"$@30",
"$@31",
"$@32",
"$@33",
"$@34",
2097 "normal_join",
"table_factor",
"$@35",
"select_derived_union",
"$@36",
2098 "$@37",
"select_init2_derived",
"select_part2_derived",
"$@38",
"$@39",
2099 "select_derived",
"$@40",
"select_derived2",
"$@41",
"$@42",
2100 "get_select_lex",
"select_derived_init",
"opt_outer",
2101 "index_hint_clause",
"index_hint_type",
"index_hint_definition",
"$@43",
2102 "$@44",
"index_hints_list",
"opt_index_hints_list",
"$@45",
2103 "opt_key_definition",
"$@46",
"opt_key_usage_list",
"key_usage_element",
2104 "key_usage_list",
"using_list",
"interval",
"interval_time_stamp",
2105 "interval_time_st",
"table_alias",
"opt_table_alias",
"opt_all",
2106 "where_clause",
"$@47",
"having_clause",
"$@48",
"opt_escape",
2107 "group_clause",
"group_list",
"olap_opt",
"alter_order_clause",
2108 "alter_order_list",
"alter_order_item",
"opt_order_clause",
2109 "order_clause",
"$@49",
"order_list",
"order_dir",
2110 "opt_limit_clause_init",
"opt_limit_clause",
"limit_clause",
2111 "limit_options",
"limit_option",
"delete_limit_clause",
"ulong_num",
2112 "ulonglong_num",
"select_var_list_init",
"$@50",
"select_var_list",
2113 "select_var_ident",
"into",
"$@51",
"into_destination",
"$@52",
"drop",
2114 "$@53",
"table_list",
"table_name",
"if_exists",
"opt_temporary",
2115 "execute",
"execute_var_or_string",
"opt_status",
"opt_concurrent",
2116 "opt_wait",
"insert",
"$@54",
"$@55",
"replace",
"$@56",
"$@57",
2117 "insert2",
"insert_table",
"insert_field_spec",
"$@58",
"fields",
2118 "insert_values",
"$@59",
"$@60",
"values_list",
"ident_eq_list",
2119 "ident_eq_value",
"equal",
"opt_equal",
"no_braces",
"$@61",
2120 "opt_values",
"values",
"expr_or_default",
"opt_insert_update",
"$@62",
2121 "update",
"$@63",
"update_list",
"update_elem",
"insert_update_list",
2122 "insert_update_elem",
"delete",
"$@64",
"opt_delete_option",
"truncate",
2123 "opt_table_sym",
"show",
"$@65",
"show_param",
"opt_db",
"from_or_in",
2124 "show_wild",
"describe",
"$@66",
"$@67",
"describe_command",
2125 "opt_extended_describe",
"opt_describe_column",
"flush",
"$@68",
2126 "flush_options",
"flush_option",
"$@69",
"opt_table_list",
"kill",
2127 "kill_option",
"use",
"load",
"$@70",
"$@71",
"$@72",
"$@73",
2128 "data_file",
"load_data_lock",
"opt_duplicate",
"opt_duplicate_as",
2129 "opt_field_term",
"field_term_list",
"field_term",
"opt_line_term",
2130 "line_term_list",
"line_term",
"opt_ignore_lines",
"lines_or_rows",
2131 "opt_field_or_var_spec",
"fields_or_vars",
"field_or_var",
2132 "opt_load_data_set_spec",
"text_literal",
"text_string",
2133 "signed_literal",
"literal",
"integer_literal",
"boolean_literal",
2134 "date_literal",
"NUM_literal",
"insert_ident",
"table_wild",
2135 "order_ident",
"simple_ident",
"simple_ident_q",
"field_ident",
2136 "table_ident",
"schema_name",
"catalog_name",
"IDENT_sys",
2137 "TEXT_STRING_sys",
"TEXT_STRING_literal",
"TEXT_STRING_filesystem",
2138 "ident",
"ident_or_text",
"engine_option_value",
2139 "keyword_exception_for_variable",
"keyword",
"keyword_sp",
"set",
"$@74",
2140 "opt_option",
"option_value_list",
"option_type_value",
"$@75",
2141 "option_type",
"option_type2",
"opt_var_type",
"opt_var_ident_type",
2142 "ext_option_value",
"sys_option_value",
"option_value",
2143 "user_variable_ident",
"internal_variable_ident",
2144 "internal_variable_name",
"isolation_types",
"set_expr_or_default",
2145 "table_or_tables",
"unlock",
"$@76",
"begin",
"$@77",
"opt_work",
2146 "opt_chain",
"opt_release",
"opt_savepoint",
"commit",
"rollback",
2147 "savepoint",
"release",
"savepoint_ident",
"union_clause",
"union_list",
2148 "$@78",
"union_opt",
"union_order_or_limit",
"$@79",
"order_or_limit",
2149 "union_option",
"query_specification",
"query_expression_body",
"$@80",
2150 "subselect",
"subselect_start",
"subselect_end", 0
2157 static const yytype_uint16 yytoknum[] =
2159 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2160 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2161 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2162 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2163 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2164 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2165 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2166 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2167 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2168 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2169 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2170 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2171 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2172 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2173 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2174 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2175 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2176 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2177 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2178 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2179 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2180 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2181 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2182 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2183 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2184 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2185 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
2186 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
2187 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2188 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2189 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2190 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2191 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2192 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2193 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2194 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
2195 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
2196 61, 625, 626, 627, 124, 38, 628, 629, 45, 43,
2197 42, 47, 37, 94, 126, 630, 40, 41, 123, 125,
2203 static const yytype_uint16 yyr1[] =
2205 0, 393, 394, 394, 395, 395, 396, 396, 396, 396,
2206 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
2207 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
2208 396, 396, 397, 398, 397, 399, 397, 400, 397, 401,
2209 402, 401, 401, 401, 401, 403, 404, 403, 405, 403,
2210 406, 407, 409, 410, 408, 411, 411, 411, 411, 411,
2211 412, 412, 412, 413, 413, 413, 413, 413, 413, 413,
2212 414, 414, 415, 415, 416, 416, 417, 417, 418, 418,
2213 418, 419, 420, 420, 420, 420, 420, 420, 420, 420,
2214 420, 420, 420, 420, 420, 421, 421, 422, 422, 423,
2215 424, 425, 426, 426, 426, 426, 426, 426, 427, 428,
2216 428, 429, 429, 430, 430, 431, 431, 432, 432, 432,
2217 432, 432, 433, 433, 434, 435, 435, 436, 438, 437,
2218 439, 439, 439, 439, 439, 439, 439, 440, 439, 439,
2219 439, 439, 439, 439, 439, 439, 439, 439, 439, 439,
2220 439, 441, 441, 441, 442, 442, 443, 443, 443, 444,
2221 444, 444, 445, 446, 446, 447, 447, 447, 448, 448,
2222 449, 449, 450, 450, 450, 451, 451, 452, 452, 452,
2223 453, 453, 453, 453, 454, 454, 454, 454, 455, 455,
2224 456, 456, 457, 457, 457, 457, 458, 458, 459, 459,
2225 460, 460, 460, 460, 460, 461, 461, 462, 462, 463,
2226 463, 463, 463, 463, 464, 464, 465, 466, 466, 467,
2227 467, 468, 468, 469, 470, 470, 471, 471, 472, 472,
2228 472, 472, 473, 473, 473, 473, 473, 474, 474, 474,
2229 474, 474, 475, 476, 476, 477, 477, 478, 478, 479,
2230 479, 479, 480, 480, 481, 482, 482, 483, 483, 484,
2231 484, 485, 486, 486, 486, 487, 487, 488, 488, 489,
2232 489, 490, 490, 491, 491, 492, 492, 494, 493, 495,
2233 493, 496, 496, 496, 496, 497, 497, 497, 498, 498,
2234 499, 500, 500, 500, 501, 500, 502, 503, 500, 500,
2235 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
2236 500, 500, 504, 504, 505, 505, 506, 506, 506, 507,
2237 507, 507, 508, 509, 509, 511, 510, 513, 512, 515,
2238 514, 516, 516, 517, 518, 519, 519, 520, 520, 521,
2239 521, 523, 522, 525, 526, 524, 527, 527, 527, 527,
2240 527, 528, 529, 529, 530, 530, 531, 531, 532, 532,
2241 533, 533, 533, 533, 533, 534, 534, 534, 535, 535,
2242 535, 536, 536, 537, 538, 539, 539, 539, 539, 539,
2243 540, 540, 541, 541, 541, 541, 541, 541, 541, 541,
2244 541, 541, 541, 542, 542, 542, 542, 542, 542, 543,
2245 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
2246 543, 543, 544, 544, 544, 544, 544, 544, 544, 544,
2247 544, 544, 544, 544, 544, 544, 544, 545, 545, 545,
2248 545, 545, 545, 546, 546, 547, 547, 547, 547, 547,
2249 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
2250 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
2251 547, 548, 548, 548, 548, 548, 548, 548, 548, 548,
2252 548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
2253 548, 548, 548, 548, 548, 549, 549, 549, 549, 549,
2254 549, 549, 549, 549, 549, 549, 549, 549, 549, 549,
2255 549, 549, 549, 549, 549, 549, 549, 549, 550, 550,
2256 550, 550, 550, 550, 550, 550, 550, 550, 550, 550,
2257 550, 550, 550, 550, 550, 552, 551, 553, 553, 554,
2258 554, 555, 556, 556, 556, 556, 557, 558, 556, 556,
2259 556, 556, 556, 556, 556, 556, 556, 556, 556, 559,
2260 556, 561, 560, 562, 562, 562, 563, 563, 564, 564,
2261 565, 565, 567, 566, 568, 568, 568, 568, 568, 568,
2262 568, 568, 568, 568, 568, 568, 569, 569, 570, 570,
2263 571, 571, 572, 572, 573, 573, 574, 575, 575, 576,
2264 576, 577, 577, 578, 577, 579, 577, 580, 577, 577,
2265 581, 577, 582, 577, 577, 583, 577, 584, 577, 577,
2266 585, 585, 585, 587, 586, 586, 586, 588, 589, 590,
2267 588, 591, 593, 594, 592, 596, 595, 598, 599, 597,
2268 600, 601, 602, 602, 603, 603, 603, 603, 604, 604,
2269 606, 605, 607, 605, 608, 608, 609, 610, 609, 612,
2270 611, 613, 613, 614, 614, 615, 615, 616, 616, 617,
2271 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
2272 617, 618, 618, 619, 619, 619, 619, 619, 619, 619,
2273 619, 619, 620, 620, 621, 621, 622, 622, 623, 624,
2274 623, 625, 626, 625, 627, 627, 628, 628, 629, 629,
2275 630, 630, 631, 632, 632, 633, 634, 634, 636, 635,
2276 637, 637, 638, 638, 638, 639, 639, 640, 640, 641,
2277 642, 642, 642, 643, 643, 643, 644, 644, 645, 645,
2278 645, 645, 645, 645, 646, 646, 646, 646, 646, 648,
2279 647, 649, 649, 650, 652, 651, 654, 653, 653, 653,
2280 655, 655, 656, 655, 655, 657, 657, 658, 659, 659,
2281 660, 660, 661, 662, 662, 663, 663, 664, 664, 665,
2282 665, 667, 668, 666, 670, 671, 669, 672, 672, 673,
2283 674, 674, 674, 675, 674, 676, 676, 677, 677, 678,
2284 677, 679, 677, 680, 680, 681, 681, 682, 683, 683,
2285 684, 684, 686, 685, 687, 687, 688, 688, 689, 689,
2286 690, 691, 690, 693, 692, 694, 694, 695, 696, 696,
2287 697, 699, 698, 700, 700, 701, 702, 702, 704, 703,
2288 705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2289 705, 705, 705, 705, 705, 705, 706, 706, 707, 707,
2290 708, 708, 708, 710, 709, 711, 709, 712, 712, 713,
2291 713, 714, 714, 714, 716, 715, 717, 717, 719, 718,
2292 718, 718, 718, 718, 720, 720, 721, 722, 722, 722,
2293 723, 725, 726, 727, 728, 724, 729, 730, 730, 731,
2294 731, 731, 732, 732, 732, 732, 732, 732, 733, 733,
2295 734, 734, 735, 735, 735, 735, 736, 736, 737, 737,
2296 738, 738, 739, 739, 740, 740, 741, 741, 741, 742,
2297 742, 743, 743, 744, 744, 745, 745, 746, 746, 746,
2298 747, 747, 747, 748, 748, 748, 748, 748, 748, 748,
2299 748, 748, 749, 749, 749, 749, 749, 749, 749, 750,
2300 750, 750, 751, 751, 751, 751, 751, 752, 752, 752,
2301 752, 752, 753, 753, 754, 754, 755, 756, 756, 757,
2302 757, 757, 758, 758, 758, 758, 759, 759, 759, 760,
2303 761, 762, 762, 763, 764, 765, 766, 766, 767, 767,
2304 768, 768, 769, 769, 769, 770, 770, 770, 770, 770,
2305 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
2306 770, 770, 770, 770, 770, 770, 771, 771, 771, 771,
2307 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2308 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2309 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2310 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2311 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2312 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2313 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2314 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2315 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2316 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2317 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2318 771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
2319 771, 771, 771, 773, 772, 774, 774, 775, 775, 777,
2320 776, 778, 778, 778, 778, 779, 779, 780, 780, 780,
2321 780, 781, 781, 781, 781, 782, 782, 783, 783, 784,
2322 784, 785, 785, 785, 786, 786, 787, 788, 788, 788,
2323 788, 789, 789, 789, 789, 789, 790, 790, 792, 791,
2324 794, 793, 795, 795, 796, 796, 796, 797, 797, 797,
2325 798, 798, 799, 800, 800, 801, 802, 803, 804, 804,
2326 806, 805, 807, 807, 807, 809, 808, 810, 810, 811,
2327 811, 811, 812, 812, 813, 814, 813, 815, 816, 817
2331 static const yytype_uint8 yyr2[] =
2333 0, 2, 1, 2, 1, 1, 1, 1, 1, 1,
2334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2336 1, 1, 3, 0, 7, 0, 13, 0, 6, 5,
2337 0, 5, 4, 2, 2, 0, 0, 4, 0, 6,
2338 2, 1, 0, 0, 6, 0, 1, 2, 3, 1,
2339 1, 2, 3, 1, 3, 3, 2, 3, 3, 3,
2340 0, 1, 0, 3, 0, 1, 1, 2, 1, 2,
2341 3, 1, 3, 3, 3, 3, 3, 2, 3, 3,
2342 3, 3, 3, 1, 1, 2, 1, 1, 1, 4,
2343 4, 4, 1, 1, 1, 1, 1, 1, 1, 1,
2344 2, 1, 3, 1, 1, 2, 2, 7, 8, 8,
2345 2, 2, 0, 1, 2, 0, 1, 2, 0, 4,
2346 2, 5, 2, 2, 2, 5, 2, 0, 6, 5,
2347 2, 2, 2, 2, 3, 3, 3, 2, 2, 2,
2348 1, 2, 1, 1, 4, 4, 2, 2, 3, 0,
2349 3, 1, 5, 0, 3, 0, 1, 1, 0, 3,
2350 0, 1, 0, 3, 1, 1, 2, 2, 1, 2,
2351 0, 2, 3, 2, 0, 2, 3, 2, 0, 1,
2352 2, 1, 1, 2, 2, 1, 0, 1, 2, 1,
2353 1, 1, 3, 2, 1, 0, 1, 2, 1, 1,
2354 3, 2, 4, 1, 0, 2, 1, 1, 1, 0,
2355 1, 0, 1, 5, 0, 3, 3, 1, 0, 2,
2356 2, 2, 0, 3, 3, 6, 6, 1, 1, 2,
2357 2, 2, 1, 2, 2, 1, 1, 0, 1, 1,
2358 1, 1, 0, 1, 0, 1, 2, 0, 1, 1,
2359 2, 2, 1, 3, 2, 1, 1, 4, 2, 1,
2360 4, 0, 1, 0, 2, 1, 3, 0, 7, 0,
2361 5, 0, 2, 2, 1, 0, 1, 1, 1, 3,
2362 2, 3, 2, 4, 0, 6, 0, 0, 8, 3,
2363 4, 3, 3, 2, 2, 6, 5, 3, 3, 1,
2364 1, 1, 0, 1, 0, 1, 0, 2, 1, 0,
2365 1, 1, 3, 0, 3, 0, 4, 0, 4, 0,
2366 4, 1, 3, 3, 1, 2, 4, 2, 3, 2,
2367 3, 0, 3, 0, 0, 6, 2, 1, 1, 2,
2368 2, 7, 0, 1, 2, 1, 1, 1, 1, 1,
2369 1, 1, 1, 1, 1, 0, 2, 4, 3, 1,
2370 1, 3, 4, 0, 0, 0, 2, 2, 1, 1,
2371 0, 2, 3, 3, 3, 2, 3, 4, 3, 4,
2372 3, 4, 1, 3, 4, 3, 3, 6, 1, 5,
2373 6, 5, 7, 6, 8, 5, 6, 4, 5, 3,
2374 4, 1, 3, 3, 3, 3, 3, 3, 5, 5,
2375 3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
2376 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2377 3, 1, 1, 1, 3, 2, 2, 2, 3, 3,
2378 5, 6, 4, 4, 2, 6, 5, 6, 4, 4,
2379 5, 4, 2, 4, 4, 4, 10, 6, 8, 6,
2380 4, 4, 6, 4, 4, 4, 7, 7, 7, 6,
2381 6, 6, 6, 3, 4, 6, 8, 2, 2, 8,
2382 8, 6, 2, 4, 6, 6, 8, 8, 6, 8,
2383 6, 2, 4, 8, 8, 2, 2, 2, 4, 4,
2384 3, 3, 5, 8, 5, 4, 6, 4, 6, 8,
2385 6, 4, 3, 3, 6, 0, 5, 0, 1, 1,
2386 3, 4, 4, 5, 5, 4, 0, 0, 7, 4,
2387 5, 4, 5, 4, 4, 4, 4, 4, 5, 0,
2388 8, 0, 3, 3, 1, 4, 0, 1, 0, 2,
2389 0, 1, 0, 3, 2, 1, 1, 2, 1, 1,
2390 2, 2, 1, 1, 1, 2, 1, 3, 0, 1,
2391 0, 2, 4, 5, 1, 1, 1, 1, 4, 1,
2392 3, 3, 3, 0, 6, 0, 6, 0, 8, 4,
2393 0, 8, 0, 10, 6, 0, 8, 0, 10, 6,
2394 1, 2, 2, 0, 4, 3, 5, 3, 0, 0,
2395 8, 1, 0, 0, 6, 0, 3, 0, 0, 5,
2396 0, 1, 0, 1, 0, 2, 3, 3, 1, 1,
2397 0, 7, 0, 7, 1, 2, 0, 0, 2, 0,
2398 2, 0, 1, 1, 1, 1, 3, 1, 3, 1,
2399 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2401 1, 1, 0, 1, 0, 2, 0, 1, 0, 0,
2402 3, 0, 0, 3, 2, 0, 0, 4, 4, 2,
2403 0, 1, 3, 3, 1, 2, 0, 1, 0, 4,
2404 4, 2, 0, 1, 1, 0, 1, 0, 1, 2,
2405 1, 3, 3, 1, 1, 1, 0, 2, 1, 1,
2406 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2407 2, 3, 1, 2, 0, 3, 0, 5, 2, 1,
2408 3, 5, 0, 7, 4, 1, 3, 1, 0, 2,
2409 0, 1, 5, 1, 2, 0, 3, 0, 1, 0,
2410 1, 0, 0, 7, 0, 0, 5, 2, 1, 1,
2411 1, 3, 4, 0, 3, 3, 1, 2, 2, 0,
2412 3, 0, 5, 3, 1, 3, 1, 3, 1, 1,
2413 0, 1, 0, 4, 0, 1, 3, 1, 1, 1,
2414 0, 0, 6, 0, 9, 3, 1, 3, 3, 1,
2415 3, 0, 8, 0, 1, 3, 0, 1, 0, 3,
2416 2, 3, 3, 4, 5, 5, 5, 5, 2, 2,
2417 3, 2, 3, 1, 3, 4, 0, 2, 1, 1,
2418 0, 2, 2, 0, 4, 0, 4, 1, 1, 0,
2419 1, 0, 1, 1, 0, 3, 3, 1, 0, 3,
2420 4, 1, 1, 2, 0, 1, 3, 0, 1, 1,
2421 2, 0, 0, 0, 0, 18, 1, 0, 1, 0,
2422 1, 1, 0, 1, 1, 1, 2, 2, 0, 2,
2423 2, 1, 3, 4, 3, 3, 0, 2, 2, 1,
2424 3, 3, 0, 3, 1, 1, 0, 3, 2, 3,
2425 1, 1, 2, 0, 2, 1, 2, 1, 1, 1,
2426 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
2427 2, 2, 1, 1, 1, 1, 1, 2, 2, 1,
2428 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
2429 1, 1, 1, 1, 3, 5, 1, 1, 1, 3,
2430 4, 5, 1, 5, 3, 2, 1, 3, 2, 1,
2431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2433 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2437 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2439 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2440 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2442 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2447 1, 1, 1, 0, 4, 0, 1, 1, 3, 0,
2448 2, 1, 1, 1, 1, 0, 1, 0, 1, 1,
2449 1, 0, 2, 2, 2, 1, 2, 4, 5, 4,
2450 6, 1, 1, 1, 1, 1, 1, 2, 2, 2,
2451 1, 1, 1, 1, 1, 1, 1, 1, 0, 3,
2452 0, 3, 0, 1, 0, 3, 2, 0, 1, 2,
2453 0, 1, 4, 4, 5, 2, 3, 1, 0, 1,
2454 0, 4, 0, 1, 1, 0, 2, 2, 1, 0,
2455 1, 1, 2, 3, 1, 0, 5, 3, 0, 0
2461 static const yytype_uint16 yydefact[] =
2463 0, 285, 0, 1190, 0, 1192, 285, 823, 857, 858,
2464 760, 2, 0, 864, 771, 877, 0, 0, 0, 774,
2465 1192, 0, 343, 1145, 828, 0, 826, 1188, 314, 0,
2466 0, 0, 0, 4, 10, 6, 27, 7, 8, 20,
2467 24, 334, 13, 14, 16, 21, 30, 11, 28, 26,
2468 12, 859, 15, 17, 31, 18, 25, 29, 5, 9,
2469 22, 23, 19, 0, 287, 286, 314, 1187, 1186, 325,
2470 1192, 327, 1193, 1194, 0, 72, 71, 0, 35, 824,
2471 0, 0, 758, 761, 0, 0, 981, 994, 982, 1173,
2472 993, 983, 992, 0, 765, 1175, 1172, 1174, 763, 1171,
2473 0, 314, 878, 879, 0, 886, 881, 0, 329, 0,
2474 1194, 1207, 1205, 335, 341, 352, 1146, 1143, 1157, 323,
2475 827, 0, 0, 315, 0, 1016, 1017, 1018, 1019, 1020,
2476 1021, 1022, 1023, 996, 1024, 1026, 1025, 1027, 1028, 1029,
2477 997, 998, 1030, 1031, 1032, 999, 1033, 1000, 1034, 1035,
2478 1036, 1037, 1038, 1001, 1039, 1041, 1040, 1042, 1043, 1044,
2479 1002, 1045, 1046, 1003, 1047, 1048, 1049, 1058, 1004, 1050,
2480 1052, 1051, 1053, 1054, 1055, 1056, 1060, 1061, 1062, 1005,
2481 1057, 1063, 1059, 1064, 1065, 1066, 1067, 1068, 1069, 1070,
2482 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
2483 1081, 1082, 1084, 1083, 1085, 1087, 1086, 1088, 1090, 1089,
2484 1091, 1006, 1092, 1093, 1094, 1095, 1096, 1007, 1097, 1098,
2485 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1008, 1106, 1107,
2486 1108, 1109, 1110, 1009, 1111, 1010, 1113, 1112, 1011, 1114,
2487 1116, 1012, 1115, 1117, 1013, 1118, 1014, 1119, 1120, 1121,
2488 1122, 1123, 1124, 1125, 1126, 1129, 1130, 1128, 1127, 1015,
2489 1131, 1132, 1133, 1134, 1136, 1135, 1138, 1137, 1139, 1140,
2490 1141, 1142, 880, 986, 979, 987, 995, 343, 0, 0,
2491 1, 3, 1056, 0, 855, 853, 0, 976, 279, 0,
2492 0, 1191, 0, 0, 1197, 32, 980, 0, 0, 72,
2493 252, 0, 750, 0, 0, 0, 758, 764, 0, 767,
2494 0, 871, 872, 1187, 865, 867, 868, 0, 1017, 1023,
2495 0, 939, 578, 0, 0, 0, 1030, 1031, 0, 0,
2496 380, 380, 380, 0, 0, 0, 1043, 1044, 960, 0,
2497 0, 0, 0, 936, 961, 0, 938, 1066, 0, 0,
2498 0, 1071, 877, 0, 958, 0, 1081, 1082, 0, 0,
2499 1085, 0, 380, 935, 957, 0, 1101, 0, 0, 0,
2500 1110, 1111, 0, 0, 1120, 0, 0, 380, 984, 1129,
2501 1130, 0, 0, 937, 1015, 959, 1136, 380, 380, 380,
2502 1135, 0, 0, 0, 0, 1142, 0, 0, 0, 1228,
2503 0, 0, 551, 876, 392, 398, 411, 426, 436, 437,
2504 439, 438, 443, 442, 933, 441, 934, 435, 968, 986,
2505 925, 967, 887, 1206, 0, 0, 779, 775, 778, 757,
2506 1200, 1197, 1208, 357, 356, 359, 361, 364, 358, 360,
2507 373, 353, 363, 362, 355, 1149, 0, 0, 0, 850,
2508 715, 1158, 251, 250, 249, 1159, 843, 1160, 846, 0,
2509 0, 715, 0, 829, 990, 991, 0, 0, 0, 322,
2510 825, 1189, 0, 337, 0, 1212, 978, 0, 861, 0,
2511 219, 0, 326, 755, 328, 1196, 0, 0, 1198, 1202,
2512 0, 37, 0, 253, 0, 821, 759, 754, 0, 0,
2513 0, 768, 769, 873, 0, 0, 874, 772, 0, 686,
2514 454, 579, 0, 0, 0, 0, 0, 0, 0, 686,
2515 0, 488, 487, 462, 0, 0, 0, 0, 940, 0,
2516 0, 0, 1228, 0, 556, 0, 0, 0, 1228, 0,
2517 0, 0, 0, 686, 0, 0, 686, 0, 0, 385,
2518 0, 492, 0, 0, 0, 0, 0, 0, 0, 686,
2519 686, 0, 0, 686, 0, 501, 0, 0, 0, 941,
2520 0, 0, 0, 506, 505, 507, 0, 0, 686, 686,
2521 0, 0, 446, 445, 447, 0, 0, 0, 0, 0,
2522 0, 0, 0, 0, 0, 428, 0, 430, 432, 427,
2523 431, 429, 0, 0, 0, 0, 0, 0, 0, 0,
2524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2525 0, 0, 926, 525, 0, 888, 0, 330, 331, 0,
2526 777, 0, 1201, 0, 1203, 1219, 342, 1209, 370, 344,
2527 369, 0, 354, 1144, 1147, 1155, 848, 849, 0, 0,
2528 72, 0, 0, 0, 830, 0, 839, 716, 850, 0,
2529 846, 850, 838, 0, 841, 850, 850, 0, 0, 338,
2530 1213, 336, 1214, 0, 856, 929, 928, 854, 862, 927,
2531 863, 977, 220, 280, 0, 277, 0, 1195, 1199, 73,
2532 55, 33, 0, 688, 0, 751, 766, 770, 762, 0,
2533 866, 875, 869, 0, 0, 687, 686, 0, 562, 0,
2534 580, 0, 511, 576, 0, 0, 0, 0, 536, 0,
2535 562, 381, 510, 0, 0, 0, 0, 0, 0, 0,
2536 660, 661, 662, 663, 673, 664, 665, 666, 675, 680,
2537 667, 668, 676, 677, 678, 669, 679, 674, 670, 681,
2538 0, 659, 557, 549, 0, 0, 0, 0, 0, 523,
2539 0, 0, 686, 0, 0, 0, 686, 0, 0, 0,
2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2541 0, 0, 686, 0, 0, 672, 0, 671, 0, 0,
2542 0, 0, 0, 0, 0, 483, 522, 0, 0, 0,
2543 0, 0, 449, 0, 448, 622, 0, 1224, 1229, 0,
2544 0, 1161, 552, 554, 384, 382, 383, 395, 388, 0,
2545 393, 386, 390, 433, 1020, 396, 0, 0, 423, 1228,
2546 695, 424, 0, 0, 0, 0, 409, 412, 413, 414,
2547 415, 0, 417, 0, 416, 420, 421, 422, 425, 988,
2548 989, 440, 444, 373, 969, 0, 0, 0, 52, 783,
2549 0, 0, 0, 789, 776, 780, 1204, 1221, 1220, 1210,
2550 373, 706, 374, 374, 967, 1149, 1152, 1153, 1156, 1154,
2551 0, 1151, 1150, 1165, 846, 0, 0, 842, 851, 852,
2552 724, 725, 723, 719, 720, 831, 847, 850, 832, 846,
2553 840, 844, 324, 813, 816, 0, 0, 715, 1218, 1216,
2554 800, 219, 756, 0, 0, 38, 59, 60, 56, 63,
2555 74, 254, 689, 706, 752, 870, 810, 0, 0, 532,
2556 0, 0, 0, 0, 0, 0, 461, 0, 508, 509,
2557 0, 0, 535, 0, 0, 0, 463, 464, 458, 769,
2558 452, 0, 0, 465, 0, 0, 0, 0, 0, 0,
2559 0, 541, 515, 470, 0, 539, 0, 471, 493, 0,
2560 517, 0, 0, 0, 0, 473, 545, 543, 0, 0,
2561 0, 0, 547, 502, 0, 0, 474, 0, 0, 0,
2562 0, 0, 0, 0, 475, 0, 459, 544, 546, 521,
2563 0, 484, 0, 1222, 621, 352, 622, 0, 0, 1219,
2564 1227, 453, 970, 0, 0, 0, 0, 0, 389, 394,
2565 387, 391, 1228, 0, 0, 0, 0, 407, 0, 1228,
2566 695, 410, 0, 0, 0, 0, 528, 529, 0, 985,
2567 882, 332, 333, 352, 0, 802, 787, 794, 788, 0,
2568 0, 0, 786, 963, 962, 1208, 0, 368, 613, 744,
2569 365, 348, 717, 707, 347, 375, 371, 0, 1148, 0,
2570 1176, 0, 0, 1166, 850, 0, 845, 0, 0, 833,
2571 688, 0, 688, 799, 798, 0, 708, 1217, 801, 0,
2572 312, 312, 800, 312, 800, 0, 0, 0, 0, 312,
2573 0, 0, 0, 310, 0, 312, 0, 319, 0, 0,
2574 309, 219, 81, 93, 94, 0, 278, 284, 0, 288,
2575 311, 0, 380, 66, 0, 0, 61, 0, 57, 0,
2576 0, 125, 34, 219, 892, 75, 78, 255, 0, 0,
2577 726, 753, 0, 773, 0, 0, 533, 563, 0, 581,
2578 0, 456, 163, 565, 163, 574, 572, 159, 568, 566,
2579 573, 569, 0, 577, 0, 537, 534, 0, 0, 512,
2580 0, 560, 0, 0, 0, 460, 514, 0, 542, 540,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583 0, 0, 450, 373, 339, 0, 1223, 1225, 1162, 1163,
2584 1164, 273, 553, 0, 405, 401, 0, 399, 694, 0,
2585 0, 0, 408, 419, 418, 374, 526, 373, 971, 889,
2586 373, 784, 796, 0, 804, 0, 0, 781, 791, 0,
2587 0, 790, 1211, 631, 630, 0, 587, 688, 589, 586,
2588 585, 584, 0, 630, 739, 0, 0, 345, 350, 346,
2589 718, 349, 0, 372, 379, 378, 964, 969, 0, 0,
2590 1161, 0, 834, 837, 836, 722, 721, 835, 815, 706,
2591 809, 808, 817, 0, 218, 217, 101, 216, 313, 271,
2592 246, 245, 292, 0, 122, 271, 242, 290, 0, 0,
2593 0, 0, 0, 380, 87, 303, 282, 0, 0, 0,
2594 0, 304, 0, 0, 283, 0, 0, 321, 320, 0,
2595 0, 0, 77, 96, 0, 800, 800, 219, 125, 0,
2596 316, 122, 128, 972, 0, 67, 65, 64, 62, 58,
2597 737, 738, 736, 734, 735, 69, 68, 50, 0, 0,
2598 51, 0, 111, 113, 114, 43, 893, 895, 894, 44,
2599 0, 219, 79, 0, 256, 0, 690, 0, 822, 811,
2600 0, 485, 582, 0, 0, 564, 571, 0, 575, 161,
2601 567, 570, 455, 457, 0, 0, 0, 491, 558, 561,
2602 0, 0, 467, 0, 469, 516, 494, 518, 0, 472,
2603 451, 0, 495, 0, 500, 498, 0, 0, 0, 481,
2604 0, 479, 0, 480, 0, 482, 520, 524, 623, 340,
2605 0, 0, 555, 397, 0, 406, 403, 0, 400, 375,
2606 530, 891, 890, 0, 53, 0, 0, 0, 805, 807,
2607 793, 1212, 782, 785, 630, 613, 0, 0, 610, 632,
2608 0, 632, 613, 613, 696, 613, 682, 627, 0, 0,
2609 749, 0, 745, 366, 0, 377, 376, 0, 0, 1184,
2610 1185, 1182, 1183, 1181, 1167, 0, 0, 726, 966, 709,
2611 712, 127, 272, 0, 0, 0, 247, 121, 271, 120,
2612 123, 254, 0, 84, 294, 83, 308, 88, 271, 301,
2613 302, 299, 82, 90, 296, 702, 704, 712, 307, 86,
2614 85, 102, 103, 104, 105, 106, 107, 108, 89, 95,
2615 0, 0, 289, 0, 975, 0, 318, 291, 0, 115,
2616 116, 0, 0, 92, 91, 219, 40, 74, 125, 897,
2617 896, 0, 46, 80, 265, 266, 261, 0, 727, 0,
2618 0, 583, 0, 0, 538, 0, 0, 0, 0, 0,
2619 0, 0, 0, 0, 0, 0, 0, 0, 478, 476,
2620 477, 717, 1226, 274, 402, 0, 531, 883, 717, 795,
2621 797, 803, 0, 792, 0, 706, 625, 0, 612, 611,
2622 633, 0, 613, 632, 632, 0, 592, 591, 0, 691,
2623 590, 683, 0, 649, 615, 352, 748, 746, 0, 740,
2624 742, 0, 965, 0, 0, 1180, 1168, 0, 1169, 814,
2625 0, 713, 714, 711, 124, 271, 243, 248, 244, 254,
2626 0, 0, 0, 0, 300, 0, 0, 705, 100, 98,
2627 97, 99, 293, 317, 224, 168, 180, 184, 188, 205,
2628 180, 159, 172, 137, 159, 168, 180, 159, 172, 150,
2629 188, 205, 180, 180, 0, 153, 214, 0, 196, 196,
2630 974, 42, 1215, 892, 112, 0, 1208, 0, 0, 486,
2631 164, 160, 0, 489, 490, 559, 550, 513, 0, 468,
2632 519, 496, 499, 497, 503, 504, 365, 365, 109, 404,
2633 0, 54, 806, 1219, 682, 717, 613, 588, 613, 599,
2634 0, 0, 613, 595, 593, 597, 0, 692, 706, 685,
2635 614, 646, 373, 898, 743, 0, 367, 1178, 1177, 1179,
2636 0, 712, 0, 0, 0, 306, 0, 316, 214, 703,
2637 0, 228, 0, 165, 143, 149, 0, 0, 0, 175,
2638 222, 178, 151, 192, 195, 134, 189, 191, 0, 0,
2639 0, 209, 213, 132, 206, 208, 141, 196, 172, 0,
2640 174, 157, 0, 196, 165, 148, 196, 156, 136, 0,
2641 130, 142, 147, 0, 0, 129, 0, 201, 0, 0,
2642 200, 204, 133, 197, 199, 140, 0, 41, 39, 48,
2643 47, 0, 712, 269, 0, 0, 0, 624, 110, 0,
2644 618, 616, 617, 626, 0, 584, 613, 613, 0, 584,
2645 0, 0, 0, 700, 712, 0, 717, 650, 0, 628,
2646 0, 906, 741, 1170, 710, 0, 0, 0, 0, 0,
2647 0, 0, 305, 930, 295, 297, 0, 227, 0, 232,
2648 0, 166, 167, 170, 0, 181, 183, 0, 185, 187,
2649 194, 193, 176, 179, 190, 177, 0, 380, 953, 0,
2650 952, 211, 954, 0, 207, 144, 158, 0, 0, 146,
2651 170, 145, 0, 0, 215, 0, 944, 943, 946, 0,
2652 0, 942, 203, 945, 0, 198, 973, 1215, 257, 0,
2653 268, 0, 812, 819, 0, 162, 466, 884, 0, 600,
2654 0, 604, 609, 605, 0, 596, 594, 0, 701, 0,
2655 697, 699, 693, 351, 638, 639, 0, 0, 644, 648,
2656 717, 0, 0, 0, 0, 899, 901, 0, 747, 0,
2657 0, 257, 932, 931, 316, 225, 0, 229, 230, 231,
2658 0, 223, 169, 171, 155, 182, 950, 949, 951, 186,
2659 955, 210, 956, 380, 173, 0, 275, 154, 205, 180,
2660 188, 948, 947, 202, 49, 0, 800, 36, 258, 262,
2661 259, 712, 0, 0, 0, 898, 619, 0, 0, 0,
2662 0, 0, 657, 712, 634, 634, 645, 629, 0, 0,
2663 0, 0, 900, 0, 0, 907, 909, 0, 257, 117,
2664 298, 226, 0, 0, 212, 188, 0, 131, 139, 135,
2665 264, 0, 260, 267, 270, 818, 820, 906, 706, 601,
2666 0, 606, 0, 598, 0, 698, 0, 642, 640, 904,
2667 905, 0, 902, 0, 0, 908, 119, 118, 238, 0,
2668 237, 0, 234, 233, 138, 276, 732, 733, 729, 730,
2669 728, 731, 263, 912, 717, 0, 0, 658, 0, 635,
2670 0, 0, 0, 903, 911, 910, 240, 241, 239, 0,
2671 0, 0, 916, 620, 603, 608, 637, 636, 651, 0,
2672 0, 0, 0, 0, 923, 654, 0, 655, 652, 653,
2673 0, 236, 235, 914, 915, 913, 918, 0, 0, 920,
2674 921, 0, 885, 643, 0, 641, 922, 917, 0, 924,
2679 static const yytype_int16 yydefgoto[] =
2681 -1, 31, 32, 33, 34, 920, 300, 690, 1132, 1672,
2682 1359, 1676, 1897, 1133, 1349, 863, 1043, 1578, 915, 916,
2683 917, 77, 298, 1134, 1110, 1135, 1136, 1112, 1326, 1641,
2684 1113, 1114, 683, 1517, 1518, 1696, 1351, 1352, 1353, 1354,
2685 1489, 1490, 1293, 1294, 1331, 1531, 1666, 1772, 1667, 1668,
2686 1669, 1378, 1379, 1375, 1853, 1743, 1954, 1771, 1790, 1791,
2687 1744, 1745, 1755, 1756, 1757, 1792, 1793, 1794, 1763, 1764,
2688 1765, 1785, 1285, 1286, 1115, 1758, 1530, 1741, 1846, 1849,
2689 1951, 2052, 1295, 1488, 1296, 1628, 462, 494, 1137, 1138,
2690 1977, 1978, 1979, 1980, 1546, 1801, 1802, 1481, 1422, 1965,
2691 35, 911, 480, 1116, 66, 1117, 1118, 1119, 1633, 1635,
2692 1944, 1297, 124, 1527, 1319, 36, 469, 37, 290, 38,
2693 292, 39, 424, 627, 628, 40, 41, 279, 1008, 113,
2694 432, 114, 115, 871, 1060, 1697, 440, 441, 442, 443,
2695 444, 1257, 639, 640, 641, 1065, 1263, 521, 713, 404,
2696 405, 406, 602, 826, 407, 408, 409, 410, 411, 853,
2697 1035, 1036, 1037, 412, 941, 1384, 952, 413, 590, 812,
2698 753, 1558, 1388, 707, 930, 1162, 1002, 512, 934, 710,
2699 1246, 1247, 1248, 1249, 1250, 1821, 1820, 1822, 1987, 1910,
2700 1989, 1914, 1453, 1251, 1252, 1584, 1908, 2028, 1003, 1004,
2701 1005, 1571, 1585, 1706, 1604, 1605, 1930, 1444, 1253, 1591,
2702 2037, 1927, 1928, 2072, 2071, 1929, 1827, 1828, 1720, 1721,
2703 2096, 2097, 2098, 1991, 750, 786, 751, 1602, 1603, 708,
2704 923, 1139, 1718, 1825, 1027, 1599, 1823, 1920, 1120, 1505,
2705 1506, 1062, 1063, 1283, 1479, 1623, 656, 1698, 1260, 893,
2706 894, 1368, 2062, 1345, 1460, 1461, 1609, 1610, 1064, 1254,
2707 1462, 1723, 42, 1141, 482, 483, 304, 85, 43, 94,
2708 309, 502, 698, 44, 101, 703, 45, 109, 631, 427,
2709 428, 864, 1044, 1051, 865, 1055, 1441, 1046, 1231, 1232,
2710 1085, 1089, 1047, 1234, 1437, 1438, 1282, 1143, 1549, 46,
2711 1082, 903, 904, 1902, 1903, 47, 693, 80, 48, 121,
2712 49, 118, 463, 658, 659, 654, 50, 478, 477, 51,
2713 284, 677, 52, 100, 314, 315, 506, 702, 53, 104,
2714 54, 55, 422, 1229, 1700, 1985, 106, 626, 1433, 1360,
2715 1831, 1935, 1936, 1938, 2005, 2006, 2082, 2105, 2094, 2108,
2716 2109, 2112, 414, 678, 1842, 415, 1892, 1959, 1871, 416,
2717 1052, 1053, 1480, 417, 418, 1332, 429, 286, 295, 419,
2718 850, 420, 1040, 421, 1121, 466, 97, 275, 276, 56,
2719 445, 117, 643, 644, 645, 880, 881, 467, 1016, 882,
2720 883, 1073, 98, 99, 1071, 1616, 1474, 316, 57, 122,
2721 58, 70, 73, 294, 489, 633, 59, 60, 61, 62,
2722 112, 636, 670, 1056, 671, 672, 673, 909, 869, 807,
2723 808, 1420, 586, 587, 1010
2728 #define YYPACT_NINF -1713
2729 static const yytype_int16 yypact[] =
2731 1079, 570, 371, -1713, 371, -152, 869, 81, -1713, -1713,
2732 865, -1713, 980, -1713, -1713, 71, 163, -18, 371, -1713,
2733 -152, 735, -1713, 185, -1713, 256, 402, -1713, 508, 14739,
2734 -105, 754, 627, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2735 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2736 -1713, 11159, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2737 -1713, -1713, -1713, 14739, -1713, -1713, 508, -1713, -1713, -1713,
2738 -152, -1713, -1713, 747, 14739, 628, -1713, 451, -1713, -1713,
2739 705, 14739, 710, -1713, 764, 371, -1713, -1713, -1713, -1713,
2740 -1713, -1713, -1713, 1818, 504, -1713, -1713, -1713, -1713, -1713,
2741 1157, 508, -1713, -1713, 5493, -1713, -1713, 735, -1713, 10435,
2742 41, -1713, -1713, -1713, -1713, 854, -1713, -1713, 2338, 565,
2743 -1713, 11517, 371, -1713, 11517, -1713, -1713, -1713, -1713, -1713,
2744 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2745 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2746 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2747 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2748 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2749 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2750 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2751 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2752 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2753 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2754 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2755 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2756 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2757 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2758 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -105, 551,
2759 -1713, -1713, -92, 14739, -1713, -1713, 557, 594, -1713, 630,
2760 11517, -1713, 11517, 93, -13, -1713, -1713, 775, 14739, 628,
2761 659, 11517, -1713, 880, 14739, 14739, 710, -1713, 789, 960,
2762 745, -1713, -1713, 700, 676, -1713, -1713, 10435, 698, 716,
2763 7827, -1713, 5493, 725, 730, 734, 743, 786, 788, 808,
2764 818, 818, 818, 820, 828, 833, -119, 839, -1713, 848,
2765 860, 871, 873, -1713, -1713, 877, -1713, 884, 887, 892,
2766 5882, 903, 71, 909, -1713, 916, 919, 920, 924, 926,
2767 928, 5493, 940, -1713, -1713, 950, 956, 970, 977, 981,
2768 982, 1003, 1005, 1020, 1024, 1028, 1029, 1034, -1713, 1039,
2769 1040, -112, 1044, -1713, 1049, -1713, 1050, 818, 818, 818,
2770 1055, 1064, 1065, 1075, 1080, 1082, 7827, 7827, 7827, 5493,
2771 14739, 14739, -1713, 617, 1111, -1713, 1018, 3, -1713, -1713,
2772 -1713, -1713, -1713, -1713, 755, -1713, -1713, -1713, -1713, 1083,
2773 -1713, 731, 1094, -1713, 11517, 11517, -1713, -1713, -1713, -1713,
2774 893, -13, 930, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2775 832, 854, -1713, -1713, -1713, -1713, 756, 1089, 67, -42,
2776 1198, -1713, -1713, -1713, -1713, -1713, -1713, -1713, 756, 1148,
2777 1074, 1198, 756, -1713, -1713, -1713, 1183, -121, 1425, -1713,
2778 -1713, -1713, 1209, -1713, 1118, -35, -1713, 353, 13307, 14739,
2779 1420, 11517, 1122, -1713, 1122, -1713, 1476, 1269, -1713, -1713,
2780 1406, -1713, 11517, -1713, 1393, -1713, -1713, -1713, 1330, 11517,
2781 1300, -1713, 1204, -1713, 1320, 1157, 11517, -1713, 5493, 159,
2782 -1713, 617, 1206, 5493, 1180, 5493, 5493, 5493, 5493, 165,
2783 1185, -1713, -1713, -1713, 1189, 5493, 5493, 5493, 755, 5493,
2784 11875, 5493, -1713, 2007, 1482, 5493, 5493, 5493, 5493, 1863,
2785 1195, 1192, 5493, 181, 5493, 5493, 182, 5493, 5493, -1713,
2786 3937, -1713, 7827, 5493, 5493, 5493, 5493, 5493, 5493, 1575,
2787 1575, 5493, 5493, 732, 3937, -1713, 1571, 1571, 5493, 755,
2788 3159, 5493, 1199, -1713, -1713, -1713, 1200, 11875, 1575, 1575,
2789 5493, 5493, -1713, -1713, -1713, 34, 1207, 394, 5493, 1194,
2790 1226, 5493, 5493, 5493, 7827, -1713, 624, -1713, -1713, -1713,
2791 -1713, -1713, 6271, 7827, 7827, 1211, 7827, 7827, 579, 7827,
2792 7827, 7827, 7827, 7827, 8216, 8605, 7827, 7827, 7827, 7827,
2793 117, 7827, -1713, -1713, 14739, -1713, 1444, 1212, -1713, 1280,
2794 -1713, 607, -1713, 735, -1713, 852, -1713, -1713, -1713, 1214,
2795 -1713, 5493, -1713, 1217, -1713, 650, -1713, -1713, 11517, 1229,
2796 628, 11517, 1295, 5493, -1713, 615, -1713, -1713, -42, 14739,
2797 756, -42, -1713, 11517, -1713, -42, -42, 1329, 11875, -1713,
2798 -1713, -1713, -1713, 28, -1713, -1713, -1713, -1713, -1713, -1713,
2799 -1713, -1713, -1713, -1713, 1569, -1713, 11517, -1713, -1713, -1713,
2800 992, -1713, 14739, 1254, 11517, 1122, -1713, -1713, -1713, 1432,
2801 -1713, 1122, -1713, 607, 87, -1713, 1575, 1236, -1713, 5493,
2802 -36, 329, -1713, 617, 572, 644, 127, 99, -1713, 1238,
2803 1246, -1713, -1713, 109, 113, 144, 150, 1240, 223, 1243,
2804 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2805 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2806 1499, -1713, -1713, -1713, 247, 118, 122, 40, 1253, -1713,
2807 5493, 154, 1575, 1247, 272, 278, 1575, 1252, 161, 321,
2808 332, 1812, 333, 166, 176, 180, 194, 345, 1256, 1258,
2809 197, 53, 1575, 1260, 348, -1713, 1261, -1713, 1264, 351,
2810 4326, 4715, 5104, 91, 202, -1713, -1713, 1263, 1272, 1277,
2811 74, 357, -1713, 5493, -1713, -1713, 418, -1713, 1333, 102,
2812 14739, 599, -1713, 1388, -1713, 76, 1657, -1713, -1713, 722,
2813 -1713, -1713, -1713, -1713, 1287, -1713, 1292, 1121, 1296, 5493,
2814 8, 1296, 7827, 1294, 7827, 7827, 2015, 2165, 2203, 1654,
2815 1654, 5882, 693, 5882, 693, 1296, 1296, 1296, 1299, -1713,
2816 -1713, -1713, 1636, 1304, 1303, 1380, 11517, 11517, -1713, -1713,
2817 1313, 1313, 10068, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2818 -1713, 750, 617, -1713, 1309, -1713, -1713, -1713, -1713, -1713,
2819 1690, 1316, -1713, -1713, 756, 1318, 14739, -1713, -1713, 617,
2820 -1713, -1713, -1713, -1713, -84, -1713, -1713, -42, -1713, 756,
2821 -1713, -1713, -1713, 1319, -1713, 453, 1679, 1198, -1713, -1713,
2822 1342, 2337, -1713, 6, 1343, -1713, -1713, 82, 495, 1344,
2823 1630, -1713, -1713, 1488, -1713, -1713, 1500, 6660, 1332, -1713,
2824 5493, 92, 5493, 5493, 1614, 1618, -1713, 5493, -1713, -1713,
2825 1618, 5493, -1713, 1340, 1572, 1578, -1713, -1713, -1713, 1204,
2826 -1713, 5493, 5493, -1713, 5493, 5493, 5493, 5493, 362, 5493,
2827 1351, -1713, -1713, -1713, 1355, -1713, 5493, -1713, -1713, 5493,
2828 -1713, 5493, 5493, 5493, 5493, -1713, -1713, -1713, 7049, 5493,
2829 5493, 1356, -1713, -1713, 5493, 5493, -1713, 5493, 107, 5493,
2830 605, 5493, 685, 5493, -1713, 5493, -1713, -1713, -1713, -1713,
2831 5493, -1713, 648, -1713, -1713, 854, -1713, 418, 1358, 852,
2832 -1713, -1713, -1713, 1350, 1357, 1360, 1818, 5493, -1713, -1713,
2833 -1713, -1713, -1713, 7827, 84, 1369, 7827, -1713, 1153, 5493,
2834 8, 2015, 1863, 1863, 5493, 1371, 1370, -1713, 14739, -1713,
2835 -1713, -1713, -1713, 854, 11875, -1713, 1376, -1713, 1376, 858,
2836 1383, 762, -1713, -1713, -1713, 930, 353, -1713, -113, -1713,
2837 614, 1587, 1198, -1713, 1639, 13665, -1713, 12591, -1713, 1608,
2838 -1713, 453, 1284, -1713, -42, -28, -1713, 615, 615, -1713,
2839 1254, 11875, 1254, -1713, -1713, 7438, -1713, -1713, -1713, 54,
2840 1047, 1726, 1342, 1726, 1342, 1458, 51, 1617, 1477, 1103,
2841 1620, 1417, 1421, -1713, 1483, 1726, 1761, 59, 1426, 1428,
2842 -1713, 937, -1713, -1713, -1713, 959, -1713, 1412, 10793, -1713,
2843 -1713, 1433, 818, -1713, 342, 736, -1713, 736, -1713, 1837,
2844 11517, 9352, -1713, 1881, 101, -1713, 1054, 1463, 1590, 5493,
2845 1627, -1713, 1711, -1713, 5882, 365, -1713, 617, 5493, 617,
2846 623, -1713, 1427, -1713, 1427, -1713, -1713, 1429, -1713, 1658,
2847 -1713, 1659, 1431, 617, 1438, 1436, -1713, 5493, 5493, -1713,
2848 380, -86, 203, 206, 119, -1713, -1713, 389, -1713, -1713,
2849 391, 403, 408, 207, 425, 767, 5882, 435, 96, 149,
2850 -1713, 209, 210, 439, 5493, 442, 5493, 552, 5493, 555,
2851 567, 578, -1713, 832, -1713, 1441, -1713, -1713, -1713, -1713,
2852 -1713, 1439, 617, 1445, -1713, -1713, 5493, -1713, 3, 7827,
2853 167, 1446, -1713, -1713, -1713, 617, -1713, -1713, -1713, 31,
2854 832, 1449, -1713, 453, 7438, 1313, 1559, -1713, -1713, 858,
2855 11875, -1713, -1713, -1713, -1713, 14739, 1176, 1254, -1713, 1450,
2856 -1713, -1713, 11517, -1713, 48, 1497, 1680, -1713, -1713, -1713,
2857 -1713, -1713, 14023, -1713, -1713, -1713, -1713, 1451, 1668, 3548,
2858 599, 453, -1713, -1713, -1713, -1713, -1713, -1713, -1713, 1488,
2859 848, 617, -1713, 5493, -1713, -1713, -1713, -1713, -1713, 12233,
2860 -1713, -1713, -1713, 58, 632, 12233, -1713, -1713, 12233, 825,
2861 12233, 1295, 54, 818, -1713, -1713, -1713, 1676, 1677, 12233,
2862 12233, -1713, 117, 1295, -1713, 12233, 11875, -1713, -1713, 11517,
2863 424, 1156, -1713, -1713, 1573, 1342, 1342, 2409, 9710, 14739,
2864 143, 138, -1713, 1459, 1837, -1713, -1713, -1713, -1713, -1713,
2865 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, 1464, 1468,
2866 -1713, 773, -1713, -1713, -1713, -1713, -1713, 1852, 1854, -1713,
2867 428, 1864, -1713, 665, -1713, 11517, 617, 615, -1713, -1713,
2868 1863, -1713, 617, 5493, 1653, -1713, -1713, 1660, -1713, -1713,
2869 -1713, -1713, -1713, -1713, 1490, 1863, 1863, -1713, 1605, -1713,
2870 5493, 5493, -1713, 5493, -1713, -1713, -1713, -1713, 5493, -1713,
2871 -1713, 1863, -1713, 5493, -1713, -1713, 5493, 5493, 5493, -1713,
2872 592, -1713, 603, -1713, 633, -1713, -1713, -1713, 1214, -1713,
2873 394, 14739, -1713, -1713, 797, -1713, -1713, 5493, -1713, 13665,
2874 -1713, -1713, -1713, 1728, 1214, 11875, 7438, 1508, 1512, -1713,
2875 -1713, -35, -1713, -1713, -1713, 455, 1741, 1742, -1713, 1682,
2876 843, 1682, 455, 455, 1776, -113, 533, -1713, 1380, 1380,
2877 -1713, 1522, -1713, -1713, 1637, -1713, -1713, 12949, 915, -1713,
2878 7827, 848, -1713, 617, -1713, 1345, 5493, 1627, 617, 1529,
2879 613, -1713, -1713, 5493, 1751, 1752, 63, -1713, 12233, -1713,
2880 -1713, -1713, 112, -1713, -1713, -1713, -1713, -1713, 12233, -1713,
2881 -1713, -1713, -1713, -1713, -1713, 1535, -1713, 613, -1713, -1713,
2882 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2883 54, 2, -1713, 826, -1713, 14739, -1713, -1713, 11517, -1713,
2884 -1713, 2087, 14739, -1713, -1713, 1881, -1713, 1712, 9710, -1713,
2885 -1713, 1559, -1713, -1713, -1713, -1713, -1713, 1540, -1713, 1760,
2886 477, 617, 1548, 849, -1713, 1550, 1551, 55, 1560, 636,
2887 216, 878, 641, 537, 643, 649, 661, 663, -1713, -1713,
2888 -1713, 545, -1713, -1713, -1713, 882, -1713, -1713, 545, -1713,
2889 -1713, -1713, 7438, -1713, -138, 1488, -1713, -4, -1713, -1713,
2890 -1713, 1785, 455, 1682, 1682, 1786, 1735, -55, 1926, 1822,
2891 -1713, -1713, 14739, -1713, -1713, 854, -1713, -1713, 1818, 1574,
2892 -1713, 1771, -1713, 22, 1732, -1713, -1713, 453, 617, -1713,
2893 5493, -1713, -1713, -1713, 617, 12233, -1713, -1713, -1713, -1713,
2894 1586, 1892, 1893, 12233, -1713, 2087, 11875, -1713, -1713, -1713,
2895 -1713, -1713, -1713, -1713, 1597, 1598, -1713, -1713, 866, 1486,
2896 -1713, 1429, -78, -1713, 1429, 1598, -1713, 1429, 1601, -1713,
2897 1175, 1473, -1713, -1713, 1606, -1713, 1942, 1611, 897, 897,
2898 1603, -1713, -8, 101, -1713, 1612, 930, 14739, 1661, -1713,
2899 -1713, -1713, 1792, -1713, -1713, -1713, -1713, -1713, 5493, -1713,
2900 -1713, -1713, -1713, -1713, -1713, -1713, 614, 614, -1713, -1713,
2901 1689, -1713, -1713, 852, 837, 1198, -113, -1713, 455, -1713,
2902 1842, 1845, 455, -1713, -1713, -1713, 5493, -1713, 1488, -1713,
2903 -1713, -3, 832, 1970, -1713, 1522, -1713, -1713, -1713, -1713,
2904 3548, 613, 1635, 1641, 14739, -1713, 1241, 143, 1942, -1713,
2905 14739, 1836, 1823, -83, 1492, 1568, 117, 1241, 1825, -1713,
2906 -1713, 1872, -1713, -1713, -1713, -1713, 1175, -1713, 1873, 1474,
2907 1707, -1713, -1713, -1713, 1486, -1713, 1492, 897, 1601, 1831,
2908 -1713, -1713, 1662, 897, -83, 1492, 897, -1713, -1713, 1833,
2909 -1713, 1492, 1492, 1834, 1295, -1713, 1835, -1713, 1354, 1965,
2910 -1713, -1713, -1713, 897, -1713, -1713, 14739, -1713, -1713, -1713,
2911 -1713, 934, 613, 1669, 11875, 1667, 667, -1713, -1713, 11517,
2912 -1713, -1713, -1713, 1450, 1609, 1713, 455, 455, 1781, 1718,
2913 5493, 5493, 1678, -137, 613, 5493, 1198, -1713, 562, 1214,
2914 741, 1882, -1713, -1713, -1713, 14739, 14739, 947, 755, 755,
2915 961, 961, -1713, -1713, -1713, -1713, 948, -1713, 7, 1847,
2916 1681, -1713, -1713, 1700, 1241, -1713, -1713, 571, -1713, -1713,
2917 -1713, -1713, -1713, -1713, -1713, -1713, 755, 818, -1713, 755,
2918 755, -1713, -1713, 1858, -1713, -1713, -1713, 967, 55, -1713,
2919 1700, -1713, 1685, 1686, -1713, 1687, -1713, -1713, -1713, 961,
2920 961, 755, -1713, -1713, 1725, -1713, -1713, -8, 19, 14739,
2921 -1713, 1868, 1701, -1713, 453, -1713, -1713, -1713, 394, -1713,
2922 1737, -1713, -1713, -1713, 1747, 617, 617, 14739, -1713, 5493,
2923 -1713, -1713, 617, -1713, -1713, -1713, 63, 63, -1713, 562,
2924 545, 2061, 2062, 1994, 2069, 741, -1713, -71, -1713, 990,
2925 998, 19, -1713, -1713, 143, -1713, 14739, -1713, -1713, -1713,
2926 1, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2927 755, -1713, 755, 818, -1713, 1015, -1713, -1713, 1486, -1713,
2928 1175, -1713, -1713, -1713, -1713, 1295, 1342, -1713, 19, -1713,
2929 -1713, 613, 1717, 11875, 7438, 1970, -1713, 5493, 1721, 5493,
2930 1722, 1021, -1713, 613, 1983, 1983, -1713, -1713, 55, 55,
2931 2081, 55, -1713, 2084, 2085, -71, -1713, 1870, 19, -1713,
2932 -1713, -1713, 44, 44, -1713, 1175, 55, -1713, 1492, -1713,
2933 -1713, 713, -1713, -1713, -1713, -1713, -1713, 1882, 1488, 617,
2934 14739, 617, 14739, -1713, 14739, -1713, 793, -1713, -1713, -1713,
2935 -1713, 55, -1713, 55, 55, -1713, -1713, -1713, -1713, 2116,
2936 -1713, 68, 1901, 1902, -1713, -1713, -1713, -1713, -1713, -1713,
2937 -1713, -1713, -1713, 1973, 1198, 1059, 1087, -1713, 2092, -1713,
2938 2093, 1745, 1749, -1713, -1713, -1713, -1713, -1713, -1713, 1798,
2939 2049, 1924, 1755, -1713, -1713, -1713, -1713, -1713, 14381, 14381,
2940 44, 44, 482, 2778, 1865, -1713, 1756, -1713, 1762, -1713,
2941 1119, -1713, -1713, -1713, -1713, -1713, -1713, 1818, 1124, -1713,
2942 -1713, 11875, -1713, -1713, 14381, -1713, -1713, -1713, 8994, 1701,
2947 static const yytype_int16 yypgoto[] =
2949 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2950 469, -1713, -1713, 1014, -1147, -834, -1713, -1713, -1713, -155,
2951 -1713, -1713, -251, -1089, 1035, -1003, -868, -1713, -1713, -1713,
2952 -1713, -1713, 1465, -1713, -1713, -1512, 829, 621, 1042, 1072,
2953 835, 870, -1713, -1713, 535, -1713, 534, -1713, -1713, -1713,
2954 -1713, -590, -1498, 1016, 399, 516, 294, -1063, -201, -20,
2955 -1479, -1713, -1611, -1713, 419, -538, -1713, 383, -1584, -1713,
2956 414, 443, 436, -1202, -363, -1713, 178, -1713, -1713, -1713,
2957 -1713, -905, -1713, -1713, -1078, -1713, -1713, -1713, -1713, -1342,
2958 -1712, -1713, 1046, 218, -1713, -904, 300, -673, -1713, -1713,
2959 -1713, -1713, -1713, -1713, 883, -1713, -1713, 879, -1713, -1713,
2960 -1713, 188, 151, -1630, -1713, -1713, -1713, -1713, -1713, -1713,
2961 -1713, -1713, -1713, -1713, 1349, 1723, 1151, 1930, 1202, -1713,
2962 -1713, 1937, -1713, -1713, -1713, -735, -972, -1713, -1713, -1713,
2963 1774, -1455, -1167, 1346, -793, -755, 790, -330, 1336, -1713,
2964 -567, 2011, -1713, -1713, -304, -1713, -1713, -1713, -1713, -1713,
2965 -1713, -1713, 991, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2966 -1713, -1713, -1713, 1519, -1713, 1281, -492, -1713, -1713, -1713,
2967 -1340, -1713, 765, 517, -1713, -1713, -1713, -1713, -1713, -1713,
2968 -1713, -1713, -1713, -821, -1713, -1713, -1713, -1713, -1713, 1218,
2969 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1110, -1713, -908,
2970 231, -1713, 298, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2971 -1713, 114, 145, -1055, -528, 1665, 397, -1713, 529, 1716,
2972 -936, -1713, -1713, -1713, 1210, -1713, -1713, -1713, -1713, -1713,
2973 600, -918, -642, -1713, -1713, -1470, -421, -1056, -405, -1713,
2974 -950, 760, -1713, -578, -1713, -1713, -1713, 514, 1181, -1713,
2975 -1713, -1713, -1713, -1713, 267, -79, 1935, -1713, -1713, -1713,
2976 -1713, -1713, 1297, -1713, -1713, -1713, -1713, -1713, -1713, 1927,
2977 1820, 1546, -1713, -1713, -939, -1713, -1713, 1382, -1713, 815,
2978 -1064, -1079, 1017, -1713, -1713, -1713, -1216, -1713, -1713, -1713,
2979 -1713, -1713, 1170, 142, 273, -1713, -1713, -1713, -1713, -1713,
2980 -1713, -1713, -1713, -534, 264, -582, -1713, -1713, -1713, -1713,
2981 -1713, -1713, -1713, -1713, -1713, 1750, -1713, -1713, -1713, 1905,
2982 -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713, -1713,
2983 274, -1713, 323, 233, -1713, 257, -1713, -1713, -1713, -1713,
2984 146, -1713, -317, -1503, -1041, -1045, -1713, -1713, -1713, -301,
2985 1025, 1626, -1522, -510, -1713, 50, -37, 556, 2189, -12,
2986 -2, -406, -323, 124, -608, 938, -1713, -1713, -1713, -1713,
2987 -1713, -1713, -1713, 1396, -1713, -1713, -1713, -1713, 1004, -1713,
2988 -1713, -1713, -90, -851, 800, -1713, 548, 1191, -1713, -1713,
2989 -1713, -1713, 709, 2169, 1849, -1713, -1713, -1713, -1713, -1713,
2990 -81, -1030, -428, -1713, -1400, -1713, -1713, -1713, -987, -1386,
2991 -1713, -1713, -494, -1713, -1713
2997 #define YYTABLE_NINF -1216
2998 static const yytype_int16 yytable[] =
3000 95, 522, 523, 307, 637, 1140, 1259, 1269, 622, 111,
3001 96, 758, 851, 1299, 285, 1301, 510, 273, 1439, 528,
3002 727, 1309, 1207, 714, 715, 1241, 423, 817, 1050, 1070,
3003 426, 907, 551, 1203, 1572, 825, 1418, 1637, 729, 273,
3004 662, 1583, 470, 1111, 1355, 657, 591, 565, 492, 1778,
3005 620, 273, 591, 293, 1685, 620, 657, 573, 574, 575,
3006 1034, 1446, 273, 1434, 569, 591, 1701, 797, 932, 273,
3007 1975, 1230, 679, 1317, 1727, 1122, 895, 1780, 2048, 898,
3008 675, 95, 919, 900, 901, 1273, 591, 472, 591, 1639,
3009 2012, 96, 582, 583, 584, 111, 591, 273, 1731, 591,
3010 1496, -1212, 1483, 591, 591, 1587, 464, 1844, 591, 273,
3011 1237, 591, 273, 1597, 591, 1356, 465, 684, 1066, 591,
3012 1303, 591, 622, 1026, -647, 591, 897, 1275, 1276, 102,
3013 591, 591, 485, 1362, 591, 1077, 1061, 652, 650, 591,
3014 1947, 1284, 906, 1457, 1277, -1215, 1279, -647, 1458, 1630,
3015 1525, 1447, 1450, 274, 1770, 2077, 591, 1768, 905, 1243,
3016 1770, 591, 591, 622, 1448, 1714, 591, 277, 705, 1436,
3017 913, 1766, 1449, 591, 705, 287, 665, 1775, 591, 591,
3018 -860, 1431, 1483, 1781, 1782, 979, 1484, 274, 591, 1976,
3019 705, 705, 591, -1215, 1824, 676, 1703, 378, 296, 86,
3020 1851, 487, 88, 1450, 378, 296, 591, 1476, 655, 591,
3021 -45, 1631, 72, 1542, 591, 591, 1290, 289, 591, 591,
3022 1580, 591, 591, 993, 2003, 1403, 1918, 86, 591, 2009,
3023 88, 79, 666, 287, 1291, 591, 105, 488, 426, 1194,
3024 1948, 1807, 1808, 1111, 2004, 287, 1520, 1521, 287, 1704,
3025 107, 1357, 317, 1919, 706, 1852, 906, 1451, 2049, 591,
3026 718, 1834, 86, 592, 495, 88, 1526, 527, 908, 592,
3027 1770, 273, 1797, 1244, 568, 1245, 762, 766, 273, 1459,
3028 273, 278, 592, 2078, 591, 1432, 273, 1733, 1715, 273,
3029 591, 1949, 273, 273, -860, 1485, 2047, 1350, 1452, 635,
3030 1442, 2050, 830, 592, 937, 273, 1078, 486, 1769, 919,
3031 919, 1454, 103, 592, 2010, 1079, 592, 852, 1638, 653,
3032 592, 592, 91, 2051, 933, 592, 635, 684, 592, 1261,
3033 1274, 592, 1900, 591, 1586, 1025, 592, 914, 592, -647,
3034 2013, 591, 592, 935, 591, 591, 426, 592, 592, 1640,
3035 1074, 592, 1054, 1728, 1921, 1358, 592, 591, 1543, 2019,
3036 591, 1477, 1363, 591, 430, 1080, 1702, 91, 1814, 591,
3037 91, 378, 1818, 592, 591, 1966, 621, 591, 592, 592,
3038 651, 621, 1318, 592, 2017, 1707, 1528, 629, 273, 273,
3039 592, 1632, 591, 1486, 1675, 592, 592, 1993, 91, 886,
3040 593, 591, 1050, 591, 2054, 592, 593, 476, 1627, 592,
3041 1148, 116, 273, 273, 287, 591, 287, 1548, 1997, 593,
3042 591, 802, 274, 592, 803, 287, 592, 802, 274, 498,
3043 956, 592, 592, 91, 1034, 592, 592, 591, 592, 592,
3044 593, 287, 593, 980, 685, 592, 1671, 591, 1673, 1165,
3045 593, 591, 592, 593, 591, 691, 1214, 593, 593, 1111,
3046 1171, 999, 593, 1336, 1000, 593, 273, 273, 593, 273,
3047 1429, 1215, 1125, 593, 1216, 593, 592, 927, 994, 593,
3048 273, 1287, 1185, 1404, 593, 593, 1087, 273, 593, 940,
3049 2018, 1011, 1272, 593, 273, 2039, 2040, 1974, 2042, 944,
3050 813, 592, 657, 945, 1223, 1224, 1392, 592, 954, 1393,
3051 593, 2023, 955, 2055, 939, 593, 593, 919, 273, 919,
3052 593, 1346, 1986, 2035, 588, 589, 1350, 593, 1213, 1389,
3053 1030, 946, 593, 593, 1233, 1221, 1405, 947, 2073, 1406,
3054 2074, 2075, 593, 1595, 959, 1509, 593, 1601, 287, 287,
3055 592, 966, 866, 1730, 1426, 1829, 971, 1427, 592, 484,
3056 593, 592, 592, 593, 591, 273, 972, 591, 593, 593,
3057 973, 905, 593, 593, 592, 593, 593, 592, 95, 591,
3058 592, 119, 593, 913, 974, 272, 592, 978, 96, 593,
3059 591, 592, 995, 1390, 592, 1777, 1391, 1398, -684, 1407,
3060 1408, 832, 680, 681, 591, 287, 1688, 912, 849, 592,
3061 949, 884, 273, 593, 887, 591, 287, 591, 592, 288,
3062 592, 111, 1491, 287, 1070, 22, 899, 637, 1621, 591,
3063 287, 1596, 592, 1722, 953, 591, 273, 592, 593, 273,
3064 86, 63, -684, 88, 593, 591, 1800, 273, 591, 1812,
3065 888, 273, 1425, 591, 592, 591, 273, 924, 123, 962,
3066 -684, 591, -684, 2103, 592, 963, 805, 1705, 592, 1337,
3067 -684, 592, -684, 591, 273, 591, 1483, 1058, 849, 591,
3068 273, 67, 273, -684, 68, 1710, 1711, 593, -684, 1924,
3069 1006, 1843, 1956, -684, 1287, 593, 1544, 591, 593, 593,
3070 858, -684, 1843, 1622, 1502, 1876, 1861, 1350, 967, -684,
3071 648, 593, 1925, -684, 593, 120, 1810, 593, -684, 968,
3072 970, 1493, 1218, 593, 1424, 655, 663, 1243, 593, 110,
3073 1054, 593, 975, 1083, 1013, 983, 281, 1196, 986, 30,
3074 -684, 705, 833, 1255, 1001, 818, 593, 2104, 854, 1176,
3075 914, 1510, 1371, -684, 280, 593, 1533, 593, 834, 293,
3076 -126, -684, 1126, 1128, 299, 874, 695, 1387, 2026, 593,
3077 1923, 1709, 287, 701, 593, 287, 1394, 297, 1395, 291,
3078 806, 592, 1014, 896, 592, 876, 1957, 287, 64, 604,
3079 1396, 593, 1335, 65, -684, 1397, 592, 2056, 273, 1256,
3080 1826, 593, 890, 1545, 1007, 593, 1507, 592, 593, 1843,
3081 287, 91, 1399, 1955, 1541, 1629, 921, 1198, 287, 629,
3082 1042, 592, 1402, 1084, 913, 1634, 1409, 782, 835, 1411,
3083 1837, 891, 592, 877, 592, -684, 819, 301, 2057, 820,
3084 1984, 1244, 1550, 1018, 273, 273, 592, 1931, 1994, 1995,
3085 273, 1601, 592, 2058, 491, 1932, 957, 1555, 1556, 303,
3086 497, 867, 592, 433, 1679, 592, 308, -684, 95, -126,
3087 592, 878, 592, 1563, 273, -684, -684, 1015, 592, 858,
3088 86, 86, 1058, 88, 88, 1127, 859, 1815, 646, 78,
3089 592, 1819, 592, 84, -684, 607, 592, 2021, 1958, 849,
3090 2059, 1561, -684, 81, 1926, 849, 849, 74, 849, 1340,
3091 1059, 1123, 1287, 1746, 592, 1787, 957, 305, 593, 647,
3092 -684, 593, -684, -684, 1691, 1233, 1211, 468, 879, 2060,
3093 2068, 1939, 1940, 593, 1012, 1575, 82, 1019, 475, 1413,
3094 75, 1373, 1415, 481, 593, 892, -684, 868, 479, 434,
3095 1341, 821, 1732, 1747, 1416, 1092, 860, 861, 593, 936,
3096 822, 2069, 937, 787, 787, 1417, -684, -126, 1933, 593,
3097 1338, 593, 1339, 1497, -684, 2065, -684, 2066, 906, 1568,
3098 287, 287, 1271, 593, 1788, -979, 874, 490, 1094, 593,
3099 1569, 914, -684, 862, 493, 1911, 1912, -684, 496, 593,
3100 1323, 1324, 593, 500, 95, -684, 1325, 593, 2083, 593,
3101 1076, 1592, 1342, -684, 96, 593, 501, -684, -285, 1593,
3102 1570, 2070, -684, 1687, 682, 1096, 273, 593, 1690, 593,
3103 1692, 938, 273, 593, 937, 1202, 1693, -221, 937, -219,
3104 603, 1343, 503, 2061, -684, 338, -76, 1101, 1694, 1020,
3105 1695, 593, 91, 273, 1906, 273, 1934, -684, 1021, 1102,
3106 95, 1767, 504, 1264, 1773, -684, 505, 1776, -221, 273,
3107 96, 378, 1092, 616, 617, 618, 619, 849, 1748, 682,
3108 913, 1749, 86, 64, 508, 88, 344, 64, 65, 1,
3109 2, -125, 65, 1347, 1304, -219, -219, 1288, -684, 849,
3110 3, -219, 509, 1750, 1594, 1094, 273, 1289, 2053, 1748,
3111 2064, 513, 1749, 849, 604, 849, 514, 849, 273, 273,
3112 515, 849, 624, 4, 849, 86, 1507, 87, 88, 516,
3113 858, 1795, 5, 1023, 1750, 1606, 1607, 86, 1287, -684,
3114 88, 682, 1096, 6, 435, 436, 437, 438, 354, 1239,
3115 625, 679, 1240, 1288, 1400, 1344, 439, 937, 89, 1613,
3116 1537, 632, 1228, 1538, 1101, 1219, 510, 1614, 7, 8,
3117 9, -684, 517, 1789, 518, -125, 1102, 364, 10, 83,
3118 -684, 605, -70, 76, 1574, 2101, 2102, 937, 11, 1265,
3119 1615, 1267, 1108, 69, 519, 71, 12, 606, -684, 86,
3120 1290, 1751, 88, 1109, 520, 13, 524, 860, 861, 108,
3121 1511, 1512, 638, 1642, 525, 1456, 1538, 604, 1291, 526,
3122 607, 1752, 1746, 594, -684, 529, -684, -684, 273, 1875,
3123 608, 1307, 1751, 273, 530, 1879, 1681, 14, 1881, 1682,
3124 273, 1446, 1333, 1513, 1236, 595, 531, 914, 637, 604,
3125 273, 15, -152, 91, 287, 1333, 1290, 532, 1514, 533,
3126 1465, 16, 1747, 534, 635, 1689, 321, 609, 937, 1699,
3127 535, 90, 937, 536, 1291, 596, 306, 273, 537, 1298,
3128 1515, 1300, 1508, 273, -125, 597, 273, 1310, 273, 540,
3129 849, 385, 310, 1315, 1904, 542, 91, 273, 273, 1495,
3130 849, 92, 543, 273, 273, 544, 545, 273, 91, 1108,
3131 546, 1503, 547, 471, 548, 849, 273, 273, 1838, 598,
3132 1109, 1898, 464, 607, 1899, 338, 550, -76, 1547, 17,
3133 18, 1447, 465, 19, 1941, 1945, 552, 1899, 1946, 1482,
3134 1308, 20, 553, 311, 1448, 1482, -221, 21, 1492, 849,
3135 1494, 22, 1449, 273, 1964, 607, 554, 1682, 23, 1500,
3136 1501, 24, 343, 555, 874, 1504, 344, 556, 557, 1445,
3137 91, 86, 93, 87, 88, 25, 287, 2007, 655, 1886,
3138 1899, 346, -125, 1450, 661, 2008, 1466, 1748, 1899, 558,
3139 1749, 559, 610, 611, 612, 613, 614, 615, 616, 617,
3140 618, 619, 2015, 1516, 89, 2016, 560, 26, 2033, 273,
3141 561, 2034, 1750, 1333, 562, 563, 27, 273, 28, 1333,
3142 564, 29, 1333, 273, 1333, 566, 567, 1264, 354, 86,
3143 570, 87, 88, 1333, 1333, 571, 572, 1451, 338, 1333,
3144 403, 576, 1870, 287, 1361, 660, 2084, 1753, 1761, 2034,
3145 577, 578, 1333, 1524, 312, 273, 363, 364, 1872, 1753,
3146 1761, 579, 89, 95, 622, 30, 580, 313, 581, 623,
3147 68, 1891, 679, 1904, 2085, 649, 273, 2034, 1452, 344,
3148 664, 599, 600, 601, 667, 622, 273, 1893, 668, 287,
3149 86, 1644, 87, 88, 1887, 610, 611, 612, 613, 614,
3150 615, 616, 617, 618, 619, 669, 2115, 682, 849, 2114,
3151 1751, 2117, 686, 273, 2118, 687, 273, 90, 1724, 688,
3152 273, 528, 569, 849, 689, 849, 273, 610, 611, 612,
3153 613, 614, 615, 616, 617, 618, 619, 1961, 1482, 1942,
3154 1943, 354, 91, 1855, 1858, 1573, 692, 92, 1482, 1960,
3155 694, 1866, 1962, 1265, 622, 1753, 622, 378, 338, 696,
3156 1759, 697, 1839, 1761, 699, 1855, 709, 712, 383, 1888,
3157 364, 385, 721, 1759, 1855, 90, 722, 752, 760, 1854,
3158 1855, 1855, 759, 2110, 705, 810, 795, 796, 1971, 1972,
3159 273, 1228, 679, 679, 804, 679, 95, 829, 855, 344,
3160 91, 1904, 856, 857, 870, 92, 96, 875, 2110, 885,
3161 679, 91, 1333, 273, 902, 922, 910, 925, 811, 1840,
3162 1841, 273, 1333, 929, 273, 942, 943, 948, 1754, 1762,
3163 950, 951, 957, 2014, 961, 679, 90, 679, 679, 965,
3164 1754, 1762, 1152, 976, -221, 977, 1153, 982, 1092, 1643,
3165 996, 984, 287, 734, 985, 1857, 1670, -221, 511, 997,
3166 1154, 354, 1333, -221, 998, 273, 92, 1009, 1017, 591,
3167 378, -219, -219, -434, 1446, 1482, 1270, -219, 1022, 619,
3168 1029, 1094, -1216, 620, 385, 1748, 539, 1867, 1749, 1868,
3169 364, -527, 1155, 1760, 1038, 1156, 1039, 549, 1748, 1045,
3170 1067, 1749, 785, 1157, 1748, 1075, 1760, 1749, 1072, 1081,
3171 1750, 1086, 1088, 1124, 1129, 738, 906, 682, 1096, 1146,
3172 1142, 1151, 273, 1750, 1856, 1859, 1719, 1166, 273, 1750,
3173 1092, 1167, 1889, 1890, 849, 585, 1754, 1168, 1178, -221,
3174 1101, 1208, 1179, 1190, 1762, 1206, 1856, 1059, 1209, 1333,
3175 604, 1210, 1102, -219, -219, 1856, 1217, 1333, 1226, -219,
3176 1227, 1856, 1856, 1094, 1447, 739, 1235, 1761, 742, 1753,
3177 1238, 1058, 1907, 1268, 743, 86, 1288, 1448, 88, 1158,
3178 1748, 1302, 1884, 1749, 273, 1449, 1305, 1312, 1306, 1311,
3179 378, 1313, 273, 1316, 1314, 1869, 1320, 273, 1321, 682,
3180 1096, 1803, 1327, 1334, 385, 1750, 1363, 1367, 1751, 1130,
3181 1365, 744, 1369, 1374, 1753, 1377, 1450, 1855, 1382, 1380,
3182 1381, 1751, 1101, 273, 273, 1383, 937, 1751, 1419, 1909,
3183 1421, 858, 1423, 1428, 1102, 86, 1463, 87, 88, 1435,
3184 1455, 746, 1467, 1464, 704, 1468, 1446, 1498, 1499, 711,
3185 1532, 1535, 1519, 716, 717, 1536, 607, 86, 1803, 1779,
3186 88, 723, 724, 725, 1847, 726, 1539, 728, 1540, 1552,
3187 1451, 754, 755, 756, 757, 591, 1553, 1554, 761, 1557,
3188 764, 765, 1092, 768, 769, 1108, 770, 273, 1577, 772,
3189 773, 774, 775, 776, 777, 1581, 1109, 780, 781, 1092,
3190 784, 1159, 1582, 1751, 789, 273, 793, 794, 604, 1588,
3191 1589, 1452, 1590, 1598, 1608, 1094, 800, 801, 1611, 1620,
3192 1896, 1340, 1625, 1626, 809, 1636, 1677, 814, 815, 816,
3193 747, 1678, 1094, 287, 273, 1680, 1447, 1683, 1684, 749,
3194 1160, 730, 731, 732, 733, 734, 91, 1686, 1762, 1448,
3195 1754, 682, 1096, 1708, 1712, 1713, 1161, 1449, 1716, 1803,
3196 1803, 1717, 1341, 86, 1725, 87, 88, 1108, 682, 1096,
3197 1726, 273, 1734, 2020, 1101, 969, 1729, 872, 1109, 1735,
3198 1736, 90, 86, 1740, 1742, 88, 1102, 1769, 1450, 889,
3199 -74, 1101, 1783, 1784, 1796, 1754, 89, 1786, 1856, 1799,
3200 1804, 1913, 1809, 1102, 735, 736, 737, 738, 1805, 86,
3201 1816, 92, 88, 1817, 607, 1069, 1131, 2116, 273, 1830,
3202 273, 1835, 273, 1803, 1342, 1848, 86, 1836, 91, 88,
3203 -1216, -1216, 614, 615, 616, 617, 618, 619, 719, 1850,
3204 1862, 1992, 1451, 1863, 1865, 931, 1873, 1877, 1878, 1882,
3205 1883, 1885, 1894, 1343, 1905, 1901, -602, 739, 740, 741,
3206 742, -607, 763, 1937, 1917, 767, 743, 1950, 1952, 1953,
3207 2011, 1963, 1968, 1969, 1970, 1973, 273, 273, 778, 779,
3208 1988, 273, 783, 1452, 1982, 730, 731, 732, 733, 734,
3209 1990, 1983, 592, 1998, 1999, 95, 958, 798, 799, 273,
3210 2000, 2001, 273, 744, 2024, 96, 273, 2030, 2032, 90,
3211 1645, 604, 2036, 2041, 1646, 1647, 2043, 2044, 1528, 1108,
3212 2076, 2079, 2080, 2081, 2086, 2087, 988, 990, 992, 1648,
3213 1109, 2088, 745, 746, 91, 2089, 1108, 2090, 2091, 92,
3214 2092, 2093, 1798, 2113, 2111, 1348, 1322, 1109, 735, 736,
3215 737, 738, 2114, 91, 1992, 918, 1992, 1523, 2067, 1674,
3216 1330, 1649, 1292, 1487, 1650, 1024, 1529, 1344, 1737, 1738,
3217 1376, 1774, 1651, 1880, 1967, 1864, 1895, 1032, 1874, 1033,
3218 91, 1845, 1860, 1364, 1652, 2046, 610, 611, 612, 613,
3219 614, 615, 616, 617, 618, 619, 2022, 91, 1653, 1981,
3220 674, 739, 740, 741, 742, 1041, 1522, 1242, 474, 1205,
3221 743, 1654, 2099, 2099, 473, 642, 1057, 607, 1430, 1576,
3222 1600, 1164, 747, 1813, 1204, 928, 2038, 1996, 2120, 593,
3223 748, 749, 788, 1811, 2100, 720, 1739, 1619, 2099, 1832,
3224 1222, 499, 1258, 1048, 507, 630, 1169, 744, 1655, 926,
3225 1579, 1278, 1440, 2119, 1656, 700, 2025, 541, 2002, 2027,
3226 2063, 604, 2045, 1145, 2121, 1443, 1147, 873, 1149, 1150,
3227 302, 1068, 1534, 1163, 1475, 1617, 745, 746, 1833, 431,
3228 634, 960, 0, 0, 0, 964, 0, 1170, 0, 0,
3229 1172, 1173, 1174, 1175, 0, 1177, 0, 0, 0, 604,
3230 0, 981, 1180, 0, 1657, 1181, 0, 1182, 1183, 1184,
3231 0, 0, 0, 0, 1187, 1188, 1189, 0, 0, 0,
3232 1191, 1192, 0, 1193, 0, 1195, 0, 1197, 0, 1199,
3233 0, 1200, 0, 1658, 0, 0, 1201, 0, 0, 0,
3234 0, 0, 0, 1090, 0, 0, 0, 1091, 0, 0,
3235 0, 0, 0, 1212, 0, 1092, 0, 0, 0, 0,
3236 0, 0, 0, 1659, 0, 1220, 747, 607, 0, 0,
3237 1225, 0, 0, 0, 748, 749, 0, 1093, 0, 0,
3238 0, 0, 0, 0, 0, 0, 0, 446, 1094, 610,
3239 611, 612, 613, 614, 615, 616, 617, 618, 619, 1095,
3240 0, 447, 448, 0, 1660, 607, 0, 0, 1661, 1662,
3241 449, 0, 0, 0, 0, 1090, 0, 0, 0, 1091,
3242 0, 1281, 0, 0, 682, 1096, 0, 1092, 0, 0,
3243 1097, 1098, 0, 0, 0, 1663, 1099, 0, 1664, 1665,
3244 0, 0, 1100, 0, 0, 0, -281, 1101, 0, 1093,
3245 0, 450, 0, 0, 0, 0, 0, 0, 0, 1102,
3246 1094, 0, 0, 0, 1103, 0, 0, 0, 0, 0,
3247 0, 1095, 0, 451, 0, 1366, 0, 0, 0, 0,
3248 1370, 0, 86, 86, 1372, 88, 88, 0, 1104, 0,
3249 452, 453, 0, 0, 0, 0, 682, 1096, 0, 0,
3250 0, 0, 1097, 1385, 1386, 0, 0, 454, 1099, 0,
3251 0, 0, 0, 0, 1100, 0, 0, 0, 0, 1101,
3252 0, 455, 1401, 0, 0, 0, 0, 0, 0, 0,
3253 1410, 1102, 1412, 0, 1414, 0, 1103, 0, 1105, -1216,
3254 611, 612, 613, 614, 615, 616, 617, 618, 619, 0,
3255 0, 0, 0, 0, 86, 0, 0, 88, 0, 0,
3256 0, 0, 0, 771, 0, 1106, 0, 0, 0, 0,
3257 1281, 0, 0, 0, 0, 0, 0, 456, -1216, 612,
3258 613, 614, 615, 616, 617, 618, 619, 0, 1107, 0,
3259 0, 0, 1108, 0, 0, 0, 0, 0, 0, 0,
3260 0, 0, 0, 1109, 0, 1473, 0, 0, 0, 0,
3261 1105, 0, 0, 0, 827, 828, 457, 0, 831, 1478,
3262 836, 837, 838, 839, 840, 842, 844, 845, 846, 847,
3263 848, 0, 0, 0, 0, 0, 0, 1106, 0, 0,
3264 0, 0, 0, 0, 0, 0, 0, 0, 458, 0,
3265 0, 459, 460, 91, 91, 0, 0, 0, 0, 0,
3266 1107, 0, 0, 0, 1108, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 0, 1109, 0, 0, 0, 0,
3268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3269 0, 0, 0, 0, 0, 0, 461, 0, 0, 0,
3270 0, 0, 0, 0, 0, 0, 0, 0, 0, 1551,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 91, 1559, 1560, 0, 0,
3273 0, 0, 0, 0, 1562, 0, 0, 0, 0, 1564,
3274 0, 0, 1565, 1566, 1567, 0, 0, 0, 0, 0,
3275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3277 0, 0, 1281, 0, 0, 0, 0, 0, 0, 0,
3278 0, 0, 125, 126, 0, 127, 128, 0, 0, 0,
3279 0, 129, 0, 0, 0, 130, 131, 132, 0, 133,
3280 0, 0, 0, 0, 134, 0, 135, 136, 0, 137,
3281 0, 0, 1618, 138, 0, 0, 0, 139, 0, 1624,
3282 0, 140, 0, 141, 142, 0, 143, 144, 0, 145,
3283 146, 147, 148, 149, 150, 0, 151, 152, 0, 153,
3284 0, 0, 0, 1028, 154, 0, 1031, 0, 0, 0,
3285 155, 156, 157, 0, 0, 158, 0, 0, 0, 0,
3286 159, 160, 0, 0, 0, 0, 0, 0, 0, 0,
3287 0, 161, 162, 0, 0, 0, 163, 0, 164, 165,
3288 166, 0, 0, 167, 0, 168, 169, 0, 170, 171,
3289 0, 172, 0, 173, 174, 0, 0, 175, 0, 0,
3290 176, 177, 178, 0, 179, 0, 0, 0, 180, 181,
3291 0, 182, 0, 183, 0, 0, 184, 0, 1281, 0,
3292 0, 0, 185, 86, 186, 0, 88, 0, 0, 187,
3293 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3294 0, 0, 0, 189, 0, 190, 0, 0, 191, 0,
3295 0, 192, 0, 0, 0, 193, 1478, 0, 0, 0,
3296 0, 194, 195, 0, 196, 0, 0, 0, 0, 197,
3297 198, 199, 200, 0, 0, 201, 0, 202, 0, 203,
3298 0, 204, 205, 206, 207, 0, 0, 208, 209, 210,
3299 0, 0, 211, 0, 0, 0, 212, 213, 0, 214,
3300 215, 216, 217, 0, 0, 0, 0, 0, 0, 0,
3301 0, 218, 0, 0, 219, 0, 220, 221, 222, 223,
3302 0, 0, 0, 0, 1806, 224, 0, 0, 0, 0,
3303 225, 0, 0, 0, 0, 0, 226, 0, 0, 0,
3304 227, 228, 229, 230, 231, 232, 233, 0, 234, 235,
3305 0, 0, 1478, 236, 237, 238, 239, 0, 0, 240,
3306 0, 241, 242, 243, 0, 0, 1473, 0, 0, 0,
3307 0, 0, 0, 0, 244, 245, 0, 0, 246, 0,
3308 0, 247, 248, 249, 0, 0, 250, 0, 251, 252,
3309 0, 0, 253, 0, 0, 254, 0, 255, 256, 0,
3310 257, 0, 0, 258, 0, 0, 259, 260, 0, 261,
3311 262, 0, 0, 0, 263, 0, 0, 0, 0, 264,
3312 0, 0, 0, 0, 0, 0, 265, 0, 266, 0,
3313 0, 267, 0, 0, 0, 0, 268, 269, 0, 0,
3314 0, 0, 270, 0, 0, 0, 271, 0, 0, 0,
3315 0, 0, 0, 0, 0, 0, 1915, 1916, 0, 0,
3316 0, 1922, 0, 125, 318, 2106, 127, 128, 0, 401,
3317 2107, 0, 129, 0, 0, 0, 130, 131, 319, 0,
3318 133, 0, 0, 320, 321, 134, 0, 135, 136, 790,
3319 137, 0, 0, 0, 138, 322, 323, 324, 139, 0,
3320 0, 325, 140, 0, 141, 326, 0, 327, 144, 0,
3321 145, 146, 147, 148, 149, 150, 0, 151, 152, 0,
3322 153, 328, 329, 0, 0, 154, 330, 331, 332, 0,
3323 333, 155, 156, 157, 334, 335, 336, 0, 0, 0,
3324 0, 337, 160, 338, 0, 0, 339, 0, 0, 0,
3325 0, 0, 161, 162, 0, 1478, 0, 163, 0, 164,
3326 165, 166, 0, 0, 167, 0, 168, 169, 0, 170,
3327 171, 0, 172, 0, 173, 174, 340, 341, 175, 342,
3328 343, 176, 177, 178, 344, 179, 0, 0, 0, 180,
3329 181, 0, 182, 0, 183, 345, 0, 184, 0, 346,
3330 0, 0, 0, 347, 86, 186, 0, 88, 348, 0,
3331 187, 188, 0, 0, 0, 0, 0, 349, 350, 0,
3332 1281, 0, 0, 2029, 189, 2031, 351, 0, 0, 191,
3333 0, 352, 192, 0, 791, 353, 193, 0, 0, 0,
3334 0, 0, 194, 195, 0, 196, 354, 0, 0, 355,
3335 197, 198, 199, 356, 0, 0, 357, 358, 202, 0,
3336 203, 359, 360, 205, 206, 207, 0, 0, 208, 209,
3337 210, 361, 362, 211, 363, 364, 0, 212, 213, 0,
3338 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
3339 0, 0, 218, 365, 0, 219, 0, 220, 221, 366,
3340 223, 0, 0, 0, 0, 0, 224, 0, 0, 0,
3341 0, 225, 367, 368, 0, 0, 0, 226, 0, 0,
3342 369, 227, 228, 229, 230, 231, 370, 233, 0, 371,
3343 235, 0, 0, 0, 236, 237, 238, 239, 0, 0,
3344 240, 0, 241, 242, 243, 0, 0, 0, 0, 0,
3345 0, 0, 0, 0, 0, 244, 245, 372, 373, 246,
3346 0, 0, 247, 374, 249, 375, 376, 250, 377, 251,
3347 252, 0, 0, 253, 0, 378, 254, 0, 379, 380,
3348 381, 257, 0, 792, 258, 382, 383, 384, 260, 385,
3349 261, 262, 0, 0, 0, 263, 0, 0, 0, 0,
3350 386, 0, 0, 387, 388, 389, 0, 390, 391, 266,
3351 0, 0, 267, 392, 0, 393, 394, 268, 269, 0,
3352 0, 0, 0, 270, 0, 0, 0, 395, 0, 0,
3353 0, 0, 0, 0, 0, 0, 0, 396, 397, 0,
3354 0, 0, 0, 398, 0, 399, 0, 400, 0, 0,
3355 401, 402, 125, 318, 0, 127, 128, 1469, 0, 0,
3356 0, 129, 0, 0, 0, 130, 131, 319, 0, 133,
3357 0, 0, 1470, 321, 134, 0, 135, 136, 0, 137,
3358 0, 0, 0, 138, 322, 323, 324, 139, 0, 0,
3359 325, 140, 0, 141, 326, 0, 327, 144, 0, 145,
3360 146, 147, 148, 149, 150, 0, 151, 152, 0, 153,
3361 328, 329, 0, 0, 154, 330, 331, 332, 0, 333,
3362 155, 156, 157, 334, 335, 336, 0, 0, 0, 0,
3363 337, 160, 338, 0, 0, 1471, 0, 0, 0, 0,
3364 0, 161, 162, 0, 0, 0, 163, 0, 164, 165,
3365 166, 0, 0, 167, 0, 168, 169, 0, 170, 171,
3366 0, 172, 0, 173, 174, 340, 341, 175, 342, 343,
3367 176, 177, 178, 344, 179, 0, 0, 0, 180, 181,
3368 0, 182, 0, 183, 345, 0, 184, 0, 346, 0,
3369 0, 0, 347, 86, 186, 0, 88, 348, 0, 187,
3370 188, 0, 0, 0, 0, 0, 349, 350, 0, 0,
3371 0, 0, 0, 189, 0, 351, 0, 0, 191, 0,
3372 352, 192, 0, 0, 353, 193, 0, 0, 0, 0,
3373 0, 194, 195, 0, 196, 354, 0, 0, 355, 197,
3374 198, 199, 356, 0, 0, 357, 358, 202, 0, 203,
3375 359, 360, 205, 206, 207, 0, 0, 208, 209, 210,
3376 361, 362, 211, 363, 364, 0, 212, 213, 1472, 214,
3377 215, 216, 217, 0, 0, 0, 0, 0, 0, 0,
3378 0, 218, 365, 0, 219, 0, 220, 221, 366, 223,
3379 0, 0, 0, 0, 0, 224, 0, 0, 0, 0,
3380 225, 367, 368, 0, 0, 0, 226, 0, 0, 369,
3381 227, 228, 229, 230, 231, 370, 233, 0, 371, 235,
3382 0, 0, 0, 236, 237, 238, 239, 0, 0, 240,
3383 0, 241, 242, 243, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 244, 245, 372, 373, 246, 0,
3385 0, 247, 374, 249, 375, 376, 250, 377, 251, 252,
3386 0, 0, 253, 0, 378, 254, 0, 379, 380, 381,
3387 257, 0, 0, 258, 382, 383, 384, 260, 385, 261,
3388 262, 0, 0, 0, 263, 0, 0, 0, 0, 386,
3389 0, 0, 387, 388, 389, 0, 390, 391, 266, 0,
3390 0, 267, 392, 0, 393, 394, 268, 269, 0, 0,
3391 0, 0, 270, 0, 0, 0, 395, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 396, 397, 0, 0,
3393 0, 0, 398, 0, 399, 0, 400, 0, 0, 401,
3394 402, 125, 318, 0, 127, 128, 0, 0, 0, 0,
3395 129, 0, 0, 0, 130, 131, 319, 0, 133, 0,
3396 0, 320, 321, 134, 0, 135, 136, 0, 137, 0,
3397 0, 0, 138, 322, 323, 324, 139, 0, 0, 325,
3398 140, 0, 141, 326, 0, 327, 144, 0, 145, 146,
3399 147, 148, 149, 150, 0, 151, 152, 0, 153, 328,
3400 329, 0, 0, 154, 330, 331, 332, 0, 333, 155,
3401 156, 157, 334, 335, 336, 0, 0, 0, 0, 337,
3402 160, 338, 0, 0, 339, 0, 0, 0, 0, 0,
3403 161, 162, 0, 0, 0, 163, 0, 164, 165, 166,
3404 0, 0, 167, 0, 168, 169, 0, 170, 171, 0,
3405 172, 0, 173, 174, 340, 341, 175, 342, 343, 176,
3406 177, 178, 344, 179, 0, 0, 0, 180, 181, 0,
3407 182, 0, 183, 345, 0, 184, 0, 346, 0, 0,
3408 0, 347, 86, 186, 0, 88, 348, 0, 187, 188,
3409 0, 0, 0, 0, 0, 349, 350, 0, 0, 0,
3410 0, 0, 189, 0, 351, 0, 0, 191, 0, 352,
3411 192, 0, 0, 353, 193, 0, 0, 0, 0, 0,
3412 194, 195, 0, 196, 354, 0, 0, 355, 197, 198,
3413 199, 356, 0, 0, 357, 358, 202, 0, 203, 359,
3414 360, 205, 206, 207, 0, 0, 208, 209, 210, 361,
3415 362, 211, 363, 364, 0, 212, 213, 0, 214, 215,
3416 216, 217, 0, 0, 0, 0, 0, 0, 0, 0,
3417 218, 365, 0, 219, 0, 220, 221, 366, 223, 0,
3418 0, 0, 0, 0, 224, 0, 0, 0, 0, 225,
3419 367, 368, 0, 0, 0, 226, 0, 0, 369, 227,
3420 228, 229, 230, 231, 370, 233, 0, 371, 235, 0,
3421 0, 0, 236, 237, 238, 239, 0, 0, 240, 0,
3422 241, 242, 243, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 244, 245, 372, 373, 246, 0, 0,
3424 247, 374, 249, 375, 376, 250, 377, 251, 252, 0,
3425 0, 253, 0, 378, 254, 0, 379, 380, 381, 257,
3426 0, 0, 258, 382, 383, 384, 260, 385, 261, 262,
3427 0, 0, 0, 263, 0, 0, 0, 0, 386, 0,
3428 0, 387, 388, 389, 0, 390, 391, 266, 0, 0,
3429 267, 392, 0, 393, 394, 268, 269, 0, 0, 0,
3430 0, 270, 0, 0, 0, 395, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 396, 397, 0, 0, 0,
3432 0, 398, 0, 399, 721, 400, 0, 0, 401, 402,
3433 125, 318, 0, 127, 128, 0, 0, 0, 0, 129,
3434 0, 0, 0, 130, 131, 319, 0, 133, 0, 0,
3435 320, 321, 134, 0, 135, 136, 0, 137, 0, 0,
3436 0, 138, 322, 323, 324, 139, 0, 0, 325, 140,
3437 0, 141, 326, 0, 327, 144, 0, 145, 146, 147,
3438 148, 149, 150, 0, 151, 152, 0, 153, 328, 329,
3439 0, 0, 154, 330, 331, 332, 0, 333, 155, 156,
3440 157, 334, 335, 336, 0, 0, 0, 0, 337, 160,
3441 338, 0, 0, 339, 0, 0, 0, 0, 0, 161,
3442 162, 0, 0, 0, 163, 0, 164, 165, 166, 0,
3443 0, 167, 0, 168, 169, 0, 170, 171, 0, 172,
3444 0, 173, 174, 340, 341, 175, 342, 343, 176, 177,
3445 178, 344, 179, 0, 0, 0, 180, 181, 987, 182,
3446 0, 183, 345, 0, 184, 0, 346, 0, 0, 0,
3447 347, 86, 186, 0, 88, 348, 0, 187, 188, 0,
3448 0, 0, 0, 0, 349, 350, 0, 0, 0, 0,
3449 0, 189, 0, 351, 0, 0, 191, 0, 352, 192,
3450 0, 0, 353, 193, 0, 0, 0, 0, 0, 194,
3451 195, 0, 196, 354, 0, 0, 355, 197, 198, 199,
3452 356, 0, 0, 357, 358, 202, 0, 203, 359, 360,
3453 205, 206, 207, 0, 0, 208, 209, 210, 361, 362,
3454 211, 363, 364, 0, 212, 213, 0, 214, 215, 216,
3455 217, 0, 0, 0, 0, 0, 0, 0, 0, 218,
3456 365, 0, 219, 0, 220, 221, 366, 223, 0, 0,
3457 0, 0, 0, 224, 0, 0, 0, 0, 225, 367,
3458 368, 0, 0, 0, 226, 0, 0, 369, 227, 228,
3459 229, 230, 231, 370, 233, 0, 371, 235, 0, 0,
3460 0, 236, 237, 238, 239, 0, 0, 240, 0, 241,
3461 242, 243, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 244, 245, 372, 373, 246, 0, 0, 247,
3463 374, 249, 375, 376, 250, 377, 251, 252, 0, 0,
3464 253, 0, 378, 254, 0, 379, 380, 381, 257, 0,
3465 0, 258, 382, 383, 384, 260, 385, 261, 262, 0,
3466 0, 0, 263, 0, 0, 0, 0, 386, 0, 0,
3467 387, 388, 389, 0, 390, 391, 266, 0, 0, 267,
3468 392, 0, 393, 394, 268, 269, 0, 0, 0, 0,
3469 270, 0, 0, 0, 395, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 396, 397, 0, 0, 0, 0,
3471 398, 0, 399, 0, 400, 0, 0, 401, 402, 125,
3472 318, 0, 127, 128, 0, 0, 0, 0, 129, 0,
3473 0, 0, 130, 131, 319, 0, 133, 0, 0, 320,
3474 321, 134, 0, 135, 136, 0, 137, 0, 0, 0,
3475 138, 322, 323, 324, 139, 0, 0, 325, 140, 0,
3476 141, 326, 0, 327, 144, 0, 145, 146, 147, 148,
3477 149, 150, 0, 151, 152, 0, 153, 328, 329, 0,
3478 0, 154, 330, 331, 332, 0, 333, 155, 156, 157,
3479 334, 335, 336, 0, 0, 0, 0, 337, 160, 338,
3480 0, 0, 339, 0, 0, 0, 0, 0, 161, 162,
3481 0, 0, 0, 163, 0, 164, 165, 166, 0, 0,
3482 167, 0, 168, 169, 0, 170, 171, 0, 172, 0,
3483 173, 174, 340, 341, 175, 342, 343, 176, 177, 178,
3484 344, 179, 0, 0, 0, 180, 181, 989, 182, 0,
3485 183, 345, 0, 184, 0, 346, 0, 0, 0, 347,
3486 86, 186, 0, 88, 348, 0, 187, 188, 0, 0,
3487 0, 0, 0, 349, 350, 0, 0, 0, 0, 0,
3488 189, 0, 351, 0, 0, 191, 0, 352, 192, 0,
3489 0, 353, 193, 0, 0, 0, 0, 0, 194, 195,
3490 0, 196, 354, 0, 0, 355, 197, 198, 199, 356,
3491 0, 0, 357, 358, 202, 0, 203, 359, 360, 205,
3492 206, 207, 0, 0, 208, 209, 210, 361, 362, 211,
3493 363, 364, 0, 212, 213, 0, 214, 215, 216, 217,
3494 0, 0, 0, 0, 0, 0, 0, 0, 218, 365,
3495 0, 219, 0, 220, 221, 366, 223, 0, 0, 0,
3496 0, 0, 224, 0, 0, 0, 0, 225, 367, 368,
3497 0, 0, 0, 226, 0, 0, 369, 227, 228, 229,
3498 230, 231, 370, 233, 0, 371, 235, 0, 0, 0,
3499 236, 237, 238, 239, 0, 0, 240, 0, 241, 242,
3500 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 244, 245, 372, 373, 246, 0, 0, 247, 374,
3502 249, 375, 376, 250, 377, 251, 252, 0, 0, 253,
3503 0, 378, 254, 0, 379, 380, 381, 257, 0, 0,
3504 258, 382, 383, 384, 260, 385, 261, 262, 0, 0,
3505 0, 263, 0, 0, 0, 0, 386, 0, 0, 387,
3506 388, 389, 0, 390, 391, 266, 0, 0, 267, 392,
3507 0, 393, 394, 268, 269, 0, 0, 0, 0, 270,
3508 0, 0, 0, 395, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 396, 397, 0, 0, 0, 0, 398,
3510 0, 399, 0, 400, 0, 0, 401, 402, 125, 318,
3511 0, 127, 128, 0, 0, 0, 0, 129, 0, 0,
3512 0, 130, 131, 319, 0, 133, 0, 0, 320, 321,
3513 134, 0, 135, 136, 0, 137, 0, 0, 0, 138,
3514 322, 323, 324, 139, 0, 0, 325, 140, 0, 141,
3515 326, 0, 327, 144, 0, 145, 146, 147, 148, 149,
3516 150, 0, 151, 152, 0, 153, 328, 329, 0, 0,
3517 154, 330, 331, 332, 0, 333, 155, 156, 157, 334,
3518 335, 336, 0, 0, 0, 0, 337, 160, 338, 0,
3519 0, 339, 0, 0, 0, 0, 0, 161, 162, 0,
3520 0, 0, 163, 0, 164, 165, 166, 0, 0, 167,
3521 0, 168, 169, 0, 170, 171, 0, 172, 0, 173,
3522 174, 340, 341, 175, 342, 343, 176, 177, 178, 344,
3523 179, 0, 0, 0, 180, 181, 991, 182, 0, 183,
3524 345, 0, 184, 0, 346, 0, 0, 0, 347, 86,
3525 186, 0, 88, 348, 0, 187, 188, 0, 0, 0,
3526 0, 0, 349, 350, 0, 0, 0, 0, 0, 189,
3527 0, 351, 0, 0, 191, 0, 352, 192, 0, 0,
3528 353, 193, 0, 0, 0, 0, 0, 194, 195, 0,
3529 196, 354, 0, 0, 355, 197, 198, 199, 356, 0,
3530 0, 357, 358, 202, 0, 203, 359, 360, 205, 206,
3531 207, 0, 0, 208, 209, 210, 361, 362, 211, 363,
3532 364, 0, 212, 213, 0, 214, 215, 216, 217, 0,
3533 0, 0, 0, 0, 0, 0, 0, 218, 365, 0,
3534 219, 0, 220, 221, 366, 223, 0, 0, 0, 0,
3535 0, 224, 0, 0, 0, 0, 225, 367, 368, 0,
3536 0, 0, 226, 0, 0, 369, 227, 228, 229, 230,
3537 231, 370, 233, 0, 371, 235, 0, 0, 0, 236,
3538 237, 238, 239, 0, 0, 240, 0, 241, 242, 243,
3539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3540 244, 245, 372, 373, 246, 0, 0, 247, 374, 249,
3541 375, 376, 250, 377, 251, 252, 0, 0, 253, 0,
3542 378, 254, 0, 379, 380, 381, 257, 0, 0, 258,
3543 382, 383, 384, 260, 385, 261, 262, 0, 0, 0,
3544 263, 0, 0, 0, 0, 386, 0, 0, 387, 388,
3545 389, 0, 390, 391, 266, 0, 0, 267, 392, 0,
3546 393, 394, 268, 269, 0, 0, 0, 0, 270, 0,
3547 0, 0, 395, 0, 0, 0, 0, 0, 0, 0,
3548 0, 0, 396, 397, 0, 0, 0, 0, 398, 0,
3549 399, 0, 400, 0, 0, 401, 402, 125, 318, 0,
3550 127, 128, 0, 0, 0, 0, 129, 0, 0, 0,
3551 130, 131, 319, 0, 133, 0, 0, 320, 321, 134,
3552 0, 135, 136, 0, 137, 0, 0, 0, 138, 322,
3553 323, 324, 139, 0, 0, 325, 140, 0, 141, 326,
3554 0, 327, 144, 0, 145, 146, 147, 148, 149, 150,
3555 0, 151, 152, 0, 153, 328, 329, 0, 0, 154,
3556 330, 331, 332, 0, 333, 155, 156, 157, 334, 335,
3557 336, 0, 0, 0, 0, 337, 160, 338, 0, 0,
3558 339, 0, 0, 0, 0, 0, 161, 162, 0, 0,
3559 0, 163, 0, 164, 165, 166, 0, 0, 167, 0,
3560 168, 169, 0, 170, 171, 0, 172, 0, 173, 174,
3561 340, 341, 175, 342, 343, 176, 177, 178, 344, 179,
3562 0, 0, 0, 180, 181, 0, 182, 0, 183, 345,
3563 0, 184, 0, 346, 0, 0, 0, 347, 86, 186,
3564 0, 88, 348, 0, 187, 188, 0, 0, 0, 0,
3565 0, 349, 350, 0, 0, 0, 0, 0, 189, 0,
3566 351, 0, 0, 191, 0, 352, 192, 0, 0, 353,
3567 193, 0, 0, 0, 0, 0, 194, 195, 0, 196,
3568 354, 0, 0, 355, 197, 198, 199, 356, 0, 0,
3569 357, 358, 202, 0, 203, 359, 360, 205, 206, 207,
3570 0, 0, 208, 209, 210, 361, 362, 211, 363, 364,
3571 0, 212, 213, 0, 214, 215, 216, 217, 0, 0,
3572 0, 0, 0, 0, 0, 0, 218, 365, 0, 219,
3573 0, 220, 221, 366, 223, 0, 0, 0, 0, 0,
3574 224, 0, 0, 0, 0, 225, 367, 368, 0, 0,
3575 0, 226, 0, 0, 369, 227, 228, 229, 230, 231,
3576 370, 233, 0, 371, 235, 0, 0, 0, 236, 237,
3577 238, 239, 0, 0, 240, 0, 241, 242, 243, 0,
3578 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
3579 245, 372, 373, 246, 0, 0, 247, 374, 249, 375,
3580 376, 250, 377, 251, 252, 0, 0, 253, 0, 378,
3581 254, 0, 379, 380, 381, 257, 0, 0, 258, 382,
3582 383, 384, 260, 385, 261, 262, 0, 0, 0, 263,
3583 0, 0, 0, 0, 386, 0, 0, 387, 388, 389,
3584 0, 390, 391, 266, 0, 0, 267, 392, 0, 393,
3585 394, 268, 269, 0, 0, 0, 0, 270, 0, 0,
3586 0, 395, 0, 0, 0, 0, 0, 0, 0, 0,
3587 0, 396, 397, 0, 0, 0, 0, 398, 0, 399,
3588 0, 400, 0, 0, 401, 402, 125, 318, 0, 127,
3589 128, 0, 0, 0, 0, 129, 0, 0, 0, 130,
3590 131, 319, 0, 133, 0, 0, 320, 321, 134, 0,
3591 135, 136, 0, 137, 0, 0, 0, 138, 322, 323,
3592 324, 139, 0, 0, 325, 140, 0, 141, 326, 0,
3593 327, 144, 0, 145, 146, 147, 148, 149, 150, 0,
3594 151, 152, 0, 153, 328, 329, 0, 0, 154, 330,
3595 331, 332, 0, 333, 155, 156, 157, 334, 335, 336,
3596 0, 0, 0, 0, 337, 160, 338, 0, 0, 339,
3597 0, 0, 0, 0, 0, 161, 162, 0, 0, 0,
3598 163, 0, 164, 165, 166, 0, 0, 167, 0, 168,
3599 169, 0, 170, 171, 0, 172, 0, 173, 174, 340,
3600 341, 175, 342, 343, 176, 177, 178, 344, 179, 0,
3601 0, 0, 180, 181, 0, 182, 0, 183, 345, 0,
3602 184, 0, 346, 0, 0, 0, 347, 86, 186, 0,
3603 88, 348, 0, 187, 188, 0, 0, 0, 0, 0,
3604 349, 350, 0, 0, 0, 0, 0, 189, 0, 351,
3605 0, 0, 191, 0, 352, 192, 0, 0, 353, 193,
3606 0, 0, 0, 0, 0, 194, 195, 0, 196, 354,
3607 0, 0, 355, 197, 198, 199, 356, 0, 0, 357,
3608 358, 202, 0, 203, 359, 360, 205, 206, 207, 0,
3609 0, 208, 209, 210, 361, 362, 211, 363, 364, 0,
3610 212, 213, 0, 214, 215, 216, 217, 0, 0, 0,
3611 0, 0, 0, 0, 0, 218, 365, 0, 219, 0,
3612 220, 221, 366, 223, 0, 0, 0, 0, 0, 224,
3613 0, 0, 0, 0, 225, 367, 368, 0, 0, 0,
3614 226, 0, 0, 369, 227, 228, 229, 230, 231, 370,
3615 233, 0, 371, 235, 0, 0, 0, 236, 237, 238,
3616 239, 0, 0, 240, 0, 241, 242, 243, 0, 0,
3617 0, 0, 0, 0, 0, 0, 0, 0, 244, 245,
3618 372, 373, 246, 0, 0, 247, 374, 249, 375, 376,
3619 250, 377, 251, 252, 0, 0, 253, 0, 378, 254,
3620 0, 379, 380, 381, 257, 0, 0, 258, 382, 383,
3621 384, 260, 385, 261, 262, 0, 0, 0, 263, 0,
3622 0, 0, 0, 386, 0, 0, 387, 388, 389, 0,
3623 390, 391, 266, 0, 0, 267, 392, 0, 393, 394,
3624 268, 269, 0, 0, 0, 0, 270, 0, 0, 0,
3625 395, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3626 396, 397, 0, 0, 0, 0, 398, 0, 538, 0,
3627 400, 0, 0, 401, 402, 125, 318, 0, 127, 128,
3628 823, 0, 0, 0, 824, 0, 0, 0, 130, 131,
3629 319, 0, 133, 0, 0, 320, 321, 134, 0, 135,
3630 136, 0, 137, 0, 0, 0, 138, 322, 323, 324,
3631 139, 0, 0, 325, 140, 0, 141, 326, 0, 327,
3632 144, 0, 145, 146, 147, 148, 149, 150, 0, 151,
3633 152, 0, 153, 328, 329, 0, 0, 154, 330, 331,
3634 332, 0, 333, 155, 156, 157, 334, 335, 336, 0,
3635 0, 0, 0, 337, 160, 338, 0, 0, 339, 0,
3636 0, 0, 0, 0, 161, 162, 0, 0, 0, 163,
3637 0, 164, 165, 166, 0, 0, 167, 0, 168, 169,
3638 0, 170, 171, 0, 172, 0, 173, 174, 340, 341,
3639 175, 342, 343, 176, 177, 178, 344, 179, 0, 0,
3640 0, 180, 181, 0, 182, 0, 183, 345, 0, 184,
3641 0, 346, 0, 0, 0, 347, 86, 186, 0, 88,
3642 348, 0, 187, 188, 0, 0, 0, 0, 0, 349,
3643 350, 0, 0, 0, 0, 0, 189, 0, 351, 0,
3644 0, 191, 0, 352, 192, 0, 0, 353, 193, 0,
3645 0, 0, 0, 0, 194, 195, 0, 196, 354, 0,
3646 0, 355, 197, 198, 199, 356, 0, 0, 357, 358,
3647 202, 0, 203, 359, 360, 205, 206, 207, 0, 0,
3648 208, 209, 210, 0, 362, 211, 363, 364, 0, 212,
3649 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
3650 0, 0, 0, 0, 218, 365, 0, 219, 0, 220,
3651 221, 366, 223, 0, 0, 0, 0, 0, 224, 0,
3652 0, 0, 0, 225, 367, 368, 0, 0, 0, 226,
3653 0, 0, 369, 227, 228, 229, 230, 231, 370, 233,
3654 0, 371, 235, 0, 0, 0, 236, 237, 238, 239,
3655 0, 0, 240, 0, 241, 242, 243, 0, 0, 0,
3656 0, 0, 0, 0, 0, 0, 0, 244, 245, 372,
3657 373, 246, 0, 0, 247, 374, 249, 375, 376, 250,
3658 377, 251, 252, 0, 0, 253, 0, 378, 254, 0,
3659 379, 380, 381, 257, 0, 0, 258, 382, 383, 384,
3660 260, 385, 261, 262, 0, 0, 0, 263, 0, 0,
3661 0, 0, 386, 0, 0, 387, 388, 389, 0, 390,
3662 391, 266, 0, 0, 267, 392, 0, 393, 394, 268,
3663 269, 0, 0, 0, 0, 270, 0, 0, 0, 395,
3664 0, 0, 0, 0, 0, 0, 0, 0, 0, 396,
3665 397, 0, 0, 0, 0, 398, 0, 399, 0, 400,
3666 0, 0, 401, 402, 125, 318, 0, 127, 128, 0,
3667 0, 0, 0, 129, 0, 0, 0, 130, 131, 319,
3668 0, 133, 0, 0, 320, 321, 134, 0, 135, 136,
3669 0, 137, 0, 0, 0, 138, 322, 323, 324, 139,
3670 0, 0, 325, 140, 0, 141, 326, 0, 327, 144,
3671 0, 145, 146, 147, 148, 149, 150, 0, 151, 152,
3672 0, 153, 328, 329, 0, 0, 154, 330, 331, 332,
3673 0, 333, 155, 156, 157, 334, 335, 336, 0, 0,
3674 0, 0, 337, 160, 338, 0, 0, 339, 0, 0,
3675 0, 0, 0, 161, 162, 0, 0, 0, 163, 0,
3676 164, 165, 166, 0, 0, 167, 0, 168, 169, 0,
3677 170, 171, 0, 172, 0, 173, 174, 340, 341, 175,
3678 342, 343, 176, 177, 178, 344, 179, 0, 0, 0,
3679 180, 181, 0, 182, 0, 183, 345, 0, 184, 0,
3680 346, 0, 0, 0, 347, 86, 186, 0, 88, 348,
3681 0, 187, 188, 0, 0, 0, 0, 0, 349, 1144,
3682 0, 0, 0, 0, 0, 189, 0, 351, 0, 0,
3683 191, 0, 352, 192, 0, 0, 353, 193, 0, 0,
3684 0, 0, 0, 194, 195, 0, 196, 354, 0, 0,
3685 355, 197, 198, 199, 356, 0, 0, 357, 358, 202,
3686 0, 203, 359, 360, 205, 206, 207, 0, 0, 208,
3687 209, 210, 361, 362, 211, 363, 364, 0, 212, 213,
3688 0, 214, 215, 216, 217, 0, 0, 0, 0, 0,
3689 0, 0, 0, 218, 365, 0, 219, 0, 220, 221,
3690 366, 223, 0, 0, 0, 0, 0, 224, 0, 0,
3691 0, 0, 225, 367, 368, 0, 0, 0, 226, 0,
3692 0, 369, 227, 228, 229, 230, 231, 370, 233, 0,
3693 371, 235, 0, 0, 0, 236, 237, 238, 239, 0,
3694 0, 240, 0, 241, 242, 243, 0, 0, 0, 0,
3695 0, 0, 0, 0, 0, 0, 244, 245, 372, 373,
3696 246, 0, 0, 247, 374, 249, 375, 376, 250, 377,
3697 251, 252, 0, 0, 253, 0, 378, 254, 0, 379,
3698 380, 381, 257, 0, 0, 258, 382, 383, 384, 260,
3699 385, 261, 262, 0, 0, 0, 263, 0, 0, 0,
3700 0, 386, 0, 0, 387, 388, 389, 0, 390, 391,
3701 266, 0, 0, 267, 392, 0, 393, 394, 268, 269,
3702 0, 0, 0, 0, 270, 0, 0, 0, 395, 0,
3703 0, 0, 0, 0, 0, 0, 0, 0, 396, 397,
3704 0, 0, 0, 0, 398, 0, 399, 0, 400, 0,
3705 0, 401, 402, 125, 318, 0, 127, 128, 0, 0,
3706 0, 0, 129, 0, 0, 0, 130, 131, 319, 0,
3707 133, 0, 0, 320, 321, 134, 0, 135, 136, 0,
3708 137, 0, 0, 0, 138, 322, 323, 324, 139, 0,
3709 0, 325, 140, 0, 141, 326, 0, 327, 144, 0,
3710 145, 146, 147, 148, 149, 150, 0, 151, 152, 0,
3711 153, 328, 329, 0, 0, 154, 330, 331, 332, 0,
3712 333, 155, 156, 157, 334, 335, 336, 0, 0, 0,
3713 0, 337, 160, 338, 0, 0, 339, 0, 0, 0,
3714 0, 0, 161, 162, 0, 0, 0, 163, 0, 164,
3715 165, 166, 0, 0, 167, 0, 168, 169, 0, 170,
3716 171, 0, 172, 0, 173, 174, 340, 341, 175, 342,
3717 343, 176, 177, 178, 344, 179, 0, 0, 0, 180,
3718 181, 0, 182, 0, 183, 345, 0, 184, 0, 346,
3719 0, 0, 0, 347, 86, 186, 0, 88, 348, 0,
3720 187, 188, 0, 0, 0, 0, 0, 349, 1186, 0,
3721 0, 0, 0, 0, 189, 0, 351, 0, 0, 191,
3722 0, 352, 192, 0, 0, 353, 193, 0, 0, 0,
3723 0, 0, 194, 195, 0, 196, 354, 0, 0, 355,
3724 197, 198, 199, 356, 0, 0, 357, 358, 202, 0,
3725 203, 359, 360, 205, 206, 207, 0, 0, 208, 209,
3726 210, 361, 362, 211, 363, 364, 0, 212, 213, 0,
3727 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
3728 0, 0, 218, 365, 0, 219, 0, 220, 221, 366,
3729 223, 0, 0, 0, 0, 0, 224, 0, 0, 0,
3730 0, 225, 367, 368, 0, 0, 0, 226, 0, 0,
3731 369, 227, 228, 229, 230, 231, 370, 233, 0, 371,
3732 235, 0, 0, 0, 236, 237, 238, 239, 0, 0,
3733 240, 0, 241, 242, 243, 0, 0, 0, 0, 0,
3734 0, 0, 0, 0, 0, 244, 245, 372, 373, 246,
3735 0, 0, 247, 374, 249, 375, 376, 250, 377, 251,
3736 252, 0, 0, 253, 0, 378, 254, 0, 379, 380,
3737 381, 257, 0, 0, 258, 382, 383, 384, 260, 385,
3738 261, 262, 0, 0, 0, 263, 0, 0, 0, 0,
3739 386, 0, 0, 387, 388, 389, 0, 390, 391, 266,
3740 0, 0, 267, 392, 0, 393, 394, 268, 269, 0,
3741 0, 0, 0, 270, 0, 0, 0, 395, 0, 0,
3742 0, 0, 0, 0, 0, 0, 0, 396, 397, 0,
3743 0, 0, 0, 398, 0, 399, 0, 400, 0, 0,
3744 401, 402, 125, 318, 0, 127, 128, 0, 0, 0,
3745 0, 129, 0, 0, 0, 130, 131, 319, 0, 133,
3746 0, 0, 320, 321, 134, 0, 135, 136, 0, 137,
3747 0, 0, 0, 138, 322, 323, 324, 139, 0, 0,
3748 325, 140, 0, 141, 326, 0, 327, 144, 0, 145,
3749 146, 147, 148, 149, 150, 0, 151, 152, 0, 153,
3750 328, 329, 0, 0, 154, 330, 331, 332, 0, 333,
3751 155, 156, 157, 334, 335, 336, 0, 0, 0, 0,
3752 337, 160, 338, 0, 0, 1280, 0, 0, 0, 0,
3753 0, 161, 162, 0, 0, 0, 163, 0, 164, 165,
3754 166, 0, 0, 167, 0, 168, 169, 0, 170, 171,
3755 0, 172, 0, 173, 174, 340, 341, 175, 342, 343,
3756 176, 177, 178, 344, 179, 0, 0, 0, 180, 181,
3757 0, 182, 0, 183, 345, 0, 184, 0, 346, 0,
3758 0, 0, 347, 86, 186, 0, 88, 348, 0, 187,
3759 188, 0, 0, 0, 0, 0, 349, 350, 0, 0,
3760 0, 0, 0, 189, 0, 351, 0, 0, 191, 0,
3761 352, 192, 0, 0, 353, 193, 0, 0, 0, 0,
3762 0, 194, 195, 0, 196, 354, 0, 0, 355, 197,
3763 198, 199, 356, 0, 0, 357, 358, 202, 0, 203,
3764 359, 360, 205, 206, 207, 0, 0, 208, 209, 210,
3765 361, 362, 211, 363, 364, 0, 212, 213, 0, 214,
3766 215, 216, 217, 0, 0, 0, 0, 0, 0, 0,
3767 0, 218, 365, 0, 219, 0, 220, 221, 366, 223,
3768 0, 0, 0, 0, 0, 224, 0, 0, 0, 0,
3769 225, 367, 368, 0, 0, 0, 226, 0, 0, 369,
3770 227, 228, 229, 230, 231, 370, 233, 0, 371, 235,
3771 0, 0, 0, 236, 237, 238, 239, 0, 0, 240,
3772 0, 241, 242, 243, 0, 0, 0, 0, 0, 0,
3773 0, 0, 0, 0, 244, 245, 372, 373, 246, 0,
3774 0, 247, 374, 249, 375, 376, 250, 377, 251, 252,
3775 0, 0, 253, 0, 378, 254, 0, 379, 380, 381,
3776 257, 0, 0, 258, 382, 383, 384, 260, 385, 261,
3777 262, 0, 0, 0, 263, 0, 0, 0, 0, 386,
3778 0, 0, 387, 388, 389, 0, 390, 391, 266, 0,
3779 0, 267, 392, 0, 393, 394, 268, 269, 0, 0,
3780 0, 0, 270, 0, 0, 0, 395, 0, 0, 0,
3781 0, 0, 0, 0, 0, 0, 396, 397, 0, 0,
3782 0, 0, 398, 0, 399, 0, 400, 0, 0, 401,
3783 402, 125, 318, 0, 127, 128, 0, 0, 0, 0,
3784 129, 0, 0, 0, 130, 131, 319, 0, 133, 0,
3785 0, 320, 321, 134, 0, 135, 136, 0, 137, 0,
3786 0, 0, 138, 322, 323, 324, 139, 0, 0, 325,
3787 140, 0, 141, 326, 0, 327, 144, 0, 145, 146,
3788 147, 148, 149, 150, 0, 151, 152, 0, 153, 328,
3789 329, 0, 0, 154, 330, 331, 332, 0, 333, 155,
3790 156, 157, 334, 335, 336, 0, 0, 0, 0, 337,
3791 160, 338, 0, 0, 339, 0, 0, 0, 0, 0,
3792 161, 162, 0, 0, 0, 163, 0, 164, 165, 166,
3793 0, 0, 167, 0, 168, 169, 0, 170, 171, 0,
3794 172, 0, 173, 174, 340, 341, 175, 342, 343, 176,
3795 177, 178, 344, 179, 0, 0, 0, 180, 181, 0,
3796 182, 0, 183, 345, 0, 184, 0, 346, 0, 0,
3797 0, 347, 86, 186, 0, 88, 348, 0, 187, 188,
3798 0, 0, 0, 0, 0, 349, 350, 0, 0, 0,
3799 0, 0, 189, 0, 351, 0, 0, 191, 0, 352,
3800 192, 0, 0, 353, 193, 0, 0, 0, 0, 0,
3801 194, 195, 0, 196, 354, 0, 0, 355, 197, 198,
3802 199, 356, 0, 0, 357, 358, 202, 0, 203, 359,
3803 360, 205, 206, 207, 0, 0, 208, 209, 210, 0,
3804 362, 211, 363, 364, 0, 212, 213, 0, 214, 215,
3805 216, 217, 0, 0, 0, 0, 0, 0, 0, 0,
3806 218, 365, 0, 219, 0, 220, 221, 366, 223, 0,
3807 0, 0, 0, 0, 224, 0, 0, 0, 0, 225,
3808 367, 368, 0, 0, 0, 226, 0, 0, 369, 227,
3809 228, 229, 230, 231, 370, 233, 0, 371, 235, 0,
3810 0, 0, 236, 237, 238, 239, 0, 0, 240, 0,
3811 241, 242, 243, 0, 0, 0, 0, 0, 0, 0,
3812 0, 0, 0, 244, 245, 372, 373, 246, 0, 0,
3813 247, 374, 249, 375, 376, 250, 377, 251, 252, 0,
3814 0, 253, 0, 378, 254, 0, 379, 380, 381, 257,
3815 0, 0, 258, 382, 383, 384, 260, 385, 261, 262,
3816 0, 0, 0, 263, 0, 0, 0, 0, 386, 0,
3817 0, 387, 388, 389, 0, 390, 391, 266, 0, 0,
3818 267, 392, 0, 393, 394, 268, 269, 0, 0, 0,
3819 0, 270, 0, 0, 0, 395, 0, 0, 0, 0,
3820 0, 0, 0, 0, 0, 396, 397, 0, 0, 0,
3821 0, 398, 0, 399, 0, 400, 0, 0, 401, 402,
3822 125, 318, 0, 127, 128, 0, 0, 0, 0, 129,
3823 0, 0, 0, 130, 131, 319, 0, 133, 0, 0,
3824 320, 321, 134, 0, 135, 136, 0, 137, 0, 0,
3825 0, 138, 322, 323, 324, 139, 0, 0, 325, 140,
3826 0, 141, 326, 0, 327, 144, 0, 145, 146, 147,
3827 148, 149, 150, 0, 151, 152, 0, 153, 328, 329,
3828 0, 0, 154, 330, 331, 332, 0, 333, 155, 156,
3829 157, 334, 335, 336, 0, 0, 0, 0, 337, 160,
3830 338, 0, 0, 339, 0, 0, 0, 0, 0, 161,
3831 162, 0, 0, 0, 163, 0, 164, 165, 166, 0,
3832 0, 167, 0, 168, 169, 0, 170, 171, 0, 172,
3833 0, 173, 174, 340, 341, 175, 342, 343, 176, 177,
3834 178, 344, 179, 0, 0, 0, 180, 181, 0, 182,
3835 0, 183, 345, 0, 184, 0, 346, 0, 0, 0,
3836 347, 86, 186, 0, 88, 348, 0, 187, 188, 0,
3837 0, 0, 0, 0, 349, 841, 0, 0, 0, 0,
3838 0, 189, 0, 351, 0, 0, 191, 0, 352, 192,
3839 0, 0, 353, 193, 0, 0, 0, 0, 0, 194,
3840 195, 0, 196, 354, 0, 0, 355, 197, 198, 199,
3841 356, 0, 0, 357, 358, 202, 0, 203, 359, 360,
3842 205, 206, 207, 0, 0, 208, 209, 210, 0, 362,
3843 211, 363, 364, 0, 212, 213, 0, 214, 215, 216,
3844 217, 0, 0, 0, 0, 0, 0, 0, 0, 218,
3845 365, 0, 219, 0, 220, 221, 366, 223, 0, 0,
3846 0, 0, 0, 224, 0, 0, 0, 0, 225, 367,
3847 368, 0, 0, 0, 226, 0, 0, 369, 227, 228,
3848 229, 230, 231, 370, 233, 0, 371, 235, 0, 0,
3849 0, 236, 237, 238, 239, 0, 0, 240, 0, 241,
3850 242, 243, 0, 0, 0, 0, 0, 0, 0, 0,
3851 0, 0, 244, 245, 372, 373, 246, 0, 0, 247,
3852 374, 249, 375, 376, 250, 377, 251, 252, 0, 0,
3853 253, 0, 378, 254, 0, 379, 380, 381, 257, 0,
3854 0, 258, 382, 383, 384, 260, 385, 261, 262, 0,
3855 0, 0, 263, 0, 0, 0, 0, 386, 0, 0,
3856 387, 388, 389, 0, 390, 391, 266, 0, 0, 267,
3857 392, 0, 393, 394, 268, 269, 0, 0, 0, 0,
3858 270, 0, 0, 0, 395, 0, 0, 0, 0, 0,
3859 0, 0, 0, 0, 396, 397, 0, 0, 0, 0,
3860 398, 0, 399, 0, 400, 0, 0, 401, 402, 125,
3861 318, 0, 127, 128, 0, 0, 0, 0, 129, 0,
3862 0, 0, 130, 131, 319, 0, 133, 0, 0, 320,
3863 321, 134, 0, 135, 136, 0, 137, 0, 0, 0,
3864 138, 322, 323, 324, 139, 0, 0, 325, 140, 0,
3865 141, 326, 0, 327, 144, 0, 145, 146, 147, 148,
3866 149, 150, 0, 151, 152, 0, 153, 328, 329, 0,
3867 0, 154, 330, 331, 332, 0, 333, 155, 156, 157,
3868 334, 335, 336, 0, 0, 0, 0, 337, 160, 338,
3869 0, 0, 339, 0, 0, 0, 0, 0, 161, 162,
3870 0, 0, 0, 163, 0, 164, 165, 166, 0, 0,
3871 167, 0, 168, 169, 0, 170, 171, 0, 172, 0,
3872 173, 174, 340, 341, 175, 342, 343, 176, 177, 178,
3873 344, 179, 0, 0, 0, 180, 181, 0, 182, 0,
3874 183, 345, 0, 184, 0, 346, 0, 0, 0, 347,
3875 86, 186, 0, 88, 348, 0, 187, 188, 0, 0,
3876 0, 0, 0, 349, 843, 0, 0, 0, 0, 0,
3877 189, 0, 351, 0, 0, 191, 0, 352, 192, 0,
3878 0, 353, 193, 0, 0, 0, 0, 0, 194, 195,
3879 0, 196, 354, 0, 0, 355, 197, 198, 199, 356,
3880 0, 0, 357, 358, 202, 0, 203, 359, 360, 205,
3881 206, 207, 0, 0, 208, 209, 210, 0, 362, 211,
3882 363, 364, 0, 212, 213, 0, 214, 215, 216, 217,
3883 0, 0, 0, 0, 0, 0, 0, 0, 218, 365,
3884 0, 219, 0, 220, 221, 366, 223, 0, 0, 0,
3885 0, 0, 224, 0, 0, 0, 0, 225, 367, 368,
3886 0, 0, 0, 226, 0, 0, 369, 227, 228, 229,
3887 230, 231, 370, 233, 0, 371, 235, 0, 0, 0,
3888 236, 237, 238, 239, 0, 0, 240, 0, 241, 242,
3889 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3890 0, 244, 245, 372, 373, 246, 0, 0, 247, 374,
3891 249, 375, 376, 250, 377, 251, 252, 0, 0, 253,
3892 0, 378, 254, 0, 379, 380, 381, 257, 0, 0,
3893 258, 382, 383, 384, 260, 385, 261, 262, 0, 0,
3894 0, 263, 0, 0, 0, 0, 386, 0, 0, 387,
3895 388, 389, 0, 390, 391, 266, 0, 0, 267, 392,
3896 0, 393, 394, 268, 269, 0, 0, 0, 0, 270,
3897 0, 0, 0, 395, 0, 0, 0, 0, 0, 0,
3898 0, 0, 0, 396, 397, 0, 0, 0, 0, 398,
3899 0, 399, 0, 400, 0, 0, 401, 402, 125, 126,
3900 0, 127, 128, 0, 0, 0, 0, 129, 0, 0,
3901 0, 130, 131, 132, 0, 133, 0, 0, 0, 0,
3902 134, 0, 135, 136, 0, 137, 0, 0, 0, 138,
3903 0, 0, 0, 139, 0, 0, 0, 140, 0, 141,
3904 142, 0, 143, 144, 0, 145, 146, 147, 148, 149,
3905 150, 0, 151, 152, 0, 153, 0, 0, 0, 0,
3906 154, 0, 0, 0, 0, 0, 155, 156, 157, 0,
3907 0, 158, 0, 0, 0, 0, 159, 160, 0, 0,
3908 0, 0, 0, 0, 0, 0, 0, 161, 162, 0,
3909 0, 0, 163, 0, 164, 165, 166, 0, 0, 167,
3910 0, 168, 169, 0, 170, 171, 0, 172, 0, 173,
3911 174, 0, 0, 175, 0, 0, 176, 177, 178, 0,
3912 179, 0, 0, 0, 180, 181, 0, 182, 0, 183,
3913 0, 0, 184, 0, 0, 0, 0, 0, 185, 86,
3914 186, 0, 88, 0, 0, 187, 188, 0, 0, 0,
3915 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
3916 0, 190, 0, 0, 191, 0, 0, 192, 0, 0,
3917 0, 193, 0, 0, 0, 0, 0, 194, 195, 0,
3918 196, 0, 0, 0, 0, 197, 198, 199, 200, 0,
3919 0, 201, 0, 202, 0, 203, 0, 204, 205, 206,
3920 207, 0, 0, 208, 209, 210, 0, 0, 211, 0,
3921 0, 0, 212, 213, 0, 214, 215, 216, 217, 0,
3922 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
3923 219, 0, 220, 221, 222, 223, 0, 0, 0, 0,
3924 0, 224, 0, 0, 0, 0, 225, 0, 0, 0,
3925 0, 0, 226, 0, 0, 0, 227, 228, 229, 230,
3926 231, 232, 233, 0, 234, 235, 0, 0, 0, 236,
3927 237, 238, 239, 0, 0, 240, 0, 241, 242, 243,
3928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3929 244, 245, 0, 0, 246, 0, 0, 247, 248, 249,
3930 0, 0, 250, 0, 251, 252, 0, 0, 253, 0,
3931 0, 254, 0, 255, 256, 0, 257, 0, 0, 258,
3932 0, 0, 259, 260, 0, 261, 262, 0, 0, 0,
3933 263, 0, 0, 0, 0, 264, 0, 0, 0, 0,
3934 0, 0, 265, 0, 266, 0, 0, 267, 0, 0,
3935 0, 0, 268, 269, 0, 0, 125, 126, 270, 127,
3936 128, 0, 271, 0, 0, 129, 0, 0, 0, 130,
3937 131, 132, 0, 133, 0, 0, 0, 0, 134, 0,
3938 135, 136, 0, 137, 0, 401, 2107, 138, 0, 0,
3939 0, 139, 0, 0, 0, 140, 0, 141, 142, 0,
3940 143, 144, 0, 145, 146, 147, 148, 149, 150, 0,
3941 151, 152, 1289, 153, 0, 0, 0, 0, 154, 0,
3942 0, 0, 0, 0, 155, 156, 157, 0, 0, 158,
3943 0, 0, 0, 0, 159, 160, 0, 0, 0, 0,
3944 0, 0, 0, 0, 0, 161, 162, 0, 0, 0,
3945 163, 0, 164, 165, 166, 0, 0, 167, 0, 168,
3946 169, 0, 170, 171, 0, 172, 0, 173, 174, 0,
3947 0, 175, 0, 0, 176, 177, 178, 0, 179, 0,
3948 0, 0, 180, 181, 0, 182, 0, 183, 0, 0,
3949 184, 0, 0, 0, 0, 0, 185, 86, 186, 0,
3950 88, 0, 0, 187, 188, 1290, 0, 0, 0, 0,
3951 0, 0, 0, 0, 0, 0, 0, 189, 0, 190,
3952 0, 0, 191, 1291, 0, 192, 0, 0, 0, 193,
3953 0, 1130, 0, 0, 0, 194, 195, 0, 196, 0,
3954 0, 0, 0, 197, 198, 199, 200, 0, 0, 201,
3955 0, 202, 0, 203, 0, 204, 205, 206, 207, 0,
3956 0, 208, 209, 210, 0, 0, 211, 0, 0, 0,
3957 212, 213, 0, 214, 215, 216, 217, 0, 0, 0,
3958 0, 0, 0, 0, 0, 218, 0, 0, 219, 0,
3959 220, 221, 222, 223, 0, 0, 0, 0, 0, 224,
3960 0, 0, 0, 0, 225, 0, 0, 0, 0, 0,
3961 226, 0, 0, 0, 227, 228, 229, 230, 231, 232,
3962 233, 0, 234, 235, 858, 0, 0, 236, 237, 238,
3963 239, 0, 0, 240, 0, 241, 242, 243, 0, 0,
3964 0, 0, 0, 0, 0, 0, 0, 0, 244, 245,
3965 0, 0, 246, 0, 0, 247, 248, 249, 0, 0,
3966 250, 0, 251, 252, 0, 0, 253, 0, 0, 254,
3967 0, 255, 256, 0, 257, 0, 0, 258, 0, 0,
3968 259, 260, 0, 261, 262, 0, 0, 0, 263, 0,
3969 0, 0, 0, 264, 0, 0, 0, 0, 0, 0,
3970 265, 0, 266, 0, 0, 267, 0, 0, 0, 0,
3971 268, 269, 0, 0, 125, 126, 270, 127, 128, 0,
3972 271, 0, 0, 129, 0, 0, 0, 130, 131, 132,
3973 0, 133, 0, 0, 0, 0, 134, 0, 135, 136,
3974 0, 137, 0, 1329, 0, 138, 0, 0, 0, 139,
3975 0, 0, 0, 140, 0, 141, 142, 0, 143, 144,
3976 0, 145, 146, 147, 148, 149, 150, 0, 151, 152,
3977 1289, 153, 0, 0, 0, 0, 154, 0, 0, 0,
3978 0, 0, 155, 156, 157, 0, 0, 158, 0, 0,
3979 0, 0, 159, 160, 0, 0, 0, 0, 0, 0,
3980 0, 0, 0, 161, 162, 0, 0, 0, 163, 0,
3981 164, 165, 166, 0, 0, 167, 0, 168, 169, 0,
3982 170, 171, 0, 172, 0, 173, 174, 0, 0, 175,
3983 0, 0, 176, 177, 178, 0, 179, 0, 0, 0,
3984 180, 181, 0, 182, 0, 183, 0, 0, 184, 0,
3985 0, 0, 0, 0, 185, 86, 186, 0, 88, 0,
3986 0, 187, 188, 1290, 0, 0, 0, 0, 0, 0,
3987 0, 0, 0, 0, 0, 189, 0, 190, 0, 0,
3988 191, 1291, 0, 192, 0, 0, 0, 193, 0, 0,
3989 0, 0, 0, 194, 195, 0, 196, 0, 0, 0,
3990 0, 197, 198, 199, 200, 0, 0, 201, 0, 202,
3991 0, 203, 0, 204, 205, 206, 207, 0, 0, 208,
3992 209, 210, 0, 0, 211, 0, 0, 0, 212, 213,
3993 0, 214, 215, 216, 217, 0, 0, 0, 0, 0,
3994 0, 0, 0, 218, 0, 0, 219, 0, 220, 221,
3995 222, 223, 0, 0, 0, 0, 0, 224, 0, 0,
3996 0, 0, 225, 0, 0, 0, 0, 0, 226, 0,
3997 0, 0, 227, 228, 229, 230, 231, 232, 233, 0,
3998 234, 235, 0, 0, 0, 236, 237, 238, 239, 0,
3999 0, 240, 0, 241, 242, 243, 0, 0, 0, 0,
4000 0, 0, 0, 0, 0, 0, 244, 245, 0, 0,
4001 246, 0, 0, 247, 248, 249, 0, 0, 250, 0,
4002 251, 252, 0, 0, 253, 0, 0, 254, 0, 255,
4003 256, 0, 257, 0, 0, 258, 0, 0, 259, 260,
4004 0, 261, 262, 0, 0, 0, 263, 0, 0, 0,
4005 0, 264, 0, 0, 0, 0, 0, 0, 265, 0,
4006 266, 0, 0, 267, 0, 0, 0, 0, 268, 269,
4007 0, 0, 125, 126, 270, 127, 128, 0, 271, 0,
4008 0, 129, 0, 0, 0, 130, 131, 132, 0, 133,
4009 0, 0, 0, 0, 134, 0, 135, 136, 0, 137,
4010 0, 1329, 0, 138, 0, 0, 0, 139, 0, 0,
4011 0, 140, 0, 141, 142, 0, 143, 144, 0, 145,
4012 146, 147, 148, 149, 150, 0, 151, 152, 0, 153,
4013 0, 0, 0, 0, 154, 0, 0, 0, 0, 0,
4014 155, 156, 157, 0, 0, 158, 0, 0, 0, 0,
4015 159, 160, 0, 0, 0, 0, 0, 0, 0, 0,
4016 0, 161, 162, 0, 0, 0, 163, 0, 164, 165,
4017 166, 0, 0, 167, 0, 168, 169, 0, 170, 171,
4018 0, 172, 0, 173, 174, 0, 0, 175, 0, 0,
4019 176, 177, 178, 0, 179, 0, 0, 0, 180, 181,
4020 0, 182, 0, 183, 0, 0, 184, 0, 0, 0,
4021 0, 0, 185, 86, 186, 0, 88, 0, 0, 187,
4022 188, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4023 0, 0, 0, 189, 0, 190, 0, 0, 191, 0,
4024 0, 192, 0, 0, 0, 193, 0, 0, 0, 0,
4025 0, 194, 195, 0, 196, 0, 0, 0, 0, 197,
4026 198, 199, 200, 0, 0, 201, 0, 202, 0, 203,
4027 0, 204, 205, 206, 207, 0, 0, 208, 209, 210,
4028 0, 0, 211, 0, 0, 0, 212, 213, 0, 214,
4029 215, 216, 217, 0, 0, 0, 0, 0, 0, 0,
4030 0, 218, 0, 0, 219, 0, 220, 221, 222, 223,
4031 0, 0, 0, 0, 0, 224, 0, 0, 0, 0,
4032 225, 0, 0, 0, 0, 0, 226, 0, 0, 0,
4033 227, 228, 229, 230, 231, 232, 233, 0, 234, 235,
4034 858, 0, 0, 236, 237, 238, 239, 0, 0, 240,
4035 0, 241, 242, 243, 0, 0, 0, 0, 0, 0,
4036 0, 0, 0, 0, 244, 245, 0, 0, 246, 0,
4037 0, 247, 248, 249, 0, 0, 250, 0, 251, 252,
4038 0, 0, 253, 0, 0, 254, 0, 255, 256, 0,
4039 257, 0, 0, 258, 0, 0, 259, 260, 0, 261,
4040 262, 0, 0, 0, 263, 0, 0, 0, 0, 264,
4041 0, 0, 0, 0, 0, 0, 265, 0, 266, 0,
4042 0, 267, 0, 0, 0, 0, 268, 269, 0, 0,
4043 0, 0, 270, 0, 0, 0, 271, 0, 0, 125,
4044 126, 0, 127, 128, 0, 0, 0, 0, 129, 0,
4045 0, 0, 130, 131, 132, 1049, 133, 0, 0, 401,
4046 0, 134, 0, 135, 136, 0, 137, 0, 0, 0,
4047 138, 0, 0, 0, 139, 0, 0, 0, 140, 0,
4048 141, 142, 0, 143, 144, 0, 145, 146, 147, 148,
4049 149, 150, 0, 151, 152, 0, 153, 0, 0, 0,
4050 0, 154, 0, 0, 0, 0, 0, 155, 156, 157,
4051 0, 0, 158, 0, 0, 0, 0, 159, 160, 0,
4052 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
4053 0, 0, 0, 163, 0, 164, 165, 166, 0, 0,
4054 167, 0, 168, 169, 0, 170, 171, 0, 172, 0,
4055 173, 174, 0, 0, 175, 0, 0, 176, 177, 178,
4056 0, 179, 0, 0, 0, 180, 181, 0, 182, 0,
4057 183, 0, 0, 184, 0, 0, 0, 0, 0, 185,
4058 86, 186, 0, 88, 0, 0, 187, 188, 0, 0,
4059 0, 0, 0, 0, 0, 425, 0, 0, 0, 0,
4060 189, 0, 190, 0, 0, 191, 0, 0, 192, 0,
4061 0, 0, 193, 0, 0, 0, 0, 0, 194, 195,
4062 0, 196, 0, 0, 0, 0, 197, 198, 199, 200,
4063 0, 0, 201, 0, 202, 0, 203, 0, 204, 205,
4064 206, 207, 0, 0, 208, 209, 210, 0, 0, 211,
4065 0, 0, 0, 212, 213, 0, 214, 215, 216, 217,
4066 0, 0, 0, 0, 0, 0, 0, 0, 218, 0,
4067 0, 219, 0, 220, 221, 222, 223, 0, 0, 0,
4068 0, 0, 224, 0, 0, 0, 0, 225, 0, 0,
4069 0, 0, 0, 226, 0, 0, 0, 227, 228, 229,
4070 230, 231, 232, 233, 0, 234, 235, 0, 0, 0,
4071 236, 237, 238, 239, 0, 0, 240, 0, 241, 242,
4072 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4073 0, 244, 245, 0, 0, 246, 0, 0, 247, 248,
4074 249, 0, 0, 250, 0, 251, 252, 0, 0, 253,
4075 0, 0, 254, 0, 255, 256, 0, 257, 0, 0,
4076 258, 0, 0, 259, 260, 0, 261, 262, 0, 0,
4077 0, 263, 0, 0, 0, 0, 264, 0, 0, 0,
4078 0, 0, 0, 265, 0, 266, 0, 0, 267, 0,
4079 0, 0, 0, 268, 269, 0, 0, 125, 126, 270,
4080 127, 128, 0, 271, 0, 0, 129, 0, 0, 0,
4081 130, 131, 132, 0, 133, 0, 0, 0, 0, 134,
4082 0, 135, 136, 0, 137, 0, 283, 0, 138, 0,
4083 0, 0, 139, 0, 0, 0, 140, 0, 141, 142,
4084 0, 143, 144, 0, 145, 146, 147, 148, 149, 150,
4085 0, 151, 152, 0, 153, 0, 0, 0, 0, 154,
4086 0, 0, 0, 0, 0, 155, 156, 157, 0, 0,
4087 158, 0, 0, 0, 0, 159, 160, 0, 0, 0,
4088 0, 0, 0, 0, 0, 0, 161, 162, 0, 0,
4089 0, 163, 0, 164, 165, 166, 0, 0, 167, 0,
4090 168, 169, 0, 170, 171, 0, 172, 0, 173, 174,
4091 0, 0, 175, 0, 0, 176, 177, 178, 0, 179,
4092 0, 0, 0, 180, 181, 0, 182, 0, 183, 0,
4093 0, 184, 0, 0, 0, 0, 0, 185, 86, 186,
4094 0, 88, 0, 0, 187, 188, 0, 0, 0, 0,
4095 0, 0, 0, 0, 0, 0, 0, 0, 189, 0,
4096 190, 0, 0, 191, 0, 0, 192, 0, 0, 0,
4097 193, 0, 0, 0, 0, 0, 194, 195, 0, 196,
4098 0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
4099 201, 0, 202, 0, 203, 0, 204, 205, 206, 207,
4100 0, 0, 208, 209, 210, 0, 0, 211, 0, 0,
4101 0, 212, 213, 0, 214, 215, 216, 217, 0, 0,
4102 0, 0, 0, 0, 0, 0, 218, 0, 0, 219,
4103 0, 220, 221, 222, 223, 0, 0, 0, 0, 0,
4104 224, 0, 0, 0, 0, 225, 0, 0, 0, 0,
4105 0, 226, 0, 0, 0, 227, 228, 229, 230, 231,
4106 232, 233, 0, 234, 235, 0, 0, 0, 236, 237,
4107 238, 239, 0, 0, 240, 0, 241, 242, 243, 0,
4108 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
4109 245, 0, 0, 246, 0, 0, 247, 248, 249, 0,
4110 0, 250, 0, 251, 252, 0, 0, 253, 0, 0,
4111 254, 0, 255, 256, 0, 257, 0, 0, 258, 0,
4112 0, 259, 260, 0, 261, 262, 0, 0, 0, 263,
4113 0, 0, 0, 0, 264, 0, 0, 0, 0, 0,
4114 0, 265, 0, 266, 0, 0, 267, 0, 0, 0,
4115 0, 268, 269, 0, 0, 0, 0, 270, 0, 0,
4116 0, 271, 0, 125, 126, 0, 127, 128, 0, 0,
4117 0, 0, 129, 0, 0, 0, 130, 131, 132, 1328,
4118 133, 0, 0, 0, 1329, 134, 0, 135, 136, 0,
4119 137, 0, 0, 0, 138, 0, 0, 0, 139, 0,
4120 0, 0, 140, 0, 141, 142, 0, 143, 144, 0,
4121 145, 146, 147, 148, 149, 150, 0, 151, 152, 0,
4122 153, 0, 0, 0, 0, 154, 0, 0, 0, 0,
4123 0, 155, 156, 157, 0, 0, 158, 0, 0, 0,
4124 0, 159, 160, 0, 0, 0, 0, 0, 0, 0,
4125 0, 0, 161, 162, 0, 0, 0, 163, 0, 164,
4126 165, 166, 0, 0, 167, 0, 168, 169, 0, 170,
4127 171, 0, 172, 0, 173, 174, 0, 0, 282, 0,
4128 0, 176, 177, 178, 0, 179, 0, 0, 0, 180,
4129 181, 0, 182, 0, 183, 0, 0, 184, 0, 0,
4130 0, 0, 0, 185, 86, 186, 0, 88, 0, 0,
4131 187, 188, 0, 0, 0, 0, 0, 0, 0, 0,
4132 0, 0, 0, 0, 189, 0, 190, 0, 0, 191,
4133 0, 0, 192, 0, 0, 0, 193, 0, 0, 0,
4134 0, 0, 194, 195, 0, 196, 0, 0, 0, 0,
4135 197, 198, 199, 200, 0, 0, 201, 0, 202, 0,
4136 203, 0, 204, 205, 206, 207, 0, 0, 208, 209,
4137 210, 0, 0, 211, 0, 0, 0, 212, 213, 0,
4138 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
4139 0, 0, 218, 0, 0, 219, 0, 220, 221, 222,
4140 223, 0, 0, 0, 0, 0, 224, 0, 0, 0,
4141 0, 225, 0, 0, 0, 0, 0, 226, 0, 0,
4142 0, 227, 228, 229, 230, 231, 232, 233, 0, 234,
4143 235, 0, 0, 0, 236, 237, 238, 239, 0, 0,
4144 240, 0, 241, 242, 243, 0, 0, 0, 0, 0,
4145 0, 0, 0, 0, 0, 244, 245, 0, 0, 246,
4146 0, 0, 247, 248, 249, 0, 0, 250, 0, 251,
4147 252, 0, 0, 253, 0, 0, 254, 0, 255, 256,
4148 0, 257, 0, 0, 258, 0, 0, 259, 260, 0,
4149 261, 262, 0, 0, 0, 263, 0, 0, 0, 0,
4150 264, 0, 0, 0, 0, 0, 0, 265, 0, 266,
4151 0, 0, 267, 0, 0, 0, 0, 268, 269, 0,
4152 0, 125, 126, 270, 127, 128, 0, 271, 0, 0,
4153 129, 0, 0, 0, 130, 131, 132, 0, 133, 0,
4154 0, 0, 0, 134, 0, 135, 136, 0, 137, 0,
4155 283, 0, 138, 0, 0, 0, 139, 0, 0, 0,
4156 140, 0, 141, 142, 0, 143, 144, 0, 145, 146,
4157 147, 148, 149, 150, 0, 151, 152, 0, 153, 0,
4158 0, 0, 0, 154, 0, 0, 0, 0, 0, 155,
4159 156, 157, 0, 0, 158, 0, 0, 0, 0, 159,
4160 160, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4161 161, 162, 0, 0, 0, 163, 0, 164, 165, 166,
4162 0, 0, 167, 0, 168, 169, 0, 170, 171, 0,
4163 172, 0, 173, 174, 0, 0, 175, 0, 0, 176,
4164 177, 178, 0, 179, 0, 0, 0, 180, 181, 0,
4165 182, 0, 183, 0, 0, 184, 0, 0, 0, 0,
4166 0, 185, 86, 186, 0, 88, 0, 0, 187, 188,
4167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4168 0, 0, 189, 0, 190, 0, 0, 191, 0, 0,
4169 192, 0, 0, 0, 193, 0, 0, 0, 0, 0,
4170 194, 195, 0, 196, 0, 0, 0, 0, 197, 198,
4171 199, 200, 0, 0, 201, 0, 202, 0, 203, 0,
4172 204, 205, 206, 207, 0, 0, 208, 209, 210, 0,
4173 0, 211, 0, 0, 0, 212, 213, 0, 214, 215,
4174 216, 217, 0, 0, 0, 0, 0, 0, 0, 0,
4175 218, 0, 0, 219, 0, 220, 221, 222, 223, 0,
4176 0, 0, 0, 0, 224, 0, 0, 0, 0, 225,
4177 0, 0, 0, 0, 0, 226, 0, 0, 0, 227,
4178 228, 229, 230, 231, 232, 233, 0, 234, 235, 0,
4179 0, 0, 236, 237, 238, 239, 0, 0, 240, 0,
4180 241, 242, 243, 0, 0, 0, 0, 0, 0, 0,
4181 0, 0, 0, 244, 245, 0, 0, 246, 0, 0,
4182 247, 248, 249, 0, 0, 250, 0, 251, 252, 0,
4183 0, 253, 0, 0, 254, 0, 255, 256, 0, 257,
4184 0, 0, 258, 0, 0, 259, 260, 0, 261, 262,
4185 0, 0, 0, 263, 0, 0, 0, 0, 264, 0,
4186 0, 0, 0, 0, 0, 265, 0, 266, 0, 0,
4187 267, 0, 0, 0, 0, 268, 269, 0, 0, 125,
4188 126, 270, 127, 128, 0, 271, 0, 0, 129, 0,
4189 0, 0, 130, 131, 132, 0, 133, 0, 0, 0,
4190 0, 134, 0, 135, 136, 0, 137, 0, 283, 0,
4191 138, 0, 0, 0, 139, 0, 0, 0, 140, 0,
4192 141, 142, 0, 143, 144, 0, 145, 146, 147, 148,
4193 149, 150, 0, 151, 152, 0, 153, 0, 0, 0,
4194 0, 154, 0, 0, 0, 0, 0, 155, 156, 157,
4195 0, 0, 158, 0, 0, 0, 0, 159, 160, 0,
4196 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
4197 0, 0, 0, 163, 0, 164, 165, 166, 0, 0,
4198 167, 0, 168, 169, 0, 170, 171, 0, 172, 0,
4199 173, 174, 0, 0, 175, 0, 0, 176, 177, 178,
4200 0, 179, 0, 0, 0, 180, 181, 0, 182, 0,
4201 183, 0, 0, 184, 0, 0, 0, 0, 0, 185,
4202 86, 186, 0, 88, 0, 0, 187, 188, 0, 0,
4203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4204 189, 0, 190, 0, 0, 191, 0, 0, 192, 0,
4205 0, 0, 193, 0, 0, 0, 0, 0, 194, 195,
4206 0, 196, 0, 0, 0, 0, 197, 198, 199, 200,
4207 0, 0, 201, 0, 202, 0, 203, 0, 204, 205,
4208 206, 207, 0, 0, 208, 209, 210, 0, 0, 211,
4209 0, 0, 0, 212, 213, 0, 214, 215, 216, 217,
4210 0, 0, 0, 0, 0, 0, 0, 0, 218, 0,
4211 0, 219, 0, 220, 221, 222, 223, 0, 0, 0,
4212 0, 0, 224, 0, 0, 0, 0, 225, 0, 0,
4213 0, 0, 0, 226, 0, 0, 0, 227, 228, 229,
4214 230, 231, 232, 233, 0, 234, 235, 0, 0, 0,
4215 236, 237, 238, 239, 0, 0, 240, 0, 241, 242,
4216 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4217 0, 244, 245, 0, 0, 246, 0, 0, 247, 248,
4218 249, 0, 0, 250, 0, 251, 252, 0, 0, 253,
4219 0, 0, 254, 0, 255, 256, 0, 257, 0, 0,
4220 258, 0, 0, 259, 260, 0, 261, 262, 0, 0,
4221 0, 263, 0, 0, 0, 0, 264, 0, 0, 0,
4222 0, 0, 0, 265, 0, 266, 0, 0, 267, 0,
4223 0, 0, 0, 268, 269, 0, 0, 125, 126, 270,
4224 127, 128, 0, 271, 0, 0, 129, 0, 0, 0,
4225 130, 131, 132, 0, 133, 0, 0, 0, 0, 134,
4226 0, 135, 136, 0, 137, 0, 401, 0, 138, 0,
4227 0, 0, 139, 0, 0, 0, 140, 0, 141, 142,
4228 0, 143, 144, 0, 145, 146, 147, 148, 149, 150,
4229 0, 151, 152, 0, 153, 0, 0, 0, 0, 154,
4230 0, 0, 0, 0, 0, 155, 156, 157, 0, 0,
4231 158, 0, 0, 0, 0, 159, 160, 0, 0, 0,
4232 0, 0, 0, 0, 0, 0, 161, 162, 0, 0,
4233 0, 163, 0, 164, 165, 166, 0, 0, 167, 0,
4234 168, 169, 0, 170, 171, 0, 172, 0, 173, 174,
4235 0, 0, 175, 0, 0, 176, 177, 178, 0, 179,
4236 0, 0, 0, 180, 181, 0, 182, 0, 183, 0,
4237 0, 184, 0, 0, 0, 0, 0, 185, 86, 186,
4238 0, 88, 0, 0, 187, 188, 0, 0, 0, 0,
4239 0, 0, 0, 0, 0, 0, 0, 0, 189, 0,
4240 190, 0, 0, 191, 0, 0, 192, 0, 0, 0,
4241 193, 0, 0, 0, 0, 0, 194, 195, 0, 196,
4242 0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
4243 201, 0, 202, 0, 203, 0, 204, 205, 206, 207,
4244 0, 0, 208, 209, 210, 0, 0, 211, 0, 0,
4245 0, 212, 213, 0, 214, 215, 216, 217, 0, 0,
4246 0, 0, 0, 0, 0, 0, 218, 0, 0, 219,
4247 0, 220, 221, 222, 223, 0, 0, 0, 0, 0,
4248 224, 0, 0, 0, 0, 225, 0, 0, 0, 0,
4249 0, 226, 0, 0, 0, 227, 228, 229, 230, 231,
4250 232, 233, 0, 234, 235, 0, 0, 0, 236, 237,
4251 238, 239, 0, 0, 240, 0, 241, 242, 243, 0,
4252 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
4253 245, 0, 0, 246, 0, 0, 247, 248, 249, 0,
4254 0, 250, 0, 251, 252, 0, 0, 253, 0, 0,
4255 254, 0, 255, 256, 0, 257, 0, 0, 258, 0,
4256 0, 259, 260, 0, 261, 262, 0, 0, 0, 263,
4257 0, 0, 0, 0, 264, 0, 0, 0, 0, 0,
4258 0, 265, 0, 266, 0, 0, 267, 0, 0, 0,
4259 0, 268, 269, 0, 0, 125, 126, 270, 127, 128,
4260 0, 271, 0, 0, 129, 0, 0, 0, 130, 131,
4261 132, 0, 133, 0, 0, 0, 0, 134, 0, 135,
4262 136, 0, 137, 0, 1329, 0, 138, 0, 0, 0,
4263 139, 0, 0, 0, 140, 0, 141, 142, 0, 143,
4264 144, 0, 145, 146, 147, 148, 149, 150, 0, 151,
4265 152, 0, 153, 0, 0, 0, 0, 154, 0, 0,
4266 0, 0, 0, 155, 156, 157, 0, 0, 158, 0,
4267 0, 0, 0, 159, 160, 0, 0, 0, 0, 0,
4268 0, 0, 0, 0, 161, 162, 0, 0, 0, 163,
4269 0, 164, 165, 166, 0, 0, 167, 0, 168, 169,
4270 0, 170, 171, 0, 172, 0, 173, 174, 0, 0,
4271 175, 0, 0, 176, 177, 178, 0, 179, 0, 0,
4272 0, 180, 181, 0, 182, 0, 183, 0, 0, 184,
4273 0, 0, 0, 0, 0, 185, 86, 186, 0, 88,
4274 0, 0, 187, 188, 0, 0, 0, 0, 0, 0,
4275 0, 0, 0, 0, 0, 0, 189, 0, 190, 0,
4276 0, 191, 0, 0, 192, 0, 0, 0, 193, 0,
4277 0, 0, 0, 0, 194, 195, 0, 196, 0, 0,
4278 0, 0, 197, 198, 199, 200, 0, 0, 201, 0,
4279 202, 0, 203, 0, 204, 205, 206, 207, 0, 0,
4280 208, 209, 210, 0, 0, 211, 0, 0, 0, 212,
4281 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
4282 0, 0, 0, 0, 218, 0, 0, 219, 0, 220,
4283 221, 222, 223, 0, 0, 0, 0, 0, 224, 0,
4284 0, 0, 0, 225, 0, 0, 0, 0, 0, 226,
4285 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
4286 0, 234, 235, 0, 0, 0, 236, 237, 238, 239,
4287 0, 0, 240, 0, 241, 242, 243, 0, 0, 0,
4288 0, 0, 0, 0, 0, 0, 0, 244, 245, 0,
4289 0, 246, 0, 0, 247, 248, 249, 0, 0, 250,
4290 0, 251, 252, 0, 0, 253, 0, 0, 254, 0,
4291 255, 256, 0, 257, 0, 0, 258, 0, 0, 259,
4292 260, 0, 261, 262, 0, 0, 0, 263, 0, 0,
4293 0, 0, 264, 0, 0, 0, 0, 0, 0, 265,
4294 0, 266, 0, 0, 267, 0, 0, 0, 0, 268,
4295 269, 0, 0, 125, 126, 270, 127, 128, 0, 271,
4296 0, 0, 129, 0, 0, 0, 130, 131, 132, 0,
4297 133, 1266, 0, 0, 0, 134, 0, 135, 136, 0,
4298 137, 0, 0, 0, 138, 0, 0, 0, 139, 0,
4299 0, 0, 140, 0, 141, 142, 0, 143, 144, 0,
4300 145, 146, 147, 148, 149, 150, 0, 151, 152, 0,
4301 153, 0, 0, 0, 0, 154, 0, 0, 0, 0,
4302 0, 155, 156, 157, 0, 0, 158, 0, 0, 0,
4303 0, 159, 160, 0, 0, 0, 0, 0, 0, 0,
4304 0, 0, 161, 162, 0, 0, 0, 163, 0, 164,
4305 165, 166, 0, 0, 167, 0, 168, 169, 0, 170,
4306 171, 0, 172, 0, 173, 174, 0, 0, 175, 0,
4307 0, 176, 177, 178, 0, 179, 0, 0, 0, 180,
4308 181, 0, 182, 0, 183, 0, 0, 184, 0, 0,
4309 0, 0, 0, 185, 86, 186, 0, 88, 0, 0,
4310 187, 188, 0, 0, 0, 0, 0, 0, 0, 0,
4311 0, 0, 0, 0, 189, 0, 190, 0, 0, 191,
4312 0, 0, 192, 0, 0, 0, 193, 0, 0, 0,
4313 0, 0, 194, 195, 0, 196, 0, 0, 0, 0,
4314 197, 198, 199, 200, 0, 0, 201, 0, 202, 0,
4315 203, 0, 204, 205, 206, 207, 0, 0, 208, 209,
4316 210, 0, 0, 211, 0, 0, 0, 212, 213, 0,
4317 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
4318 0, 0, 218, 0, 0, 219, 0, 220, 221, 222,
4319 223, 0, 0, 0, 0, 0, 224, 0, 0, 0,
4320 0, 225, 0, 0, 0, 0, 0, 226, 0, 0,
4321 0, 227, 228, 229, 230, 231, 232, 233, 0, 234,
4322 235, 0, 0, 0, 236, 237, 238, 239, 0, 0,
4323 240, 0, 241, 242, 243, 0, 0, 0, 0, 0,
4324 0, 0, 0, 0, 0, 244, 245, 0, 0, 246,
4325 0, 0, 247, 248, 249, 0, 0, 250, 0, 251,
4326 252, 0, 0, 253, 0, 0, 254, 0, 255, 256,
4327 0, 257, 0, 0, 258, 0, 0, 259, 260, 0,
4328 261, 262, 0, 0, 0, 263, 0, 0, 0, 0,
4329 264, 0, 0, 0, 0, 0, 0, 265, 0, 266,
4330 0, 0, 267, 0, 0, 0, 0, 268, 269, 0,
4331 0, 125, 126, 270, 127, 128, 0, 271, 0, 0,
4332 129, 0, 0, 0, 130, 131, 132, 0, 133, 1612,
4333 0, 0, 675, 134, 0, 135, 136, 0, 137, 0,
4334 0, 0, 138, 0, 0, 0, 139, 0, 0, 0,
4335 140, 0, 141, 142, 0, 143, 144, 0, 145, 146,
4336 147, 148, 149, 150, 0, 151, 152, 0, 153, 0,
4337 0, 0, 0, 154, 0, 0, 0, 0, 0, 155,
4338 156, 157, 0, 0, 158, 0, 0, 0, 0, 159,
4339 160, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4340 161, 162, 0, 0, 0, 163, 0, 164, 165, 166,
4341 0, 0, 167, 0, 168, 169, 0, 170, 171, 0,
4342 172, 0, 173, 174, 0, 0, 175, 0, 0, 176,
4343 177, 178, 0, 179, 0, 0, 0, 180, 181, 0,
4344 182, 0, 183, 0, 0, 184, 0, 676, 0, 0,
4345 0, 185, 86, 186, 0, 88, 0, 0, 187, 188,
4346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4347 0, 0, 189, 0, 190, 0, 0, 191, 0, 0,
4348 192, 0, 0, 0, 193, 0, 0, 0, 0, 0,
4349 194, 195, 0, 196, 0, 0, 0, 0, 197, 198,
4350 199, 200, 0, 0, 201, 0, 202, 0, 203, 0,
4351 204, 205, 206, 207, 0, 0, 208, 209, 210, 0,
4352 0, 211, 0, 0, 0, 212, 213, 0, 214, 215,
4353 216, 217, 0, 0, 0, 0, 0, 0, 0, 0,
4354 218, 0, 0, 219, 0, 220, 221, 222, 223, 0,
4355 0, 0, 0, 0, 224, 0, 0, 0, 0, 225,
4356 0, 0, 0, 0, 0, 226, 0, 0, 0, 227,
4357 228, 229, 230, 231, 232, 233, 0, 234, 235, 0,
4358 0, 0, 236, 237, 238, 239, 0, 0, 240, 0,
4359 241, 242, 243, 0, 0, 0, 0, 0, 0, 0,
4360 0, 0, 0, 244, 245, 0, 0, 246, 0, 0,
4361 247, 248, 249, 0, 0, 250, 0, 251, 252, 0,
4362 0, 253, 0, 378, 254, 0, 255, 256, 0, 257,
4363 0, 0, 258, 0, 0, 259, 260, 0, 261, 262,
4364 0, 0, 0, 263, 0, 0, 0, 0, 264, 0,
4365 0, 0, 0, 0, 0, 265, 0, 266, 0, 0,
4366 267, 0, 0, 0, 0, 268, 269, 0, 0, 125,
4367 126, 270, 127, 128, 0, 271, 0, 0, 129, 1262,
4368 0, 0, 130, 131, 132, 0, 133, 0, 0, 0,
4369 0, 134, 0, 135, 136, 0, 137, 0, 0, 0,
4370 138, 0, 0, 0, 139, 0, 0, 0, 140, 0,
4371 141, 142, 0, 143, 144, 0, 145, 146, 147, 148,
4372 149, 150, 0, 151, 152, 0, 153, 0, 0, 0,
4373 0, 154, 0, 0, 0, 0, 0, 155, 156, 157,
4374 0, 0, 158, 0, 0, 0, 0, 159, 160, 0,
4375 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
4376 0, 0, 0, 163, 0, 164, 165, 166, 0, 0,
4377 167, 0, 168, 169, 0, 170, 171, 0, 172, 0,
4378 173, 174, 0, 0, 175, 0, 0, 176, 177, 178,
4379 0, 179, 0, 0, 0, 180, 181, 0, 182, 0,
4380 183, 0, 0, 184, 0, 0, 0, 0, 0, 185,
4381 86, 186, 0, 88, 0, 0, 187, 188, 0, 0,
4382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4383 189, 0, 190, 0, 0, 191, 0, 0, 192, 0,
4384 0, 0, 193, 0, 0, 0, 0, 0, 194, 195,
4385 0, 196, 0, 0, 0, 0, 197, 198, 199, 200,
4386 0, 0, 201, 0, 202, 0, 203, 0, 204, 205,
4387 206, 207, 0, 0, 208, 209, 210, 0, 0, 211,
4388 0, 0, 0, 212, 213, 0, 214, 215, 216, 217,
4389 0, 0, 0, 0, 0, 0, 0, 0, 218, 0,
4390 0, 219, 0, 220, 221, 222, 223, 0, 0, 0,
4391 0, 0, 224, 0, 0, 0, 0, 225, 0, 0,
4392 0, 0, 0, 226, 0, 0, 0, 227, 228, 229,
4393 230, 231, 232, 233, 0, 234, 235, 0, 0, 0,
4394 236, 237, 238, 239, 0, 0, 240, 0, 241, 242,
4395 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4396 0, 244, 245, 0, 0, 246, 0, 0, 247, 248,
4397 249, 0, 0, 250, 0, 251, 252, 0, 0, 253,
4398 0, 91, 254, 0, 255, 256, 0, 257, 0, 0,
4399 258, 0, 0, 259, 260, 0, 261, 262, 0, 0,
4400 0, 263, 0, 0, 0, 0, 264, 0, 0, 0,
4401 0, 0, 0, 265, 0, 266, 0, 0, 267, 0,
4402 0, 0, 0, 268, 269, 0, 0, 125, 126, 270,
4403 127, 128, 0, 271, 0, 0, 129, 0, 0, 0,
4404 130, 131, 132, 0, 133, 0, 0, 0, 0, 134,
4405 0, 135, 136, 0, 137, 0, 0, 0, 138, 0,
4406 0, 0, 139, 0, 0, 0, 140, 0, 141, 142,
4407 0, 143, 144, 0, 145, 146, 147, 148, 149, 150,
4408 0, 151, 152, 0, 153, 0, 0, 0, 0, 154,
4409 0, 0, 0, 0, 0, 155, 156, 157, 0, 0,
4410 158, 0, 0, 0, 0, 159, 160, 0, 0, 0,
4411 0, 0, 0, 0, 0, 0, 161, 162, 0, 0,
4412 0, 163, 0, 164, 165, 166, 0, 0, 167, 0,
4413 168, 169, 0, 170, 171, 0, 172, 0, 173, 174,
4414 0, 0, 175, 0, 0, 176, 177, 178, 0, 179,
4415 0, 0, 0, 180, 181, 0, 182, 0, 183, 0,
4416 0, 184, 0, 0, 0, 0, 0, 185, 86, 186,
4417 0, 88, 0, 0, 187, 188, 0, 0, 0, 0,
4418 0, 0, 0, 0, 0, 0, 0, 0, 189, 0,
4419 190, 0, 0, 191, 0, 0, 192, 0, 0, 0,
4420 193, 0, 0, 0, 0, 0, 194, 195, 0, 196,
4421 0, 0, 0, 0, 197, 198, 199, 200, 0, 0,
4422 201, 0, 202, 0, 203, 0, 204, 205, 206, 207,
4423 0, 0, 208, 209, 210, 0, 0, 211, 0, 0,
4424 0, 212, 213, 0, 214, 215, 216, 217, 0, 0,
4425 0, 0, 0, 0, 0, 0, 218, 0, 0, 219,
4426 0, 220, 221, 222, 223, 0, 0, 0, 0, 0,
4427 224, 0, 0, 0, 0, 225, 0, 0, 0, 0,
4428 0, 226, 0, 0, 0, 227, 228, 229, 230, 231,
4429 232, 233, 0, 234, 235, 0, 0, 0, 236, 237,
4430 238, 239, 0, 0, 240, 0, 241, 242, 243, 0,
4431 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
4432 245, 0, 0, 246, 0, 0, 247, 248, 249, 0,
4433 0, 250, 0, 251, 252, 0, 0, 253, 0, 91,
4434 254, 0, 255, 256, 0, 257, 0, 0, 258, 0,
4435 0, 259, 260, 0, 261, 262, 0, 0, 0, 263,
4436 0, 0, 0, 0, 264, 0, 0, 0, 0, 0,
4437 0, 265, 0, 266, 0, 0, 267, 0, 0, 0,
4438 0, 268, 269, 0, 0, 125, 126, 270, 127, 128,
4439 0, 271, 0, 0, 129, 0, 0, 0, 130, 131,
4440 132, 0, 133, 0, 0, 0, 0, 134, 0, 135,
4441 136, 0, 137, 0, 0, 0, 138, 0, 0, 0,
4442 139, 0, 0, 0, 140, 0, 141, 142, 0, 143,
4443 144, 0, 145, 146, 147, 148, 149, 150, 0, 151,
4444 152, 0, 153, 0, 0, 0, 0, 154, 0, 0,
4445 0, 0, 0, 155, 156, 157, 0, 0, 158, 0,
4446 0, 0, 0, 159, 160, 0, 0, 0, 0, 0,
4447 0, 0, 0, 0, 161, 162, 0, 0, 0, 163,
4448 0, 164, 165, 166, 0, 0, 167, 0, 168, 169,
4449 0, 170, 171, 0, 172, 0, 173, 174, 0, 0,
4450 175, 0, 0, 176, 177, 178, 0, 179, 0, 0,
4451 0, 180, 181, 0, 182, 0, 183, 0, 0, 184,
4452 0, 0, 0, 0, 0, 185, 86, 186, 0, 88,
4453 0, 0, 187, 188, 0, 0, 0, 0, 0, 0,
4454 0, 0, 0, 0, 0, 0, 189, 0, 190, 0,
4455 0, 191, 0, 0, 192, 0, 0, 0, 193, 0,
4456 0, 0, 0, 0, 194, 195, 0, 196, 0, 0,
4457 0, 0, 197, 198, 199, 200, 0, 0, 201, 0,
4458 202, 0, 203, 0, 204, 205, 206, 207, 0, 0,
4459 208, 209, 210, 0, 0, 211, 0, 0, 0, 212,
4460 213, 0, 214, 215, 216, 217, 0, 0, 0, 0,
4461 0, 0, 0, 0, 218, 0, 0, 219, 2095, 220,
4462 221, 222, 223, 0, 0, 0, 0, 0, 224, 0,
4463 0, 0, 0, 225, 0, 0, 0, 0, 0, 226,
4464 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
4465 0, 234, 235, 0, 0, 0, 236, 237, 238, 239,
4466 0, 0, 240, 0, 241, 242, 243, 0, 0, 0,
4467 0, 0, 0, 0, 0, 0, 0, 244, 245, 0,
4468 0, 246, 0, 0, 247, 248, 249, 0, 0, 250,
4469 0, 251, 252, 0, 0, 253, 0, 0, 254, 0,
4470 255, 256, 0, 257, 0, 0, 258, 0, 0, 259,
4471 260, 0, 261, 262, 0, 0, 0, 263, 0, 0,
4472 0, 0, 264, 0, 0, 0, 0, 0, 0, 265,
4473 0, 266, 0, 0, 267, 0, 0, 0, 0, 268,
4474 269, 0, 0, 125, 126, 270, 127, 128, 0, 271,
4475 0, 0, 129, 0, 0, 0, 130, 131, 132, 0,
4476 133, 0, 0, 0, 0, 134, 0, 135, 136, 0,
4477 137, 0, 0, 0, 138, 0, 0, 0, 139, 0,
4478 0, 0, 140, 0, 141, 142, 0, 143, 144, 0,
4479 145, 146, 147, 148, 149, 150, 0, 151, 152, 0,
4480 153, 0, 0, 0, 0, 154, 0, 0, 0, 0,
4481 0, 155, 156, 157, 0, 0, 158, 0, 0, 0,
4482 0, 159, 160, 0, 0, 0, 0, 0, 0, 0,
4483 0, 0, 161, 162, 0, 0, 0, 163, 0, 164,
4484 165, 166, 0, 0, 167, 0, 168, 169, 0, 170,
4485 171, 0, 172, 0, 173, 174, 0, 0, 175, 0,
4486 0, 176, 177, 178, 0, 179, 0, 0, 0, 180,
4487 181, 0, 182, 0, 183, 0, 0, 184, 0, 0,
4488 0, 0, 0, 185, 86, 186, 0, 88, 0, 0,
4489 187, 188, 0, 0, 0, 0, 0, 0, 0, 0,
4490 0, 0, 0, 0, 189, 0, 190, 0, 0, 191,
4491 0, 0, 192, 0, 0, 0, 193, 0, 0, 0,
4492 0, 0, 194, 195, 0, 196, 0, 0, 0, 0,
4493 197, 198, 199, 200, 0, 0, 201, 0, 202, 0,
4494 203, 0, 204, 205, 206, 207, 0, 0, 208, 209,
4495 210, 0, 0, 211, 0, 0, 0, 212, 213, 0,
4496 214, 215, 216, 217, 0, 0, 0, 0, 0, 0,
4497 0, 0, 218, 0, 0, 219, 0, 220, 221, 222,
4498 223, 0, 0, 0, 0, 0, 224, 0, 0, 0,
4499 0, 225, 0, 0, 0, 0, 0, 226, 0, 0,
4500 0, 227, 228, 229, 230, 231, 232, 233, 0, 234,
4501 235, 0, 0, 0, 236, 237, 238, 239, 0, 0,
4502 240, 0, 241, 242, 243, 0, 0, 0, 0, 0,
4503 0, 0, 0, 0, 0, 244, 245, 0, 0, 246,
4504 0, 0, 247, 248, 249, 0, 0, 250, 0, 251,
4505 252, 0, 0, 253, 0, 0, 254, 0, 255, 256,
4506 0, 257, 0, 0, 258, 0, 0, 259, 260, 0,
4507 261, 262, 0, 0, 0, 263, 0, 0, 0, 0,
4508 264, 0, 0, 0, 0, 0, 0, 265, 0, 266,
4509 0, 0, 267, 0, 0, 0, 0, 268, 269, 0,
4510 0, 0, 0, 270, 0, 0, 0, 271
4513 #define yypact_value_is_default(yystate) \
4514 ((yystate) == (-1713))
4516 #define yytable_value_is_error(yytable_value) \
4517 ((yytable_value) == (-1216))
4519 static const yytype_int16 yycheck[] =
4521 12, 331, 332, 93, 432, 923, 1062, 1071, 414, 21,
4522 12, 539, 620, 1092, 51, 1094, 320, 29, 1234, 336,
4523 530, 1099, 1009, 515, 516, 1055, 107, 594, 862, 880,
4524 109, 673, 362, 1005, 1420, 602, 1203, 1507, 532, 51,
4525 461, 1441, 121, 911, 1133, 450, 12, 377, 299, 1660,
4526 47, 63, 12, 12, 1557, 47, 461, 387, 388, 389,
4527 853, 65, 74, 1230, 381, 12, 1578, 577, 104, 81,
4528 51, 1043, 478, 14, 52, 69, 658, 1661, 34, 661,
4529 25, 93, 690, 665, 666, 113, 12, 124, 12, 87,
4530 89, 93, 396, 397, 398, 107, 12, 109, 1620, 12,
4531 1302, 109, 44, 12, 12, 1445, 118, 1737, 12, 121,
4532 1049, 12, 124, 1453, 12, 14, 118, 480, 873, 12,
4533 69, 12, 528, 115, 127, 12, 660, 1077, 1078, 58,
4534 12, 12, 39, 1136, 12, 219, 871, 179, 71, 12,
4535 133, 87, 228, 1253, 1080, 180, 1082, 150, 100, 1491,
4536 7, 155, 207, 29, 1652, 87, 12, 235, 668, 272,
4537 1658, 12, 12, 569, 168, 220, 12, 272, 9, 1233,
4538 88, 1650, 176, 12, 9, 51, 297, 1656, 12, 12,
4539 272, 150, 44, 1662, 1663, 132, 128, 63, 12, 170,
4540 9, 9, 12, 228, 1716, 140, 334, 316, 74, 145,
4541 283, 214, 148, 207, 316, 81, 12, 1271, 180, 12,
4542 109, 99, 364, 1360, 12, 12, 153, 66, 12, 12,
4543 1436, 12, 12, 132, 295, 129, 363, 145, 12, 1941,
4544 148, 150, 353, 109, 171, 12, 73, 250, 317, 132,
4545 233, 1696, 1697, 1111, 315, 121, 1325, 1326, 124, 387,
4546 268, 150, 101, 390, 95, 338, 228, 261, 214, 12,
4547 95, 1731, 145, 229, 301, 148, 123, 386, 673, 229,
4548 1768, 283, 1672, 386, 386, 388, 95, 95, 290, 231,
4549 292, 386, 229, 215, 12, 254, 298, 1629, 343, 301,
4550 12, 284, 304, 305, 386, 237, 2008, 1131, 302, 334,
4551 1239, 257, 606, 229, 390, 317, 390, 214, 386, 917,
4552 918, 1247, 241, 229, 1944, 897, 229, 621, 1520, 361,
4553 229, 229, 316, 279, 360, 229, 334, 690, 229, 1064,
4554 358, 229, 1802, 12, 1444, 829, 229, 255, 229, 342,
4555 339, 12, 229, 14, 12, 12, 425, 229, 229, 347,
4556 884, 229, 862, 331, 1824, 254, 229, 12, 1361, 1970,
4557 12, 1279, 343, 12, 323, 899, 1582, 316, 1708, 12,
4558 316, 316, 1712, 229, 12, 1878, 373, 12, 229, 229,
4559 313, 373, 323, 229, 1968, 389, 248, 424, 400, 401,
4560 229, 279, 12, 335, 1541, 229, 229, 1919, 316, 650,
4561 366, 12, 1236, 12, 2015, 229, 366, 283, 1486, 229,
4562 318, 226, 424, 425, 290, 12, 292, 1367, 1930, 366,
4563 12, 387, 298, 229, 390, 301, 229, 387, 304, 305,
4564 390, 229, 229, 316, 1227, 229, 229, 12, 229, 229,
4565 366, 317, 366, 390, 481, 229, 1535, 12, 1537, 941,
4566 366, 12, 229, 366, 12, 492, 1023, 366, 366, 1327,
4567 952, 387, 366, 121, 390, 366, 478, 479, 366, 481,
4568 1225, 387, 390, 366, 390, 366, 229, 390, 387, 366,
4569 492, 1089, 974, 387, 366, 366, 907, 499, 366, 390,
4570 1969, 389, 1074, 366, 506, 1998, 1999, 1897, 2001, 390,
4571 590, 229, 907, 390, 1032, 1033, 387, 229, 390, 390,
4572 366, 1981, 390, 2016, 387, 366, 366, 1125, 530, 1127,
4573 366, 1129, 1908, 1993, 400, 401, 1360, 366, 1022, 1171,
4574 834, 387, 366, 366, 1044, 1029, 387, 387, 2041, 390,
4575 2043, 2044, 366, 1451, 390, 121, 366, 14, 424, 425,
4576 229, 390, 633, 1617, 387, 1722, 390, 390, 229, 292,
4577 366, 229, 229, 366, 12, 577, 390, 12, 366, 366,
4578 390, 1081, 366, 366, 229, 366, 366, 229, 590, 12,
4579 229, 325, 366, 88, 390, 29, 229, 390, 590, 366,
4580 12, 229, 390, 390, 229, 1658, 390, 390, 65, 390,
4581 390, 22, 478, 479, 12, 481, 390, 686, 620, 229,
4582 387, 648, 624, 366, 651, 12, 492, 12, 229, 63,
4583 229, 633, 1295, 499, 1475, 272, 663, 1055, 15, 12,
4584 506, 1452, 229, 1605, 387, 12, 648, 229, 366, 651,
4585 145, 71, 109, 148, 366, 12, 1676, 659, 12, 1705,
4586 652, 663, 1219, 12, 229, 12, 668, 694, 150, 387,
4587 127, 12, 129, 181, 229, 387, 272, 1585, 229, 327,
4588 137, 229, 139, 12, 686, 12, 44, 132, 690, 12,
4589 692, 310, 694, 150, 313, 1593, 1594, 366, 155, 127,
4590 272, 1736, 121, 160, 1302, 366, 31, 12, 366, 366,
4591 272, 168, 1747, 90, 1312, 1768, 1747, 1541, 387, 176,
4592 446, 366, 150, 180, 366, 313, 1703, 366, 185, 387,
4593 387, 1299, 1026, 366, 1216, 180, 462, 272, 366, 20,
4594 1240, 366, 387, 280, 135, 387, 109, 132, 387, 386,
4595 207, 9, 163, 129, 387, 121, 366, 265, 624, 387,
4596 255, 327, 387, 220, 0, 366, 1334, 366, 179, 12,
4597 128, 228, 917, 918, 313, 641, 499, 387, 1984, 366,
4598 1826, 1592, 648, 506, 366, 651, 387, 149, 387, 70,
4599 386, 229, 183, 659, 229, 135, 215, 663, 218, 96,
4600 387, 366, 1122, 223, 261, 387, 229, 84, 810, 185,
4601 1718, 366, 187, 138, 386, 366, 1316, 229, 366, 1854,
4602 686, 316, 387, 1854, 386, 1488, 692, 132, 694, 856,
4603 857, 229, 387, 370, 88, 1498, 387, 95, 249, 387,
4604 1734, 216, 229, 183, 229, 302, 212, 132, 125, 215,
4605 1904, 386, 1370, 121, 856, 857, 229, 106, 1926, 1927,
4606 862, 14, 229, 140, 298, 114, 379, 1385, 1386, 149,
4607 304, 9, 229, 9, 387, 229, 362, 334, 880, 237,
4608 229, 221, 229, 1401, 886, 342, 343, 278, 229, 272,
4609 145, 145, 132, 148, 148, 390, 279, 1708, 132, 6,
4610 229, 1712, 229, 10, 361, 202, 229, 1976, 327, 911,
4611 187, 1393, 65, 38, 342, 917, 918, 38, 920, 84,
4612 160, 913, 1520, 47, 229, 18, 379, 153, 366, 163,
4613 387, 366, 389, 390, 387, 1435, 1016, 362, 278, 216,
4614 137, 1835, 1836, 366, 810, 1427, 71, 215, 387, 387,
4615 71, 318, 387, 313, 366, 330, 109, 95, 391, 95,
4616 125, 327, 1625, 87, 387, 18, 349, 350, 366, 387,
4617 336, 168, 390, 566, 567, 387, 129, 335, 227, 366,
4618 1125, 366, 1127, 1303, 137, 2030, 139, 2032, 228, 387,
4619 856, 857, 1072, 366, 87, 391, 862, 212, 51, 366,
4620 387, 255, 155, 386, 335, 1816, 1817, 160, 118, 366,
4621 41, 42, 366, 214, 1016, 168, 47, 366, 2064, 366,
4622 886, 168, 187, 176, 1016, 366, 56, 180, 153, 176,
4623 387, 228, 185, 387, 87, 88, 1038, 366, 387, 366,
4624 387, 387, 1044, 366, 390, 387, 387, 171, 390, 47,
4625 22, 216, 297, 330, 207, 84, 109, 110, 387, 327,
4626 387, 366, 316, 1065, 387, 1067, 315, 220, 336, 122,
4627 1072, 1651, 362, 1065, 1654, 228, 390, 1657, 171, 1081,
4628 1072, 316, 18, 380, 381, 382, 383, 1089, 212, 87,
4629 88, 215, 145, 218, 386, 148, 125, 218, 223, 10,
4630 11, 44, 223, 1130, 1096, 41, 42, 50, 261, 1111,
4631 21, 47, 386, 237, 261, 51, 1118, 60, 2013, 212,
4632 2028, 386, 215, 1125, 96, 1127, 386, 1129, 1130, 1131,
4633 386, 1133, 391, 44, 1136, 145, 1636, 147, 148, 386,
4634 272, 1669, 53, 12, 237, 1458, 1459, 145, 1746, 302,
4635 148, 87, 88, 64, 290, 291, 292, 293, 187, 387,
4636 56, 1557, 390, 50, 387, 330, 302, 390, 178, 244,
4637 387, 268, 1038, 390, 110, 12, 1470, 252, 89, 90,
4638 91, 334, 386, 276, 386, 128, 122, 216, 99, 314,
4639 343, 163, 313, 314, 387, 2090, 2091, 390, 109, 1065,
4640 275, 1067, 255, 2, 386, 4, 117, 179, 361, 145,
4641 153, 335, 148, 266, 386, 126, 386, 349, 350, 18,
4642 54, 55, 380, 387, 386, 1252, 390, 96, 171, 386,
4643 202, 355, 47, 112, 387, 386, 389, 390, 1240, 1767,
4644 212, 128, 335, 1245, 386, 1773, 387, 158, 1776, 390,
4645 1252, 65, 1118, 87, 386, 134, 386, 255, 1676, 96,
4646 1262, 172, 386, 316, 1130, 1131, 153, 386, 102, 386,
4647 1262, 182, 87, 386, 334, 387, 25, 249, 390, 387,
4648 386, 291, 390, 386, 171, 164, 85, 1289, 386, 1091,
4649 124, 1093, 1319, 1295, 237, 174, 1298, 1099, 1300, 386,
4650 1302, 330, 135, 1105, 1804, 386, 316, 1309, 1310, 1301,
4651 1312, 321, 386, 1315, 1316, 386, 386, 1319, 316, 255,
4652 386, 1313, 386, 122, 386, 1327, 1328, 1329, 77, 208,
4653 266, 387, 1334, 202, 390, 84, 386, 390, 1365, 250,
4654 251, 155, 1334, 254, 387, 387, 386, 390, 390, 1289,
4655 237, 262, 386, 186, 168, 1295, 171, 268, 1298, 1361,
4656 1300, 272, 176, 1365, 387, 202, 386, 390, 279, 1309,
4657 1310, 282, 121, 386, 1240, 1315, 125, 386, 386, 1245,
4658 316, 145, 392, 147, 148, 296, 1252, 387, 180, 25,
4659 390, 140, 335, 207, 310, 387, 1262, 212, 390, 386,
4660 215, 386, 374, 375, 376, 377, 378, 379, 380, 381,
4661 382, 383, 387, 247, 178, 390, 386, 328, 387, 1421,
4662 386, 390, 237, 1289, 386, 386, 337, 1429, 339, 1295,
4663 386, 342, 1298, 1435, 1300, 386, 386, 1429, 187, 145,
4664 386, 147, 148, 1309, 1310, 386, 386, 261, 84, 1315,
4665 104, 386, 1759, 1319, 390, 297, 387, 1648, 1649, 390,
4666 386, 386, 1328, 1329, 297, 1467, 215, 216, 1759, 1660,
4667 1661, 386, 178, 1475, 1870, 386, 386, 310, 386, 386,
4668 313, 1788, 1878, 1983, 387, 386, 1488, 390, 302, 125,
4669 297, 370, 371, 372, 59, 1891, 1498, 1788, 279, 1365,
4670 145, 1528, 147, 148, 140, 374, 375, 376, 377, 378,
4671 379, 380, 381, 382, 383, 387, 387, 87, 1520, 390,
4672 335, 387, 390, 1525, 390, 39, 1528, 291, 1608, 250,
4673 1532, 1838, 1839, 1535, 118, 1537, 1538, 374, 375, 376,
4674 377, 378, 379, 380, 381, 382, 383, 1867, 1488, 1840,
4675 1841, 187, 316, 1744, 1745, 1421, 153, 321, 1498, 1866,
4676 220, 77, 1869, 1429, 1960, 1756, 1962, 316, 84, 259,
4677 87, 357, 321, 1764, 244, 1766, 360, 387, 327, 215,
4678 216, 330, 387, 87, 1775, 291, 387, 95, 386, 87,
4679 1781, 1782, 387, 2093, 9, 391, 387, 387, 1889, 1890,
4680 1602, 1467, 1998, 1999, 387, 2001, 1608, 386, 154, 125,
4681 316, 2111, 390, 323, 390, 321, 1608, 390, 2118, 380,
4682 2016, 316, 1488, 1625, 285, 361, 47, 185, 392, 378,
4683 379, 1633, 1498, 387, 1636, 387, 380, 387, 1648, 1649,
4684 387, 132, 379, 1963, 387, 2041, 291, 2043, 2044, 387,
4685 1660, 1661, 24, 387, 171, 387, 28, 387, 18, 1525,
4686 387, 390, 1528, 82, 390, 87, 1532, 171, 322, 387,
4687 42, 187, 1538, 171, 387, 1677, 321, 334, 280, 12,
4688 316, 41, 42, 386, 65, 1625, 392, 47, 386, 383,
4689 386, 51, 383, 47, 330, 212, 350, 213, 215, 215,
4690 216, 387, 74, 220, 391, 77, 316, 361, 212, 386,
4691 391, 215, 131, 85, 212, 387, 220, 215, 392, 390,
4692 237, 32, 370, 370, 370, 144, 228, 87, 88, 387,
4693 220, 107, 1734, 237, 1744, 1745, 1602, 387, 1740, 237,
4694 18, 159, 378, 379, 1746, 399, 1756, 159, 387, 171,
4695 110, 391, 387, 387, 1764, 387, 1766, 160, 391, 1625,
4696 96, 391, 122, 41, 42, 1775, 387, 1633, 387, 47,
4697 390, 1781, 1782, 51, 155, 194, 390, 1968, 197, 1970,
4698 387, 132, 1809, 165, 203, 145, 50, 168, 148, 161,
4699 212, 323, 1784, 215, 1796, 176, 169, 370, 311, 169,
4700 316, 370, 1804, 32, 311, 321, 370, 1809, 370, 87,
4701 88, 1677, 390, 370, 330, 237, 343, 180, 335, 179,
4702 220, 240, 101, 386, 2015, 386, 207, 2018, 387, 161,
4703 161, 335, 110, 1835, 1836, 387, 390, 335, 387, 220,
4704 391, 272, 387, 387, 122, 145, 339, 147, 148, 390,
4705 390, 270, 391, 163, 508, 177, 65, 171, 171, 513,
4706 391, 387, 279, 517, 518, 387, 202, 145, 1734, 386,
4707 148, 525, 526, 527, 1740, 529, 14, 531, 14, 216,
4708 261, 535, 536, 537, 538, 12, 216, 387, 542, 274,
4709 544, 545, 18, 547, 548, 255, 550, 1899, 160, 553,
4710 554, 555, 556, 557, 558, 387, 266, 561, 562, 18,
4711 564, 283, 390, 335, 568, 1917, 570, 571, 96, 168,
4712 168, 302, 230, 137, 392, 51, 580, 581, 281, 390,
4713 1796, 84, 171, 171, 588, 390, 386, 591, 592, 593,
4714 359, 171, 51, 1809, 1946, 387, 155, 387, 387, 368,
4715 322, 78, 79, 80, 81, 82, 316, 387, 1968, 168,
4716 1970, 87, 88, 168, 168, 220, 338, 176, 32, 1835,
4717 1836, 139, 125, 145, 390, 147, 148, 255, 87, 88,
4718 199, 1983, 386, 1975, 110, 163, 244, 641, 266, 87,
4719 87, 291, 145, 386, 386, 148, 122, 386, 207, 653,
4720 109, 110, 386, 51, 391, 2015, 178, 386, 2018, 387,
4721 339, 220, 313, 122, 141, 142, 143, 144, 216, 145,
4722 168, 321, 148, 168, 202, 325, 386, 2107, 2030, 49,
4723 2032, 386, 2034, 1899, 187, 189, 145, 386, 316, 148,
4724 376, 377, 378, 379, 380, 381, 382, 383, 519, 216,
4725 215, 1917, 261, 171, 171, 709, 339, 216, 386, 216,
4726 216, 216, 87, 216, 387, 386, 343, 194, 195, 196,
4727 197, 343, 543, 181, 386, 546, 203, 220, 387, 369,
4728 1946, 213, 387, 387, 387, 350, 2088, 2089, 559, 560,
4729 343, 2093, 563, 302, 216, 78, 79, 80, 81, 82,
4730 343, 390, 229, 32, 32, 2107, 760, 578, 579, 2111,
4731 106, 32, 2114, 240, 387, 2107, 2118, 386, 386, 291,
4732 23, 96, 129, 32, 27, 28, 32, 32, 248, 255,
4733 4, 220, 220, 150, 32, 32, 790, 791, 792, 42,
4734 266, 386, 269, 270, 316, 386, 255, 339, 89, 321,
4735 216, 386, 1673, 387, 279, 1131, 1111, 266, 141, 142,
4736 143, 144, 390, 316, 2030, 690, 2032, 1328, 2034, 1538,
4737 1118, 74, 1090, 1293, 77, 829, 1331, 330, 1633, 1635,
4738 1154, 1655, 85, 1774, 1880, 1756, 1793, 841, 1764, 843,
4739 316, 1738, 1746, 1137, 97, 2007, 374, 375, 376, 377,
4740 378, 379, 380, 381, 382, 383, 1978, 316, 111, 1899,
4741 477, 194, 195, 196, 197, 856, 1327, 1056, 278, 1007,
4742 203, 124, 2088, 2089, 277, 441, 870, 202, 1227, 1429,
4743 1455, 940, 359, 1706, 1006, 706, 1995, 1929, 2114, 366,
4744 367, 368, 567, 1704, 2089, 519, 1636, 1477, 2114, 1725,
4745 1030, 306, 1061, 861, 317, 425, 949, 240, 161, 703,
4746 1435, 1081, 1235, 2111, 167, 505, 1983, 352, 1935, 1985,
4747 2027, 96, 2005, 927, 2118, 1240, 930, 641, 932, 933,
4748 81, 875, 1334, 937, 1270, 1475, 269, 270, 1730, 110,
4749 431, 762, -1, -1, -1, 766, -1, 951, -1, -1,
4750 954, 955, 956, 957, -1, 959, -1, -1, -1, 96,
4751 -1, 782, 966, -1, 217, 969, -1, 971, 972, 973,
4752 -1, -1, -1, -1, 978, 979, 980, -1, -1, -1,
4753 984, 985, -1, 987, -1, 989, -1, 991, -1, 993,
4754 -1, 995, -1, 246, -1, -1, 1000, -1, -1, -1,
4755 -1, -1, -1, 6, -1, -1, -1, 10, -1, -1,
4756 -1, -1, -1, 1017, -1, 18, -1, -1, -1, -1,
4757 -1, -1, -1, 276, -1, 1029, 359, 202, -1, -1,
4758 1034, -1, -1, -1, 367, 368, -1, 40, -1, -1,
4759 -1, -1, -1, -1, -1, -1, -1, 49, 51, 374,
4760 375, 376, 377, 378, 379, 380, 381, 382, 383, 62,
4761 -1, 63, 64, -1, 317, 202, -1, -1, 321, 322,
4762 72, -1, -1, -1, -1, 6, -1, -1, -1, 10,
4763 -1, 1085, -1, -1, 87, 88, -1, 18, -1, -1,
4764 93, 94, -1, -1, -1, 348, 99, -1, 351, 352,
4765 -1, -1, 105, -1, -1, -1, 109, 110, -1, 40,
4766 -1, 113, -1, -1, -1, -1, -1, -1, -1, 122,
4767 51, -1, -1, -1, 127, -1, -1, -1, -1, -1,
4768 -1, 62, -1, 135, -1, 1139, -1, -1, -1, -1,
4769 1144, -1, 145, 145, 1148, 148, 148, -1, 151, -1,
4770 152, 153, -1, -1, -1, -1, 87, 88, -1, -1,
4771 -1, -1, 93, 1167, 1168, -1, -1, 169, 99, -1,
4772 -1, -1, -1, -1, 105, -1, -1, -1, -1, 110,
4773 -1, 183, 1186, -1, -1, -1, -1, -1, -1, -1,
4774 1194, 122, 1196, -1, 1198, -1, 127, -1, 201, 374,
4775 375, 376, 377, 378, 379, 380, 381, 382, 383, -1,
4776 -1, -1, -1, -1, 145, -1, -1, 148, -1, -1,
4777 -1, -1, -1, 552, -1, 228, -1, -1, -1, -1,
4778 1234, -1, -1, -1, -1, -1, -1, 239, 375, 376,
4779 377, 378, 379, 380, 381, 382, 383, -1, 251, -1,
4780 -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
4781 -1, -1, -1, 266, -1, 1269, -1, -1, -1, -1,
4782 201, -1, -1, -1, 603, 604, 278, -1, 607, 1283,
4783 609, 610, 611, 612, 613, 614, 615, 616, 617, 618,
4784 619, -1, -1, -1, -1, -1, -1, 228, -1, -1,
4785 -1, -1, -1, -1, -1, -1, -1, -1, 310, -1,
4786 -1, 313, 314, 316, 316, -1, -1, -1, -1, -1,
4787 251, -1, -1, -1, 255, -1, -1, -1, -1, -1,
4788 -1, -1, -1, -1, -1, 266, -1, -1, -1, -1,
4789 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4790 -1, -1, -1, -1, -1, -1, 358, -1, -1, -1,
4791 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1373,
4792 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4793 -1, -1, -1, -1, -1, 316, 1390, 1391, -1, -1,
4794 -1, -1, -1, -1, 1398, -1, -1, -1, -1, 1403,
4795 -1, -1, 1406, 1407, 1408, -1, -1, -1, -1, -1,
4796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4798 -1, -1, 1436, -1, -1, -1, -1, -1, -1, -1,
4799 -1, -1, 4, 5, -1, 7, 8, -1, -1, -1,
4800 -1, 13, -1, -1, -1, 17, 18, 19, -1, 21,
4801 -1, -1, -1, -1, 26, -1, 28, 29, -1, 31,
4802 -1, -1, 1476, 35, -1, -1, -1, 39, -1, 1483,
4803 -1, 43, -1, 45, 46, -1, 48, 49, -1, 51,
4804 52, 53, 54, 55, 56, -1, 58, 59, -1, 61,
4805 -1, -1, -1, 832, 66, -1, 835, -1, -1, -1,
4806 72, 73, 74, -1, -1, 77, -1, -1, -1, -1,
4807 82, 83, -1, -1, -1, -1, -1, -1, -1, -1,
4808 -1, 93, 94, -1, -1, -1, 98, -1, 100, 101,
4809 102, -1, -1, 105, -1, 107, 108, -1, 110, 111,
4810 -1, 113, -1, 115, 116, -1, -1, 119, -1, -1,
4811 122, 123, 124, -1, 126, -1, -1, -1, 130, 131,
4812 -1, 133, -1, 135, -1, -1, 138, -1, 1582, -1,
4813 -1, -1, 144, 145, 146, -1, 148, -1, -1, 151,
4814 152, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4815 -1, -1, -1, 165, -1, 167, -1, -1, 170, -1,
4816 -1, 173, -1, -1, -1, 177, 1620, -1, -1, -1,
4817 -1, 183, 184, -1, 186, -1, -1, -1, -1, 191,
4818 192, 193, 194, -1, -1, 197, -1, 199, -1, 201,
4819 -1, 203, 204, 205, 206, -1, -1, 209, 210, 211,
4820 -1, -1, 214, -1, -1, -1, 218, 219, -1, 221,
4821 222, 223, 224, -1, -1, -1, -1, -1, -1, -1,
4822 -1, 233, -1, -1, 236, -1, 238, 239, 240, 241,
4823 -1, -1, -1, -1, 1688, 247, -1, -1, -1, -1,
4824 252, -1, -1, -1, -1, -1, 258, -1, -1, -1,
4825 262, 263, 264, 265, 266, 267, 268, -1, 270, 271,
4826 -1, -1, 1716, 275, 276, 277, 278, -1, -1, 281,
4827 -1, 283, 284, 285, -1, -1, 1730, -1, -1, -1,
4828 -1, -1, -1, -1, 296, 297, -1, -1, 300, -1,
4829 -1, 303, 304, 305, -1, -1, 308, -1, 310, 311,
4830 -1, -1, 314, -1, -1, 317, -1, 319, 320, -1,
4831 322, -1, -1, 325, -1, -1, 328, 329, -1, 331,
4832 332, -1, -1, -1, 336, -1, -1, -1, -1, 341,
4833 -1, -1, -1, -1, -1, -1, 348, -1, 350, -1,
4834 -1, 353, -1, -1, -1, -1, 358, 359, -1, -1,
4835 -1, -1, 364, -1, -1, -1, 368, -1, -1, -1,
4836 -1, -1, -1, -1, -1, -1, 1820, 1821, -1, -1,
4837 -1, 1825, -1, 4, 5, 387, 7, 8, -1, 391,
4838 392, -1, 13, -1, -1, -1, 17, 18, 19, -1,
4839 21, -1, -1, 24, 25, 26, -1, 28, 29, 30,
4840 31, -1, -1, -1, 35, 36, 37, 38, 39, -1,
4841 -1, 42, 43, -1, 45, 46, -1, 48, 49, -1,
4842 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
4843 61, 62, 63, -1, -1, 66, 67, 68, 69, -1,
4844 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
4845 -1, 82, 83, 84, -1, -1, 87, -1, -1, -1,
4846 -1, -1, 93, 94, -1, 1919, -1, 98, -1, 100,
4847 101, 102, -1, -1, 105, -1, 107, 108, -1, 110,
4848 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
4849 121, 122, 123, 124, 125, 126, -1, -1, -1, 130,
4850 131, -1, 133, -1, 135, 136, -1, 138, -1, 140,
4851 -1, -1, -1, 144, 145, 146, -1, 148, 149, -1,
4852 151, 152, -1, -1, -1, -1, -1, 158, 159, -1,
4853 1984, -1, -1, 1987, 165, 1989, 167, -1, -1, 170,
4854 -1, 172, 173, -1, 175, 176, 177, -1, -1, -1,
4855 -1, -1, 183, 184, -1, 186, 187, -1, -1, 190,
4856 191, 192, 193, 194, -1, -1, 197, 198, 199, -1,
4857 201, 202, 203, 204, 205, 206, -1, -1, 209, 210,
4858 211, 212, 213, 214, 215, 216, -1, 218, 219, -1,
4859 221, 222, 223, 224, -1, -1, -1, -1, -1, -1,
4860 -1, -1, 233, 234, -1, 236, -1, 238, 239, 240,
4861 241, -1, -1, -1, -1, -1, 247, -1, -1, -1,
4862 -1, 252, 253, 254, -1, -1, -1, 258, -1, -1,
4863 261, 262, 263, 264, 265, 266, 267, 268, -1, 270,
4864 271, -1, -1, -1, 275, 276, 277, 278, -1, -1,
4865 281, -1, 283, 284, 285, -1, -1, -1, -1, -1,
4866 -1, -1, -1, -1, -1, 296, 297, 298, 299, 300,
4867 -1, -1, 303, 304, 305, 306, 307, 308, 309, 310,
4868 311, -1, -1, 314, -1, 316, 317, -1, 319, 320,
4869 321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
4870 331, 332, -1, -1, -1, 336, -1, -1, -1, -1,
4871 341, -1, -1, 344, 345, 346, -1, 348, 349, 350,
4872 -1, -1, 353, 354, -1, 356, 357, 358, 359, -1,
4873 -1, -1, -1, 364, -1, -1, -1, 368, -1, -1,
4874 -1, -1, -1, -1, -1, -1, -1, 378, 379, -1,
4875 -1, -1, -1, 384, -1, 386, -1, 388, -1, -1,
4876 391, 392, 4, 5, -1, 7, 8, 9, -1, -1,
4877 -1, 13, -1, -1, -1, 17, 18, 19, -1, 21,
4878 -1, -1, 24, 25, 26, -1, 28, 29, -1, 31,
4879 -1, -1, -1, 35, 36, 37, 38, 39, -1, -1,
4880 42, 43, -1, 45, 46, -1, 48, 49, -1, 51,
4881 52, 53, 54, 55, 56, -1, 58, 59, -1, 61,
4882 62, 63, -1, -1, 66, 67, 68, 69, -1, 71,
4883 72, 73, 74, 75, 76, 77, -1, -1, -1, -1,
4884 82, 83, 84, -1, -1, 87, -1, -1, -1, -1,
4885 -1, 93, 94, -1, -1, -1, 98, -1, 100, 101,
4886 102, -1, -1, 105, -1, 107, 108, -1, 110, 111,
4887 -1, 113, -1, 115, 116, 117, 118, 119, 120, 121,
4888 122, 123, 124, 125, 126, -1, -1, -1, 130, 131,
4889 -1, 133, -1, 135, 136, -1, 138, -1, 140, -1,
4890 -1, -1, 144, 145, 146, -1, 148, 149, -1, 151,
4891 152, -1, -1, -1, -1, -1, 158, 159, -1, -1,
4892 -1, -1, -1, 165, -1, 167, -1, -1, 170, -1,
4893 172, 173, -1, -1, 176, 177, -1, -1, -1, -1,
4894 -1, 183, 184, -1, 186, 187, -1, -1, 190, 191,
4895 192, 193, 194, -1, -1, 197, 198, 199, -1, 201,
4896 202, 203, 204, 205, 206, -1, -1, 209, 210, 211,
4897 212, 213, 214, 215, 216, -1, 218, 219, 220, 221,
4898 222, 223, 224, -1, -1, -1, -1, -1, -1, -1,
4899 -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
4900 -1, -1, -1, -1, -1, 247, -1, -1, -1, -1,
4901 252, 253, 254, -1, -1, -1, 258, -1, -1, 261,
4902 262, 263, 264, 265, 266, 267, 268, -1, 270, 271,
4903 -1, -1, -1, 275, 276, 277, 278, -1, -1, 281,
4904 -1, 283, 284, 285, -1, -1, -1, -1, -1, -1,
4905 -1, -1, -1, -1, 296, 297, 298, 299, 300, -1,
4906 -1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
4907 -1, -1, 314, -1, 316, 317, -1, 319, 320, 321,
4908 322, -1, -1, 325, 326, 327, 328, 329, 330, 331,
4909 332, -1, -1, -1, 336, -1, -1, -1, -1, 341,
4910 -1, -1, 344, 345, 346, -1, 348, 349, 350, -1,
4911 -1, 353, 354, -1, 356, 357, 358, 359, -1, -1,
4912 -1, -1, 364, -1, -1, -1, 368, -1, -1, -1,
4913 -1, -1, -1, -1, -1, -1, 378, 379, -1, -1,
4914 -1, -1, 384, -1, 386, -1, 388, -1, -1, 391,
4915 392, 4, 5, -1, 7, 8, -1, -1, -1, -1,
4916 13, -1, -1, -1, 17, 18, 19, -1, 21, -1,
4917 -1, 24, 25, 26, -1, 28, 29, -1, 31, -1,
4918 -1, -1, 35, 36, 37, 38, 39, -1, -1, 42,
4919 43, -1, 45, 46, -1, 48, 49, -1, 51, 52,
4920 53, 54, 55, 56, -1, 58, 59, -1, 61, 62,
4921 63, -1, -1, 66, 67, 68, 69, -1, 71, 72,
4922 73, 74, 75, 76, 77, -1, -1, -1, -1, 82,
4923 83, 84, -1, -1, 87, -1, -1, -1, -1, -1,
4924 93, 94, -1, -1, -1, 98, -1, 100, 101, 102,
4925 -1, -1, 105, -1, 107, 108, -1, 110, 111, -1,
4926 113, -1, 115, 116, 117, 118, 119, 120, 121, 122,
4927 123, 124, 125, 126, -1, -1, -1, 130, 131, -1,
4928 133, -1, 135, 136, -1, 138, -1, 140, -1, -1,
4929 -1, 144, 145, 146, -1, 148, 149, -1, 151, 152,
4930 -1, -1, -1, -1, -1, 158, 159, -1, -1, -1,
4931 -1, -1, 165, -1, 167, -1, -1, 170, -1, 172,
4932 173, -1, -1, 176, 177, -1, -1, -1, -1, -1,
4933 183, 184, -1, 186, 187, -1, -1, 190, 191, 192,
4934 193, 194, -1, -1, 197, 198, 199, -1, 201, 202,
4935 203, 204, 205, 206, -1, -1, 209, 210, 211, 212,
4936 213, 214, 215, 216, -1, 218, 219, -1, 221, 222,
4937 223, 224, -1, -1, -1, -1, -1, -1, -1, -1,
4938 233, 234, -1, 236, -1, 238, 239, 240, 241, -1,
4939 -1, -1, -1, -1, 247, -1, -1, -1, -1, 252,
4940 253, 254, -1, -1, -1, 258, -1, -1, 261, 262,
4941 263, 264, 265, 266, 267, 268, -1, 270, 271, -1,
4942 -1, -1, 275, 276, 277, 278, -1, -1, 281, -1,
4943 283, 284, 285, -1, -1, -1, -1, -1, -1, -1,
4944 -1, -1, -1, 296, 297, 298, 299, 300, -1, -1,
4945 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
4946 -1, 314, -1, 316, 317, -1, 319, 320, 321, 322,
4947 -1, -1, 325, 326, 327, 328, 329, 330, 331, 332,
4948 -1, -1, -1, 336, -1, -1, -1, -1, 341, -1,
4949 -1, 344, 345, 346, -1, 348, 349, 350, -1, -1,
4950 353, 354, -1, 356, 357, 358, 359, -1, -1, -1,
4951 -1, 364, -1, -1, -1, 368, -1, -1, -1, -1,
4952 -1, -1, -1, -1, -1, 378, 379, -1, -1, -1,
4953 -1, 384, -1, 386, 387, 388, -1, -1, 391, 392,
4954 4, 5, -1, 7, 8, -1, -1, -1, -1, 13,
4955 -1, -1, -1, 17, 18, 19, -1, 21, -1, -1,
4956 24, 25, 26, -1, 28, 29, -1, 31, -1, -1,
4957 -1, 35, 36, 37, 38, 39, -1, -1, 42, 43,
4958 -1, 45, 46, -1, 48, 49, -1, 51, 52, 53,
4959 54, 55, 56, -1, 58, 59, -1, 61, 62, 63,
4960 -1, -1, 66, 67, 68, 69, -1, 71, 72, 73,
4961 74, 75, 76, 77, -1, -1, -1, -1, 82, 83,
4962 84, -1, -1, 87, -1, -1, -1, -1, -1, 93,
4963 94, -1, -1, -1, 98, -1, 100, 101, 102, -1,
4964 -1, 105, -1, 107, 108, -1, 110, 111, -1, 113,
4965 -1, 115, 116, 117, 118, 119, 120, 121, 122, 123,
4966 124, 125, 126, -1, -1, -1, 130, 131, 132, 133,
4967 -1, 135, 136, -1, 138, -1, 140, -1, -1, -1,
4968 144, 145, 146, -1, 148, 149, -1, 151, 152, -1,
4969 -1, -1, -1, -1, 158, 159, -1, -1, -1, -1,
4970 -1, 165, -1, 167, -1, -1, 170, -1, 172, 173,
4971 -1, -1, 176, 177, -1, -1, -1, -1, -1, 183,
4972 184, -1, 186, 187, -1, -1, 190, 191, 192, 193,
4973 194, -1, -1, 197, 198, 199, -1, 201, 202, 203,
4974 204, 205, 206, -1, -1, 209, 210, 211, 212, 213,
4975 214, 215, 216, -1, 218, 219, -1, 221, 222, 223,
4976 224, -1, -1, -1, -1, -1, -1, -1, -1, 233,
4977 234, -1, 236, -1, 238, 239, 240, 241, -1, -1,
4978 -1, -1, -1, 247, -1, -1, -1, -1, 252, 253,
4979 254, -1, -1, -1, 258, -1, -1, 261, 262, 263,
4980 264, 265, 266, 267, 268, -1, 270, 271, -1, -1,
4981 -1, 275, 276, 277, 278, -1, -1, 281, -1, 283,
4982 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
4983 -1, -1, 296, 297, 298, 299, 300, -1, -1, 303,
4984 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
4985 314, -1, 316, 317, -1, 319, 320, 321, 322, -1,
4986 -1, 325, 326, 327, 328, 329, 330, 331, 332, -1,
4987 -1, -1, 336, -1, -1, -1, -1, 341, -1, -1,
4988 344, 345, 346, -1, 348, 349, 350, -1, -1, 353,
4989 354, -1, 356, 357, 358, 359, -1, -1, -1, -1,
4990 364, -1, -1, -1, 368, -1, -1, -1, -1, -1,
4991 -1, -1, -1, -1, 378, 379, -1, -1, -1, -1,
4992 384, -1, 386, -1, 388, -1, -1, 391, 392, 4,
4993 5, -1, 7, 8, -1, -1, -1, -1, 13, -1,
4994 -1, -1, 17, 18, 19, -1, 21, -1, -1, 24,
4995 25, 26, -1, 28, 29, -1, 31, -1, -1, -1,
4996 35, 36, 37, 38, 39, -1, -1, 42, 43, -1,
4997 45, 46, -1, 48, 49, -1, 51, 52, 53, 54,
4998 55, 56, -1, 58, 59, -1, 61, 62, 63, -1,
4999 -1, 66, 67, 68, 69, -1, 71, 72, 73, 74,
5000 75, 76, 77, -1, -1, -1, -1, 82, 83, 84,
5001 -1, -1, 87, -1, -1, -1, -1, -1, 93, 94,
5002 -1, -1, -1, 98, -1, 100, 101, 102, -1, -1,
5003 105, -1, 107, 108, -1, 110, 111, -1, 113, -1,
5004 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5005 125, 126, -1, -1, -1, 130, 131, 132, 133, -1,
5006 135, 136, -1, 138, -1, 140, -1, -1, -1, 144,
5007 145, 146, -1, 148, 149, -1, 151, 152, -1, -1,
5008 -1, -1, -1, 158, 159, -1, -1, -1, -1, -1,
5009 165, -1, 167, -1, -1, 170, -1, 172, 173, -1,
5010 -1, 176, 177, -1, -1, -1, -1, -1, 183, 184,
5011 -1, 186, 187, -1, -1, 190, 191, 192, 193, 194,
5012 -1, -1, 197, 198, 199, -1, 201, 202, 203, 204,
5013 205, 206, -1, -1, 209, 210, 211, 212, 213, 214,
5014 215, 216, -1, 218, 219, -1, 221, 222, 223, 224,
5015 -1, -1, -1, -1, -1, -1, -1, -1, 233, 234,
5016 -1, 236, -1, 238, 239, 240, 241, -1, -1, -1,
5017 -1, -1, 247, -1, -1, -1, -1, 252, 253, 254,
5018 -1, -1, -1, 258, -1, -1, 261, 262, 263, 264,
5019 265, 266, 267, 268, -1, 270, 271, -1, -1, -1,
5020 275, 276, 277, 278, -1, -1, 281, -1, 283, 284,
5021 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5022 -1, 296, 297, 298, 299, 300, -1, -1, 303, 304,
5023 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
5024 -1, 316, 317, -1, 319, 320, 321, 322, -1, -1,
5025 325, 326, 327, 328, 329, 330, 331, 332, -1, -1,
5026 -1, 336, -1, -1, -1, -1, 341, -1, -1, 344,
5027 345, 346, -1, 348, 349, 350, -1, -1, 353, 354,
5028 -1, 356, 357, 358, 359, -1, -1, -1, -1, 364,
5029 -1, -1, -1, 368, -1, -1, -1, -1, -1, -1,
5030 -1, -1, -1, 378, 379, -1, -1, -1, -1, 384,
5031 -1, 386, -1, 388, -1, -1, 391, 392, 4, 5,
5032 -1, 7, 8, -1, -1, -1, -1, 13, -1, -1,
5033 -1, 17, 18, 19, -1, 21, -1, -1, 24, 25,
5034 26, -1, 28, 29, -1, 31, -1, -1, -1, 35,
5035 36, 37, 38, 39, -1, -1, 42, 43, -1, 45,
5036 46, -1, 48, 49, -1, 51, 52, 53, 54, 55,
5037 56, -1, 58, 59, -1, 61, 62, 63, -1, -1,
5038 66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
5039 76, 77, -1, -1, -1, -1, 82, 83, 84, -1,
5040 -1, 87, -1, -1, -1, -1, -1, 93, 94, -1,
5041 -1, -1, 98, -1, 100, 101, 102, -1, -1, 105,
5042 -1, 107, 108, -1, 110, 111, -1, 113, -1, 115,
5043 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
5044 126, -1, -1, -1, 130, 131, 132, 133, -1, 135,
5045 136, -1, 138, -1, 140, -1, -1, -1, 144, 145,
5046 146, -1, 148, 149, -1, 151, 152, -1, -1, -1,
5047 -1, -1, 158, 159, -1, -1, -1, -1, -1, 165,
5048 -1, 167, -1, -1, 170, -1, 172, 173, -1, -1,
5049 176, 177, -1, -1, -1, -1, -1, 183, 184, -1,
5050 186, 187, -1, -1, 190, 191, 192, 193, 194, -1,
5051 -1, 197, 198, 199, -1, 201, 202, 203, 204, 205,
5052 206, -1, -1, 209, 210, 211, 212, 213, 214, 215,
5053 216, -1, 218, 219, -1, 221, 222, 223, 224, -1,
5054 -1, -1, -1, -1, -1, -1, -1, 233, 234, -1,
5055 236, -1, 238, 239, 240, 241, -1, -1, -1, -1,
5056 -1, 247, -1, -1, -1, -1, 252, 253, 254, -1,
5057 -1, -1, 258, -1, -1, 261, 262, 263, 264, 265,
5058 266, 267, 268, -1, 270, 271, -1, -1, -1, 275,
5059 276, 277, 278, -1, -1, 281, -1, 283, 284, 285,
5060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5061 296, 297, 298, 299, 300, -1, -1, 303, 304, 305,
5062 306, 307, 308, 309, 310, 311, -1, -1, 314, -1,
5063 316, 317, -1, 319, 320, 321, 322, -1, -1, 325,
5064 326, 327, 328, 329, 330, 331, 332, -1, -1, -1,
5065 336, -1, -1, -1, -1, 341, -1, -1, 344, 345,
5066 346, -1, 348, 349, 350, -1, -1, 353, 354, -1,
5067 356, 357, 358, 359, -1, -1, -1, -1, 364, -1,
5068 -1, -1, 368, -1, -1, -1, -1, -1, -1, -1,
5069 -1, -1, 378, 379, -1, -1, -1, -1, 384, -1,
5070 386, -1, 388, -1, -1, 391, 392, 4, 5, -1,
5071 7, 8, -1, -1, -1, -1, 13, -1, -1, -1,
5072 17, 18, 19, -1, 21, -1, -1, 24, 25, 26,
5073 -1, 28, 29, -1, 31, -1, -1, -1, 35, 36,
5074 37, 38, 39, -1, -1, 42, 43, -1, 45, 46,
5075 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
5076 -1, 58, 59, -1, 61, 62, 63, -1, -1, 66,
5077 67, 68, 69, -1, 71, 72, 73, 74, 75, 76,
5078 77, -1, -1, -1, -1, 82, 83, 84, -1, -1,
5079 87, -1, -1, -1, -1, -1, 93, 94, -1, -1,
5080 -1, 98, -1, 100, 101, 102, -1, -1, 105, -1,
5081 107, 108, -1, 110, 111, -1, 113, -1, 115, 116,
5082 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
5083 -1, -1, -1, 130, 131, -1, 133, -1, 135, 136,
5084 -1, 138, -1, 140, -1, -1, -1, 144, 145, 146,
5085 -1, 148, 149, -1, 151, 152, -1, -1, -1, -1,
5086 -1, 158, 159, -1, -1, -1, -1, -1, 165, -1,
5087 167, -1, -1, 170, -1, 172, 173, -1, -1, 176,
5088 177, -1, -1, -1, -1, -1, 183, 184, -1, 186,
5089 187, -1, -1, 190, 191, 192, 193, 194, -1, -1,
5090 197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
5091 -1, -1, 209, 210, 211, 212, 213, 214, 215, 216,
5092 -1, 218, 219, -1, 221, 222, 223, 224, -1, -1,
5093 -1, -1, -1, -1, -1, -1, 233, 234, -1, 236,
5094 -1, 238, 239, 240, 241, -1, -1, -1, -1, -1,
5095 247, -1, -1, -1, -1, 252, 253, 254, -1, -1,
5096 -1, 258, -1, -1, 261, 262, 263, 264, 265, 266,
5097 267, 268, -1, 270, 271, -1, -1, -1, 275, 276,
5098 277, 278, -1, -1, 281, -1, 283, 284, 285, -1,
5099 -1, -1, -1, -1, -1, -1, -1, -1, -1, 296,
5100 297, 298, 299, 300, -1, -1, 303, 304, 305, 306,
5101 307, 308, 309, 310, 311, -1, -1, 314, -1, 316,
5102 317, -1, 319, 320, 321, 322, -1, -1, 325, 326,
5103 327, 328, 329, 330, 331, 332, -1, -1, -1, 336,
5104 -1, -1, -1, -1, 341, -1, -1, 344, 345, 346,
5105 -1, 348, 349, 350, -1, -1, 353, 354, -1, 356,
5106 357, 358, 359, -1, -1, -1, -1, 364, -1, -1,
5107 -1, 368, -1, -1, -1, -1, -1, -1, -1, -1,
5108 -1, 378, 379, -1, -1, -1, -1, 384, -1, 386,
5109 -1, 388, -1, -1, 391, 392, 4, 5, -1, 7,
5110 8, -1, -1, -1, -1, 13, -1, -1, -1, 17,
5111 18, 19, -1, 21, -1, -1, 24, 25, 26, -1,
5112 28, 29, -1, 31, -1, -1, -1, 35, 36, 37,
5113 38, 39, -1, -1, 42, 43, -1, 45, 46, -1,
5114 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
5115 58, 59, -1, 61, 62, 63, -1, -1, 66, 67,
5116 68, 69, -1, 71, 72, 73, 74, 75, 76, 77,
5117 -1, -1, -1, -1, 82, 83, 84, -1, -1, 87,
5118 -1, -1, -1, -1, -1, 93, 94, -1, -1, -1,
5119 98, -1, 100, 101, 102, -1, -1, 105, -1, 107,
5120 108, -1, 110, 111, -1, 113, -1, 115, 116, 117,
5121 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
5122 -1, -1, 130, 131, -1, 133, -1, 135, 136, -1,
5123 138, -1, 140, -1, -1, -1, 144, 145, 146, -1,
5124 148, 149, -1, 151, 152, -1, -1, -1, -1, -1,
5125 158, 159, -1, -1, -1, -1, -1, 165, -1, 167,
5126 -1, -1, 170, -1, 172, 173, -1, -1, 176, 177,
5127 -1, -1, -1, -1, -1, 183, 184, -1, 186, 187,
5128 -1, -1, 190, 191, 192, 193, 194, -1, -1, 197,
5129 198, 199, -1, 201, 202, 203, 204, 205, 206, -1,
5130 -1, 209, 210, 211, 212, 213, 214, 215, 216, -1,
5131 218, 219, -1, 221, 222, 223, 224, -1, -1, -1,
5132 -1, -1, -1, -1, -1, 233, 234, -1, 236, -1,
5133 238, 239, 240, 241, -1, -1, -1, -1, -1, 247,
5134 -1, -1, -1, -1, 252, 253, 254, -1, -1, -1,
5135 258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
5136 268, -1, 270, 271, -1, -1, -1, 275, 276, 277,
5137 278, -1, -1, 281, -1, 283, 284, 285, -1, -1,
5138 -1, -1, -1, -1, -1, -1, -1, -1, 296, 297,
5139 298, 299, 300, -1, -1, 303, 304, 305, 306, 307,
5140 308, 309, 310, 311, -1, -1, 314, -1, 316, 317,
5141 -1, 319, 320, 321, 322, -1, -1, 325, 326, 327,
5142 328, 329, 330, 331, 332, -1, -1, -1, 336, -1,
5143 -1, -1, -1, 341, -1, -1, 344, 345, 346, -1,
5144 348, 349, 350, -1, -1, 353, 354, -1, 356, 357,
5145 358, 359, -1, -1, -1, -1, 364, -1, -1, -1,
5146 368, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5147 378, 379, -1, -1, -1, -1, 384, -1, 386, -1,
5148 388, -1, -1, 391, 392, 4, 5, -1, 7, 8,
5149 9, -1, -1, -1, 13, -1, -1, -1, 17, 18,
5150 19, -1, 21, -1, -1, 24, 25, 26, -1, 28,
5151 29, -1, 31, -1, -1, -1, 35, 36, 37, 38,
5152 39, -1, -1, 42, 43, -1, 45, 46, -1, 48,
5153 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
5154 59, -1, 61, 62, 63, -1, -1, 66, 67, 68,
5155 69, -1, 71, 72, 73, 74, 75, 76, 77, -1,
5156 -1, -1, -1, 82, 83, 84, -1, -1, 87, -1,
5157 -1, -1, -1, -1, 93, 94, -1, -1, -1, 98,
5158 -1, 100, 101, 102, -1, -1, 105, -1, 107, 108,
5159 -1, 110, 111, -1, 113, -1, 115, 116, 117, 118,
5160 119, 120, 121, 122, 123, 124, 125, 126, -1, -1,
5161 -1, 130, 131, -1, 133, -1, 135, 136, -1, 138,
5162 -1, 140, -1, -1, -1, 144, 145, 146, -1, 148,
5163 149, -1, 151, 152, -1, -1, -1, -1, -1, 158,
5164 159, -1, -1, -1, -1, -1, 165, -1, 167, -1,
5165 -1, 170, -1, 172, 173, -1, -1, 176, 177, -1,
5166 -1, -1, -1, -1, 183, 184, -1, 186, 187, -1,
5167 -1, 190, 191, 192, 193, 194, -1, -1, 197, 198,
5168 199, -1, 201, 202, 203, 204, 205, 206, -1, -1,
5169 209, 210, 211, -1, 213, 214, 215, 216, -1, 218,
5170 219, -1, 221, 222, 223, 224, -1, -1, -1, -1,
5171 -1, -1, -1, -1, 233, 234, -1, 236, -1, 238,
5172 239, 240, 241, -1, -1, -1, -1, -1, 247, -1,
5173 -1, -1, -1, 252, 253, 254, -1, -1, -1, 258,
5174 -1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
5175 -1, 270, 271, -1, -1, -1, 275, 276, 277, 278,
5176 -1, -1, 281, -1, 283, 284, 285, -1, -1, -1,
5177 -1, -1, -1, -1, -1, -1, -1, 296, 297, 298,
5178 299, 300, -1, -1, 303, 304, 305, 306, 307, 308,
5179 309, 310, 311, -1, -1, 314, -1, 316, 317, -1,
5180 319, 320, 321, 322, -1, -1, 325, 326, 327, 328,
5181 329, 330, 331, 332, -1, -1, -1, 336, -1, -1,
5182 -1, -1, 341, -1, -1, 344, 345, 346, -1, 348,
5183 349, 350, -1, -1, 353, 354, -1, 356, 357, 358,
5184 359, -1, -1, -1, -1, 364, -1, -1, -1, 368,
5185 -1, -1, -1, -1, -1, -1, -1, -1, -1, 378,
5186 379, -1, -1, -1, -1, 384, -1, 386, -1, 388,
5187 -1, -1, 391, 392, 4, 5, -1, 7, 8, -1,
5188 -1, -1, -1, 13, -1, -1, -1, 17, 18, 19,
5189 -1, 21, -1, -1, 24, 25, 26, -1, 28, 29,
5190 -1, 31, -1, -1, -1, 35, 36, 37, 38, 39,
5191 -1, -1, 42, 43, -1, 45, 46, -1, 48, 49,
5192 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
5193 -1, 61, 62, 63, -1, -1, 66, 67, 68, 69,
5194 -1, 71, 72, 73, 74, 75, 76, 77, -1, -1,
5195 -1, -1, 82, 83, 84, -1, -1, 87, -1, -1,
5196 -1, -1, -1, 93, 94, -1, -1, -1, 98, -1,
5197 100, 101, 102, -1, -1, 105, -1, 107, 108, -1,
5198 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
5199 120, 121, 122, 123, 124, 125, 126, -1, -1, -1,
5200 130, 131, -1, 133, -1, 135, 136, -1, 138, -1,
5201 140, -1, -1, -1, 144, 145, 146, -1, 148, 149,
5202 -1, 151, 152, -1, -1, -1, -1, -1, 158, 159,
5203 -1, -1, -1, -1, -1, 165, -1, 167, -1, -1,
5204 170, -1, 172, 173, -1, -1, 176, 177, -1, -1,
5205 -1, -1, -1, 183, 184, -1, 186, 187, -1, -1,
5206 190, 191, 192, 193, 194, -1, -1, 197, 198, 199,
5207 -1, 201, 202, 203, 204, 205, 206, -1, -1, 209,
5208 210, 211, 212, 213, 214, 215, 216, -1, 218, 219,
5209 -1, 221, 222, 223, 224, -1, -1, -1, -1, -1,
5210 -1, -1, -1, 233, 234, -1, 236, -1, 238, 239,
5211 240, 241, -1, -1, -1, -1, -1, 247, -1, -1,
5212 -1, -1, 252, 253, 254, -1, -1, -1, 258, -1,
5213 -1, 261, 262, 263, 264, 265, 266, 267, 268, -1,
5214 270, 271, -1, -1, -1, 275, 276, 277, 278, -1,
5215 -1, 281, -1, 283, 284, 285, -1, -1, -1, -1,
5216 -1, -1, -1, -1, -1, -1, 296, 297, 298, 299,
5217 300, -1, -1, 303, 304, 305, 306, 307, 308, 309,
5218 310, 311, -1, -1, 314, -1, 316, 317, -1, 319,
5219 320, 321, 322, -1, -1, 325, 326, 327, 328, 329,
5220 330, 331, 332, -1, -1, -1, 336, -1, -1, -1,
5221 -1, 341, -1, -1, 344, 345, 346, -1, 348, 349,
5222 350, -1, -1, 353, 354, -1, 356, 357, 358, 359,
5223 -1, -1, -1, -1, 364, -1, -1, -1, 368, -1,
5224 -1, -1, -1, -1, -1, -1, -1, -1, 378, 379,
5225 -1, -1, -1, -1, 384, -1, 386, -1, 388, -1,
5226 -1, 391, 392, 4, 5, -1, 7, 8, -1, -1,
5227 -1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
5228 21, -1, -1, 24, 25, 26, -1, 28, 29, -1,
5229 31, -1, -1, -1, 35, 36, 37, 38, 39, -1,
5230 -1, 42, 43, -1, 45, 46, -1, 48, 49, -1,
5231 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
5232 61, 62, 63, -1, -1, 66, 67, 68, 69, -1,
5233 71, 72, 73, 74, 75, 76, 77, -1, -1, -1,
5234 -1, 82, 83, 84, -1, -1, 87, -1, -1, -1,
5235 -1, -1, 93, 94, -1, -1, -1, 98, -1, 100,
5236 101, 102, -1, -1, 105, -1, 107, 108, -1, 110,
5237 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
5238 121, 122, 123, 124, 125, 126, -1, -1, -1, 130,
5239 131, -1, 133, -1, 135, 136, -1, 138, -1, 140,
5240 -1, -1, -1, 144, 145, 146, -1, 148, 149, -1,
5241 151, 152, -1, -1, -1, -1, -1, 158, 159, -1,
5242 -1, -1, -1, -1, 165, -1, 167, -1, -1, 170,
5243 -1, 172, 173, -1, -1, 176, 177, -1, -1, -1,
5244 -1, -1, 183, 184, -1, 186, 187, -1, -1, 190,
5245 191, 192, 193, 194, -1, -1, 197, 198, 199, -1,
5246 201, 202, 203, 204, 205, 206, -1, -1, 209, 210,
5247 211, 212, 213, 214, 215, 216, -1, 218, 219, -1,
5248 221, 222, 223, 224, -1, -1, -1, -1, -1, -1,
5249 -1, -1, 233, 234, -1, 236, -1, 238, 239, 240,
5250 241, -1, -1, -1, -1, -1, 247, -1, -1, -1,
5251 -1, 252, 253, 254, -1, -1, -1, 258, -1, -1,
5252 261, 262, 263, 264, 265, 266, 267, 268, -1, 270,
5253 271, -1, -1, -1, 275, 276, 277, 278, -1, -1,
5254 281, -1, 283, 284, 285, -1, -1, -1, -1, -1,
5255 -1, -1, -1, -1, -1, 296, 297, 298, 299, 300,
5256 -1, -1, 303, 304, 305, 306, 307, 308, 309, 310,
5257 311, -1, -1, 314, -1, 316, 317, -1, 319, 320,
5258 321, 322, -1, -1, 325, 326, 327, 328, 329, 330,
5259 331, 332, -1, -1, -1, 336, -1, -1, -1, -1,
5260 341, -1, -1, 344, 345, 346, -1, 348, 349, 350,
5261 -1, -1, 353, 354, -1, 356, 357, 358, 359, -1,
5262 -1, -1, -1, 364, -1, -1, -1, 368, -1, -1,
5263 -1, -1, -1, -1, -1, -1, -1, 378, 379, -1,
5264 -1, -1, -1, 384, -1, 386, -1, 388, -1, -1,
5265 391, 392, 4, 5, -1, 7, 8, -1, -1, -1,
5266 -1, 13, -1, -1, -1, 17, 18, 19, -1, 21,
5267 -1, -1, 24, 25, 26, -1, 28, 29, -1, 31,
5268 -1, -1, -1, 35, 36, 37, 38, 39, -1, -1,
5269 42, 43, -1, 45, 46, -1, 48, 49, -1, 51,
5270 52, 53, 54, 55, 56, -1, 58, 59, -1, 61,
5271 62, 63, -1, -1, 66, 67, 68, 69, -1, 71,
5272 72, 73, 74, 75, 76, 77, -1, -1, -1, -1,
5273 82, 83, 84, -1, -1, 87, -1, -1, -1, -1,
5274 -1, 93, 94, -1, -1, -1, 98, -1, 100, 101,
5275 102, -1, -1, 105, -1, 107, 108, -1, 110, 111,
5276 -1, 113, -1, 115, 116, 117, 118, 119, 120, 121,
5277 122, 123, 124, 125, 126, -1, -1, -1, 130, 131,
5278 -1, 133, -1, 135, 136, -1, 138, -1, 140, -1,
5279 -1, -1, 144, 145, 146, -1, 148, 149, -1, 151,
5280 152, -1, -1, -1, -1, -1, 158, 159, -1, -1,
5281 -1, -1, -1, 165, -1, 167, -1, -1, 170, -1,
5282 172, 173, -1, -1, 176, 177, -1, -1, -1, -1,
5283 -1, 183, 184, -1, 186, 187, -1, -1, 190, 191,
5284 192, 193, 194, -1, -1, 197, 198, 199, -1, 201,
5285 202, 203, 204, 205, 206, -1, -1, 209, 210, 211,
5286 212, 213, 214, 215, 216, -1, 218, 219, -1, 221,
5287 222, 223, 224, -1, -1, -1, -1, -1, -1, -1,
5288 -1, 233, 234, -1, 236, -1, 238, 239, 240, 241,
5289 -1, -1, -1, -1, -1, 247, -1, -1, -1, -1,
5290 252, 253, 254, -1, -1, -1, 258, -1, -1, 261,
5291 262, 263, 264, 265, 266, 267, 268, -1, 270, 271,
5292 -1, -1, -1, 275, 276, 277, 278, -1, -1, 281,
5293 -1, 283, 284, 285, -1, -1, -1, -1, -1, -1,
5294 -1, -1, -1, -1, 296, 297, 298, 299, 300, -1,
5295 -1, 303, 304, 305, 306, 307, 308, 309, 310, 311,
5296 -1, -1, 314, -1, 316, 317, -1, 319, 320, 321,
5297 322, -1, -1, 325, 326, 327, 328, 329, 330, 331,
5298 332, -1, -1, -1, 336, -1, -1, -1, -1, 341,
5299 -1, -1, 344, 345, 346, -1, 348, 349, 350, -1,
5300 -1, 353, 354, -1, 356, 357, 358, 359, -1, -1,
5301 -1, -1, 364, -1, -1, -1, 368, -1, -1, -1,
5302 -1, -1, -1, -1, -1, -1, 378, 379, -1, -1,
5303 -1, -1, 384, -1, 386, -1, 388, -1, -1, 391,
5304 392, 4, 5, -1, 7, 8, -1, -1, -1, -1,
5305 13, -1, -1, -1, 17, 18, 19, -1, 21, -1,
5306 -1, 24, 25, 26, -1, 28, 29, -1, 31, -1,
5307 -1, -1, 35, 36, 37, 38, 39, -1, -1, 42,
5308 43, -1, 45, 46, -1, 48, 49, -1, 51, 52,
5309 53, 54, 55, 56, -1, 58, 59, -1, 61, 62,
5310 63, -1, -1, 66, 67, 68, 69, -1, 71, 72,
5311 73, 74, 75, 76, 77, -1, -1, -1, -1, 82,
5312 83, 84, -1, -1, 87, -1, -1, -1, -1, -1,
5313 93, 94, -1, -1, -1, 98, -1, 100, 101, 102,
5314 -1, -1, 105, -1, 107, 108, -1, 110, 111, -1,
5315 113, -1, 115, 116, 117, 118, 119, 120, 121, 122,
5316 123, 124, 125, 126, -1, -1, -1, 130, 131, -1,
5317 133, -1, 135, 136, -1, 138, -1, 140, -1, -1,
5318 -1, 144, 145, 146, -1, 148, 149, -1, 151, 152,
5319 -1, -1, -1, -1, -1, 158, 159, -1, -1, -1,
5320 -1, -1, 165, -1, 167, -1, -1, 170, -1, 172,
5321 173, -1, -1, 176, 177, -1, -1, -1, -1, -1,
5322 183, 184, -1, 186, 187, -1, -1, 190, 191, 192,
5323 193, 194, -1, -1, 197, 198, 199, -1, 201, 202,
5324 203, 204, 205, 206, -1, -1, 209, 210, 211, -1,
5325 213, 214, 215, 216, -1, 218, 219, -1, 221, 222,
5326 223, 224, -1, -1, -1, -1, -1, -1, -1, -1,
5327 233, 234, -1, 236, -1, 238, 239, 240, 241, -1,
5328 -1, -1, -1, -1, 247, -1, -1, -1, -1, 252,
5329 253, 254, -1, -1, -1, 258, -1, -1, 261, 262,
5330 263, 264, 265, 266, 267, 268, -1, 270, 271, -1,
5331 -1, -1, 275, 276, 277, 278, -1, -1, 281, -1,
5332 283, 284, 285, -1, -1, -1, -1, -1, -1, -1,
5333 -1, -1, -1, 296, 297, 298, 299, 300, -1, -1,
5334 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
5335 -1, 314, -1, 316, 317, -1, 319, 320, 321, 322,
5336 -1, -1, 325, 326, 327, 328, 329, 330, 331, 332,
5337 -1, -1, -1, 336, -1, -1, -1, -1, 341, -1,
5338 -1, 344, 345, 346, -1, 348, 349, 350, -1, -1,
5339 353, 354, -1, 356, 357, 358, 359, -1, -1, -1,
5340 -1, 364, -1, -1, -1, 368, -1, -1, -1, -1,
5341 -1, -1, -1, -1, -1, 378, 379, -1, -1, -1,
5342 -1, 384, -1, 386, -1, 388, -1, -1, 391, 392,
5343 4, 5, -1, 7, 8, -1, -1, -1, -1, 13,
5344 -1, -1, -1, 17, 18, 19, -1, 21, -1, -1,
5345 24, 25, 26, -1, 28, 29, -1, 31, -1, -1,
5346 -1, 35, 36, 37, 38, 39, -1, -1, 42, 43,
5347 -1, 45, 46, -1, 48, 49, -1, 51, 52, 53,
5348 54, 55, 56, -1, 58, 59, -1, 61, 62, 63,
5349 -1, -1, 66, 67, 68, 69, -1, 71, 72, 73,
5350 74, 75, 76, 77, -1, -1, -1, -1, 82, 83,
5351 84, -1, -1, 87, -1, -1, -1, -1, -1, 93,
5352 94, -1, -1, -1, 98, -1, 100, 101, 102, -1,
5353 -1, 105, -1, 107, 108, -1, 110, 111, -1, 113,
5354 -1, 115, 116, 117, 118, 119, 120, 121, 122, 123,
5355 124, 125, 126, -1, -1, -1, 130, 131, -1, 133,
5356 -1, 135, 136, -1, 138, -1, 140, -1, -1, -1,
5357 144, 145, 146, -1, 148, 149, -1, 151, 152, -1,
5358 -1, -1, -1, -1, 158, 159, -1, -1, -1, -1,
5359 -1, 165, -1, 167, -1, -1, 170, -1, 172, 173,
5360 -1, -1, 176, 177, -1, -1, -1, -1, -1, 183,
5361 184, -1, 186, 187, -1, -1, 190, 191, 192, 193,
5362 194, -1, -1, 197, 198, 199, -1, 201, 202, 203,
5363 204, 205, 206, -1, -1, 209, 210, 211, -1, 213,
5364 214, 215, 216, -1, 218, 219, -1, 221, 222, 223,
5365 224, -1, -1, -1, -1, -1, -1, -1, -1, 233,
5366 234, -1, 236, -1, 238, 239, 240, 241, -1, -1,
5367 -1, -1, -1, 247, -1, -1, -1, -1, 252, 253,
5368 254, -1, -1, -1, 258, -1, -1, 261, 262, 263,
5369 264, 265, 266, 267, 268, -1, 270, 271, -1, -1,
5370 -1, 275, 276, 277, 278, -1, -1, 281, -1, 283,
5371 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
5372 -1, -1, 296, 297, 298, 299, 300, -1, -1, 303,
5373 304, 305, 306, 307, 308, 309, 310, 311, -1, -1,
5374 314, -1, 316, 317, -1, 319, 320, 321, 322, -1,
5375 -1, 325, 326, 327, 328, 329, 330, 331, 332, -1,
5376 -1, -1, 336, -1, -1, -1, -1, 341, -1, -1,
5377 344, 345, 346, -1, 348, 349, 350, -1, -1, 353,
5378 354, -1, 356, 357, 358, 359, -1, -1, -1, -1,
5379 364, -1, -1, -1, 368, -1, -1, -1, -1, -1,
5380 -1, -1, -1, -1, 378, 379, -1, -1, -1, -1,
5381 384, -1, 386, -1, 388, -1, -1, 391, 392, 4,
5382 5, -1, 7, 8, -1, -1, -1, -1, 13, -1,
5383 -1, -1, 17, 18, 19, -1, 21, -1, -1, 24,
5384 25, 26, -1, 28, 29, -1, 31, -1, -1, -1,
5385 35, 36, 37, 38, 39, -1, -1, 42, 43, -1,
5386 45, 46, -1, 48, 49, -1, 51, 52, 53, 54,
5387 55, 56, -1, 58, 59, -1, 61, 62, 63, -1,
5388 -1, 66, 67, 68, 69, -1, 71, 72, 73, 74,
5389 75, 76, 77, -1, -1, -1, -1, 82, 83, 84,
5390 -1, -1, 87, -1, -1, -1, -1, -1, 93, 94,
5391 -1, -1, -1, 98, -1, 100, 101, 102, -1, -1,
5392 105, -1, 107, 108, -1, 110, 111, -1, 113, -1,
5393 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5394 125, 126, -1, -1, -1, 130, 131, -1, 133, -1,
5395 135, 136, -1, 138, -1, 140, -1, -1, -1, 144,
5396 145, 146, -1, 148, 149, -1, 151, 152, -1, -1,
5397 -1, -1, -1, 158, 159, -1, -1, -1, -1, -1,
5398 165, -1, 167, -1, -1, 170, -1, 172, 173, -1,
5399 -1, 176, 177, -1, -1, -1, -1, -1, 183, 184,
5400 -1, 186, 187, -1, -1, 190, 191, 192, 193, 194,
5401 -1, -1, 197, 198, 199, -1, 201, 202, 203, 204,
5402 205, 206, -1, -1, 209, 210, 211, -1, 213, 214,
5403 215, 216, -1, 218, 219, -1, 221, 222, 223, 224,
5404 -1, -1, -1, -1, -1, -1, -1, -1, 233, 234,
5405 -1, 236, -1, 238, 239, 240, 241, -1, -1, -1,
5406 -1, -1, 247, -1, -1, -1, -1, 252, 253, 254,
5407 -1, -1, -1, 258, -1, -1, 261, 262, 263, 264,
5408 265, 266, 267, 268, -1, 270, 271, -1, -1, -1,
5409 275, 276, 277, 278, -1, -1, 281, -1, 283, 284,
5410 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5411 -1, 296, 297, 298, 299, 300, -1, -1, 303, 304,
5412 305, 306, 307, 308, 309, 310, 311, -1, -1, 314,
5413 -1, 316, 317, -1, 319, 320, 321, 322, -1, -1,
5414 325, 326, 327, 328, 329, 330, 331, 332, -1, -1,
5415 -1, 336, -1, -1, -1, -1, 341, -1, -1, 344,
5416 345, 346, -1, 348, 349, 350, -1, -1, 353, 354,
5417 -1, 356, 357, 358, 359, -1, -1, -1, -1, 364,
5418 -1, -1, -1, 368, -1, -1, -1, -1, -1, -1,
5419 -1, -1, -1, 378, 379, -1, -1, -1, -1, 384,
5420 -1, 386, -1, 388, -1, -1, 391, 392, 4, 5,
5421 -1, 7, 8, -1, -1, -1, -1, 13, -1, -1,
5422 -1, 17, 18, 19, -1, 21, -1, -1, -1, -1,
5423 26, -1, 28, 29, -1, 31, -1, -1, -1, 35,
5424 -1, -1, -1, 39, -1, -1, -1, 43, -1, 45,
5425 46, -1, 48, 49, -1, 51, 52, 53, 54, 55,
5426 56, -1, 58, 59, -1, 61, -1, -1, -1, -1,
5427 66, -1, -1, -1, -1, -1, 72, 73, 74, -1,
5428 -1, 77, -1, -1, -1, -1, 82, 83, -1, -1,
5429 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
5430 -1, -1, 98, -1, 100, 101, 102, -1, -1, 105,
5431 -1, 107, 108, -1, 110, 111, -1, 113, -1, 115,
5432 116, -1, -1, 119, -1, -1, 122, 123, 124, -1,
5433 126, -1, -1, -1, 130, 131, -1, 133, -1, 135,
5434 -1, -1, 138, -1, -1, -1, -1, -1, 144, 145,
5435 146, -1, 148, -1, -1, 151, 152, -1, -1, -1,
5436 -1, -1, -1, -1, -1, -1, -1, -1, -1, 165,
5437 -1, 167, -1, -1, 170, -1, -1, 173, -1, -1,
5438 -1, 177, -1, -1, -1, -1, -1, 183, 184, -1,
5439 186, -1, -1, -1, -1, 191, 192, 193, 194, -1,
5440 -1, 197, -1, 199, -1, 201, -1, 203, 204, 205,
5441 206, -1, -1, 209, 210, 211, -1, -1, 214, -1,
5442 -1, -1, 218, 219, -1, 221, 222, 223, 224, -1,
5443 -1, -1, -1, -1, -1, -1, -1, 233, -1, -1,
5444 236, -1, 238, 239, 240, 241, -1, -1, -1, -1,
5445 -1, 247, -1, -1, -1, -1, 252, -1, -1, -1,
5446 -1, -1, 258, -1, -1, -1, 262, 263, 264, 265,
5447 266, 267, 268, -1, 270, 271, -1, -1, -1, 275,
5448 276, 277, 278, -1, -1, 281, -1, 283, 284, 285,
5449 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5450 296, 297, -1, -1, 300, -1, -1, 303, 304, 305,
5451 -1, -1, 308, -1, 310, 311, -1, -1, 314, -1,
5452 -1, 317, -1, 319, 320, -1, 322, -1, -1, 325,
5453 -1, -1, 328, 329, -1, 331, 332, -1, -1, -1,
5454 336, -1, -1, -1, -1, 341, -1, -1, -1, -1,
5455 -1, -1, 348, -1, 350, -1, -1, 353, -1, -1,
5456 -1, -1, 358, 359, -1, -1, 4, 5, 364, 7,
5457 8, -1, 368, -1, -1, 13, -1, -1, -1, 17,
5458 18, 19, -1, 21, -1, -1, -1, -1, 26, -1,
5459 28, 29, -1, 31, -1, 391, 392, 35, -1, -1,
5460 -1, 39, -1, -1, -1, 43, -1, 45, 46, -1,
5461 48, 49, -1, 51, 52, 53, 54, 55, 56, -1,
5462 58, 59, 60, 61, -1, -1, -1, -1, 66, -1,
5463 -1, -1, -1, -1, 72, 73, 74, -1, -1, 77,
5464 -1, -1, -1, -1, 82, 83, -1, -1, -1, -1,
5465 -1, -1, -1, -1, -1, 93, 94, -1, -1, -1,
5466 98, -1, 100, 101, 102, -1, -1, 105, -1, 107,
5467 108, -1, 110, 111, -1, 113, -1, 115, 116, -1,
5468 -1, 119, -1, -1, 122, 123, 124, -1, 126, -1,
5469 -1, -1, 130, 131, -1, 133, -1, 135, -1, -1,
5470 138, -1, -1, -1, -1, -1, 144, 145, 146, -1,
5471 148, -1, -1, 151, 152, 153, -1, -1, -1, -1,
5472 -1, -1, -1, -1, -1, -1, -1, 165, -1, 167,
5473 -1, -1, 170, 171, -1, 173, -1, -1, -1, 177,
5474 -1, 179, -1, -1, -1, 183, 184, -1, 186, -1,
5475 -1, -1, -1, 191, 192, 193, 194, -1, -1, 197,
5476 -1, 199, -1, 201, -1, 203, 204, 205, 206, -1,
5477 -1, 209, 210, 211, -1, -1, 214, -1, -1, -1,
5478 218, 219, -1, 221, 222, 223, 224, -1, -1, -1,
5479 -1, -1, -1, -1, -1, 233, -1, -1, 236, -1,
5480 238, 239, 240, 241, -1, -1, -1, -1, -1, 247,
5481 -1, -1, -1, -1, 252, -1, -1, -1, -1, -1,
5482 258, -1, -1, -1, 262, 263, 264, 265, 266, 267,
5483 268, -1, 270, 271, 272, -1, -1, 275, 276, 277,
5484 278, -1, -1, 281, -1, 283, 284, 285, -1, -1,
5485 -1, -1, -1, -1, -1, -1, -1, -1, 296, 297,
5486 -1, -1, 300, -1, -1, 303, 304, 305, -1, -1,
5487 308, -1, 310, 311, -1, -1, 314, -1, -1, 317,
5488 -1, 319, 320, -1, 322, -1, -1, 325, -1, -1,
5489 328, 329, -1, 331, 332, -1, -1, -1, 336, -1,
5490 -1, -1, -1, 341, -1, -1, -1, -1, -1, -1,
5491 348, -1, 350, -1, -1, 353, -1, -1, -1, -1,
5492 358, 359, -1, -1, 4, 5, 364, 7, 8, -1,
5493 368, -1, -1, 13, -1, -1, -1, 17, 18, 19,
5494 -1, 21, -1, -1, -1, -1, 26, -1, 28, 29,
5495 -1, 31, -1, 391, -1, 35, -1, -1, -1, 39,
5496 -1, -1, -1, 43, -1, 45, 46, -1, 48, 49,
5497 -1, 51, 52, 53, 54, 55, 56, -1, 58, 59,
5498 60, 61, -1, -1, -1, -1, 66, -1, -1, -1,
5499 -1, -1, 72, 73, 74, -1, -1, 77, -1, -1,
5500 -1, -1, 82, 83, -1, -1, -1, -1, -1, -1,
5501 -1, -1, -1, 93, 94, -1, -1, -1, 98, -1,
5502 100, 101, 102, -1, -1, 105, -1, 107, 108, -1,
5503 110, 111, -1, 113, -1, 115, 116, -1, -1, 119,
5504 -1, -1, 122, 123, 124, -1, 126, -1, -1, -1,
5505 130, 131, -1, 133, -1, 135, -1, -1, 138, -1,
5506 -1, -1, -1, -1, 144, 145, 146, -1, 148, -1,
5507 -1, 151, 152, 153, -1, -1, -1, -1, -1, -1,
5508 -1, -1, -1, -1, -1, 165, -1, 167, -1, -1,
5509 170, 171, -1, 173, -1, -1, -1, 177, -1, -1,
5510 -1, -1, -1, 183, 184, -1, 186, -1, -1, -1,
5511 -1, 191, 192, 193, 194, -1, -1, 197, -1, 199,
5512 -1, 201, -1, 203, 204, 205, 206, -1, -1, 209,
5513 210, 211, -1, -1, 214, -1, -1, -1, 218, 219,
5514 -1, 221, 222, 223, 224, -1, -1, -1, -1, -1,
5515 -1, -1, -1, 233, -1, -1, 236, -1, 238, 239,
5516 240, 241, -1, -1, -1, -1, -1, 247, -1, -1,
5517 -1, -1, 252, -1, -1, -1, -1, -1, 258, -1,
5518 -1, -1, 262, 263, 264, 265, 266, 267, 268, -1,
5519 270, 271, -1, -1, -1, 275, 276, 277, 278, -1,
5520 -1, 281, -1, 283, 284, 285, -1, -1, -1, -1,
5521 -1, -1, -1, -1, -1, -1, 296, 297, -1, -1,
5522 300, -1, -1, 303, 304, 305, -1, -1, 308, -1,
5523 310, 311, -1, -1, 314, -1, -1, 317, -1, 319,
5524 320, -1, 322, -1, -1, 325, -1, -1, 328, 329,
5525 -1, 331, 332, -1, -1, -1, 336, -1, -1, -1,
5526 -1, 341, -1, -1, -1, -1, -1, -1, 348, -1,
5527 350, -1, -1, 353, -1, -1, -1, -1, 358, 359,
5528 -1, -1, 4, 5, 364, 7, 8, -1, 368, -1,
5529 -1, 13, -1, -1, -1, 17, 18, 19, -1, 21,
5530 -1, -1, -1, -1, 26, -1, 28, 29, -1, 31,
5531 -1, 391, -1, 35, -1, -1, -1, 39, -1, -1,
5532 -1, 43, -1, 45, 46, -1, 48, 49, -1, 51,
5533 52, 53, 54, 55, 56, -1, 58, 59, -1, 61,
5534 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
5535 72, 73, 74, -1, -1, 77, -1, -1, -1, -1,
5536 82, 83, -1, -1, -1, -1, -1, -1, -1, -1,
5537 -1, 93, 94, -1, -1, -1, 98, -1, 100, 101,
5538 102, -1, -1, 105, -1, 107, 108, -1, 110, 111,
5539 -1, 113, -1, 115, 116, -1, -1, 119, -1, -1,
5540 122, 123, 124, -1, 126, -1, -1, -1, 130, 131,
5541 -1, 133, -1, 135, -1, -1, 138, -1, -1, -1,
5542 -1, -1, 144, 145, 146, -1, 148, -1, -1, 151,
5543 152, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5544 -1, -1, -1, 165, -1, 167, -1, -1, 170, -1,
5545 -1, 173, -1, -1, -1, 177, -1, -1, -1, -1,
5546 -1, 183, 184, -1, 186, -1, -1, -1, -1, 191,
5547 192, 193, 194, -1, -1, 197, -1, 199, -1, 201,
5548 -1, 203, 204, 205, 206, -1, -1, 209, 210, 211,
5549 -1, -1, 214, -1, -1, -1, 218, 219, -1, 221,
5550 222, 223, 224, -1, -1, -1, -1, -1, -1, -1,
5551 -1, 233, -1, -1, 236, -1, 238, 239, 240, 241,
5552 -1, -1, -1, -1, -1, 247, -1, -1, -1, -1,
5553 252, -1, -1, -1, -1, -1, 258, -1, -1, -1,
5554 262, 263, 264, 265, 266, 267, 268, -1, 270, 271,
5555 272, -1, -1, 275, 276, 277, 278, -1, -1, 281,
5556 -1, 283, 284, 285, -1, -1, -1, -1, -1, -1,
5557 -1, -1, -1, -1, 296, 297, -1, -1, 300, -1,
5558 -1, 303, 304, 305, -1, -1, 308, -1, 310, 311,
5559 -1, -1, 314, -1, -1, 317, -1, 319, 320, -1,
5560 322, -1, -1, 325, -1, -1, 328, 329, -1, 331,
5561 332, -1, -1, -1, 336, -1, -1, -1, -1, 341,
5562 -1, -1, -1, -1, -1, -1, 348, -1, 350, -1,
5563 -1, 353, -1, -1, -1, -1, 358, 359, -1, -1,
5564 -1, -1, 364, -1, -1, -1, 368, -1, -1, 4,
5565 5, -1, 7, 8, -1, -1, -1, -1, 13, -1,
5566 -1, -1, 17, 18, 19, 387, 21, -1, -1, 391,
5567 -1, 26, -1, 28, 29, -1, 31, -1, -1, -1,
5568 35, -1, -1, -1, 39, -1, -1, -1, 43, -1,
5569 45, 46, -1, 48, 49, -1, 51, 52, 53, 54,
5570 55, 56, -1, 58, 59, -1, 61, -1, -1, -1,
5571 -1, 66, -1, -1, -1, -1, -1, 72, 73, 74,
5572 -1, -1, 77, -1, -1, -1, -1, 82, 83, -1,
5573 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
5574 -1, -1, -1, 98, -1, 100, 101, 102, -1, -1,
5575 105, -1, 107, 108, -1, 110, 111, -1, 113, -1,
5576 115, 116, -1, -1, 119, -1, -1, 122, 123, 124,
5577 -1, 126, -1, -1, -1, 130, 131, -1, 133, -1,
5578 135, -1, -1, 138, -1, -1, -1, -1, -1, 144,
5579 145, 146, -1, 148, -1, -1, 151, 152, -1, -1,
5580 -1, -1, -1, -1, -1, 160, -1, -1, -1, -1,
5581 165, -1, 167, -1, -1, 170, -1, -1, 173, -1,
5582 -1, -1, 177, -1, -1, -1, -1, -1, 183, 184,
5583 -1, 186, -1, -1, -1, -1, 191, 192, 193, 194,
5584 -1, -1, 197, -1, 199, -1, 201, -1, 203, 204,
5585 205, 206, -1, -1, 209, 210, 211, -1, -1, 214,
5586 -1, -1, -1, 218, 219, -1, 221, 222, 223, 224,
5587 -1, -1, -1, -1, -1, -1, -1, -1, 233, -1,
5588 -1, 236, -1, 238, 239, 240, 241, -1, -1, -1,
5589 -1, -1, 247, -1, -1, -1, -1, 252, -1, -1,
5590 -1, -1, -1, 258, -1, -1, -1, 262, 263, 264,
5591 265, 266, 267, 268, -1, 270, 271, -1, -1, -1,
5592 275, 276, 277, 278, -1, -1, 281, -1, 283, 284,
5593 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5594 -1, 296, 297, -1, -1, 300, -1, -1, 303, 304,
5595 305, -1, -1, 308, -1, 310, 311, -1, -1, 314,
5596 -1, -1, 317, -1, 319, 320, -1, 322, -1, -1,
5597 325, -1, -1, 328, 329, -1, 331, 332, -1, -1,
5598 -1, 336, -1, -1, -1, -1, 341, -1, -1, -1,
5599 -1, -1, -1, 348, -1, 350, -1, -1, 353, -1,
5600 -1, -1, -1, 358, 359, -1, -1, 4, 5, 364,
5601 7, 8, -1, 368, -1, -1, 13, -1, -1, -1,
5602 17, 18, 19, -1, 21, -1, -1, -1, -1, 26,
5603 -1, 28, 29, -1, 31, -1, 391, -1, 35, -1,
5604 -1, -1, 39, -1, -1, -1, 43, -1, 45, 46,
5605 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
5606 -1, 58, 59, -1, 61, -1, -1, -1, -1, 66,
5607 -1, -1, -1, -1, -1, 72, 73, 74, -1, -1,
5608 77, -1, -1, -1, -1, 82, 83, -1, -1, -1,
5609 -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
5610 -1, 98, -1, 100, 101, 102, -1, -1, 105, -1,
5611 107, 108, -1, 110, 111, -1, 113, -1, 115, 116,
5612 -1, -1, 119, -1, -1, 122, 123, 124, -1, 126,
5613 -1, -1, -1, 130, 131, -1, 133, -1, 135, -1,
5614 -1, 138, -1, -1, -1, -1, -1, 144, 145, 146,
5615 -1, 148, -1, -1, 151, 152, -1, -1, -1, -1,
5616 -1, -1, -1, -1, -1, -1, -1, -1, 165, -1,
5617 167, -1, -1, 170, -1, -1, 173, -1, -1, -1,
5618 177, -1, -1, -1, -1, -1, 183, 184, -1, 186,
5619 -1, -1, -1, -1, 191, 192, 193, 194, -1, -1,
5620 197, -1, 199, -1, 201, -1, 203, 204, 205, 206,
5621 -1, -1, 209, 210, 211, -1, -1, 214, -1, -1,
5622 -1, 218, 219, -1, 221, 222, 223, 224, -1, -1,
5623 -1, -1, -1, -1, -1, -1, 233, -1, -1, 236,
5624 -1, 238, 239, 240, 241, -1, -1, -1, -1, -1,
5625 247, -1, -1, -1, -1, 252, -1, -1, -1, -1,
5626 -1, 258, -1, -1, -1, 262, 263, 264, 265, 266,
5627 267, 268, -1, 270, 271, -1, -1, -1, 275, 276,
5628 277, 278, -1, -1, 281, -1, 283, 284, 285, -1,
5629 -1, -1, -1, -1, -1, -1, -1, -1, -1, 296,
5630 297, -1, -1, 300, -1, -1, 303, 304, 305, -1,
5631 -1, 308, -1, 310, 311, -1, -1, 314, -1, -1,
5632 317, -1, 319, 320, -1, 322, -1, -1, 325, -1,
5633 -1, 328, 329, -1, 331, 332, -1, -1, -1, 336,
5634 -1, -1, -1, -1, 341, -1, -1, -1, -1, -1,
5635 -1, 348, -1, 350, -1, -1, 353, -1, -1, -1,
5636 -1, 358, 359, -1, -1, -1, -1, 364, -1, -1,
5637 -1, 368, -1, 4, 5, -1, 7, 8, -1, -1,
5638 -1, -1, 13, -1, -1, -1, 17, 18, 19, 386,
5639 21, -1, -1, -1, 391, 26, -1, 28, 29, -1,
5640 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
5641 -1, -1, 43, -1, 45, 46, -1, 48, 49, -1,
5642 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
5643 61, -1, -1, -1, -1, 66, -1, -1, -1, -1,
5644 -1, 72, 73, 74, -1, -1, 77, -1, -1, -1,
5645 -1, 82, 83, -1, -1, -1, -1, -1, -1, -1,
5646 -1, -1, 93, 94, -1, -1, -1, 98, -1, 100,
5647 101, 102, -1, -1, 105, -1, 107, 108, -1, 110,
5648 111, -1, 113, -1, 115, 116, -1, -1, 119, -1,
5649 -1, 122, 123, 124, -1, 126, -1, -1, -1, 130,
5650 131, -1, 133, -1, 135, -1, -1, 138, -1, -1,
5651 -1, -1, -1, 144, 145, 146, -1, 148, -1, -1,
5652 151, 152, -1, -1, -1, -1, -1, -1, -1, -1,
5653 -1, -1, -1, -1, 165, -1, 167, -1, -1, 170,
5654 -1, -1, 173, -1, -1, -1, 177, -1, -1, -1,
5655 -1, -1, 183, 184, -1, 186, -1, -1, -1, -1,
5656 191, 192, 193, 194, -1, -1, 197, -1, 199, -1,
5657 201, -1, 203, 204, 205, 206, -1, -1, 209, 210,
5658 211, -1, -1, 214, -1, -1, -1, 218, 219, -1,
5659 221, 222, 223, 224, -1, -1, -1, -1, -1, -1,
5660 -1, -1, 233, -1, -1, 236, -1, 238, 239, 240,
5661 241, -1, -1, -1, -1, -1, 247, -1, -1, -1,
5662 -1, 252, -1, -1, -1, -1, -1, 258, -1, -1,
5663 -1, 262, 263, 264, 265, 266, 267, 268, -1, 270,
5664 271, -1, -1, -1, 275, 276, 277, 278, -1, -1,
5665 281, -1, 283, 284, 285, -1, -1, -1, -1, -1,
5666 -1, -1, -1, -1, -1, 296, 297, -1, -1, 300,
5667 -1, -1, 303, 304, 305, -1, -1, 308, -1, 310,
5668 311, -1, -1, 314, -1, -1, 317, -1, 319, 320,
5669 -1, 322, -1, -1, 325, -1, -1, 328, 329, -1,
5670 331, 332, -1, -1, -1, 336, -1, -1, -1, -1,
5671 341, -1, -1, -1, -1, -1, -1, 348, -1, 350,
5672 -1, -1, 353, -1, -1, -1, -1, 358, 359, -1,
5673 -1, 4, 5, 364, 7, 8, -1, 368, -1, -1,
5674 13, -1, -1, -1, 17, 18, 19, -1, 21, -1,
5675 -1, -1, -1, 26, -1, 28, 29, -1, 31, -1,
5676 391, -1, 35, -1, -1, -1, 39, -1, -1, -1,
5677 43, -1, 45, 46, -1, 48, 49, -1, 51, 52,
5678 53, 54, 55, 56, -1, 58, 59, -1, 61, -1,
5679 -1, -1, -1, 66, -1, -1, -1, -1, -1, 72,
5680 73, 74, -1, -1, 77, -1, -1, -1, -1, 82,
5681 83, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5682 93, 94, -1, -1, -1, 98, -1, 100, 101, 102,
5683 -1, -1, 105, -1, 107, 108, -1, 110, 111, -1,
5684 113, -1, 115, 116, -1, -1, 119, -1, -1, 122,
5685 123, 124, -1, 126, -1, -1, -1, 130, 131, -1,
5686 133, -1, 135, -1, -1, 138, -1, -1, -1, -1,
5687 -1, 144, 145, 146, -1, 148, -1, -1, 151, 152,
5688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5689 -1, -1, 165, -1, 167, -1, -1, 170, -1, -1,
5690 173, -1, -1, -1, 177, -1, -1, -1, -1, -1,
5691 183, 184, -1, 186, -1, -1, -1, -1, 191, 192,
5692 193, 194, -1, -1, 197, -1, 199, -1, 201, -1,
5693 203, 204, 205, 206, -1, -1, 209, 210, 211, -1,
5694 -1, 214, -1, -1, -1, 218, 219, -1, 221, 222,
5695 223, 224, -1, -1, -1, -1, -1, -1, -1, -1,
5696 233, -1, -1, 236, -1, 238, 239, 240, 241, -1,
5697 -1, -1, -1, -1, 247, -1, -1, -1, -1, 252,
5698 -1, -1, -1, -1, -1, 258, -1, -1, -1, 262,
5699 263, 264, 265, 266, 267, 268, -1, 270, 271, -1,
5700 -1, -1, 275, 276, 277, 278, -1, -1, 281, -1,
5701 283, 284, 285, -1, -1, -1, -1, -1, -1, -1,
5702 -1, -1, -1, 296, 297, -1, -1, 300, -1, -1,
5703 303, 304, 305, -1, -1, 308, -1, 310, 311, -1,
5704 -1, 314, -1, -1, 317, -1, 319, 320, -1, 322,
5705 -1, -1, 325, -1, -1, 328, 329, -1, 331, 332,
5706 -1, -1, -1, 336, -1, -1, -1, -1, 341, -1,
5707 -1, -1, -1, -1, -1, 348, -1, 350, -1, -1,
5708 353, -1, -1, -1, -1, 358, 359, -1, -1, 4,
5709 5, 364, 7, 8, -1, 368, -1, -1, 13, -1,
5710 -1, -1, 17, 18, 19, -1, 21, -1, -1, -1,
5711 -1, 26, -1, 28, 29, -1, 31, -1, 391, -1,
5712 35, -1, -1, -1, 39, -1, -1, -1, 43, -1,
5713 45, 46, -1, 48, 49, -1, 51, 52, 53, 54,
5714 55, 56, -1, 58, 59, -1, 61, -1, -1, -1,
5715 -1, 66, -1, -1, -1, -1, -1, 72, 73, 74,
5716 -1, -1, 77, -1, -1, -1, -1, 82, 83, -1,
5717 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
5718 -1, -1, -1, 98, -1, 100, 101, 102, -1, -1,
5719 105, -1, 107, 108, -1, 110, 111, -1, 113, -1,
5720 115, 116, -1, -1, 119, -1, -1, 122, 123, 124,
5721 -1, 126, -1, -1, -1, 130, 131, -1, 133, -1,
5722 135, -1, -1, 138, -1, -1, -1, -1, -1, 144,
5723 145, 146, -1, 148, -1, -1, 151, 152, -1, -1,
5724 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5725 165, -1, 167, -1, -1, 170, -1, -1, 173, -1,
5726 -1, -1, 177, -1, -1, -1, -1, -1, 183, 184,
5727 -1, 186, -1, -1, -1, -1, 191, 192, 193, 194,
5728 -1, -1, 197, -1, 199, -1, 201, -1, 203, 204,
5729 205, 206, -1, -1, 209, 210, 211, -1, -1, 214,
5730 -1, -1, -1, 218, 219, -1, 221, 222, 223, 224,
5731 -1, -1, -1, -1, -1, -1, -1, -1, 233, -1,
5732 -1, 236, -1, 238, 239, 240, 241, -1, -1, -1,
5733 -1, -1, 247, -1, -1, -1, -1, 252, -1, -1,
5734 -1, -1, -1, 258, -1, -1, -1, 262, 263, 264,
5735 265, 266, 267, 268, -1, 270, 271, -1, -1, -1,
5736 275, 276, 277, 278, -1, -1, 281, -1, 283, 284,
5737 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5738 -1, 296, 297, -1, -1, 300, -1, -1, 303, 304,
5739 305, -1, -1, 308, -1, 310, 311, -1, -1, 314,
5740 -1, -1, 317, -1, 319, 320, -1, 322, -1, -1,
5741 325, -1, -1, 328, 329, -1, 331, 332, -1, -1,
5742 -1, 336, -1, -1, -1, -1, 341, -1, -1, -1,
5743 -1, -1, -1, 348, -1, 350, -1, -1, 353, -1,
5744 -1, -1, -1, 358, 359, -1, -1, 4, 5, 364,
5745 7, 8, -1, 368, -1, -1, 13, -1, -1, -1,
5746 17, 18, 19, -1, 21, -1, -1, -1, -1, 26,
5747 -1, 28, 29, -1, 31, -1, 391, -1, 35, -1,
5748 -1, -1, 39, -1, -1, -1, 43, -1, 45, 46,
5749 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
5750 -1, 58, 59, -1, 61, -1, -1, -1, -1, 66,
5751 -1, -1, -1, -1, -1, 72, 73, 74, -1, -1,
5752 77, -1, -1, -1, -1, 82, 83, -1, -1, -1,
5753 -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
5754 -1, 98, -1, 100, 101, 102, -1, -1, 105, -1,
5755 107, 108, -1, 110, 111, -1, 113, -1, 115, 116,
5756 -1, -1, 119, -1, -1, 122, 123, 124, -1, 126,
5757 -1, -1, -1, 130, 131, -1, 133, -1, 135, -1,
5758 -1, 138, -1, -1, -1, -1, -1, 144, 145, 146,
5759 -1, 148, -1, -1, 151, 152, -1, -1, -1, -1,
5760 -1, -1, -1, -1, -1, -1, -1, -1, 165, -1,
5761 167, -1, -1, 170, -1, -1, 173, -1, -1, -1,
5762 177, -1, -1, -1, -1, -1, 183, 184, -1, 186,
5763 -1, -1, -1, -1, 191, 192, 193, 194, -1, -1,
5764 197, -1, 199, -1, 201, -1, 203, 204, 205, 206,
5765 -1, -1, 209, 210, 211, -1, -1, 214, -1, -1,
5766 -1, 218, 219, -1, 221, 222, 223, 224, -1, -1,
5767 -1, -1, -1, -1, -1, -1, 233, -1, -1, 236,
5768 -1, 238, 239, 240, 241, -1, -1, -1, -1, -1,
5769 247, -1, -1, -1, -1, 252, -1, -1, -1, -1,
5770 -1, 258, -1, -1, -1, 262, 263, 264, 265, 266,
5771 267, 268, -1, 270, 271, -1, -1, -1, 275, 276,
5772 277, 278, -1, -1, 281, -1, 283, 284, 285, -1,
5773 -1, -1, -1, -1, -1, -1, -1, -1, -1, 296,
5774 297, -1, -1, 300, -1, -1, 303, 304, 305, -1,
5775 -1, 308, -1, 310, 311, -1, -1, 314, -1, -1,
5776 317, -1, 319, 320, -1, 322, -1, -1, 325, -1,
5777 -1, 328, 329, -1, 331, 332, -1, -1, -1, 336,
5778 -1, -1, -1, -1, 341, -1, -1, -1, -1, -1,
5779 -1, 348, -1, 350, -1, -1, 353, -1, -1, -1,
5780 -1, 358, 359, -1, -1, 4, 5, 364, 7, 8,
5781 -1, 368, -1, -1, 13, -1, -1, -1, 17, 18,
5782 19, -1, 21, -1, -1, -1, -1, 26, -1, 28,
5783 29, -1, 31, -1, 391, -1, 35, -1, -1, -1,
5784 39, -1, -1, -1, 43, -1, 45, 46, -1, 48,
5785 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
5786 59, -1, 61, -1, -1, -1, -1, 66, -1, -1,
5787 -1, -1, -1, 72, 73, 74, -1, -1, 77, -1,
5788 -1, -1, -1, 82, 83, -1, -1, -1, -1, -1,
5789 -1, -1, -1, -1, 93, 94, -1, -1, -1, 98,
5790 -1, 100, 101, 102, -1, -1, 105, -1, 107, 108,
5791 -1, 110, 111, -1, 113, -1, 115, 116, -1, -1,
5792 119, -1, -1, 122, 123, 124, -1, 126, -1, -1,
5793 -1, 130, 131, -1, 133, -1, 135, -1, -1, 138,
5794 -1, -1, -1, -1, -1, 144, 145, 146, -1, 148,
5795 -1, -1, 151, 152, -1, -1, -1, -1, -1, -1,
5796 -1, -1, -1, -1, -1, -1, 165, -1, 167, -1,
5797 -1, 170, -1, -1, 173, -1, -1, -1, 177, -1,
5798 -1, -1, -1, -1, 183, 184, -1, 186, -1, -1,
5799 -1, -1, 191, 192, 193, 194, -1, -1, 197, -1,
5800 199, -1, 201, -1, 203, 204, 205, 206, -1, -1,
5801 209, 210, 211, -1, -1, 214, -1, -1, -1, 218,
5802 219, -1, 221, 222, 223, 224, -1, -1, -1, -1,
5803 -1, -1, -1, -1, 233, -1, -1, 236, -1, 238,
5804 239, 240, 241, -1, -1, -1, -1, -1, 247, -1,
5805 -1, -1, -1, 252, -1, -1, -1, -1, -1, 258,
5806 -1, -1, -1, 262, 263, 264, 265, 266, 267, 268,
5807 -1, 270, 271, -1, -1, -1, 275, 276, 277, 278,
5808 -1, -1, 281, -1, 283, 284, 285, -1, -1, -1,
5809 -1, -1, -1, -1, -1, -1, -1, 296, 297, -1,
5810 -1, 300, -1, -1, 303, 304, 305, -1, -1, 308,
5811 -1, 310, 311, -1, -1, 314, -1, -1, 317, -1,
5812 319, 320, -1, 322, -1, -1, 325, -1, -1, 328,
5813 329, -1, 331, 332, -1, -1, -1, 336, -1, -1,
5814 -1, -1, 341, -1, -1, -1, -1, -1, -1, 348,
5815 -1, 350, -1, -1, 353, -1, -1, -1, -1, 358,
5816 359, -1, -1, 4, 5, 364, 7, 8, -1, 368,
5817 -1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
5818 21, 380, -1, -1, -1, 26, -1, 28, 29, -1,
5819 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
5820 -1, -1, 43, -1, 45, 46, -1, 48, 49, -1,
5821 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
5822 61, -1, -1, -1, -1, 66, -1, -1, -1, -1,
5823 -1, 72, 73, 74, -1, -1, 77, -1, -1, -1,
5824 -1, 82, 83, -1, -1, -1, -1, -1, -1, -1,
5825 -1, -1, 93, 94, -1, -1, -1, 98, -1, 100,
5826 101, 102, -1, -1, 105, -1, 107, 108, -1, 110,
5827 111, -1, 113, -1, 115, 116, -1, -1, 119, -1,
5828 -1, 122, 123, 124, -1, 126, -1, -1, -1, 130,
5829 131, -1, 133, -1, 135, -1, -1, 138, -1, -1,
5830 -1, -1, -1, 144, 145, 146, -1, 148, -1, -1,
5831 151, 152, -1, -1, -1, -1, -1, -1, -1, -1,
5832 -1, -1, -1, -1, 165, -1, 167, -1, -1, 170,
5833 -1, -1, 173, -1, -1, -1, 177, -1, -1, -1,
5834 -1, -1, 183, 184, -1, 186, -1, -1, -1, -1,
5835 191, 192, 193, 194, -1, -1, 197, -1, 199, -1,
5836 201, -1, 203, 204, 205, 206, -1, -1, 209, 210,
5837 211, -1, -1, 214, -1, -1, -1, 218, 219, -1,
5838 221, 222, 223, 224, -1, -1, -1, -1, -1, -1,
5839 -1, -1, 233, -1, -1, 236, -1, 238, 239, 240,
5840 241, -1, -1, -1, -1, -1, 247, -1, -1, -1,
5841 -1, 252, -1, -1, -1, -1, -1, 258, -1, -1,
5842 -1, 262, 263, 264, 265, 266, 267, 268, -1, 270,
5843 271, -1, -1, -1, 275, 276, 277, 278, -1, -1,
5844 281, -1, 283, 284, 285, -1, -1, -1, -1, -1,
5845 -1, -1, -1, -1, -1, 296, 297, -1, -1, 300,
5846 -1, -1, 303, 304, 305, -1, -1, 308, -1, 310,
5847 311, -1, -1, 314, -1, -1, 317, -1, 319, 320,
5848 -1, 322, -1, -1, 325, -1, -1, 328, 329, -1,
5849 331, 332, -1, -1, -1, 336, -1, -1, -1, -1,
5850 341, -1, -1, -1, -1, -1, -1, 348, -1, 350,
5851 -1, -1, 353, -1, -1, -1, -1, 358, 359, -1,
5852 -1, 4, 5, 364, 7, 8, -1, 368, -1, -1,
5853 13, -1, -1, -1, 17, 18, 19, -1, 21, 380,
5854 -1, -1, 25, 26, -1, 28, 29, -1, 31, -1,
5855 -1, -1, 35, -1, -1, -1, 39, -1, -1, -1,
5856 43, -1, 45, 46, -1, 48, 49, -1, 51, 52,
5857 53, 54, 55, 56, -1, 58, 59, -1, 61, -1,
5858 -1, -1, -1, 66, -1, -1, -1, -1, -1, 72,
5859 73, 74, -1, -1, 77, -1, -1, -1, -1, 82,
5860 83, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5861 93, 94, -1, -1, -1, 98, -1, 100, 101, 102,
5862 -1, -1, 105, -1, 107, 108, -1, 110, 111, -1,
5863 113, -1, 115, 116, -1, -1, 119, -1, -1, 122,
5864 123, 124, -1, 126, -1, -1, -1, 130, 131, -1,
5865 133, -1, 135, -1, -1, 138, -1, 140, -1, -1,
5866 -1, 144, 145, 146, -1, 148, -1, -1, 151, 152,
5867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5868 -1, -1, 165, -1, 167, -1, -1, 170, -1, -1,
5869 173, -1, -1, -1, 177, -1, -1, -1, -1, -1,
5870 183, 184, -1, 186, -1, -1, -1, -1, 191, 192,
5871 193, 194, -1, -1, 197, -1, 199, -1, 201, -1,
5872 203, 204, 205, 206, -1, -1, 209, 210, 211, -1,
5873 -1, 214, -1, -1, -1, 218, 219, -1, 221, 222,
5874 223, 224, -1, -1, -1, -1, -1, -1, -1, -1,
5875 233, -1, -1, 236, -1, 238, 239, 240, 241, -1,
5876 -1, -1, -1, -1, 247, -1, -1, -1, -1, 252,
5877 -1, -1, -1, -1, -1, 258, -1, -1, -1, 262,
5878 263, 264, 265, 266, 267, 268, -1, 270, 271, -1,
5879 -1, -1, 275, 276, 277, 278, -1, -1, 281, -1,
5880 283, 284, 285, -1, -1, -1, -1, -1, -1, -1,
5881 -1, -1, -1, 296, 297, -1, -1, 300, -1, -1,
5882 303, 304, 305, -1, -1, 308, -1, 310, 311, -1,
5883 -1, 314, -1, 316, 317, -1, 319, 320, -1, 322,
5884 -1, -1, 325, -1, -1, 328, 329, -1, 331, 332,
5885 -1, -1, -1, 336, -1, -1, -1, -1, 341, -1,
5886 -1, -1, -1, -1, -1, 348, -1, 350, -1, -1,
5887 353, -1, -1, -1, -1, 358, 359, -1, -1, 4,
5888 5, 364, 7, 8, -1, 368, -1, -1, 13, 14,
5889 -1, -1, 17, 18, 19, -1, 21, -1, -1, -1,
5890 -1, 26, -1, 28, 29, -1, 31, -1, -1, -1,
5891 35, -1, -1, -1, 39, -1, -1, -1, 43, -1,
5892 45, 46, -1, 48, 49, -1, 51, 52, 53, 54,
5893 55, 56, -1, 58, 59, -1, 61, -1, -1, -1,
5894 -1, 66, -1, -1, -1, -1, -1, 72, 73, 74,
5895 -1, -1, 77, -1, -1, -1, -1, 82, 83, -1,
5896 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
5897 -1, -1, -1, 98, -1, 100, 101, 102, -1, -1,
5898 105, -1, 107, 108, -1, 110, 111, -1, 113, -1,
5899 115, 116, -1, -1, 119, -1, -1, 122, 123, 124,
5900 -1, 126, -1, -1, -1, 130, 131, -1, 133, -1,
5901 135, -1, -1, 138, -1, -1, -1, -1, -1, 144,
5902 145, 146, -1, 148, -1, -1, 151, 152, -1, -1,
5903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5904 165, -1, 167, -1, -1, 170, -1, -1, 173, -1,
5905 -1, -1, 177, -1, -1, -1, -1, -1, 183, 184,
5906 -1, 186, -1, -1, -1, -1, 191, 192, 193, 194,
5907 -1, -1, 197, -1, 199, -1, 201, -1, 203, 204,
5908 205, 206, -1, -1, 209, 210, 211, -1, -1, 214,
5909 -1, -1, -1, 218, 219, -1, 221, 222, 223, 224,
5910 -1, -1, -1, -1, -1, -1, -1, -1, 233, -1,
5911 -1, 236, -1, 238, 239, 240, 241, -1, -1, -1,
5912 -1, -1, 247, -1, -1, -1, -1, 252, -1, -1,
5913 -1, -1, -1, 258, -1, -1, -1, 262, 263, 264,
5914 265, 266, 267, 268, -1, 270, 271, -1, -1, -1,
5915 275, 276, 277, 278, -1, -1, 281, -1, 283, 284,
5916 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5917 -1, 296, 297, -1, -1, 300, -1, -1, 303, 304,
5918 305, -1, -1, 308, -1, 310, 311, -1, -1, 314,
5919 -1, 316, 317, -1, 319, 320, -1, 322, -1, -1,
5920 325, -1, -1, 328, 329, -1, 331, 332, -1, -1,
5921 -1, 336, -1, -1, -1, -1, 341, -1, -1, -1,
5922 -1, -1, -1, 348, -1, 350, -1, -1, 353, -1,
5923 -1, -1, -1, 358, 359, -1, -1, 4, 5, 364,
5924 7, 8, -1, 368, -1, -1, 13, -1, -1, -1,
5925 17, 18, 19, -1, 21, -1, -1, -1, -1, 26,
5926 -1, 28, 29, -1, 31, -1, -1, -1, 35, -1,
5927 -1, -1, 39, -1, -1, -1, 43, -1, 45, 46,
5928 -1, 48, 49, -1, 51, 52, 53, 54, 55, 56,
5929 -1, 58, 59, -1, 61, -1, -1, -1, -1, 66,
5930 -1, -1, -1, -1, -1, 72, 73, 74, -1, -1,
5931 77, -1, -1, -1, -1, 82, 83, -1, -1, -1,
5932 -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
5933 -1, 98, -1, 100, 101, 102, -1, -1, 105, -1,
5934 107, 108, -1, 110, 111, -1, 113, -1, 115, 116,
5935 -1, -1, 119, -1, -1, 122, 123, 124, -1, 126,
5936 -1, -1, -1, 130, 131, -1, 133, -1, 135, -1,
5937 -1, 138, -1, -1, -1, -1, -1, 144, 145, 146,
5938 -1, 148, -1, -1, 151, 152, -1, -1, -1, -1,
5939 -1, -1, -1, -1, -1, -1, -1, -1, 165, -1,
5940 167, -1, -1, 170, -1, -1, 173, -1, -1, -1,
5941 177, -1, -1, -1, -1, -1, 183, 184, -1, 186,
5942 -1, -1, -1, -1, 191, 192, 193, 194, -1, -1,
5943 197, -1, 199, -1, 201, -1, 203, 204, 205, 206,
5944 -1, -1, 209, 210, 211, -1, -1, 214, -1, -1,
5945 -1, 218, 219, -1, 221, 222, 223, 224, -1, -1,
5946 -1, -1, -1, -1, -1, -1, 233, -1, -1, 236,
5947 -1, 238, 239, 240, 241, -1, -1, -1, -1, -1,
5948 247, -1, -1, -1, -1, 252, -1, -1, -1, -1,
5949 -1, 258, -1, -1, -1, 262, 263, 264, 265, 266,
5950 267, 268, -1, 270, 271, -1, -1, -1, 275, 276,
5951 277, 278, -1, -1, 281, -1, 283, 284, 285, -1,
5952 -1, -1, -1, -1, -1, -1, -1, -1, -1, 296,
5953 297, -1, -1, 300, -1, -1, 303, 304, 305, -1,
5954 -1, 308, -1, 310, 311, -1, -1, 314, -1, 316,
5955 317, -1, 319, 320, -1, 322, -1, -1, 325, -1,
5956 -1, 328, 329, -1, 331, 332, -1, -1, -1, 336,
5957 -1, -1, -1, -1, 341, -1, -1, -1, -1, -1,
5958 -1, 348, -1, 350, -1, -1, 353, -1, -1, -1,
5959 -1, 358, 359, -1, -1, 4, 5, 364, 7, 8,
5960 -1, 368, -1, -1, 13, -1, -1, -1, 17, 18,
5961 19, -1, 21, -1, -1, -1, -1, 26, -1, 28,
5962 29, -1, 31, -1, -1, -1, 35, -1, -1, -1,
5963 39, -1, -1, -1, 43, -1, 45, 46, -1, 48,
5964 49, -1, 51, 52, 53, 54, 55, 56, -1, 58,
5965 59, -1, 61, -1, -1, -1, -1, 66, -1, -1,
5966 -1, -1, -1, 72, 73, 74, -1, -1, 77, -1,
5967 -1, -1, -1, 82, 83, -1, -1, -1, -1, -1,
5968 -1, -1, -1, -1, 93, 94, -1, -1, -1, 98,
5969 -1, 100, 101, 102, -1, -1, 105, -1, 107, 108,
5970 -1, 110, 111, -1, 113, -1, 115, 116, -1, -1,
5971 119, -1, -1, 122, 123, 124, -1, 126, -1, -1,
5972 -1, 130, 131, -1, 133, -1, 135, -1, -1, 138,
5973 -1, -1, -1, -1, -1, 144, 145, 146, -1, 148,
5974 -1, -1, 151, 152, -1, -1, -1, -1, -1, -1,
5975 -1, -1, -1, -1, -1, -1, 165, -1, 167, -1,
5976 -1, 170, -1, -1, 173, -1, -1, -1, 177, -1,
5977 -1, -1, -1, -1, 183, 184, -1, 186, -1, -1,
5978 -1, -1, 191, 192, 193, 194, -1, -1, 197, -1,
5979 199, -1, 201, -1, 203, 204, 205, 206, -1, -1,
5980 209, 210, 211, -1, -1, 214, -1, -1, -1, 218,
5981 219, -1, 221, 222, 223, 224, -1, -1, -1, -1,
5982 -1, -1, -1, -1, 233, -1, -1, 236, 237, 238,
5983 239, 240, 241, -1, -1, -1, -1, -1, 247, -1,
5984 -1, -1, -1, 252, -1, -1, -1, -1, -1, 258,
5985 -1, -1, -1, 262, 263, 264, 265, 266, 267, 268,
5986 -1, 270, 271, -1, -1, -1, 275, 276, 277, 278,
5987 -1, -1, 281, -1, 283, 284, 285, -1, -1, -1,
5988 -1, -1, -1, -1, -1, -1, -1, 296, 297, -1,
5989 -1, 300, -1, -1, 303, 304, 305, -1, -1, 308,
5990 -1, 310, 311, -1, -1, 314, -1, -1, 317, -1,
5991 319, 320, -1, 322, -1, -1, 325, -1, -1, 328,
5992 329, -1, 331, 332, -1, -1, -1, 336, -1, -1,
5993 -1, -1, 341, -1, -1, -1, -1, -1, -1, 348,
5994 -1, 350, -1, -1, 353, -1, -1, -1, -1, 358,
5995 359, -1, -1, 4, 5, 364, 7, 8, -1, 368,
5996 -1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
5997 21, -1, -1, -1, -1, 26, -1, 28, 29, -1,
5998 31, -1, -1, -1, 35, -1, -1, -1, 39, -1,
5999 -1, -1, 43, -1, 45, 46, -1, 48, 49, -1,
6000 51, 52, 53, 54, 55, 56, -1, 58, 59, -1,
6001 61, -1, -1, -1, -1, 66, -1, -1, -1, -1,
6002 -1, 72, 73, 74, -1, -1, 77, -1, -1, -1,
6003 -1, 82, 83, -1, -1, -1, -1, -1, -1, -1,
6004 -1, -1, 93, 94, -1, -1, -1, 98, -1, 100,
6005 101, 102, -1, -1, 105, -1, 107, 108, -1, 110,
6006 111, -1, 113, -1, 115, 116, -1, -1, 119, -1,
6007 -1, 122, 123, 124, -1, 126, -1, -1, -1, 130,
6008 131, -1, 133, -1, 135, -1, -1, 138, -1, -1,
6009 -1, -1, -1, 144, 145, 146, -1, 148, -1, -1,
6010 151, 152, -1, -1, -1, -1, -1, -1, -1, -1,
6011 -1, -1, -1, -1, 165, -1, 167, -1, -1, 170,
6012 -1, -1, 173, -1, -1, -1, 177, -1, -1, -1,
6013 -1, -1, 183, 184, -1, 186, -1, -1, -1, -1,
6014 191, 192, 193, 194, -1, -1, 197, -1, 199, -1,
6015 201, -1, 203, 204, 205, 206, -1, -1, 209, 210,
6016 211, -1, -1, 214, -1, -1, -1, 218, 219, -1,
6017 221, 222, 223, 224, -1, -1, -1, -1, -1, -1,
6018 -1, -1, 233, -1, -1, 236, -1, 238, 239, 240,
6019 241, -1, -1, -1, -1, -1, 247, -1, -1, -1,
6020 -1, 252, -1, -1, -1, -1, -1, 258, -1, -1,
6021 -1, 262, 263, 264, 265, 266, 267, 268, -1, 270,
6022 271, -1, -1, -1, 275, 276, 277, 278, -1, -1,
6023 281, -1, 283, 284, 285, -1, -1, -1, -1, -1,
6024 -1, -1, -1, -1, -1, 296, 297, -1, -1, 300,
6025 -1, -1, 303, 304, 305, -1, -1, 308, -1, 310,
6026 311, -1, -1, 314, -1, -1, 317, -1, 319, 320,
6027 -1, 322, -1, -1, 325, -1, -1, 328, 329, -1,
6028 331, 332, -1, -1, -1, 336, -1, -1, -1, -1,
6029 341, -1, -1, -1, -1, -1, -1, 348, -1, 350,
6030 -1, -1, 353, -1, -1, -1, -1, 358, 359, -1,
6031 -1, -1, -1, 364, -1, -1, -1, 368
6036 static const yytype_uint16 yystos[] =
6038 0, 10, 11, 21, 44, 53, 64, 89, 90, 91,
6039 99, 109, 117, 126, 158, 172, 182, 250, 251, 254,
6040 262, 268, 272, 279, 282, 296, 328, 337, 339, 342,
6041 386, 394, 395, 396, 397, 493, 508, 510, 512, 514,
6042 518, 519, 655, 661, 666, 669, 692, 698, 701, 703,
6043 709, 712, 715, 721, 723, 724, 772, 791, 793, 799,
6044 800, 801, 802, 71, 218, 223, 497, 310, 313, 790,
6045 794, 790, 364, 795, 38, 71, 314, 414, 497, 150,
6046 700, 38, 71, 314, 497, 660, 145, 147, 148, 178,
6047 291, 316, 321, 392, 662, 762, 763, 769, 785, 786,
6048 716, 667, 58, 241, 722, 73, 729, 268, 790, 670,
6049 795, 762, 803, 522, 524, 525, 226, 774, 704, 325,
6050 313, 702, 792, 150, 505, 4, 5, 7, 8, 13,
6051 17, 18, 19, 21, 26, 28, 29, 31, 35, 39,
6052 43, 45, 46, 48, 49, 51, 52, 53, 54, 55,
6053 56, 58, 59, 61, 66, 72, 73, 74, 77, 82,
6054 83, 93, 94, 98, 100, 101, 102, 105, 107, 108,
6055 110, 111, 113, 115, 116, 119, 122, 123, 124, 126,
6056 130, 131, 133, 135, 138, 144, 146, 151, 152, 165,
6057 167, 170, 173, 177, 183, 184, 186, 191, 192, 193,
6058 194, 197, 199, 201, 203, 204, 205, 206, 209, 210,
6059 211, 214, 218, 219, 221, 222, 223, 224, 233, 236,
6060 238, 239, 240, 241, 247, 252, 258, 262, 263, 264,
6061 265, 266, 267, 268, 270, 271, 275, 276, 277, 278,
6062 281, 283, 284, 285, 296, 297, 300, 303, 304, 305,
6063 308, 310, 311, 314, 317, 319, 320, 322, 325, 328,
6064 329, 331, 332, 336, 341, 348, 350, 353, 358, 359,
6065 364, 368, 760, 762, 766, 770, 771, 272, 386, 520,
6066 0, 109, 119, 391, 713, 759, 760, 766, 760, 505,
6067 511, 795, 513, 12, 796, 761, 766, 149, 415, 313,
6068 399, 132, 761, 149, 659, 153, 790, 785, 362, 663,
6069 135, 186, 297, 310, 717, 718, 790, 505, 5, 19,
6070 24, 25, 36, 37, 38, 42, 46, 48, 62, 63,
6071 67, 68, 69, 71, 75, 76, 77, 82, 84, 87,
6072 117, 118, 120, 121, 125, 136, 140, 144, 149, 158,
6073 159, 167, 172, 176, 187, 190, 194, 197, 198, 202,
6074 203, 212, 213, 215, 216, 234, 240, 253, 254, 261,
6075 267, 270, 298, 299, 304, 306, 307, 309, 316, 319,
6076 320, 321, 326, 327, 328, 330, 341, 344, 345, 346,
6077 348, 349, 354, 356, 357, 368, 378, 379, 384, 386,
6078 388, 391, 392, 541, 542, 543, 544, 547, 548, 549,
6079 550, 551, 556, 560, 745, 748, 752, 756, 757, 762,
6080 764, 766, 725, 803, 515, 160, 658, 672, 673, 759,
6081 323, 796, 523, 9, 95, 290, 291, 292, 293, 302,
6082 529, 530, 531, 532, 533, 773, 49, 63, 64, 72,
6083 113, 135, 152, 153, 169, 183, 239, 278, 310, 313,
6084 314, 358, 479, 705, 762, 763, 768, 780, 362, 509,
6085 658, 790, 759, 524, 520, 387, 766, 711, 710, 391,
6086 495, 313, 657, 658, 657, 39, 214, 214, 250, 797,
6087 212, 760, 415, 335, 480, 759, 118, 760, 766, 659,
6088 214, 56, 664, 297, 362, 390, 719, 672, 386, 386,
6089 547, 541, 570, 386, 386, 386, 386, 386, 386, 386,
6090 386, 540, 540, 540, 386, 386, 386, 386, 745, 386,
6091 386, 386, 386, 386, 386, 386, 386, 386, 386, 541,
6092 386, 722, 386, 386, 386, 386, 386, 386, 386, 541,
6093 386, 540, 386, 386, 386, 386, 386, 386, 386, 386,
6094 386, 386, 386, 386, 386, 540, 386, 386, 386, 745,
6095 386, 386, 386, 540, 540, 540, 386, 386, 386, 386,
6096 386, 386, 547, 547, 547, 541, 815, 816, 766, 766,
6097 561, 12, 229, 366, 112, 134, 164, 174, 208, 370,
6098 371, 372, 545, 22, 96, 163, 179, 202, 212, 249,
6099 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6100 47, 373, 764, 386, 391, 56, 730, 516, 517, 759,
6101 673, 671, 268, 798, 797, 334, 804, 805, 380, 535,
6102 536, 537, 533, 775, 776, 777, 132, 163, 707, 386,
6103 71, 313, 179, 361, 708, 180, 639, 641, 706, 707,
6104 297, 310, 639, 707, 297, 297, 353, 59, 279, 387,
6105 805, 807, 808, 809, 518, 25, 140, 714, 746, 764,
6106 766, 766, 87, 425, 467, 759, 390, 39, 250, 118,
6107 400, 759, 153, 699, 220, 657, 259, 357, 665, 244,
6108 718, 657, 720, 668, 541, 9, 95, 566, 622, 360,
6109 572, 541, 387, 541, 569, 569, 541, 541, 95, 566,
6110 622, 387, 387, 541, 541, 541, 541, 756, 541, 815,
6111 78, 79, 80, 81, 82, 141, 142, 143, 144, 194,
6112 195, 196, 197, 203, 240, 269, 270, 359, 367, 368,
6113 617, 619, 95, 563, 541, 541, 541, 541, 617, 387,
6114 386, 541, 95, 566, 541, 541, 95, 566, 541, 541,
6115 541, 544, 541, 541, 541, 541, 541, 541, 566, 566,
6116 541, 541, 95, 566, 541, 131, 618, 619, 618, 541,
6117 30, 175, 324, 541, 541, 387, 387, 756, 566, 566,
6118 541, 541, 387, 390, 387, 272, 386, 812, 813, 541,
6119 391, 392, 562, 785, 541, 541, 541, 543, 121, 212,
6120 215, 327, 336, 9, 13, 543, 546, 544, 544, 386,
6121 547, 544, 22, 163, 179, 249, 544, 544, 544, 544,
6122 544, 159, 544, 159, 544, 544, 544, 544, 544, 762,
6123 763, 767, 547, 552, 766, 154, 390, 323, 272, 279,
6124 349, 350, 386, 408, 674, 677, 803, 9, 95, 811,
6125 390, 526, 541, 754, 766, 390, 135, 183, 221, 278,
6126 778, 779, 782, 783, 759, 380, 415, 759, 763, 541,
6127 187, 216, 330, 642, 643, 708, 766, 706, 708, 759,
6128 708, 708, 285, 694, 695, 756, 228, 635, 641, 810,
6129 47, 494, 658, 88, 255, 411, 412, 413, 425, 767,
6130 398, 766, 361, 623, 759, 185, 674, 390, 566, 387,
6131 567, 541, 104, 360, 571, 14, 387, 390, 387, 387,
6132 390, 557, 387, 380, 390, 390, 387, 387, 387, 387,
6133 387, 132, 559, 387, 390, 390, 390, 379, 541, 390,
6134 566, 387, 387, 387, 566, 387, 390, 387, 387, 163,
6135 387, 390, 390, 390, 390, 387, 387, 387, 390, 132,
6136 390, 566, 387, 387, 390, 390, 387, 132, 541, 132,
6137 541, 132, 541, 132, 387, 390, 387, 387, 387, 387,
6138 390, 387, 569, 591, 592, 593, 272, 386, 521, 334,
6139 817, 389, 766, 135, 183, 278, 781, 280, 121, 215,
6140 327, 336, 386, 12, 541, 815, 115, 627, 544, 386,
6141 547, 544, 541, 541, 537, 553, 554, 555, 391, 316,
6142 765, 517, 759, 409, 675, 386, 680, 685, 680, 387,
6143 408, 676, 753, 754, 756, 678, 806, 536, 132, 160,
6144 527, 528, 634, 635, 651, 538, 538, 391, 776, 325,
6145 786, 787, 392, 784, 706, 387, 766, 219, 390, 708,
6146 706, 390, 693, 280, 370, 683, 32, 639, 370, 684,
6147 6, 10, 18, 40, 51, 62, 88, 93, 94, 99,
6148 105, 110, 122, 127, 151, 201, 228, 251, 255, 266,
6149 417, 419, 420, 423, 424, 467, 496, 498, 499, 500,
6150 631, 767, 69, 763, 370, 390, 412, 390, 412, 370,
6151 179, 386, 401, 406, 416, 418, 419, 481, 482, 624,
6152 634, 656, 220, 690, 159, 541, 387, 541, 318, 541,
6153 541, 107, 24, 28, 42, 74, 77, 85, 161, 283,
6154 322, 338, 568, 541, 568, 569, 387, 159, 159, 665,
6155 541, 569, 541, 541, 541, 541, 387, 541, 387, 387,
6156 541, 541, 541, 541, 541, 569, 159, 541, 541, 541,
6157 387, 541, 541, 541, 132, 541, 132, 541, 132, 541,
6158 541, 541, 387, 529, 592, 521, 387, 811, 391, 391,
6159 391, 785, 541, 815, 543, 387, 390, 387, 547, 12,
6160 541, 815, 627, 617, 617, 541, 387, 390, 766, 726,
6161 529, 681, 682, 756, 686, 390, 386, 677, 387, 387,
6162 390, 804, 519, 272, 386, 388, 573, 574, 575, 576,
6163 577, 586, 587, 601, 652, 129, 185, 534, 651, 640,
6164 641, 528, 14, 539, 763, 766, 380, 766, 165, 683,
6165 392, 785, 708, 113, 358, 643, 643, 623, 695, 623,
6166 87, 541, 689, 636, 87, 465, 466, 767, 50, 60,
6167 153, 171, 432, 435, 436, 475, 477, 504, 504, 684,
6168 504, 684, 323, 69, 763, 169, 311, 128, 237, 477,
6169 504, 169, 370, 370, 311, 504, 32, 14, 323, 507,
6170 370, 370, 417, 41, 42, 47, 421, 390, 386, 391,
6171 431, 437, 758, 766, 370, 540, 121, 327, 412, 412,
6172 84, 125, 187, 216, 330, 646, 767, 759, 406, 407,
6173 408, 429, 430, 431, 432, 416, 14, 150, 254, 403,
6174 732, 390, 418, 343, 485, 220, 541, 180, 644, 101,
6175 541, 387, 541, 318, 386, 446, 446, 386, 444, 445,
6176 161, 161, 387, 387, 558, 541, 541, 387, 565, 635,
6177 390, 390, 387, 390, 387, 387, 387, 387, 390, 387,
6178 387, 541, 387, 129, 387, 387, 390, 390, 390, 387,
6179 541, 387, 541, 387, 541, 387, 387, 387, 535, 387,
6180 814, 391, 491, 387, 569, 543, 387, 390, 387, 538,
6181 555, 150, 254, 731, 535, 390, 683, 687, 688, 689,
6182 685, 679, 677, 753, 600, 766, 65, 155, 168, 176,
6183 207, 261, 302, 585, 623, 390, 759, 600, 100, 231,
6184 647, 648, 653, 339, 163, 763, 766, 391, 177, 9,
6185 24, 87, 220, 541, 789, 781, 683, 634, 541, 637,
6186 755, 490, 758, 44, 128, 237, 335, 434, 476, 433,
6187 434, 490, 758, 646, 758, 763, 466, 540, 171, 171,
6188 758, 758, 767, 763, 758, 632, 633, 756, 759, 121,
6189 327, 54, 55, 87, 102, 124, 247, 426, 427, 279,
6190 684, 684, 500, 429, 766, 7, 123, 506, 248, 433,
6191 469, 438, 391, 646, 768, 387, 387, 387, 390, 14,
6192 14, 386, 407, 418, 31, 138, 487, 759, 643, 691,
6193 617, 541, 216, 216, 387, 617, 617, 274, 564, 541,
6194 541, 569, 541, 617, 541, 541, 541, 541, 387, 387,
6195 387, 594, 812, 766, 387, 569, 539, 160, 410, 682,
6196 689, 387, 390, 807, 588, 595, 600, 573, 168, 168,
6197 230, 602, 168, 176, 261, 602, 586, 573, 137, 628,
6198 575, 14, 620, 621, 597, 598, 765, 765, 392, 649,
6199 650, 281, 380, 244, 252, 275, 788, 787, 541, 644,
6200 390, 15, 90, 638, 541, 171, 171, 477, 478, 490,
6201 482, 99, 279, 501, 490, 502, 390, 638, 466, 87,
6202 347, 422, 387, 766, 759, 23, 27, 28, 42, 74,
6203 77, 85, 97, 111, 124, 161, 167, 217, 246, 276,
6204 317, 321, 322, 348, 351, 352, 439, 441, 442, 443,
6205 766, 416, 402, 416, 430, 407, 404, 386, 171, 387,
6206 387, 387, 390, 387, 387, 746, 387, 387, 390, 387,
6207 387, 387, 387, 387, 387, 387, 428, 528, 640, 387,
6208 727, 428, 689, 334, 387, 634, 596, 389, 168, 586,
6209 602, 602, 168, 220, 220, 343, 32, 139, 625, 766,
6210 611, 612, 529, 654, 785, 390, 199, 52, 331, 244,
6211 683, 755, 490, 482, 386, 87, 87, 437, 439, 633,
6212 386, 470, 386, 448, 453, 454, 47, 87, 212, 215,
6213 237, 335, 355, 451, 452, 455, 456, 457, 468, 87,
6214 220, 451, 452, 461, 462, 463, 453, 444, 235, 386,
6215 445, 450, 440, 444, 448, 453, 444, 450, 455, 386,
6216 461, 453, 453, 386, 51, 464, 386, 18, 87, 276,
6217 451, 452, 458, 459, 460, 458, 391, 807, 403, 387,
6218 804, 488, 489, 766, 339, 216, 541, 534, 534, 313,
6219 811, 621, 640, 576, 573, 586, 168, 168, 573, 586,
6220 579, 578, 580, 629, 755, 626, 634, 609, 610, 535,
6221 49, 733, 650, 789, 638, 386, 386, 488, 77, 321,
6222 378, 379, 747, 748, 506, 464, 471, 766, 189, 472,
6223 216, 283, 338, 447, 87, 451, 452, 87, 451, 452,
6224 465, 747, 215, 171, 457, 171, 77, 213, 215, 321,
6225 745, 751, 752, 339, 463, 458, 450, 216, 386, 458,
6226 447, 458, 216, 216, 763, 216, 25, 140, 215, 378,
6227 379, 745, 749, 752, 87, 460, 766, 405, 387, 390,
6228 638, 386, 696, 697, 756, 387, 387, 759, 589, 220,
6229 582, 586, 586, 220, 584, 541, 541, 386, 363, 390,
6230 630, 638, 541, 640, 127, 150, 342, 604, 605, 608,
6231 599, 106, 114, 227, 315, 734, 735, 181, 736, 488,
6232 488, 387, 752, 752, 503, 387, 390, 133, 233, 284,
6233 220, 473, 387, 369, 449, 747, 121, 215, 327, 750,
6234 745, 540, 745, 213, 387, 492, 746, 449, 387, 387,
6235 387, 752, 752, 350, 807, 51, 170, 483, 484, 485,
6236 486, 489, 216, 390, 683, 728, 812, 581, 343, 583,
6237 343, 616, 766, 755, 477, 477, 605, 428, 32, 32,
6238 106, 32, 735, 295, 315, 737, 738, 387, 387, 483,
6239 506, 766, 89, 339, 540, 387, 390, 461, 453, 455,
6240 763, 684, 486, 638, 387, 697, 689, 733, 590, 541,
6241 386, 541, 386, 387, 390, 638, 129, 603, 603, 746,
6242 746, 32, 746, 32, 32, 738, 469, 483, 34, 214,
6243 257, 279, 474, 474, 455, 746, 84, 125, 140, 187,
6244 216, 330, 645, 736, 634, 616, 616, 766, 137, 168,
6245 228, 607, 606, 746, 746, 746, 4, 87, 215, 220,
6246 220, 150, 739, 640, 387, 387, 32, 32, 386, 386,
6247 339, 89, 216, 386, 741, 237, 613, 614, 615, 766,
6248 615, 474, 474, 181, 265, 740, 387, 392, 742, 743,
6249 756, 279, 744, 387, 390, 387, 785, 387, 390, 696,
6253 #define yyerrok (yyerrstatus = 0)
6254 #define yyclearin (yychar = YYEMPTY)
6255 #define YYEMPTY (-2)
6258 #define YYACCEPT goto yyacceptlab
6259 #define YYABORT goto yyabortlab
6260 #define YYERROR goto yyerrorlab
6270 #define YYFAIL goto yyerrlab
6278 #define YYRECOVERING() (!!yyerrstatus)
6280 #define YYBACKUP(Token, Value) \
6282 if (yychar == YYEMPTY && yylen == 1) \
6291 yyerror (session, YY_("syntax error: cannot back up")); \
6298 #define YYERRCODE 256
6305 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
6306 #ifndef YYLLOC_DEFAULT
6307 # define YYLLOC_DEFAULT(Current, Rhs, N) \
6311 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
6312 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
6313 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
6314 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
6318 (Current).first_line = (Current).last_line = \
6319 YYRHSLOC (Rhs, 0).last_line; \
6320 (Current).first_column = (Current).last_column = \
6321 YYRHSLOC (Rhs, 0).last_column; \
6329 #ifndef YY_LOCATION_PRINT
6330 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
6337 # define YYLEX yylex (&yylval, YYLEX_PARAM)
6339 # define YYLEX yylex (&yylval, session)
6347 # define YYFPRINTF fprintf
6350 # define YYDPRINTF(Args) \
6356 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
6360 YYFPRINTF (stderr, "%s ", Title); \
6361 yy_symbol_print (stderr, \
6362 Type, Value, session); \
6363 YYFPRINTF (stderr, "\n"); \
6373 #if (defined __STDC__ || defined __C99__FUNC__ \
6374 || defined __cplusplus || defined _MSC_VER)
6379 yy_symbol_value_print (yyoutput, yytype, yyvaluep, session)
6382 YYSTYPE const * const yyvaluep;
6390 if (yytype < YYNTOKENS)
6391 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
6407 #if (defined __STDC__ || defined __C99__FUNC__ \
6408 || defined __cplusplus || defined _MSC_VER)
6413 yy_symbol_print (yyoutput, yytype, yyvaluep, session)
6416 YYSTYPE const * const yyvaluep;
6420 if (yytype < YYNTOKENS)
6421 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
6423 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
6425 yy_symbol_value_print (yyoutput, yytype, yyvaluep, session);
6426 YYFPRINTF (yyoutput,
")");
6434 #if (defined __STDC__ || defined __C99__FUNC__ \
6435 || defined __cplusplus || defined _MSC_VER)
6437 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
6440 yy_stack_print (yybottom, yytop)
6441 yytype_int16 *yybottom;
6442 yytype_int16 *yytop;
6445 YYFPRINTF (stderr,
"Stack now");
6446 for (; yybottom <= yytop; yybottom++)
6448 int yybot = *yybottom;
6449 YYFPRINTF (stderr,
" %d", yybot);
6451 YYFPRINTF (stderr,
"\n");
6454 # define YY_STACK_PRINT(Bottom, Top) \
6457 yy_stack_print ((Bottom), (Top)); \
6465 #if (defined __STDC__ || defined __C99__FUNC__ \
6466 || defined __cplusplus || defined _MSC_VER)
6471 yy_reduce_print (yyvsp, yyrule, session)
6477 int yynrhs = yyr2[yyrule];
6479 unsigned long int yylno = yyrline[yyrule];
6480 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
6483 for (yyi = 0; yyi < yynrhs; yyi++)
6485 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
6486 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
6487 &(yyvsp[(yyi + 1) - (yynrhs)])
6489 YYFPRINTF (stderr,
"\n");
6493 # define YY_REDUCE_PRINT(Rule) \
6496 yy_reduce_print (yyvsp, Rule, session); \
6503 # define YYDPRINTF(Args)
6504 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
6505 # define YY_STACK_PRINT(Bottom, Top)
6506 # define YY_REDUCE_PRINT(Rule)
6512 # define YYINITDEPTH 200
6523 # define YYMAXDEPTH 10000
6530 # if defined __GLIBC__ && defined _STRING_H
6531 # define yystrlen strlen
6534 #if (defined __STDC__ || defined __C99__FUNC__ \
6535 || defined __cplusplus || defined _MSC_VER)
6537 yystrlen (
const char *yystr)
6545 for (yylen = 0; yystr[yylen]; yylen++)
6553 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
6554 # define yystpcpy stpcpy
6558 #if (defined __STDC__ || defined __C99__FUNC__ \
6559 || defined __cplusplus || defined _MSC_VER)
6561 yystpcpy (
char *yydest,
const char *yysrc)
6564 yystpcpy (yydest, yysrc)
6570 const char *yys = yysrc;
6572 while ((*yyd++ = *yys++) !=
'\0')
6589 yytnamerr (
char *yyres,
const char *yystr)
6594 char const *yyp = yystr;
6601 goto do_not_strip_quotes;
6605 goto do_not_strip_quotes;
6618 do_not_strip_quotes: ;
6622 return yystrlen (yystr);
6624 return yystpcpy (yyres, yystr) - yyres;
6637 yysyntax_error (YYSIZE_T *yymsg_alloc,
char **yymsg,
6638 yytype_int16 *yyssp,
int yytoken)
6640 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
6641 YYSIZE_T yysize = yysize0;
6643 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
6645 const char *yyformat = 0;
6647 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
6679 if (yytoken != YYEMPTY)
6681 int yyn = yypact[*yyssp];
6682 yyarg[yycount++] = yytname[yytoken];
6683 if (!yypact_value_is_default (yyn))
6688 int yyxbegin = yyn < 0 ? -yyn : 0;
6690 int yychecklim = YYLAST - yyn + 1;
6691 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
6694 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
6695 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
6696 && !yytable_value_is_error (yytable[yyx + yyn]))
6698 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
6704 yyarg[yycount++] = yytname[yyx];
6705 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
6706 if (! (yysize <= yysize1
6707 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
6716 # define YYCASE_(N, S) \
6720 YYCASE_(0, YY_(
"syntax error"));
6721 YYCASE_(1, YY_(
"syntax error, unexpected %s"));
6722 YYCASE_(2, YY_(
"syntax error, unexpected %s, expecting %s"));
6723 YYCASE_(3, YY_(
"syntax error, unexpected %s, expecting %s or %s"));
6724 YYCASE_(4, YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
6725 YYCASE_(5, YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
6729 yysize1 = yysize + yystrlen (yyformat);
6730 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
6734 if (*yymsg_alloc < yysize)
6736 *yymsg_alloc = 2 * yysize;
6737 if (! (yysize <= *yymsg_alloc
6738 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
6739 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
6749 while ((*yyp = *yyformat) !=
'\0')
6750 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
6752 yyp += yytnamerr (yyp, yyarg[yyi++]);
6770 #if (defined __STDC__ || defined __C99__FUNC__ \
6771 || defined __cplusplus || defined _MSC_VER)
6776 yydestruct (yymsg, yytype, yyvaluep, session)
6788 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6800 #ifdef YYPARSE_PARAM
6801 #if defined __STDC__ || defined __cplusplus
6802 int yyparse (
void *YYPARSE_PARAM);
6807 #if defined __STDC__ || defined __cplusplus
6819 #ifdef YYPARSE_PARAM
6820 #if (defined __STDC__ || defined __C99__FUNC__ \
6821 || defined __cplusplus || defined _MSC_VER)
6823 yyparse (
void *YYPARSE_PARAM)
6826 yyparse (YYPARSE_PARAM)
6827 void *YYPARSE_PARAM;
6830 #if (defined __STDC__ || defined __C99__FUNC__ \
6831 || defined __cplusplus || defined _MSC_VER)
6862 yytype_int16 yyssa[YYINITDEPTH];
6864 yytype_int16 *yyssp;
6871 YYSIZE_T yystacksize;
6884 char *yymsg = yymsgbuf;
6885 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
6888 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
6897 yystacksize = YYINITDEPTH;
6899 YYDPRINTF ((stderr,
"Starting parse\n"));
6926 if (yyss + yystacksize - 1 <= yyssp)
6929 YYSIZE_T yysize = yyssp - yyss + 1;
6937 yytype_int16 *yyss1 = yyss;
6943 yyoverflow (YY_(
"memory exhausted"),
6944 &yyss1, yysize *
sizeof (*yyssp),
6945 &yyvs1, yysize *
sizeof (*yyvsp),
6952 # ifndef YYSTACK_RELOCATE
6953 goto yyexhaustedlab;
6956 if (YYMAXDEPTH <= yystacksize)
6957 goto yyexhaustedlab;
6959 if (YYMAXDEPTH < yystacksize)
6960 yystacksize = YYMAXDEPTH;
6963 yytype_int16 *yyss1 = yyss;
6965 (
union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
6967 goto yyexhaustedlab;
6968 YYSTACK_RELOCATE (yyss_alloc, yyss);
6969 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
6970 # undef YYSTACK_RELOCATE
6972 YYSTACK_FREE (yyss1);
6977 yyssp = yyss + yysize - 1;
6978 yyvsp = yyvs + yysize - 1;
6980 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
6981 (
unsigned long int) yystacksize));
6983 if (yyss + yystacksize - 1 <= yyssp)
6987 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
6989 if (yystate == YYFINAL)
7003 yyn = yypact[yystate];
7004 if (yypact_value_is_default (yyn))
7010 if (yychar == YYEMPTY)
7012 YYDPRINTF ((stderr,
"Reading a token: "));
7016 if (yychar <= YYEOF)
7018 yychar = yytoken = YYEOF;
7019 YYDPRINTF ((stderr,
"Now at end of input.\n"));
7023 yytoken = YYTRANSLATE (yychar);
7024 YY_SYMBOL_PRINT (
"Next token is", yytoken, &yylval, &yylloc);
7030 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
7035 if (yytable_value_is_error (yyn))
7047 YY_SYMBOL_PRINT (
"Shifting", yytoken, &yylval, &yylloc);
7062 yyn = yydefact[yystate];
7083 yyval = yyvsp[1-yylen];
7086 YY_REDUCE_PRINT (yyn);
7092 #line 810 "drizzled/sql_yacc.yy"
7094 if (!(YYSession->lex().select_lex.options & OPTION_FOUND_COMMENT))
7096 my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0));
7109 #line 821 "drizzled/sql_yacc.yy"
7116 #line 863 "drizzled/sql_yacc.yy"
7125 #line 867 "drizzled/sql_yacc.yy"
7129 if (not Lex.select_lex.add_table_to_list(YYSession, (yyvsp[(5) - (5)].table), NULL,
7133 Lex.col_list.clear();
7140 #line 877 "drizzled/sql_yacc.yy"
7142 Lex.current_select= &Lex.select_lex;
7149 #line 881 "drizzled/sql_yacc.yy"
7158 #line 885 "drizzled/sql_yacc.yy"
7160 if (not Lex.current_select->add_table_to_list(Lex.session, (yyvsp[(9) - (13)].table),
7162 TL_OPTION_UPDATING))
7165 parser::buildKey(&Lex, (yyvsp[(4) - (13)].key_type), (yyvsp[(6) - (13)].lex_str));
7172 #line 894 "drizzled/sql_yacc.yy"
7181 #line 898 "drizzled/sql_yacc.yy"
7183 Lex.name= (yyvsp[(4) - (6)].lex_str);
7190 #line 905 "drizzled/sql_yacc.yy"
7197 #line 907 "drizzled/sql_yacc.yy"
7199 Lex.current_select->set_braces(1);
7206 #line 910 "drizzled/sql_yacc.yy"
7213 #line 912 "drizzled/sql_yacc.yy"
7220 #line 914 "drizzled/sql_yacc.yy"
7227 #line 916 "drizzled/sql_yacc.yy"
7234 #line 920 "drizzled/sql_yacc.yy"
7241 #line 922 "drizzled/sql_yacc.yy"
7243 Lex.current_select->set_braces(0);
7250 #line 925 "drizzled/sql_yacc.yy"
7257 #line 927 "drizzled/sql_yacc.yy"
7259 Lex.current_select->set_braces(1);
7266 #line 930 "drizzled/sql_yacc.yy"
7273 #line 935 "drizzled/sql_yacc.yy"
7277 if (not YYSession->lex().select_lex.add_table_to_list(YYSession, (yyvsp[(2) - (2)].table), NULL, 0, TL_READ))
7285 #line 945 "drizzled/sql_yacc.yy"
7293 #line 954 "drizzled/sql_yacc.yy"
7295 Lex.lock_option= TL_READ;
7296 if (Lex.sql_command == SQLCOM_INSERT)
7298 delete Lex.statement;
7301 else if (Lex.sql_command == SQLCOM_REPLACE)
7303 delete Lex.statement;
7310 Lex.current_select->table_list.save_and_clear(&Lex.save_list);
7312 Lex.current_select->parsing_place= SELECT_LIST;
7319 #line 975 "drizzled/sql_yacc.yy"
7321 Lex.current_select->parsing_place= NO_MATTER;
7328 #line 979 "drizzled/sql_yacc.yy"
7334 Lex.current_select->table_list.push_front(&Lex.save_list);
7341 #line 989 "drizzled/sql_yacc.yy"
7348 #line 1004 "drizzled/sql_yacc.yy"
7351 statement->schema_message.mutable_engine()->add_options()->set_name((yyvsp[(1) - (1)].lex_str).data());
7358 #line 1009 "drizzled/sql_yacc.yy"
7360 parser::buildReplicationOption(&Lex,
true);
7367 #line 1013 "drizzled/sql_yacc.yy"
7369 parser::buildReplicationOption(&Lex,
false);
7376 #line 1017 "drizzled/sql_yacc.yy"
7378 parser::buildSchemaDefiner(&Lex,
identifier::User((yyvsp[(2) - (2)].lex_str)));
7385 #line 1021 "drizzled/sql_yacc.yy"
7387 parser::buildSchemaDefiner(&Lex, *session->user());
7394 #line 1025 "drizzled/sql_yacc.yy"
7396 parser::buildSchemaOption(&Lex, (yyvsp[(1) - (3)].lex_str).data(), (yyvsp[(3) - (3)].lex_str));
7403 #line 1029 "drizzled/sql_yacc.yy"
7405 parser::buildSchemaOption(&Lex, (yyvsp[(1) - (3)].lex_str).data(), (yyvsp[(3) - (3)].ulonglong_number));
7412 #line 1035 "drizzled/sql_yacc.yy"
7413 { (yyval.num)=
false; }
7419 #line 1036 "drizzled/sql_yacc.yy"
7420 { (yyval.num)=
true; }
7426 #line 1040 "drizzled/sql_yacc.yy"
7427 { (yyval.boolean)=
false; }
7433 #line 1041 "drizzled/sql_yacc.yy"
7434 { (yyval.boolean)=
true; YYSession->lex().setExists(); }
7440 #line 1064 "drizzled/sql_yacc.yy"
7442 Lex.table()->mutable_engine()->set_name((yyvsp[(3) - (3)].lex_str).data());
7449 #line 1068 "drizzled/sql_yacc.yy"
7451 Lex.table()->mutable_options()->set_comment((yyvsp[(3) - (3)].lex_str).data());
7458 #line 1072 "drizzled/sql_yacc.yy"
7460 Lex.table()->mutable_options()->set_auto_increment_value((yyvsp[(3) - (3)].ulonglong_number));
7467 #line 1076 "drizzled/sql_yacc.yy"
7469 message::set_is_replicated(*Lex.table(),
true);
7476 #line 1080 "drizzled/sql_yacc.yy"
7478 message::set_is_replicated(*Lex.table(),
false);
7485 #line 1084 "drizzled/sql_yacc.yy"
7487 message::set_definer(*Lex.table(),
identifier::User((yyvsp[(2) - (2)].lex_str)));
7494 #line 1088 "drizzled/sql_yacc.yy"
7496 message::set_definer(*Lex.table(), *session->user());
7503 #line 1092 "drizzled/sql_yacc.yy"
7505 parser::buildEngineOption(&Lex,
"ROW_FORMAT", (yyvsp[(3) - (3)].lex_str));
7512 #line 1096 "drizzled/sql_yacc.yy"
7514 parser::buildEngineOption(&Lex,
"FILE", (yyvsp[(3) - (3)].lex_str));
7521 #line 1100 "drizzled/sql_yacc.yy"
7523 parser::buildEngineOption(&Lex, (yyvsp[(1) - (3)].lex_str).data(), (yyvsp[(3) - (3)].lex_str));
7530 #line 1104 "drizzled/sql_yacc.yy"
7532 parser::buildEngineOption(&Lex, (yyvsp[(1) - (3)].lex_str).data(), (yyvsp[(3) - (3)].ulonglong_number));
7539 #line 1112 "drizzled/sql_yacc.yy"
7546 #line 1113 "drizzled/sql_yacc.yy"
7553 #line 1117 "drizzled/sql_yacc.yy"
7560 #line 1118 "drizzled/sql_yacc.yy"
7567 #line 1123 "drizzled/sql_yacc.yy"
7575 #line 1128 "drizzled/sql_yacc.yy"
7577 if (not parser::buildCollation(&Lex, (yyvsp[(4) - (4)].charset)))
7587 #line 1138 "drizzled/sql_yacc.yy"
7596 #line 1144 "drizzled/sql_yacc.yy"
7603 #line 1145 "drizzled/sql_yacc.yy"
7610 #line 1146 "drizzled/sql_yacc.yy"
7617 #line 1147 "drizzled/sql_yacc.yy"
7624 #line 1148 "drizzled/sql_yacc.yy"
7631 #line 1149 "drizzled/sql_yacc.yy"
7638 #line 1154 "drizzled/sql_yacc.yy"
7640 (yyval.lex_str).assign(YYSession->mem.strdup((yyvsp[(1) - (1)].symbol).data(), (yyvsp[(1) - (1)].symbol).length), (yyvsp[(1) - (1)].symbol).length);
7647 #line 1160 "drizzled/sql_yacc.yy"
7654 #line 1177 "drizzled/sql_yacc.yy"
7656 Lex.col_list.clear();
7663 #line 1184 "drizzled/sql_yacc.yy"
7665 parser::buildKey(&Lex, (yyvsp[(1) - (7)].key_type), (yyvsp[(2) - (7)].lex_str));
7672 #line 1189 "drizzled/sql_yacc.yy"
7674 parser::buildKey(&Lex, (yyvsp[(2) - (8)].key_type), (yyvsp[(3) - (8)].lex_str).data() ? (yyvsp[(3) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str));
7681 #line 1193 "drizzled/sql_yacc.yy"
7683 parser::buildForeignKey(&Lex, (yyvsp[(1) - (8)].lex_str).data() ? (yyvsp[(1) - (8)].lex_str) : (yyvsp[(4) - (8)].lex_str), (yyvsp[(8) - (8)].table));
7690 #line 1197 "drizzled/sql_yacc.yy"
7692 Lex.col_list.clear();
7699 #line 1201 "drizzled/sql_yacc.yy"
7701 Lex.col_list.clear();
7708 #line 1216 "drizzled/sql_yacc.yy"
7709 { (yyval.lex_str)= null_lex_string(); }
7715 #line 1217 "drizzled/sql_yacc.yy"
7716 { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
7722 #line 1221 "drizzled/sql_yacc.yy"
7723 { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
7729 #line 1226 "drizzled/sql_yacc.yy"
7731 parser::buildCreateFieldIdent(&Lex);
7738 #line 1230 "drizzled/sql_yacc.yy"
7744 Lex.field()->set_name((yyvsp[(1) - (4)].lex_str).data());
7747 if (
add_field_to_list(Lex.session, (yyvsp[(1) - (4)].lex_str), (enum_field_types) (yyvsp[(3) - (4)].field_val),
7748 Lex.length, Lex.dec, Lex.type,
7749 statement->column_format,
7750 statement->default_value, statement->on_update_value,
7752 statement->change, &Lex.interval_list, Lex.charset))
7762 #line 1252 "drizzled/sql_yacc.yy"
7764 (yyval.field_val)=parser::buildTimestampColumn(&Lex, NULL);
7771 #line 1256 "drizzled/sql_yacc.yy"
7773 (yyval.field_val)=parser::buildTimestampColumn(&Lex, (yyvsp[(3) - (5)].lex_str).data());
7780 #line 1260 "drizzled/sql_yacc.yy"
7782 (yyval.field_val)=DRIZZLE_TYPE_DATETIME;
7785 Lex.field()->set_type(message::Table::Field::DATETIME);
7792 #line 1267 "drizzled/sql_yacc.yy"
7794 (yyval.field_val)= (yyvsp[(1) - (2)].field_val);
7801 #line 1271 "drizzled/sql_yacc.yy"
7803 (yyval.field_val)= parser::buildVarcharColumn(&Lex,
"1");
7810 #line 1275 "drizzled/sql_yacc.yy"
7812 (yyval.field_val)= parser::buildVarcharColumn(&Lex, (yyvsp[(3) - (5)].lex_str).data());
7819 #line 1279 "drizzled/sql_yacc.yy"
7821 (yyval.field_val)=DRIZZLE_TYPE_BLOB;
7825 Lex.field()->set_type(message::Table::Field::BLOB);
7832 #line 1287 "drizzled/sql_yacc.yy"
7834 Lex.interval_list.clear();
7841 #line 1291 "drizzled/sql_yacc.yy"
7843 (yyval.field_val)=DRIZZLE_TYPE_ENUM;
7846 Lex.field()->set_type(message::Table::Field::ENUM);
7853 #line 1298 "drizzled/sql_yacc.yy"
7855 (yyval.field_val)= parser::buildVarbinaryColumn(&Lex, (yyvsp[(3) - (5)].lex_str).data());
7862 #line 1302 "drizzled/sql_yacc.yy"
7864 assert ((yyvsp[(1) - (2)].field_val) == DRIZZLE_TYPE_DOUBLE);
7865 (yyval.field_val)= parser::buildDoubleColumn(&Lex);
7872 #line 1307 "drizzled/sql_yacc.yy"
7874 (yyval.field_val)=DRIZZLE_TYPE_DATE;
7877 Lex.field()->set_type(message::Table::Field::DATE);
7884 #line 1314 "drizzled/sql_yacc.yy"
7886 (yyval.field_val)=DRIZZLE_TYPE_TIME;
7889 Lex.field()->set_type(message::Table::Field::TIME);
7896 #line 1321 "drizzled/sql_yacc.yy"
7898 (yyval.field_val)= parser::buildBlobColumn(&Lex);
7905 #line 1325 "drizzled/sql_yacc.yy"
7907 (yyval.field_val)= parser::buildDecimalColumn(&Lex);
7914 #line 1329 "drizzled/sql_yacc.yy"
7916 (yyval.field_val)= parser::buildDecimalColumn(&Lex);
7923 #line 1333 "drizzled/sql_yacc.yy"
7925 (yyval.field_val)= parser::buildDecimalColumn(&Lex);
7932 #line 1337 "drizzled/sql_yacc.yy"
7934 (yyval.field_val)= parser::buildUuidColumn(&Lex);
7941 #line 1341 "drizzled/sql_yacc.yy"
7943 (yyval.field_val)= parser::buildIPv6Column(&Lex);
7950 #line 1345 "drizzled/sql_yacc.yy"
7952 (yyval.field_val)= parser::buildBooleanColumn(&Lex);
7959 #line 1349 "drizzled/sql_yacc.yy"
7961 (yyval.field_val)= parser::buildSerialColumn(&Lex);
7968 #line 1356 "drizzled/sql_yacc.yy"
7975 #line 1358 "drizzled/sql_yacc.yy"
7982 #line 1360 "drizzled/sql_yacc.yy"
7989 #line 1365 "drizzled/sql_yacc.yy"
7991 (yyval.field_val)= parser::buildIntegerColumn(&Lex, DRIZZLE_TYPE_LONG, ((yyvsp[(3) - (4)].
boolean) or (yyvsp[(4) - (4)].
boolean)));
7998 #line 1369 "drizzled/sql_yacc.yy"
8000 (yyval.field_val)= parser::buildIntegerColumn(&Lex, DRIZZLE_TYPE_LONGLONG, ((yyvsp[(3) - (4)].
boolean) or (yyvsp[(4) - (4)].
boolean)));
8007 #line 1376 "drizzled/sql_yacc.yy"
8009 (yyval.field_val)= DRIZZLE_TYPE_DOUBLE;
8016 #line 1380 "drizzled/sql_yacc.yy"
8018 (yyval.field_val)= DRIZZLE_TYPE_DOUBLE;
8025 #line 1384 "drizzled/sql_yacc.yy"
8027 (yyval.field_val)= DRIZZLE_TYPE_DOUBLE;
8034 #line 1391 "drizzled/sql_yacc.yy"
8035 { Lex.dec=Lex.length= NULL; }
8041 #line 1393 "drizzled/sql_yacc.yy"
8042 { Lex.length=(yyvsp[(2) - (3)].lex_str).data(); Lex.dec= NULL; }
8048 #line 1395 "drizzled/sql_yacc.yy"
8055 #line 1400 "drizzled/sql_yacc.yy"
8057 Lex.length= (yyvsp[(2) - (5)].lex_str).data();
8058 Lex.dec= (yyvsp[(4) - (5)].lex_str).data();
8065 #line 1407 "drizzled/sql_yacc.yy"
8066 { Lex.length= NULL; }
8072 #line 1408 "drizzled/sql_yacc.yy"
8073 { Lex.length= (yyvsp[(2) - (3)].lex_str).data(); }
8079 #line 1412 "drizzled/sql_yacc.yy"
8080 { (yyval.boolean)=
false; }
8086 #line 1413 "drizzled/sql_yacc.yy"
8087 { (yyval.boolean)=
false; }
8093 #line 1414 "drizzled/sql_yacc.yy"
8094 { (yyval.boolean)=
true; Lex.type|= UNSIGNED_FLAG; }
8100 #line 1418 "drizzled/sql_yacc.yy"
8107 #line 1419 "drizzled/sql_yacc.yy"
8114 #line 1423 "drizzled/sql_yacc.yy"
8115 { (yyval.boolean)=
false; }
8121 #line 1424 "drizzled/sql_yacc.yy"
8122 { (yyval.boolean)=
true; Lex.type|= UNSIGNED_FLAG; }
8128 #line 1429 "drizzled/sql_yacc.yy"
8129 { Lex.dec=Lex.length= NULL; }
8135 #line 1431 "drizzled/sql_yacc.yy"
8136 { Lex.length=Lex.dec= NULL; }
8142 #line 1433 "drizzled/sql_yacc.yy"
8149 #line 1438 "drizzled/sql_yacc.yy"
8151 Lex.type&= ~ NOT_NULL_FLAG;
8158 #line 1442 "drizzled/sql_yacc.yy"
8160 Lex.type|= NOT_NULL_FLAG;
8164 Lex.field()->mutable_constraints()->set_is_notnull(
true);
8172 #line 1454 "drizzled/sql_yacc.yy"
8174 parser::buildPrimaryOnColumn(&Lex);
8181 #line 1458 "drizzled/sql_yacc.yy"
8183 parser::buildKeyOnColumn(&Lex);
8190 #line 1462 "drizzled/sql_yacc.yy"
8192 parser::buildKeyOnColumn(&Lex);
8199 #line 1468 "drizzled/sql_yacc.yy"
8206 #line 1470 "drizzled/sql_yacc.yy"
8213 #line 1472 "drizzled/sql_yacc.yy"
8217 statement->default_value= (yyvsp[(3) - (3)].item);
8218 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8225 #line 1479 "drizzled/sql_yacc.yy"
8232 #line 1483 "drizzled/sql_yacc.yy"
8239 #line 1485 "drizzled/sql_yacc.yy"
8246 #line 1487 "drizzled/sql_yacc.yy"
8250 statement->default_value= (yyvsp[(3) - (3)].item);
8251 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8258 #line 1494 "drizzled/sql_yacc.yy"
8265 #line 1498 "drizzled/sql_yacc.yy"
8272 #line 1499 "drizzled/sql_yacc.yy"
8279 #line 1503 "drizzled/sql_yacc.yy"
8286 #line 1509 "drizzled/sql_yacc.yy"
8293 #line 1511 "drizzled/sql_yacc.yy"
8297 statement->default_value=(yyvsp[(2) - (2)].item);
8298 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8305 #line 1518 "drizzled/sql_yacc.yy"
8307 if (Lex.charset && !my_charset_same(Lex.charset,(yyvsp[(2) - (2)].charset)))
8309 my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
8310 (yyvsp[(2) - (2)].charset)->name,Lex.charset->csname);
8315 Lex.charset=(yyvsp[(2) - (2)].charset);
8323 #line 1531 "drizzled/sql_yacc.yy"
8330 #line 1535 "drizzled/sql_yacc.yy"
8337 #line 1536 "drizzled/sql_yacc.yy"
8344 #line 1540 "drizzled/sql_yacc.yy"
8351 #line 1546 "drizzled/sql_yacc.yy"
8358 #line 1548 "drizzled/sql_yacc.yy"
8360 parser::buildAutoOnColumn(&Lex);
8367 #line 1552 "drizzled/sql_yacc.yy"
8369 (void)parser::buildSerialColumn(&Lex);
8376 #line 1556 "drizzled/sql_yacc.yy"
8380 statement->default_value=(yyvsp[(2) - (2)].item);
8381 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8388 #line 1563 "drizzled/sql_yacc.yy"
8395 #line 1567 "drizzled/sql_yacc.yy"
8402 #line 1568 "drizzled/sql_yacc.yy"
8409 #line 1572 "drizzled/sql_yacc.yy"
8416 #line 1578 "drizzled/sql_yacc.yy"
8423 #line 1580 "drizzled/sql_yacc.yy"
8428 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8435 #line 1587 "drizzled/sql_yacc.yy"
8439 statement->default_value=(yyvsp[(2) - (2)].item);
8440 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8447 #line 1594 "drizzled/sql_yacc.yy"
8456 #line 1598 "drizzled/sql_yacc.yy"
8463 #line 1602 "drizzled/sql_yacc.yy"
8470 #line 1604 "drizzled/sql_yacc.yy"
8473 statement->comment= (yyvsp[(2) - (2)].lex_str);
8476 Lex.field()->set_comment((yyvsp[(2) - (2)].lex_str).data());
8483 #line 1615 "drizzled/sql_yacc.yy"
8485 if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).data())))
8487 my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[(1) - (1)].lex_str).data());
8496 #line 1625 "drizzled/sql_yacc.yy"
8497 { (yyval.charset)=(yyvsp[(1) - (1)].charset); }
8503 #line 1626 "drizzled/sql_yacc.yy"
8504 { (yyval.charset)=NULL; }
8510 #line 1630 "drizzled/sql_yacc.yy"
8517 #line 1631 "drizzled/sql_yacc.yy"
8524 #line 1641 "drizzled/sql_yacc.yy"
8526 (yyval.table)=(yyvsp[(2) - (5)].table);
8533 #line 1648 "drizzled/sql_yacc.yy"
8534 { Lex.ref_list.clear(); }
8540 #line 1654 "drizzled/sql_yacc.yy"
8541 { Lex.ref_list.push_back(
new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0)); }
8547 #line 1656 "drizzled/sql_yacc.yy"
8549 Lex.ref_list.clear();
8550 Lex.ref_list.push_back(
new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0));
8557 #line 1664 "drizzled/sql_yacc.yy"
8558 { ((
statement::CreateTable*)Lex.statement)->fk_match_option= drizzled::message::Table::ForeignKeyConstraint::MATCH_UNDEFINED; }
8564 #line 1666 "drizzled/sql_yacc.yy"
8565 { ((
statement::CreateTable*)Lex.statement)->fk_match_option= drizzled::message::Table::ForeignKeyConstraint::MATCH_FULL; }
8571 #line 1668 "drizzled/sql_yacc.yy"
8572 { ((
statement::CreateTable*)Lex.statement)->fk_match_option= drizzled::message::Table::ForeignKeyConstraint::MATCH_PARTIAL; }
8578 #line 1670 "drizzled/sql_yacc.yy"
8579 { ((
statement::CreateTable*)Lex.statement)->fk_match_option= drizzled::message::Table::ForeignKeyConstraint::MATCH_SIMPLE; }
8585 #line 1675 "drizzled/sql_yacc.yy"
8587 ((
statement::CreateTable*)Lex.statement)->fk_update_opt= drizzled::message::Table::ForeignKeyConstraint::OPTION_UNDEF;
8588 ((
statement::CreateTable*)Lex.statement)->fk_delete_opt= drizzled::message::Table::ForeignKeyConstraint::OPTION_UNDEF;
8595 #line 1680 "drizzled/sql_yacc.yy"
8598 ((
statement::CreateTable*)Lex.statement)->fk_delete_opt= drizzled::message::Table::ForeignKeyConstraint::OPTION_UNDEF;
8605 #line 1685 "drizzled/sql_yacc.yy"
8607 ((
statement::CreateTable*)Lex.statement)->fk_update_opt= drizzled::message::Table::ForeignKeyConstraint::OPTION_UNDEF;
8615 #line 1691 "drizzled/sql_yacc.yy"
8625 #line 1697 "drizzled/sql_yacc.yy"
8635 #line 1704 "drizzled/sql_yacc.yy"
8636 { (yyval.m_fk_option)= drizzled::message::Table::ForeignKeyConstraint::OPTION_RESTRICT; }
8642 #line 1705 "drizzled/sql_yacc.yy"
8643 { (yyval.m_fk_option)= drizzled::message::Table::ForeignKeyConstraint::OPTION_CASCADE; }
8649 #line 1706 "drizzled/sql_yacc.yy"
8650 { (yyval.m_fk_option)= drizzled::message::Table::ForeignKeyConstraint::OPTION_SET_NULL; }
8656 #line 1707 "drizzled/sql_yacc.yy"
8657 { (yyval.m_fk_option)= drizzled::message::Table::ForeignKeyConstraint::OPTION_NO_ACTION; }
8663 #line 1708 "drizzled/sql_yacc.yy"
8664 { (yyval.m_fk_option)= drizzled::message::Table::ForeignKeyConstraint::OPTION_SET_DEFAULT; }
8670 #line 1712 "drizzled/sql_yacc.yy"
8671 { (yyval.key_type)= Key::MULTIPLE; }
8677 #line 1716 "drizzled/sql_yacc.yy"
8678 { (yyval.key_type)= Key::PRIMARY; }
8684 #line 1717 "drizzled/sql_yacc.yy"
8685 { (yyval.key_type)= Key::UNIQUE; }
8691 #line 1721 "drizzled/sql_yacc.yy"
8698 #line 1722 "drizzled/sql_yacc.yy"
8705 #line 1726 "drizzled/sql_yacc.yy"
8712 #line 1731 "drizzled/sql_yacc.yy"
8719 #line 1732 "drizzled/sql_yacc.yy"
8726 #line 1733 "drizzled/sql_yacc.yy"
8733 #line 1737 "drizzled/sql_yacc.yy"
8734 { (yyval.key_type)= Key::MULTIPLE; }
8740 #line 1738 "drizzled/sql_yacc.yy"
8741 { (yyval.key_type)= Key::UNIQUE; }
8747 #line 1742 "drizzled/sql_yacc.yy"
8756 #line 1759 "drizzled/sql_yacc.yy"
8763 #line 1769 "drizzled/sql_yacc.yy"
8770 #line 1775 "drizzled/sql_yacc.yy"
8777 #line 1777 "drizzled/sql_yacc.yy"
8784 #line 1781 "drizzled/sql_yacc.yy"
8785 { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
8791 #line 1782 "drizzled/sql_yacc.yy"
8792 { (yyval.key_alg)= HA_KEY_ALG_HASH; }
8798 #line 1786 "drizzled/sql_yacc.yy"
8799 { Lex.col_list.push_back((yyvsp[(3) - (4)].key_part)); }
8805 #line 1787 "drizzled/sql_yacc.yy"
8806 { Lex.col_list.push_back((yyvsp[(1) - (2)].key_part)); }
8812 #line 1791 "drizzled/sql_yacc.yy"
8813 { (yyval.key_part)=
new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); }
8819 #line 1793 "drizzled/sql_yacc.yy"
8821 int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).data());
8824 my_error(ER_KEY_PART_0, MYF(0), (yyvsp[(1) - (4)].lex_str).data());
8826 (yyval.key_part)=
new Key_part_spec((yyvsp[(1) - (4)].lex_str), (uint) key_part_len);
8833 #line 1804 "drizzled/sql_yacc.yy"
8834 { (yyval.lex_str)= null_lex_string(); }
8840 #line 1805 "drizzled/sql_yacc.yy"
8841 { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
8847 #line 1809 "drizzled/sql_yacc.yy"
8848 { (yyval.lex_str)= null_lex_string(); }
8854 #line 1810 "drizzled/sql_yacc.yy"
8855 { (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); }
8861 #line 1814 "drizzled/sql_yacc.yy"
8862 { Lex.interval_list.push_back((yyvsp[(1) - (1)].
string)); }
8868 #line 1815 "drizzled/sql_yacc.yy"
8869 { Lex.interval_list.push_back((yyvsp[(3) - (3)].
string)); }
8875 #line 1823 "drizzled/sql_yacc.yy"
8878 Lex.statement= statement;
8879 Lex.duplicates= DUP_ERROR;
8880 if (not Lex.select_lex.add_table_to_list(YYSession, (yyvsp[(5) - (5)].table), NULL, TL_OPTION_UPDATING))
8885 Lex.col_list.clear();
8886 Lex.select_lex.init_order();
8887 Lex.select_lex.db= ((
TableList*) Lex.select_lex.table_list.first)->getSchemaName();
8894 #line 1837 "drizzled/sql_yacc.yy"
8901 #line 1839 "drizzled/sql_yacc.yy"
8910 #line 1843 "drizzled/sql_yacc.yy"
8912 Lex.name= (yyvsp[(3) - (5)].lex_str);
8913 if (not Lex.name.data())
8915 str_ref db = Lex.session->copy_db_to();
8918 Lex.name.assign(db.data(), db.size());
8926 #line 1858 "drizzled/sql_yacc.yy"
8929 alter_operation= Lex.alter_table()->add_operations();
8930 alter_operation->set_operation(message::AlterTable::AlterTableOperation::DISCARD_TABLESPACE);
8937 #line 1864 "drizzled/sql_yacc.yy"
8940 alter_operation= Lex.alter_table()->add_operations();
8941 alter_operation->set_operation(message::AlterTable::AlterTableOperation::IMPORT_TABLESPACE);
8948 #line 1874 "drizzled/sql_yacc.yy"
8950 Lex.alter_table()->set_build_method(message::AlterTable::BUILD_DEFAULT);
8957 #line 1878 "drizzled/sql_yacc.yy"
8959 Lex.alter_table()->set_build_method(message::AlterTable::BUILD_ONLINE);
8966 #line 1882 "drizzled/sql_yacc.yy"
8968 Lex.alter_table()->set_build_method(message::AlterTable::BUILD_OFFLINE);
8975 #line 1894 "drizzled/sql_yacc.yy"
8979 statement->change=0;
8980 statement->alter_info.flags.set(ALTER_ADD_COLUMN);
8987 #line 1903 "drizzled/sql_yacc.yy"
8994 #line 1905 "drizzled/sql_yacc.yy"
8998 statement->alter_info.flags.set(ALTER_ADD_INDEX);
9005 #line 1911 "drizzled/sql_yacc.yy"
9009 statement->alter_info.flags.set(ALTER_ADD_COLUMN);
9010 statement->alter_info.flags.set(ALTER_ADD_INDEX);
9017 #line 1918 "drizzled/sql_yacc.yy"
9020 statement->change= (yyvsp[(3) - (3)].lex_str).data();
9021 statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
9028 #line 1925 "drizzled/sql_yacc.yy"
9031 Lex.length= Lex.dec=0;
9033 statement->default_value= statement->on_update_value= 0;
9034 statement->comment= null_lex_string();
9036 statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
9037 statement->column_format= COLUMN_FORMAT_TYPE_DEFAULT;
9046 #line 1938 "drizzled/sql_yacc.yy"
9051 (
enum enum_field_types) (yyvsp[(5) - (6)].field_val),
9052 Lex.length, Lex.dec, Lex.type,
9053 statement->column_format,
9054 statement->default_value,
9055 statement->on_update_value,
9057 (yyvsp[(3) - (6)].lex_str).data(), &Lex.interval_list, Lex.charset))
9065 #line 1953 "drizzled/sql_yacc.yy"
9069 statement->alter_info.flags.set(ALTER_DROP_COLUMN);
9071 operation= Lex.alter_table()->add_operations();
9072 operation->set_operation(message::AlterTable::AlterTableOperation::DROP_COLUMN);
9073 operation->set_drop_name((yyvsp[(3) - (3)].lex_str).data());
9080 #line 1963 "drizzled/sql_yacc.yy"
9082 parser::buildAddAlterDropIndex(&Lex, (yyvsp[(4) - (4)].lex_str).data(),
true);
9089 #line 1967 "drizzled/sql_yacc.yy"
9091 parser::buildAddAlterDropIndex(&Lex,
"PRIMARY");
9098 #line 1971 "drizzled/sql_yacc.yy"
9100 parser::buildAddAlterDropIndex(&Lex, (yyvsp[(3) - (3)].lex_str).data());
9107 #line 1975 "drizzled/sql_yacc.yy"
9111 statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
9114 alter_keys_operation= Lex.alter_table()->mutable_alter_keys_onoff();
9115 alter_keys_operation->set_enable(
false);
9122 #line 1985 "drizzled/sql_yacc.yy"
9126 statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
9128 alter_keys_operation= Lex.alter_table()->mutable_alter_keys_onoff();
9129 alter_keys_operation->set_enable(
true);
9136 #line 1994 "drizzled/sql_yacc.yy"
9140 statement->alter_info.alter_list.push_back(
AlterColumn((yyvsp[(3) - (6)].lex_str).data(),(yyvsp[(6) - (6)].item)));
9141 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
9148 #line 2001 "drizzled/sql_yacc.yy"
9152 statement->alter_info.alter_list.push_back(
AlterColumn((yyvsp[(3) - (5)].lex_str).data(), NULL));
9153 statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
9160 #line 2008 "drizzled/sql_yacc.yy"
9163 Lex.select_lex.db= (yyvsp[(3) - (3)].table)->db.data();
9164 if (not Lex.select_lex.db)
9166 str_ref db = Lex.session->copy_db_to();
9169 Lex.select_lex.db = db.data();
9172 if (check_table_name((yyvsp[(3) - (3)].table)->table))
9174 my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (3)].table)->table.data());
9178 Lex.name= (yyvsp[(3) - (3)].table)->table;
9179 statement->alter_info.flags.set(ALTER_RENAME);
9182 rename_operation= Lex.alter_table()->mutable_rename();
9183 rename_operation->set_to_schema(Lex.select_lex.db);
9184 rename_operation->set_to_name(Lex.name.data());
9191 #line 2034 "drizzled/sql_yacc.yy"
9195 statement->create_info().table_charset=
9196 statement->create_info().default_table_charset= (yyvsp[(3) - (3)].charset);
9197 statement->create_info().used_fields|= (HA_CREATE_USED_CHARSET |
9198 HA_CREATE_USED_DEFAULT_CHARSET);
9199 statement->alter_info.flags.set(ALTER_CONVERT);
9206 #line 2044 "drizzled/sql_yacc.yy"
9210 statement->alter_info.flags.set(ALTER_OPTIONS);
9217 #line 2050 "drizzled/sql_yacc.yy"
9221 statement->alter_info.flags.set(ALTER_FORCE);
9228 #line 2056 "drizzled/sql_yacc.yy"
9232 statement->alter_info.flags.set(ALTER_ORDER);
9239 #line 2064 "drizzled/sql_yacc.yy"
9246 #line 2065 "drizzled/sql_yacc.yy"
9253 #line 2069 "drizzled/sql_yacc.yy"
9260 #line 2070 "drizzled/sql_yacc.yy"
9267 #line 2074 "drizzled/sql_yacc.yy"
9274 #line 2076 "drizzled/sql_yacc.yy"
9276 parser::storeAlterColumnPosition(&Lex, (yyvsp[(2) - (2)].lex_str).data());
9283 #line 2080 "drizzled/sql_yacc.yy"
9285 parser::storeAlterColumnPosition(&Lex, first_keyword);
9292 #line 2086 "drizzled/sql_yacc.yy"
9299 #line 2087 "drizzled/sql_yacc.yy"
9306 #line 2088 "drizzled/sql_yacc.yy"
9313 #line 2093 "drizzled/sql_yacc.yy"
9322 #line 2099 "drizzled/sql_yacc.yy"
9323 { (yyval.num) = START_TRANS_NO_OPTIONS; }
9329 #line 2101 "drizzled/sql_yacc.yy"
9331 (yyval.num)= START_TRANS_OPT_WITH_CONS_SNAPSHOT;
9338 #line 2108 "drizzled/sql_yacc.yy"
9347 #line 2112 "drizzled/sql_yacc.yy"
9354 #line 2117 "drizzled/sql_yacc.yy"
9363 #line 2121 "drizzled/sql_yacc.yy"
9370 #line 2126 "drizzled/sql_yacc.yy"
9379 #line 2130 "drizzled/sql_yacc.yy"
9386 #line 2140 "drizzled/sql_yacc.yy"
9388 Select_Lex *sl= Lex.current_select;
9389 if (!sl->add_table_to_list(Lex.session, (yyvsp[(1) - (3)].table),NULL,TL_OPTION_UPDATING,
9391 !sl->add_table_to_list(Lex.session, (yyvsp[(3) - (3)].table),NULL,TL_OPTION_UPDATING,
9400 #line 2157 "drizzled/sql_yacc.yy"
9409 #line 2170 "drizzled/sql_yacc.yy"
9411 if (parser::setup_select_in_parentheses(YYSession, &Lex))
9419 #line 2180 "drizzled/sql_yacc.yy"
9421 if (parser::setup_select_in_parentheses(YYSession, &Lex))
9429 #line 2189 "drizzled/sql_yacc.yy"
9431 Select_Lex * sel= Lex.current_select;
9432 if (Lex.current_select->set_braces(0))
9434 parser::my_parse_error(YYSession->m_lip);
9437 if (sel->linkage == UNION_TYPE &&
9438 sel->master_unit()->first_select()->braces)
9440 parser::my_parse_error(YYSession->m_lip);
9449 #line 2207 "drizzled/sql_yacc.yy"
9451 Select_Lex *sel= Lex.current_select;
9452 if (sel->linkage != UNION_TYPE)
9454 Lex.current_select->parsing_place= SELECT_LIST;
9461 #line 2214 "drizzled/sql_yacc.yy"
9463 Lex.current_select->parsing_place= NO_MATTER;
9470 #line 2221 "drizzled/sql_yacc.yy"
9477 #line 2231 "drizzled/sql_yacc.yy"
9479 Lex.current_select->context.table_list=
9480 Lex.current_select->context.first_name_resolution_table=
9481 reinterpret_cast<TableList *
>(Lex.current_select->table_list.first);
9488 #line 2241 "drizzled/sql_yacc.yy"
9495 #line 2251 "drizzled/sql_yacc.yy"
9497 Lex.current_select->options|= SELECT_DISTINCT;
9499 if (Lex.current_select->options & SELECT_DISTINCT && Lex.current_select->options & SELECT_ALL)
9501 my_error(ER_WRONG_USAGE, MYF(0),
"ALL",
"DISTINCT");
9510 #line 2261 "drizzled/sql_yacc.yy"
9512 Lex.current_select->options|= SELECT_ALL;
9514 if (Lex.current_select->options & SELECT_DISTINCT && Lex.current_select->options & SELECT_ALL)
9516 my_error(ER_WRONG_USAGE, MYF(0),
"ALL",
"DISTINCT");
9525 #line 2274 "drizzled/sql_yacc.yy"
9527 Lex.current_select->options|= SELECT_SMALL_RESULT;
9529 if (Lex.current_select->options & SELECT_SMALL_RESULT && Lex.current_select->options & SELECT_BIG_RESULT)
9531 my_error(ER_WRONG_USAGE, MYF(0),
"SELECT_SMALL_RESULT",
"SELECT_SMALL_RESULT");
9540 #line 2284 "drizzled/sql_yacc.yy"
9542 Lex.current_select->options|= SELECT_BIG_RESULT;
9544 if (Lex.current_select->options & SELECT_SMALL_RESULT && Lex.current_select->options & SELECT_BIG_RESULT)
9546 my_error(ER_WRONG_USAGE, MYF(0),
"SELECT_SMALL_RESULT",
"SELECT_SMALL_RESULT");
9555 #line 2297 "drizzled/sql_yacc.yy"
9556 { Lex.current_select->options|= SELECT_STRAIGHT_JOIN; }
9562 #line 2299 "drizzled/sql_yacc.yy"
9566 Lex.current_select->options|= OPTION_BUFFER_RESULT;
9573 #line 2305 "drizzled/sql_yacc.yy"
9580 #line 2307 "drizzled/sql_yacc.yy"
9587 #line 2309 "drizzled/sql_yacc.yy"
9591 Lex.current_select->options|= OPTION_FOUND_ROWS;
9598 #line 2319 "drizzled/sql_yacc.yy"
9600 Lex.current_select->set_lock_for_tables(TL_WRITE);
9607 #line 2323 "drizzled/sql_yacc.yy"
9609 Lex.current_select->
9610 set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
9617 #line 2333 "drizzled/sql_yacc.yy"
9619 YYSession->add_item_to_list(
new Item_field(&YYSession->lex().current_select->context, NULL, NULL,
"*"));
9620 YYSession->lex().current_select->with_wild++;
9627 #line 2341 "drizzled/sql_yacc.yy"
9629 YYSession->add_item_to_list((yyvsp[(2) - (3)].item));
9636 #line 2345 "drizzled/sql_yacc.yy"
9638 assert((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string));
9640 YYSession->add_item_to_list((yyvsp[(2) - (4)].item));
9642 if ((yyvsp[(4) - (4)].lex_str).data())
9644 (yyvsp[(2) - (4)].item)->is_autogenerated_name=
false;
9645 (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).data(), (yyvsp[(4) - (4)].lex_str).size(), system_charset_info);
9647 else if (!(yyvsp[(2) - (4)].item)->name)
9649 (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), YYSession->charset());
9657 #line 2363 "drizzled/sql_yacc.yy"
9667 #line 2370 "drizzled/sql_yacc.yy"
9677 #line 2377 "drizzled/sql_yacc.yy"
9678 { (yyval.lex_str)= null_lex_string();}
9684 #line 2378 "drizzled/sql_yacc.yy"
9685 { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
9691 #line 2379 "drizzled/sql_yacc.yy"
9692 { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
9698 #line 2380 "drizzled/sql_yacc.yy"
9699 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
9705 #line 2381 "drizzled/sql_yacc.yy"
9706 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
9712 #line 2385 "drizzled/sql_yacc.yy"
9719 #line 2386 "drizzled/sql_yacc.yy"
9726 #line 2392 "drizzled/sql_yacc.yy"
9739 if (is_cond_or((yyvsp[(1) - (3)].item)))
9742 if (is_cond_or((yyvsp[(3) - (3)].item)))
9748 item3->add_at_head(item1->argument_list());
9749 (yyval.item) = (yyvsp[(3) - (3)].item);
9756 item1->add((yyvsp[(3) - (3)].item));
9757 (yyval.item) = (yyvsp[(1) - (3)].item);
9760 else if (is_cond_or((yyvsp[(3) - (3)].item)))
9766 item3->add_at_head((yyvsp[(1) - (3)].item));
9767 (yyval.item) = (yyvsp[(3) - (3)].item);
9772 (yyval.item) =
new (YYSession->mem_root)
Item_cond_or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9780 #line 2441 "drizzled/sql_yacc.yy"
9783 (yyval.item) =
new (YYSession->mem_root)
Item_cond_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9790 #line 2446 "drizzled/sql_yacc.yy"
9795 if (is_cond_and((yyvsp[(1) - (3)].item)))
9798 if (is_cond_and((yyvsp[(3) - (3)].item)))
9804 item3->add_at_head(item1->argument_list());
9805 (yyval.item) = (yyvsp[(3) - (3)].item);
9812 item1->add((yyvsp[(3) - (3)].item));
9813 (yyval.item) = (yyvsp[(1) - (3)].item);
9816 else if (is_cond_and((yyvsp[(3) - (3)].item)))
9822 item3->add_at_head((yyvsp[(1) - (3)].item));
9823 (yyval.item) = (yyvsp[(3) - (3)].item);
9828 (yyval.item) =
new (YYSession->mem_root)
Item_cond_and((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9836 #line 2487 "drizzled/sql_yacc.yy"
9843 #line 2489 "drizzled/sql_yacc.yy"
9845 (yyval.item)=
new (YYSession->mem_root)
Item_func_istrue((yyvsp[(1) - (3)].item));
9852 #line 2493 "drizzled/sql_yacc.yy"
9861 #line 2497 "drizzled/sql_yacc.yy"
9863 (yyval.item)=
new (YYSession->mem_root)
Item_func_isfalse((yyvsp[(1) - (3)].item));
9870 #line 2501 "drizzled/sql_yacc.yy"
9879 #line 2505 "drizzled/sql_yacc.yy"
9888 #line 2509 "drizzled/sql_yacc.yy"
9897 #line 2517 "drizzled/sql_yacc.yy"
9906 #line 2521 "drizzled/sql_yacc.yy"
9915 #line 2525 "drizzled/sql_yacc.yy"
9917 (yyval.item)=
new Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
9924 #line 2529 "drizzled/sql_yacc.yy"
9926 (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
9933 #line 2533 "drizzled/sql_yacc.yy"
9935 (yyval.item)=
all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex));
9942 #line 2541 "drizzled/sql_yacc.yy"
9944 (yyval.item)=
new (YYSession->mem_root)
Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex));
9951 #line 2545 "drizzled/sql_yacc.yy"
9953 Item *item=
new (YYSession->mem_root)
Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex));
9961 #line 2550 "drizzled/sql_yacc.yy"
9963 (yyval.item)= parser::handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (5)].item),
true, (yyvsp[(4) - (5)].item));
9970 #line 2554 "drizzled/sql_yacc.yy"
9972 (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item));
9973 (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item));
9974 (yyval.item)=
new (YYSession->mem_root)
Item_func_in(*(yyvsp[(6) - (7)].item_list));
9981 #line 2560 "drizzled/sql_yacc.yy"
9983 (yyval.item)= parser::handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (6)].item),
false, (yyvsp[(5) - (6)].item));
9990 #line 2564 "drizzled/sql_yacc.yy"
9992 (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
9993 (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item));
10003 #line 2572 "drizzled/sql_yacc.yy"
10005 (yyval.item)=
new Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item));
10012 #line 2576 "drizzled/sql_yacc.yy"
10016 (yyval.item)= item;
10023 #line 2582 "drizzled/sql_yacc.yy"
10025 (yyval.item)=
new Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex.escape_used);
10032 #line 2586 "drizzled/sql_yacc.yy"
10034 (yyval.item)=
new Item_func_not(
new Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item), Lex.escape_used));
10041 #line 2590 "drizzled/sql_yacc.yy"
10044 args->push_back((yyvsp[(1) - (3)].item));
10045 args->push_back((yyvsp[(3) - (3)].item));
10046 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"regex", args)))
10056 #line 2600 "drizzled/sql_yacc.yy"
10059 args->push_back((yyvsp[(1) - (4)].item));
10060 args->push_back((yyvsp[(4) - (4)].item));
10061 args->push_back(
new (YYSession->mem_root)
Item_int(1));
10062 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"regex", args)))
10072 #line 2615 "drizzled/sql_yacc.yy"
10074 (yyval.item)=
new function::bit::Or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
10081 #line 2619 "drizzled/sql_yacc.yy"
10083 (yyval.item)=
new function::bit::And((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
10090 #line 2623 "drizzled/sql_yacc.yy"
10099 #line 2627 "drizzled/sql_yacc.yy"
10108 #line 2631 "drizzled/sql_yacc.yy"
10110 (yyval.item)=
new Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10117 #line 2635 "drizzled/sql_yacc.yy"
10119 (yyval.item)=
new Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10126 #line 2639 "drizzled/sql_yacc.yy"
10128 (yyval.item)=
new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0);
10135 #line 2643 "drizzled/sql_yacc.yy"
10137 (yyval.item)=
new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1);
10144 #line 2647 "drizzled/sql_yacc.yy"
10146 (yyval.item)=
new Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10153 #line 2651 "drizzled/sql_yacc.yy"
10155 (yyval.item)=
new Item_func_div(YYSession,(yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10162 #line 2655 "drizzled/sql_yacc.yy"
10164 (yyval.item)=
new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10171 #line 2659 "drizzled/sql_yacc.yy"
10173 (yyval.item)=
new Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10180 #line 2663 "drizzled/sql_yacc.yy"
10182 (yyval.item)=
new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
10189 #line 2667 "drizzled/sql_yacc.yy"
10191 (yyval.item)=
new (YYSession->mem_root)
function::bit::Xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
10198 #line 2674 "drizzled/sql_yacc.yy"
10199 { (yyval.boolfunc2creator) = &comp_eq_creator; }
10205 #line 2675 "drizzled/sql_yacc.yy"
10206 { (yyval.boolfunc2creator) = &comp_ge_creator; }
10212 #line 2676 "drizzled/sql_yacc.yy"
10213 { (yyval.boolfunc2creator) = &comp_gt_creator; }
10219 #line 2677 "drizzled/sql_yacc.yy"
10220 { (yyval.boolfunc2creator) = &comp_le_creator; }
10226 #line 2678 "drizzled/sql_yacc.yy"
10227 { (yyval.boolfunc2creator) = &comp_lt_creator; }
10233 #line 2679 "drizzled/sql_yacc.yy"
10234 { (yyval.boolfunc2creator) = &comp_ne_creator; }
10240 #line 2683 "drizzled/sql_yacc.yy"
10241 { (yyval.num) = 1; }
10247 #line 2684 "drizzled/sql_yacc.yy"
10248 { (yyval.num) = 0; }
10254 #line 2694 "drizzled/sql_yacc.yy"
10256 Item *i1=
new (YYSession->mem_root)
Item_string((yyvsp[(3) - (3)].lex_str), YYSession->charset());
10264 #line 2701 "drizzled/sql_yacc.yy"
10266 Lex.setSumExprUsed();
10273 #line 2705 "drizzled/sql_yacc.yy"
10275 (yyval.item)=
new (YYSession->mem_root)
Item_func_concat(*YYSession, (yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
10282 #line 2708 "drizzled/sql_yacc.yy"
10283 { (yyval.item)= (yyvsp[(2) - (2)].item); }
10289 #line 2710 "drizzled/sql_yacc.yy"
10291 (yyval.item)=
new (YYSession->mem_root)
Item_func_neg((yyvsp[(2) - (2)].item));
10298 #line 2714 "drizzled/sql_yacc.yy"
10300 (yyval.item)=
new (YYSession->mem_root)
function::bit::Neg((yyvsp[(2) - (2)].item));
10307 #line 2718 "drizzled/sql_yacc.yy"
10316 #line 2721 "drizzled/sql_yacc.yy"
10317 { (yyval.item)= (yyvsp[(2) - (3)].item); }
10323 #line 2723 "drizzled/sql_yacc.yy"
10325 (yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item));
10326 (yyval.item)=
new (YYSession->mem_root)
Item_row(*(yyvsp[(4) - (5)].item_list));
10333 #line 2728 "drizzled/sql_yacc.yy"
10335 (yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item));
10336 (yyval.item)=
new (YYSession->mem_root)
Item_row(*(yyvsp[(5) - (6)].item_list));
10343 #line 2733 "drizzled/sql_yacc.yy"
10352 #line 2736 "drizzled/sql_yacc.yy"
10353 { (yyval.item)= (yyvsp[(3) - (4)].item); }
10359 #line 2738 "drizzled/sql_yacc.yy"
10361 (yyval.item)=
create_func_cast(YYSession, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL,
10369 #line 2743 "drizzled/sql_yacc.yy"
10371 (yyval.item)=
create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex.length, Lex.dec,
10381 #line 2750 "drizzled/sql_yacc.yy"
10382 { (yyval.item)=
new (YYSession->mem_root)
Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) ); }
10388 #line 2752 "drizzled/sql_yacc.yy"
10390 (yyval.item)=
create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex.length, Lex.dec,
10400 #line 2759 "drizzled/sql_yacc.yy"
10403 (yyvsp[(3) - (4)].item));
10410 #line 2764 "drizzled/sql_yacc.yy"
10412 (yyval.item)=
new (YYSession->mem_root)
Item_insert_value(Lex.current_context(),
10413 (yyvsp[(3) - (4)].item));
10420 #line 2770 "drizzled/sql_yacc.yy"
10421 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0); }
10427 #line 2781 "drizzled/sql_yacc.yy"
10428 { (yyval.item)=
new (YYSession->mem_root)
Item_func_char(*(yyvsp[(3) - (4)].item_list)); }
10434 #line 2783 "drizzled/sql_yacc.yy"
10436 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"user", NULL)))
10440 Lex.setCacheable(
false);
10447 #line 2791 "drizzled/sql_yacc.yy"
10448 { (yyval.item)=
new (YYSession->mem_root)
Item_date_typecast((yyvsp[(3) - (4)].item)); }
10454 #line 2793 "drizzled/sql_yacc.yy"
10461 #line 2795 "drizzled/sql_yacc.yy"
10462 { (yyval.item)=
new (YYSession->mem_root)
Item_func_hour((yyvsp[(3) - (4)].item)); }
10468 #line 2797 "drizzled/sql_yacc.yy"
10469 { (yyval.item)=
new (YYSession->mem_root)
Item_func_insert(*YYSession, (yyvsp[(3) - (10)].item), (yyvsp[(5) - (10)].item), (yyvsp[(7) - (10)].item), (yyvsp[(9) - (10)].item)); }
10475 #line 2799 "drizzled/sql_yacc.yy"
10478 list->push_front((yyvsp[(5) - (6)].item));
10479 list->push_front((yyvsp[(3) - (6)].item));
10488 #line 2807 "drizzled/sql_yacc.yy"
10490 (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
10491 (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(3) - (8)].item));
10492 Item_row *item=
new (YYSession->mem_root)
Item_row(*(yyvsp[(7) - (8)].item_list));
10500 #line 2814 "drizzled/sql_yacc.yy"
10501 { (yyval.item)=
new (YYSession->mem_root)
Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
10507 #line 2816 "drizzled/sql_yacc.yy"
10508 { (yyval.item)=
new (YYSession->mem_root)
Item_func_minute((yyvsp[(3) - (4)].item)); }
10514 #line 2818 "drizzled/sql_yacc.yy"
10515 { (yyval.item)=
new (YYSession->mem_root)
Item_func_month((yyvsp[(3) - (4)].item)); }
10521 #line 2820 "drizzled/sql_yacc.yy"
10522 { (yyval.item)=
new (YYSession->mem_root)
Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
10528 #line 2822 "drizzled/sql_yacc.yy"
10529 { (yyval.item)=
new (YYSession->mem_root)
Item_func_second((yyvsp[(3) - (4)].item)); }
10535 #line 2824 "drizzled/sql_yacc.yy"
10542 #line 2826 "drizzled/sql_yacc.yy"
10543 { (yyval.item)=
new (YYSession->mem_root)
Item_func_trim((yyvsp[(3) - (4)].item)); }
10549 #line 2828 "drizzled/sql_yacc.yy"
10550 { (yyval.item)=
new (YYSession->mem_root)
Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10556 #line 2830 "drizzled/sql_yacc.yy"
10557 { (yyval.item)=
new (YYSession->mem_root)
Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10563 #line 2832 "drizzled/sql_yacc.yy"
10564 { (yyval.item)=
new (YYSession->mem_root)
Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10570 #line 2834 "drizzled/sql_yacc.yy"
10571 { (yyval.item)=
new (YYSession->mem_root)
Item_func_ltrim((yyvsp[(5) - (6)].item)); }
10577 #line 2836 "drizzled/sql_yacc.yy"
10578 { (yyval.item)=
new (YYSession->mem_root)
Item_func_rtrim((yyvsp[(5) - (6)].item)); }
10584 #line 2838 "drizzled/sql_yacc.yy"
10585 { (yyval.item)=
new (YYSession->mem_root)
Item_func_trim((yyvsp[(5) - (6)].item)); }
10591 #line 2840 "drizzled/sql_yacc.yy"
10592 { (yyval.item)=
new (YYSession->mem_root)
Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
10598 #line 2842 "drizzled/sql_yacc.yy"
10600 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"user", NULL)))
10604 Lex.setCacheable(
false);
10611 #line 2850 "drizzled/sql_yacc.yy"
10612 { (yyval.item)=
new (YYSession->mem_root)
Item_func_year((yyvsp[(3) - (4)].item)); }
10618 #line 2866 "drizzled/sql_yacc.yy"
10620 (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
10628 #line 2871 "drizzled/sql_yacc.yy"
10629 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0); }
10635 #line 2873 "drizzled/sql_yacc.yy"
10638 Lex.setCacheable(
false);
10645 #line 2878 "drizzled/sql_yacc.yy"
10648 Lex.setCacheable(
false);
10655 #line 2883 "drizzled/sql_yacc.yy"
10656 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0); }
10662 #line 2885 "drizzled/sql_yacc.yy"
10663 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1); }
10669 #line 2887 "drizzled/sql_yacc.yy"
10670 { (yyval.item)=
new (YYSession->mem_root)
Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item)); }
10676 #line 2889 "drizzled/sql_yacc.yy"
10679 Lex.setCacheable(
false);
10686 #line 2894 "drizzled/sql_yacc.yy"
10689 Lex.setCacheable(
false);
10696 #line 2899 "drizzled/sql_yacc.yy"
10697 { (yyval.item) =
new (YYSession->mem_root)
Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
10703 #line 2901 "drizzled/sql_yacc.yy"
10705 (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
10713 #line 2906 "drizzled/sql_yacc.yy"
10714 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1); }
10720 #line 2908 "drizzled/sql_yacc.yy"
10723 args->push_back((yyvsp[(3) - (8)].item));
10724 args->push_back((yyvsp[(5) - (8)].item));
10725 args->push_back((yyvsp[(7) - (8)].item));
10726 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"substr", args)))
10736 #line 2919 "drizzled/sql_yacc.yy"
10739 args->push_back((yyvsp[(3) - (6)].item));
10740 args->push_back((yyvsp[(5) - (6)].item));
10741 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"substr", args)))
10751 #line 2929 "drizzled/sql_yacc.yy"
10754 args->push_back((yyvsp[(3) - (8)].item));
10755 args->push_back((yyvsp[(5) - (8)].item));
10756 args->push_back((yyvsp[(7) - (8)].item));
10757 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"substr", args)))
10767 #line 2940 "drizzled/sql_yacc.yy"
10770 args->push_back((yyvsp[(3) - (6)].item));
10771 args->push_back((yyvsp[(5) - (6)].item));
10772 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"substr", args)))
10782 #line 2950 "drizzled/sql_yacc.yy"
10785 Lex.setCacheable(
false);
10792 #line 2955 "drizzled/sql_yacc.yy"
10795 Lex.setCacheable(
false);
10802 #line 2960 "drizzled/sql_yacc.yy"
10803 { (yyval.item)=
new (YYSession->mem_root)
Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0); }
10809 #line 2962 "drizzled/sql_yacc.yy"
10810 { (yyval.item)=
new (YYSession->mem_root)
Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st)); }
10816 #line 2964 "drizzled/sql_yacc.yy"
10819 Lex.setCacheable(
false);
10826 #line 2969 "drizzled/sql_yacc.yy"
10829 Lex.setCacheable(
false);
10836 #line 2974 "drizzled/sql_yacc.yy"
10839 Lex.setCacheable(
false);
10846 #line 2987 "drizzled/sql_yacc.yy"
10847 { (yyval.item)=
new (YYSession->mem_root)
Item_func_coalesce(* (yyvsp[(3) - (4)].item_list)); }
10853 #line 2989 "drizzled/sql_yacc.yy"
10854 { (yyval.item)=
new (YYSession->mem_root)
Item_func_collation((yyvsp[(3) - (4)].item)); }
10860 #line 2991 "drizzled/sql_yacc.yy"
10862 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"database", NULL)))
10866 Lex.setCacheable(
false);
10873 #line 2999 "drizzled/sql_yacc.yy"
10875 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"catalog", NULL)))
10879 Lex.setCacheable(
false);
10886 #line 3007 "drizzled/sql_yacc.yy"
10889 args->push_back((yyvsp[(3) - (5)].item));
10891 if ((yyvsp[(5) - (5)].
boolean))
10893 args->push_back(
new (YYSession->mem_root)
Item_int(1));
10896 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"execute", args)))
10906 #line 3022 "drizzled/sql_yacc.yy"
10908 (yyval.item)=
new (YYSession->mem_root)
Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item));
10915 #line 3026 "drizzled/sql_yacc.yy"
10918 args->push_back((yyvsp[(4) - (5)].item));
10920 if ((yyvsp[(2) - (5)].num))
10922 args->push_back(
new (YYSession->mem_root)
Item_uint(1));
10925 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"kill", args)))
10935 #line 3041 "drizzled/sql_yacc.yy"
10942 #line 3043 "drizzled/sql_yacc.yy"
10943 { (yyval.item) =
new (YYSession->mem_root)
Item_func_mod( (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); }
10949 #line 3045 "drizzled/sql_yacc.yy"
10950 { (yyval.item) =
new (YYSession->mem_root)
Item_func_quarter((yyvsp[(3) - (4)].item)); }
10956 #line 3047 "drizzled/sql_yacc.yy"
10957 { (yyval.item)=
new (YYSession->mem_root)
Item_func_repeat(*YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); }
10963 #line 3049 "drizzled/sql_yacc.yy"
10964 { (yyval.item)=
new (YYSession->mem_root)
Item_func_replace(*YYSession, (yyvsp[(3) - (8)].item), (yyvsp[(5) - (8)].item), (yyvsp[(7) - (8)].item)); }
10970 #line 3051 "drizzled/sql_yacc.yy"
10971 { (yyval.item)=
new (YYSession->mem_root)
Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1); }
10977 #line 3053 "drizzled/sql_yacc.yy"
10980 args->push_back((yyvsp[(3) - (4)].item));
10981 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"wait", args)))
10991 #line 3062 "drizzled/sql_yacc.yy"
10993 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"uuid", NULL)))
10997 Lex.setCacheable(
false);
11004 #line 3070 "drizzled/sql_yacc.yy"
11006 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"ipv6", NULL)))
11010 Lex.setCacheable(
false);
11017 #line 3078 "drizzled/sql_yacc.yy"
11020 args->push_back((yyvsp[(3) - (6)].item));
11021 args->push_back((yyvsp[(5) - (6)].item));
11022 if (! ((yyval.item)= parser::reserved_keyword_function(YYSession,
"wait", args)))
11032 #line 3099 "drizzled/sql_yacc.yy"
11034 const plugin::Function *udf= plugin::Function::get(to_string((yyvsp[(1) - (2)].lex_str)));
11044 #line 3106 "drizzled/sql_yacc.yy"
11059 item= builder->create(YYSession, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list));
11061 else if (
const plugin::Function* udf= (yyvsp[(3) - (5)].udf))
11068 my_error(ER_SP_DOES_NOT_EXIST, MYF(0),
"FUNCTION", (yyvsp[(1) - (5)].lex_str).data());
11071 if (not ((yyval.item)= item))
11075 Lex.setCacheable(
false);
11082 #line 3141 "drizzled/sql_yacc.yy"
11083 { (yyval.item_list)= NULL; }
11089 #line 3142 "drizzled/sql_yacc.yy"
11090 { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); }
11096 #line 3147 "drizzled/sql_yacc.yy"
11098 (yyval.item_list)=
new (YYSession->mem_root)
List<Item>;
11099 (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
11106 #line 3152 "drizzled/sql_yacc.yy"
11108 (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
11109 (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
11116 #line 3160 "drizzled/sql_yacc.yy"
11124 if ((yyvsp[(4) - (4)].lex_str).data())
11126 (yyvsp[(2) - (4)].item)->is_autogenerated_name=
false;
11127 (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).data(), (yyvsp[(4) - (4)].lex_str).size(), system_charset_info);
11130 (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), YYSession->charset());
11131 (yyval.item)= (yyvsp[(2) - (4)].item);
11138 #line 3180 "drizzled/sql_yacc.yy"
11139 { (yyval.item)=
new Item_sum_avg((yyvsp[(3) - (4)].item)); }
11145 #line 3182 "drizzled/sql_yacc.yy"
11152 #line 3184 "drizzled/sql_yacc.yy"
11159 #line 3186 "drizzled/sql_yacc.yy"
11166 #line 3188 "drizzled/sql_yacc.yy"
11167 { Lex.current_select->in_sum_expr++; }
11173 #line 3190 "drizzled/sql_yacc.yy"
11174 { Lex.current_select->in_sum_expr--; }
11180 #line 3192 "drizzled/sql_yacc.yy"
11187 #line 3194 "drizzled/sql_yacc.yy"
11188 { (yyval.item)=
new Item_sum_min((yyvsp[(3) - (4)].item)); }
11194 #line 3201 "drizzled/sql_yacc.yy"
11195 { (yyval.item)=
new Item_sum_min((yyvsp[(4) - (5)].item)); }
11201 #line 3203 "drizzled/sql_yacc.yy"
11202 { (yyval.item)=
new Item_sum_max((yyvsp[(3) - (4)].item)); }
11208 #line 3205 "drizzled/sql_yacc.yy"
11209 { (yyval.item)=
new Item_sum_max((yyvsp[(4) - (5)].item)); }
11215 #line 3207 "drizzled/sql_yacc.yy"
11216 { (yyval.item)=
new Item_sum_std((yyvsp[(3) - (4)].item), 0); }
11222 #line 3209 "drizzled/sql_yacc.yy"
11229 #line 3211 "drizzled/sql_yacc.yy"
11230 { (yyval.item)=
new Item_sum_std((yyvsp[(3) - (4)].item), 1); }
11236 #line 3213 "drizzled/sql_yacc.yy"
11243 #line 3215 "drizzled/sql_yacc.yy"
11244 { (yyval.item)=
new Item_sum_sum((yyvsp[(3) - (4)].item)); }
11250 #line 3217 "drizzled/sql_yacc.yy"
11257 #line 3219 "drizzled/sql_yacc.yy"
11258 { Lex.current_select->in_sum_expr++; }
11264 #line 3223 "drizzled/sql_yacc.yy"
11266 Select_Lex *sel= Lex.current_select;
11267 sel->in_sum_expr--;
11268 (yyval.item)=
new Item_func_group_concat(Lex.current_context(), (yyvsp[(3) - (8)].num), (yyvsp[(5) - (8)].item_list),
11269 sel->gorder_list, (yyvsp[(7) - (8)].string));
11270 (yyvsp[(5) - (8)].item_list)->clear();
11277 #line 3234 "drizzled/sql_yacc.yy"
11284 #line 3236 "drizzled/sql_yacc.yy"
11286 (yyval.item)= (yyvsp[(3) - (3)].item);
11293 #line 3243 "drizzled/sql_yacc.yy"
11296 Lex.setCacheable(
false);
11303 #line 3248 "drizzled/sql_yacc.yy"
11306 Lex.setCacheable(
false);
11313 #line 3253 "drizzled/sql_yacc.yy"
11316 if ((yyvsp[(3) - (4)].lex_str).data() && (yyvsp[(4) - (4)].lex_str).data() && parser::check_reserved_words((yyvsp[(3) - (4)].lex_str)))
11318 parser::my_parse_error(YYSession->m_lip);
11321 if (!((yyval.item)= get_system_var(YYSession, (yyvsp[(2) - (4)].var_type), (yyvsp[(3) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str))))
11329 #line 3266 "drizzled/sql_yacc.yy"
11330 { (yyval.num) =
false; }
11336 #line 3267 "drizzled/sql_yacc.yy"
11337 { (yyval.num) =
true; }
11343 #line 3272 "drizzled/sql_yacc.yy"
11345 (yyval.string)=
new (YYSession->mem_root)
String(
",", 1, &my_charset_utf8_general_ci);
11352 #line 3275 "drizzled/sql_yacc.yy"
11353 { (yyval.string) = (yyvsp[(2) - (2)].
string); }
11359 #line 3280 "drizzled/sql_yacc.yy"
11361 Lex.current_select->gorder_list = NULL;
11368 #line 3284 "drizzled/sql_yacc.yy"
11370 Select_Lex *select= Lex.current_select;
11371 select->gorder_list= (
SQL_LIST*) memory::sql_memdup(&select->order_list,
sizeof(
SQL_LIST));
11372 select->order_list.clear();
11379 #line 3293 "drizzled/sql_yacc.yy"
11381 if (Lex.current_select->inc_in_sum_expr())
11383 parser::my_parse_error(YYSession->m_lip);
11392 #line 3301 "drizzled/sql_yacc.yy"
11394 Lex.current_select->in_sum_expr--;
11395 (yyval.item)= (yyvsp[(3) - (3)].item);
11402 #line 3309 "drizzled/sql_yacc.yy"
11403 { (yyval.cast_type)=ITEM_CAST_CHAR; Lex.charset= &my_charset_bin; Lex.dec= 0; }
11409 #line 3311 "drizzled/sql_yacc.yy"
11410 { (yyval.cast_type)=ITEM_CAST_BOOLEAN; Lex.charset= &my_charset_bin; Lex.dec= 0; }
11416 #line 3313 "drizzled/sql_yacc.yy"
11417 { (yyval.cast_type)=ITEM_CAST_SIGNED; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11423 #line 3315 "drizzled/sql_yacc.yy"
11424 { (yyval.cast_type)=ITEM_CAST_SIGNED; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11430 #line 3317 "drizzled/sql_yacc.yy"
11431 { (yyval.cast_type)=ITEM_CAST_SIGNED; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11437 #line 3319 "drizzled/sql_yacc.yy"
11438 { (yyval.cast_type)=ITEM_CAST_UNSIGNED; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11444 #line 3321 "drizzled/sql_yacc.yy"
11445 { (yyval.cast_type)=ITEM_CAST_UNSIGNED; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11451 #line 3323 "drizzled/sql_yacc.yy"
11452 { (yyval.cast_type)=ITEM_CAST_CHAR; Lex.dec= 0; }
11458 #line 3325 "drizzled/sql_yacc.yy"
11459 { (yyval.cast_type)=ITEM_CAST_DATE; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11465 #line 3327 "drizzled/sql_yacc.yy"
11466 { (yyval.cast_type)=ITEM_CAST_TIME; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11472 #line 3329 "drizzled/sql_yacc.yy"
11473 { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex.charset= NULL; Lex.dec=Lex.length= NULL; }
11479 #line 3331 "drizzled/sql_yacc.yy"
11480 { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex.charset= NULL; }
11486 #line 3336 "drizzled/sql_yacc.yy"
11488 (yyval.item_list)=
new (YYSession->mem_root)
List<Item>;
11489 (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
11496 #line 3341 "drizzled/sql_yacc.yy"
11498 (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
11499 (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
11506 #line 3348 "drizzled/sql_yacc.yy"
11507 { (yyval.item)= NULL; }
11513 #line 3349 "drizzled/sql_yacc.yy"
11514 { (yyval.item)= (yyvsp[(1) - (1)].item); }
11520 #line 3353 "drizzled/sql_yacc.yy"
11521 { (yyval.item)= NULL; }
11527 #line 3354 "drizzled/sql_yacc.yy"
11528 { (yyval.item)= (yyvsp[(2) - (2)].item); }
11534 #line 3359 "drizzled/sql_yacc.yy"
11537 (yyval.item_list)->push_back((yyvsp[(2) - (4)].item));
11538 (yyval.item_list)->push_back((yyvsp[(4) - (4)].item));
11545 #line 3365 "drizzled/sql_yacc.yy"
11547 (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item));
11548 (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item));
11549 (yyval.item_list)= (yyvsp[(1) - (5)].item_list);
11556 #line 3375 "drizzled/sql_yacc.yy"
11557 { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
11563 #line 3377 "drizzled/sql_yacc.yy"
11565 if (!((yyval.table_list)= Lex.current_select->nest_last_join(Lex.session)))
11573 #line 3384 "drizzled/sql_yacc.yy"
11574 { DRIZZLE_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); }
11580 #line 3395 "drizzled/sql_yacc.yy"
11581 { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
11587 #line 3396 "drizzled/sql_yacc.yy"
11588 { (yyval.table_list)=(yyvsp[(3) - (4)].table_list); }
11594 #line 3402 "drizzled/sql_yacc.yy"
11595 { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
11601 #line 3404 "drizzled/sql_yacc.yy"
11603 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list)));
11610 #line 3424 "drizzled/sql_yacc.yy"
11612 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list)));
11613 Lex.is_cross=
false;
11620 #line 3429 "drizzled/sql_yacc.yy"
11622 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1;
11629 #line 3434 "drizzled/sql_yacc.yy"
11631 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
11632 DRIZZLE_YYABORT_UNLESS( not Lex.is_cross );
11634 push_new_name_resolution_context(*YYSession, *(yyvsp[(1) - (4)].table_list), *(yyvsp[(3) - (4)].table_list));
11635 Lex.current_select->parsing_place= IN_ON;
11642 #line 3442 "drizzled/sql_yacc.yy"
11644 add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
11646 Lex.current_select->parsing_place= NO_MATTER;
11653 #line 3449 "drizzled/sql_yacc.yy"
11655 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
11657 push_new_name_resolution_context(*YYSession, *(yyvsp[(1) - (4)].table_list), *(yyvsp[(3) - (4)].table_list));
11658 Lex.current_select->parsing_place= IN_ON;
11665 #line 3456 "drizzled/sql_yacc.yy"
11667 (yyvsp[(3) - (6)].table_list)->straight=1;
11668 add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
11670 Lex.current_select->parsing_place= NO_MATTER;
11677 #line 3464 "drizzled/sql_yacc.yy"
11679 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
11686 #line 3468 "drizzled/sql_yacc.yy"
11687 {
add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Lex.current_select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); }
11693 #line 3470 "drizzled/sql_yacc.yy"
11695 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list)));
11696 add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Lex.current_select);
11703 #line 3478 "drizzled/sql_yacc.yy"
11705 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
11707 push_new_name_resolution_context(*YYSession, *(yyvsp[(1) - (6)].table_list), *(yyvsp[(5) - (6)].table_list));
11708 Lex.current_select->parsing_place= IN_ON;
11715 #line 3485 "drizzled/sql_yacc.yy"
11717 add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item));
11719 (yyvsp[(5) - (8)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11720 (yyval.table_list)=(yyvsp[(5) - (8)].table_list);
11721 Lex.current_select->parsing_place= NO_MATTER;
11728 #line 3493 "drizzled/sql_yacc.yy"
11730 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
11737 #line 3497 "drizzled/sql_yacc.yy"
11739 add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex.current_select);
11740 (yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11741 (yyval.table_list)=(yyvsp[(5) - (10)].table_list);
11748 #line 3503 "drizzled/sql_yacc.yy"
11750 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
11751 add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Lex.current_select);
11752 (yyvsp[(6) - (6)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11753 (yyval.table_list)=(yyvsp[(6) - (6)].table_list);
11760 #line 3513 "drizzled/sql_yacc.yy"
11762 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
11764 push_new_name_resolution_context(*YYSession, *(yyvsp[(1) - (6)].table_list), *(yyvsp[(5) - (6)].table_list));
11765 Lex.current_select->parsing_place= IN_ON;
11772 #line 3520 "drizzled/sql_yacc.yy"
11774 if (!((yyval.table_list)= Lex.current_select->convert_right_join()))
11776 add_join_on((yyval.table_list), (yyvsp[(8) - (8)].item));
11778 Lex.current_select->parsing_place= NO_MATTER;
11785 #line 3528 "drizzled/sql_yacc.yy"
11787 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
11794 #line 3532 "drizzled/sql_yacc.yy"
11796 if (!((yyval.table_list)= Lex.current_select->convert_right_join()))
11798 add_join_natural((yyval.table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex.current_select);
11805 #line 3538 "drizzled/sql_yacc.yy"
11807 DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
11808 add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Lex.current_select);
11809 if (!((yyval.table_list)= Lex.current_select->convert_right_join()))
11817 #line 3547 "drizzled/sql_yacc.yy"
11824 #line 3548 "drizzled/sql_yacc.yy"
11831 #line 3550 "drizzled/sql_yacc.yy"
11833 Lex.is_cross=
true;
11834 Lex.current_select->is_cross=
true;
11841 #line 3565 "drizzled/sql_yacc.yy"
11849 #line 3568 "drizzled/sql_yacc.yy"
11851 if (!((yyval.table_list)= Lex.current_select->add_table_to_list(YYSession, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr),
11854 Lex.current_select->pop_index_hints())))
11856 Lex.current_select->add_joined_table((yyval.table_list));
11863 #line 3577 "drizzled/sql_yacc.yy"
11865 Select_Lex *sel= Lex.current_select;
11866 if ((yyvsp[(1) - (3)].num))
11868 if (sel->set_braces(1))
11870 parser::my_parse_error(YYSession->m_lip);
11874 if (sel->master_unit()->fake_select_lex)
11875 sel->master_unit()->global_parameters=
11876 sel->master_unit()->fake_select_lex;
11878 (yyvsp[(2) - (3)].select_lex)->init_nested_join(*Lex.session);
11879 (yyval.table_list)= 0;
11888 #line 3615 "drizzled/sql_yacc.yy"
11892 if (!((yyvsp[(3) - (5)].table_list) || (yyvsp[(5) - (5)].lex_str_ptr)) && (yyvsp[(2) - (5)].select_lex)->embedding &&
11893 !(yyvsp[(2) - (5)].select_lex)->embedding->getNestedJoin()->join_list.size())
11899 (yyval.table_list)= 0;
11901 else if (!(yyvsp[(3) - (5)].table_list))
11906 Select_Lex *sel= Lex.current_select;
11907 Select_Lex_Unit *unit= sel->master_unit();
11908 Lex.current_select= sel= unit->outer_select();
11909 if (!((yyval.table_list)= sel->add_table_to_list(Lex.session,
11910 new Table_ident(unit), (yyvsp[(5) - (5)].lex_str_ptr), 0,
11914 sel->add_joined_table((yyval.table_list));
11917 else if (((yyvsp[(3) - (5)].table_list)->select_lex && (yyvsp[(3) - (5)].table_list)->select_lex->master_unit()->is_union()) || (yyvsp[(5) - (5)].lex_str_ptr))
11920 parser::my_parse_error(YYSession->m_lip);
11924 (yyval.table_list)= (yyvsp[(3) - (5)].table_list);
11931 #line 3659 "drizzled/sql_yacc.yy"
11933 if (parser::add_select_to_union_list(YYSession, &Lex, (
bool)(yyvsp[(3) - (3)].num)))
11941 #line 3664 "drizzled/sql_yacc.yy"
11954 #line 3677 "drizzled/sql_yacc.yy"
11956 Select_Lex * sel= Lex.current_select;
11957 if (Lex.current_select->set_braces(0))
11959 parser::my_parse_error(YYSession->m_lip);
11962 if (sel->linkage == UNION_TYPE &&
11963 sel->master_unit()->first_select()->braces)
11965 parser::my_parse_error(YYSession->m_lip);
11974 #line 3695 "drizzled/sql_yacc.yy"
11976 Select_Lex *sel= Lex.current_select;
11977 if (sel->linkage != UNION_TYPE)
11979 Lex.current_select->parsing_place= SELECT_LIST;
11986 #line 3702 "drizzled/sql_yacc.yy"
11988 Lex.current_select->parsing_place= NO_MATTER;
11995 #line 3711 "drizzled/sql_yacc.yy"
11997 (yyvsp[(1) - (1)].select_lex)->init_nested_join(*Lex.session);
12004 #line 3715 "drizzled/sql_yacc.yy"
12009 if (!((yyval.table_list)= (yyvsp[(1) - (3)].select_lex)->end_nested_join()) && (yyvsp[(3) - (3)].table_list))
12012 if (!(yyvsp[(3) - (3)].table_list) && (yyval.table_list))
12014 parser::my_parse_error(YYSession->m_lip);
12023 #line 3731 "drizzled/sql_yacc.yy"
12025 Lex.derived_tables|= DERIVED_SUBQUERY;
12026 if (not Lex.expr_allows_subselect)
12028 parser::my_parse_error(YYSession->m_lip);
12031 if (Lex.current_select->linkage == GLOBAL_OPTIONS_TYPE || new_select(&Lex, 1))
12034 Lex.current_select->linkage= DERIVED_TABLE_TYPE;
12035 Lex.current_select->parsing_place= SELECT_LIST;
12042 #line 3745 "drizzled/sql_yacc.yy"
12044 Lex.current_select->parsing_place= NO_MATTER;
12051 #line 3752 "drizzled/sql_yacc.yy"
12052 { (yyval.select_lex)= Lex.current_select; }
12058 #line 3757 "drizzled/sql_yacc.yy"
12060 Select_Lex *sel= Lex.current_select;
12062 if (!sel->embedding || sel->end_nested_join())
12065 parser::my_parse_error(YYSession->m_lip);
12068 embedding= Lex.current_select->embedding;
12069 (yyval.num)= embedding &&
12070 !embedding->getNestedJoin()->join_list.size();
12078 #line 3774 "drizzled/sql_yacc.yy"
12085 #line 3775 "drizzled/sql_yacc.yy"
12092 #line 3780 "drizzled/sql_yacc.yy"
12094 (yyval.num)= INDEX_HINT_MASK_ALL;
12101 #line 3783 "drizzled/sql_yacc.yy"
12102 { (yyval.num)= INDEX_HINT_MASK_JOIN; }
12108 #line 3784 "drizzled/sql_yacc.yy"
12109 { (yyval.num)= INDEX_HINT_MASK_ORDER; }
12115 #line 3785 "drizzled/sql_yacc.yy"
12116 { (yyval.num)= INDEX_HINT_MASK_GROUP; }
12122 #line 3789 "drizzled/sql_yacc.yy"
12123 { (yyval.index_hint)= INDEX_HINT_FORCE; }
12129 #line 3790 "drizzled/sql_yacc.yy"
12130 { (yyval.index_hint)= INDEX_HINT_IGNORE; }
12136 #line 3795 "drizzled/sql_yacc.yy"
12138 Lex.current_select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num));
12145 #line 3800 "drizzled/sql_yacc.yy"
12147 Lex.current_select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num));
12154 #line 3813 "drizzled/sql_yacc.yy"
12155 { Lex.current_select->alloc_index_hints(YYSession); }
12161 #line 3817 "drizzled/sql_yacc.yy"
12162 { Lex.current_select->clear_index_hints(); }
12168 #line 3822 "drizzled/sql_yacc.yy"
12169 { Lex.current_select->add_index_hint(YYSession, NULL); }
12175 #line 3823 "drizzled/sql_yacc.yy"
12182 #line 3828 "drizzled/sql_yacc.yy"
12183 { Lex.current_select->add_index_hint(YYSession, (yyvsp[(1) - (1)].lex_str).data()); }
12189 #line 3830 "drizzled/sql_yacc.yy"
12190 { Lex.current_select->add_index_hint(YYSession,
"PRIMARY"); }
12196 #line 3840 "drizzled/sql_yacc.yy"
12199 (yyval.string_list)->push_back(
new (YYSession->mem_root)
String((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size(), system_charset_info));
12206 #line 3845 "drizzled/sql_yacc.yy"
12208 (yyvsp[(1) - (3)].string_list)->push_back(
new (YYSession->mem_root)
String((yyvsp[(3) - (3)].lex_str).data(), (yyvsp[(3) - (3)].lex_str).size(), system_charset_info));
12209 (yyval.string_list)= (yyvsp[(1) - (3)].string_list);
12216 #line 3852 "drizzled/sql_yacc.yy"
12223 #line 3853 "drizzled/sql_yacc.yy"
12224 { (yyval.interval)=INTERVAL_DAY_HOUR; }
12230 #line 3854 "drizzled/sql_yacc.yy"
12231 { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
12237 #line 3855 "drizzled/sql_yacc.yy"
12238 { (yyval.interval)=INTERVAL_DAY_MINUTE; }
12244 #line 3856 "drizzled/sql_yacc.yy"
12245 { (yyval.interval)=INTERVAL_DAY_SECOND; }
12251 #line 3857 "drizzled/sql_yacc.yy"
12252 { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
12258 #line 3858 "drizzled/sql_yacc.yy"
12259 { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
12265 #line 3859 "drizzled/sql_yacc.yy"
12266 { (yyval.interval)=INTERVAL_HOUR_SECOND; }
12272 #line 3860 "drizzled/sql_yacc.yy"
12273 { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
12279 #line 3861 "drizzled/sql_yacc.yy"
12280 { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
12286 #line 3862 "drizzled/sql_yacc.yy"
12287 { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
12293 #line 3863 "drizzled/sql_yacc.yy"
12294 { (yyval.interval)=INTERVAL_YEAR_MONTH; }
12300 #line 3867 "drizzled/sql_yacc.yy"
12307 #line 3868 "drizzled/sql_yacc.yy"
12309 (yyval.interval_time_st)=INTERVAL_MICROSECOND;
12328 #line 3886 "drizzled/sql_yacc.yy"
12329 { (yyval.interval_time_st)=INTERVAL_DAY; }
12335 #line 3887 "drizzled/sql_yacc.yy"
12336 { (yyval.interval_time_st)=INTERVAL_WEEK; }
12342 #line 3888 "drizzled/sql_yacc.yy"
12343 { (yyval.interval_time_st)=INTERVAL_HOUR; }
12349 #line 3889 "drizzled/sql_yacc.yy"
12350 { (yyval.interval_time_st)=INTERVAL_MINUTE; }
12356 #line 3890 "drizzled/sql_yacc.yy"
12357 { (yyval.interval_time_st)=INTERVAL_MONTH; }
12363 #line 3891 "drizzled/sql_yacc.yy"
12364 { (yyval.interval_time_st)=INTERVAL_QUARTER; }
12370 #line 3892 "drizzled/sql_yacc.yy"
12371 { (yyval.interval_time_st)=INTERVAL_SECOND; }
12377 #line 3893 "drizzled/sql_yacc.yy"
12378 { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
12384 #line 3894 "drizzled/sql_yacc.yy"
12385 { (yyval.interval_time_st)=INTERVAL_YEAR; }
12391 #line 3903 "drizzled/sql_yacc.yy"
12392 { (yyval.lex_str_ptr)=0; }
12398 #line 3905 "drizzled/sql_yacc.yy"
12407 #line 3916 "drizzled/sql_yacc.yy"
12408 { Lex.current_select->where= 0; }
12414 #line 3918 "drizzled/sql_yacc.yy"
12416 Lex.current_select->parsing_place= IN_WHERE;
12423 #line 3922 "drizzled/sql_yacc.yy"
12425 Select_Lex *select= Lex.current_select;
12426 select->where= (yyvsp[(3) - (3)].item);
12427 select->parsing_place= NO_MATTER;
12428 if ((yyvsp[(3) - (3)].item))
12429 (yyvsp[(3) - (3)].item)->top_level_item();
12436 #line 3934 "drizzled/sql_yacc.yy"
12438 Lex.current_select->parsing_place= IN_HAVING;
12445 #line 3938 "drizzled/sql_yacc.yy"
12447 Select_Lex *sel= Lex.current_select;
12448 sel->having= (yyvsp[(3) - (3)].item);
12449 sel->parsing_place= NO_MATTER;
12450 if ((yyvsp[(3) - (3)].item))
12451 (yyvsp[(3) - (3)].item)->top_level_item();
12458 #line 3949 "drizzled/sql_yacc.yy"
12460 Lex.escape_used=
true;
12461 (yyval.item)= (yyvsp[(2) - (2)].item);
12468 #line 3954 "drizzled/sql_yacc.yy"
12470 Lex.escape_used=
false;
12478 #line 3971 "drizzled/sql_yacc.yy"
12479 { YYSession->add_group_to_list((yyvsp[(3) - (4)].item),(
bool) (yyvsp[(4) - (4)].num)); }
12485 #line 3973 "drizzled/sql_yacc.yy"
12486 { YYSession->add_group_to_list((yyvsp[(1) - (2)].item),(
bool) (yyvsp[(2) - (2)].num)); }
12492 #line 3977 "drizzled/sql_yacc.yy"
12499 #line 3979 "drizzled/sql_yacc.yy"
12508 if (Lex.current_select->linkage == GLOBAL_OPTIONS_TYPE)
12510 my_error(ER_WRONG_USAGE, MYF(0),
"WITH ROLLUP",
12511 "global union parameters");
12514 Lex.current_select->olap= ROLLUP_TYPE;
12521 #line 4012 "drizzled/sql_yacc.yy"
12523 bool ascending= (yyvsp[(2) - (2)].num) == 1;
12524 YYSession->add_order_to_list((yyvsp[(1) - (2)].item), ascending);
12531 #line 4029 "drizzled/sql_yacc.yy"
12533 if (not parser::buildOrderBy(&Lex))
12541 #line 4038 "drizzled/sql_yacc.yy"
12543 YYSession->add_order_to_list((yyvsp[(3) - (4)].item),(
bool) (yyvsp[(4) - (4)].num));
12550 #line 4042 "drizzled/sql_yacc.yy"
12552 YYSession->add_order_to_list((yyvsp[(1) - (2)].item),(
bool) (yyvsp[(2) - (2)].num));
12559 #line 4048 "drizzled/sql_yacc.yy"
12560 { (yyval.num) = 1; }
12566 #line 4049 "drizzled/sql_yacc.yy"
12567 { (yyval.num) =1; }
12573 #line 4050 "drizzled/sql_yacc.yy"
12574 { (yyval.num) =0; }
12580 #line 4055 "drizzled/sql_yacc.yy"
12582 Select_Lex *sel= Lex.current_select;
12583 sel->offset_limit= 0;
12584 sel->select_limit= 0;
12591 #line 4060 "drizzled/sql_yacc.yy"
12598 #line 4064 "drizzled/sql_yacc.yy"
12605 #line 4065 "drizzled/sql_yacc.yy"
12612 #line 4069 "drizzled/sql_yacc.yy"
12619 #line 4074 "drizzled/sql_yacc.yy"
12621 Select_Lex *sel= Lex.current_select;
12622 sel->select_limit= (yyvsp[(1) - (1)].item);
12623 sel->offset_limit= 0;
12624 sel->explicit_limit= 1;
12631 #line 4081 "drizzled/sql_yacc.yy"
12633 Select_Lex *sel= Lex.current_select;
12634 sel->select_limit= (yyvsp[(3) - (3)].item);
12635 sel->offset_limit= (yyvsp[(1) - (3)].item);
12636 sel->explicit_limit= 1;
12643 #line 4088 "drizzled/sql_yacc.yy"
12645 Select_Lex *sel= Lex.current_select;
12646 sel->select_limit= (yyvsp[(1) - (3)].item);
12647 sel->offset_limit= (yyvsp[(3) - (3)].item);
12648 sel->explicit_limit= 1;
12655 #line 4097 "drizzled/sql_yacc.yy"
12656 { (yyval.item)=
new Item_uint((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size()); }
12662 #line 4098 "drizzled/sql_yacc.yy"
12663 { (yyval.item)=
new Item_uint((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size()); }
12669 #line 4099 "drizzled/sql_yacc.yy"
12670 { (yyval.item)=
new Item_uint((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size()); }
12676 #line 4104 "drizzled/sql_yacc.yy"
12678 Lex.current_select->select_limit= 0;
12685 #line 4108 "drizzled/sql_yacc.yy"
12687 Select_Lex *sel= Lex.current_select;
12688 sel->select_limit= (yyvsp[(2) - (2)].item);
12689 sel->explicit_limit= 1;
12696 #line 4116 "drizzled/sql_yacc.yy"
12697 {
int error; (yyval.ulong_num)= (
unsigned long) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12703 #line 4117 "drizzled/sql_yacc.yy"
12704 { (yyval.ulong_num)= (
unsigned long) strtol((yyvsp[(1) - (1)].lex_str).data(), NULL, 16); }
12710 #line 4118 "drizzled/sql_yacc.yy"
12711 {
int error; (yyval.ulong_num)= (
unsigned long) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12717 #line 4119 "drizzled/sql_yacc.yy"
12718 {
int error; (yyval.ulong_num)= (
unsigned long) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12724 #line 4120 "drizzled/sql_yacc.yy"
12725 {
int error; (yyval.ulong_num)= (
unsigned long) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12731 #line 4121 "drizzled/sql_yacc.yy"
12732 {
int error; (yyval.ulong_num)= (
unsigned long) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12738 #line 4125 "drizzled/sql_yacc.yy"
12739 {
int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12745 #line 4126 "drizzled/sql_yacc.yy"
12746 {
int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12752 #line 4127 "drizzled/sql_yacc.yy"
12753 {
int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12759 #line 4128 "drizzled/sql_yacc.yy"
12760 {
int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12766 #line 4129 "drizzled/sql_yacc.yy"
12767 {
int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error); }
12773 #line 4133 "drizzled/sql_yacc.yy"
12775 if (not Lex.describe)
12783 #line 4138 "drizzled/sql_yacc.yy"
12790 #line 4143 "drizzled/sql_yacc.yy"
12797 #line 4148 "drizzled/sql_yacc.yy"
12801 ((
select_dumpvar *)Lex.result)->var_list.push_back(
new var((yyvsp[(2) - (2)].lex_str),0,0,(enum_field_types)0));
12809 assert(Lex.describe);
12817 #line 4166 "drizzled/sql_yacc.yy"
12824 #line 4172 "drizzled/sql_yacc.yy"
12826 Lex.setCacheable(
false);
12827 Lex.exchange=
new file_exchange((yyvsp[(2) - (2)].lex_str).data(), 0);
12835 #line 4179 "drizzled/sql_yacc.yy"
12837 if (not Lex.describe)
12839 Lex.setCacheable(
false);
12840 Lex.exchange=
new file_exchange((yyvsp[(2) - (2)].lex_str).data(),1);
12849 #line 4188 "drizzled/sql_yacc.yy"
12850 {Lex.setCacheable(
false);}
12856 #line 4197 "drizzled/sql_yacc.yy"
12865 #line 4201 "drizzled/sql_yacc.yy"
12868 Lex.statement= statement;
12869 statement->drop_temporary= (yyvsp[(2) - (5)].boolean);
12870 statement->drop_if_exists= (yyvsp[(4) - (5)].boolean);
12877 #line 4207 "drizzled/sql_yacc.yy"
12884 #line 4208 "drizzled/sql_yacc.yy"
12887 Lex.statement= statement;
12888 statement->alter_info.flags.set(ALTER_DROP_INDEX);
12890 if (not Lex.current_select->add_table_to_list(Lex.session, (yyvsp[(6) - (7)].table), NULL,
12891 TL_OPTION_UPDATING))
12895 operation= Lex.alter_table()->add_operations();
12896 operation->set_operation(message::AlterTable::AlterTableOperation::DROP_KEY);
12897 operation->set_drop_name((yyvsp[(4) - (7)].lex_str).data());
12905 #line 4224 "drizzled/sql_yacc.yy"
12908 Lex.statement= statement;
12909 statement->drop_if_exists=(yyvsp[(3) - (4)].boolean);
12910 Lex.name= (yyvsp[(4) - (4)].lex_str);
12917 #line 4239 "drizzled/sql_yacc.yy"
12919 if (!Lex.current_select->add_table_to_list(YYSession, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING))
12927 #line 4246 "drizzled/sql_yacc.yy"
12928 { (yyval.boolean)=
false; }
12934 #line 4247 "drizzled/sql_yacc.yy"
12935 { (yyval.boolean)=
true; }
12941 #line 4251 "drizzled/sql_yacc.yy"
12942 { (yyval.boolean)=
false; }
12948 #line 4252 "drizzled/sql_yacc.yy"
12949 { (yyval.boolean)=
true; }
12955 #line 4261 "drizzled/sql_yacc.yy"
12957 Lex.statement=
new statement::Execute(YYSession, (yyvsp[(2) - (5)].execute_string), (yyvsp[(3) - (5)].
boolean), (yyvsp[(4) - (5)].
boolean), (yyvsp[(5) - (5)].
boolean));
12964 #line 4268 "drizzled/sql_yacc.yy"
12966 (yyval.execute_string).
set((yyvsp[(1) - (1)].lex_str));
12973 #line 4272 "drizzled/sql_yacc.yy"
12975 (yyval.execute_string).
set((yyvsp[(2) - (2)].lex_str),
true);
12982 #line 4277 "drizzled/sql_yacc.yy"
12983 { (yyval.boolean)=
false; }
12989 #line 4278 "drizzled/sql_yacc.yy"
12990 { (yyval.boolean)=
true; }
12996 #line 4282 "drizzled/sql_yacc.yy"
12997 { (yyval.boolean)=
false; }
13003 #line 4283 "drizzled/sql_yacc.yy"
13004 { (yyval.boolean)=
true; }
13010 #line 4287 "drizzled/sql_yacc.yy"
13011 { (yyval.boolean)=
false; }
13017 #line 4288 "drizzled/sql_yacc.yy"
13018 { (yyval.boolean)=
true; }
13024 #line 4297 "drizzled/sql_yacc.yy"
13027 Lex.duplicates= DUP_ERROR;
13030 Lex.lock_option= TL_READ;
13037 #line 4305 "drizzled/sql_yacc.yy"
13039 Lex.current_select->set_lock_for_tables(TL_WRITE_CONCURRENT_INSERT);
13040 Lex.current_select= &Lex.select_lex;
13047 #line 4310 "drizzled/sql_yacc.yy"
13054 #line 4315 "drizzled/sql_yacc.yy"
13057 Lex.duplicates= DUP_REPLACE;
13065 #line 4321 "drizzled/sql_yacc.yy"
13067 Lex.current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
13068 Lex.current_select= &Lex.select_lex;
13075 #line 4326 "drizzled/sql_yacc.yy"
13082 #line 4330 "drizzled/sql_yacc.yy"
13089 #line 4331 "drizzled/sql_yacc.yy"
13096 #line 4336 "drizzled/sql_yacc.yy"
13098 Lex.field_list.clear();
13099 Lex.many_values.clear();
13107 #line 4343 "drizzled/sql_yacc.yy"
13114 #line 4344 "drizzled/sql_yacc.yy"
13121 #line 4345 "drizzled/sql_yacc.yy"
13128 #line 4347 "drizzled/sql_yacc.yy"
13131 Lex.many_values.push_back(Lex.insert_list);
13138 #line 4355 "drizzled/sql_yacc.yy"
13139 { Lex.field_list.push_back((yyvsp[(3) - (3)].item)); }
13145 #line 4356 "drizzled/sql_yacc.yy"
13146 { Lex.field_list.push_back((yyvsp[(1) - (1)].item)); }
13152 #line 4360 "drizzled/sql_yacc.yy"
13159 #line 4361 "drizzled/sql_yacc.yy"
13166 #line 4363 "drizzled/sql_yacc.yy"
13168 Lex.current_select->set_braces(0);
13175 #line 4366 "drizzled/sql_yacc.yy"
13182 #line 4368 "drizzled/sql_yacc.yy"
13184 Lex.current_select->set_braces(1);
13191 #line 4371 "drizzled/sql_yacc.yy"
13198 #line 4386 "drizzled/sql_yacc.yy"
13200 Lex.field_list.push_back((yyvsp[(1) - (3)].item));
13201 Lex.insert_list->push_back((yyvsp[(3) - (3)].item));
13208 #line 4393 "drizzled/sql_yacc.yy"
13215 #line 4394 "drizzled/sql_yacc.yy"
13222 #line 4398 "drizzled/sql_yacc.yy"
13229 #line 4399 "drizzled/sql_yacc.yy"
13236 #line 4404 "drizzled/sql_yacc.yy"
13245 #line 4408 "drizzled/sql_yacc.yy"
13247 Lex.many_values.push_back(Lex.insert_list);
13254 #line 4414 "drizzled/sql_yacc.yy"
13261 #line 4420 "drizzled/sql_yacc.yy"
13263 Lex.insert_list->push_back((yyvsp[(3) - (3)].item));
13270 #line 4424 "drizzled/sql_yacc.yy"
13272 Lex.insert_list->push_back((yyvsp[(1) - (1)].item));
13279 #line 4430 "drizzled/sql_yacc.yy"
13280 { (yyval.item)= (yyvsp[(1) - (1)].item);}
13286 #line 4431 "drizzled/sql_yacc.yy"
13293 #line 4436 "drizzled/sql_yacc.yy"
13294 { Lex.duplicates= DUP_UPDATE; }
13300 #line 4444 "drizzled/sql_yacc.yy"
13304 Lex.lock_option= TL_UNLOCK;
13305 Lex.duplicates= DUP_ERROR;
13306 if (not Lex.select_lex.add_table_to_list(YYSession, (yyvsp[(3) - (5)].table), NULL,0))
13309 if (Lex.select_lex.get_table_list()->derived)
13312 my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
13313 Lex.select_lex.get_table_list()->alias,
"UPDATE");
13321 Lex.current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
13328 #line 4466 "drizzled/sql_yacc.yy"
13335 #line 4476 "drizzled/sql_yacc.yy"
13337 YYSession->add_item_to_list((yyvsp[(1) - (3)].item));
13338 YYSession->add_value_to_list((yyvsp[(3) - (3)].item));
13345 #line 4489 "drizzled/sql_yacc.yy"
13347 Lex.update_list.push_back((yyvsp[(1) - (3)].item));
13348 Lex.value_list.push_back((yyvsp[(3) - (3)].item));
13355 #line 4499 "drizzled/sql_yacc.yy"
13359 Lex.lock_option= TL_WRITE_DEFAULT;
13360 Lex.select_lex.init_order();
13361 Lex.current_select->add_table_to_list(YYSession, (yyvsp[(4) - (4)].table), NULL, TL_OPTION_UPDATING, Lex.lock_option);
13368 #line 4507 "drizzled/sql_yacc.yy"
13375 #line 4511 "drizzled/sql_yacc.yy"
13382 #line 4512 "drizzled/sql_yacc.yy"
13389 #line 4517 "drizzled/sql_yacc.yy"
13392 Lex.select_lex.options= 0;
13393 Lex.select_lex.init_order();
13400 #line 4533 "drizzled/sql_yacc.yy"
13402 Lex.lock_option= TL_READ;
13404 Lex.current_select->parsing_place= SELECT_LIST;
13411 #line 4539 "drizzled/sql_yacc.yy"
13418 #line 4545 "drizzled/sql_yacc.yy"
13420 if (not show::buildSchemas(YYSession))
13428 #line 4551 "drizzled/sql_yacc.yy"
13430 if (not show::buildTables(YYSession, (yyvsp[(2) - (3)].simple_string)))
13438 #line 4557 "drizzled/sql_yacc.yy"
13440 if (not show::buildTemporaryTables(YYSession))
13448 #line 4563 "drizzled/sql_yacc.yy"
13450 if (not show::buildTableStatus(YYSession, (yyvsp[(3) - (4)].simple_string)))
13458 #line 4569 "drizzled/sql_yacc.yy"
13460 if (not show::buildColumns(YYSession, (yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)))
13468 #line 4575 "drizzled/sql_yacc.yy"
13470 if (not show::buildIndex(YYSession, (yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)))
13478 #line 4580 "drizzled/sql_yacc.yy"
13480 show::buildSelectWarning(YYSession);
13487 #line 4584 "drizzled/sql_yacc.yy"
13489 show::buildSelectError(YYSession);
13496 #line 4588 "drizzled/sql_yacc.yy"
13498 show::buildWarnings(YYSession);
13505 #line 4592 "drizzled/sql_yacc.yy"
13507 show::buildErrors(YYSession);
13514 #line 4596 "drizzled/sql_yacc.yy"
13516 if (not show::buildStatus(YYSession, (yyvsp[(1) - (3)].var_type)))
13524 #line 4601 "drizzled/sql_yacc.yy"
13526 if (not show::buildEngineStatus(YYSession, (yyvsp[(1) - (2)].lex_str)))
13534 #line 4606 "drizzled/sql_yacc.yy"
13536 if (not show::buildCreateTable(YYSession, (yyvsp[(3) - (3)].table)))
13544 #line 4611 "drizzled/sql_yacc.yy"
13546 if (not show::buildProcesslist(YYSession))
13554 #line 4616 "drizzled/sql_yacc.yy"
13556 if (not show::buildVariables(YYSession, (yyvsp[(1) - (3)].var_type)))
13564 #line 4621 "drizzled/sql_yacc.yy"
13566 if (not show::buildCreateSchema(YYSession, (yyvsp[(4) - (4)].lex_str)))
13574 #line 4627 "drizzled/sql_yacc.yy"
13575 { (yyval.simple_string)= 0; }
13581 #line 4628 "drizzled/sql_yacc.yy"
13582 { (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).data(); }
13588 #line 4639 "drizzled/sql_yacc.yy"
13590 Lex.wild=
new (YYSession->mem_root)
String((yyvsp[(2) - (2)].lex_str).data(), (yyvsp[(2) - (2)].lex_str).size(), system_charset_info);
13597 #line 4643 "drizzled/sql_yacc.yy"
13599 Lex.current_select->where= (yyvsp[(2) - (2)].item);
13600 if ((yyvsp[(2) - (2)].item))
13601 (yyvsp[(2) - (2)].item)->top_level_item();
13608 #line 4653 "drizzled/sql_yacc.yy"
13610 if (not show::buildDescribe(YYSession, (yyvsp[(2) - (2)].table)))
13620 #line 4659 "drizzled/sql_yacc.yy"
13627 #line 4661 "drizzled/sql_yacc.yy"
13628 { Lex.describe|= DESCRIBE_NORMAL; }
13634 #line 4663 "drizzled/sql_yacc.yy"
13636 Lex.select_lex.options|= SELECT_DESCRIBE;
13643 #line 4674 "drizzled/sql_yacc.yy"
13650 #line 4675 "drizzled/sql_yacc.yy"
13651 { Lex.describe|= DESCRIBE_EXTENDED; }
13657 #line 4679 "drizzled/sql_yacc.yy"
13664 #line 4680 "drizzled/sql_yacc.yy"
13665 { Lex.wild= (yyvsp[(1) - (1)].string); }
13671 #line 4682 "drizzled/sql_yacc.yy"
13673 Lex.wild=
new (YYSession->mem_root)
String((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size(), system_charset_info);
13680 #line 4692 "drizzled/sql_yacc.yy"
13689 #line 4696 "drizzled/sql_yacc.yy"
13696 #line 4706 "drizzled/sql_yacc.yy"
13699 statement->setFlushTables(
true);
13706 #line 4710 "drizzled/sql_yacc.yy"
13713 #line 4712 "drizzled/sql_yacc.yy"
13716 statement->setFlushTablesWithReadLock(
true);
13723 #line 4717 "drizzled/sql_yacc.yy"
13726 statement->setFlushLog(
true);
13733 #line 4722 "drizzled/sql_yacc.yy"
13736 statement->setFlushStatus(
true);
13743 #line 4727 "drizzled/sql_yacc.yy"
13746 statement->setFlushGlobalStatus(
true);
13753 #line 4734 "drizzled/sql_yacc.yy"
13760 #line 4735 "drizzled/sql_yacc.yy"
13767 #line 4742 "drizzled/sql_yacc.yy"
13769 Lex.statement=
new statement::Kill(YYSession, (yyvsp[(3) - (3)].item), (yyvsp[(2) - (3)].num));
13776 #line 4748 "drizzled/sql_yacc.yy"
13777 { (yyval.num)=
false; }
13783 #line 4749 "drizzled/sql_yacc.yy"
13784 { (yyval.num)=
false; }
13790 #line 4750 "drizzled/sql_yacc.yy"
13791 { (yyval.num)=
true; }
13797 #line 4757 "drizzled/sql_yacc.yy"
13800 Lex.select_lex.db= (yyvsp[(2) - (2)].lex_str).data();
13807 #line 4767 "drizzled/sql_yacc.yy"
13810 Lex.statement= statement;
13813 statement->fname_start= lip->
get_ptr();
13820 #line 4775 "drizzled/sql_yacc.yy"
13822 Lex.lock_option= (yyvsp[(4) - (6)].lock_type);
13823 Lex.duplicates= DUP_ERROR;
13825 Lex.exchange=
new file_exchange((yyvsp[(6) - (6)].lex_str).data(), 0, (yyvsp[(2) - (6)].filetype));
13832 #line 4782 "drizzled/sql_yacc.yy"
13842 #line 4787 "drizzled/sql_yacc.yy"
13844 if (!Lex.current_select->add_table_to_list(YYSession,
13845 (yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING,
13848 Lex.field_list.clear();
13849 Lex.update_list.clear();
13850 Lex.value_list.clear();
13857 #line 4798 "drizzled/sql_yacc.yy"
13864 #line 4802 "drizzled/sql_yacc.yy"
13865 { (yyval.filetype)= FILETYPE_CSV; }
13871 #line 4805 "drizzled/sql_yacc.yy"
13872 { (yyval.lock_type)= TL_WRITE_DEFAULT; }
13878 #line 4807 "drizzled/sql_yacc.yy"
13880 (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT;
13887 #line 4813 "drizzled/sql_yacc.yy"
13888 { Lex.duplicates=DUP_ERROR; }
13894 #line 4814 "drizzled/sql_yacc.yy"
13895 { Lex.duplicates=DUP_REPLACE; }
13901 #line 4815 "drizzled/sql_yacc.yy"
13908 #line 4819 "drizzled/sql_yacc.yy"
13909 { Lex.duplicates=DUP_ERROR; }
13915 #line 4820 "drizzled/sql_yacc.yy"
13916 { Lex.duplicates=DUP_ERROR; }
13922 #line 4821 "drizzled/sql_yacc.yy"
13923 { Lex.duplicates=DUP_REPLACE; }
13929 #line 4822 "drizzled/sql_yacc.yy"
13930 { Lex.ignore=
true; }
13936 #line 4823 "drizzled/sql_yacc.yy"
13937 { Lex.duplicates=DUP_REPLACE; }
13943 #line 4824 "drizzled/sql_yacc.yy"
13944 { Lex.ignore=
true; }
13950 #line 4839 "drizzled/sql_yacc.yy"
13952 assert(Lex.exchange != 0);
13953 Lex.exchange->field_term= (yyvsp[(3) - (3)].string);
13960 #line 4844 "drizzled/sql_yacc.yy"
13962 assert(Lex.exchange != 0);
13963 Lex.exchange->enclosed= (yyvsp[(4) - (4)].string);
13964 Lex.exchange->opt_enclosed= 1;
13971 #line 4850 "drizzled/sql_yacc.yy"
13973 assert(Lex.exchange != 0);
13974 Lex.exchange->enclosed= (yyvsp[(3) - (3)].string);
13981 #line 4855 "drizzled/sql_yacc.yy"
13983 assert(Lex.exchange != 0);
13984 Lex.exchange->escaped= (yyvsp[(3) - (3)].string);
13991 #line 4873 "drizzled/sql_yacc.yy"
13993 assert(Lex.exchange != 0);
13994 Lex.exchange->line_term= (yyvsp[(3) - (3)].string);
14001 #line 4878 "drizzled/sql_yacc.yy"
14003 assert(Lex.exchange != 0);
14004 Lex.exchange->line_start= (yyvsp[(3) - (3)].string);
14011 #line 4887 "drizzled/sql_yacc.yy"
14013 assert(Lex.exchange != 0);
14014 Lex.exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).data());
14021 #line 4894 "drizzled/sql_yacc.yy"
14028 #line 4895 "drizzled/sql_yacc.yy"
14035 #line 4899 "drizzled/sql_yacc.yy"
14042 #line 4900 "drizzled/sql_yacc.yy"
14049 #line 4901 "drizzled/sql_yacc.yy"
14056 #line 4906 "drizzled/sql_yacc.yy"
14057 { Lex.field_list.push_back((yyvsp[(3) - (3)].item)); }
14063 #line 4908 "drizzled/sql_yacc.yy"
14064 { Lex.field_list.push_back((yyvsp[(1) - (1)].item)); }
14070 #line 4912 "drizzled/sql_yacc.yy"
14071 {(yyval.item)= (yyvsp[(1) - (1)].item);}
14077 #line 4914 "drizzled/sql_yacc.yy"
14084 #line 4918 "drizzled/sql_yacc.yy"
14091 #line 4919 "drizzled/sql_yacc.yy"
14098 #line 4926 "drizzled/sql_yacc.yy"
14100 (yyval.item) =
new Item_string((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size(), YYSession->variables.getCollation());
14107 #line 4930 "drizzled/sql_yacc.yy"
14109 ((
Item_string*) (yyvsp[(1) - (2)].item))->append((yyvsp[(2) - (2)].lex_str));
14116 #line 4937 "drizzled/sql_yacc.yy"
14118 (yyval.string)=
new (YYSession->mem_root)
String((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size(), YYSession->variables.getCollation());
14125 #line 4941 "drizzled/sql_yacc.yy"
14139 #line 4950 "drizzled/sql_yacc.yy"
14153 #line 4961 "drizzled/sql_yacc.yy"
14154 { (yyval.item) = (yyvsp[(1) - (1)].item); }
14160 #line 4962 "drizzled/sql_yacc.yy"
14161 { (yyval.item) = (yyvsp[(2) - (2)].item_num); }
14167 #line 4964 "drizzled/sql_yacc.yy"
14169 (yyvsp[(2) - (2)].item_num)->max_length++;
14170 (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg();
14177 #line 4971 "drizzled/sql_yacc.yy"
14178 { (yyval.item) = (yyvsp[(1) - (1)].item); }
14184 #line 4972 "drizzled/sql_yacc.yy"
14185 { (yyval.item) = (yyvsp[(1) - (1)].item_num); }
14191 #line 4974 "drizzled/sql_yacc.yy"
14194 YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
14201 #line 4978 "drizzled/sql_yacc.yy"
14208 #line 4979 "drizzled/sql_yacc.yy"
14215 #line 4980 "drizzled/sql_yacc.yy"
14222 #line 4981 "drizzled/sql_yacc.yy"
14229 #line 4982 "drizzled/sql_yacc.yy"
14230 { (yyval.item) = (yyvsp[(2) - (2)].item); }
14236 #line 4983 "drizzled/sql_yacc.yy"
14237 { (yyval.item) = (yyvsp[(2) - (2)].item); }
14243 #line 4987 "drizzled/sql_yacc.yy"
14244 { (yyval.item) = (yyvsp[(1) - (1)].item); }
14250 #line 4988 "drizzled/sql_yacc.yy"
14257 #line 4989 "drizzled/sql_yacc.yy"
14264 #line 4990 "drizzled/sql_yacc.yy"
14265 { (yyval.item) = (yyvsp[(1) - (1)].item_num); }
14271 #line 4992 "drizzled/sql_yacc.yy"
14274 YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
14281 #line 4996 "drizzled/sql_yacc.yy"
14282 { (yyval.item) = (yyvsp[(2) - (2)].item_num); }
14288 #line 4998 "drizzled/sql_yacc.yy"
14290 (yyvsp[(2) - (2)].item_num)->max_length++;
14291 (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg();
14298 #line 5006 "drizzled/sql_yacc.yy"
14301 YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
14308 #line 5011 "drizzled/sql_yacc.yy"
14317 #line 5015 "drizzled/sql_yacc.yy"
14326 #line 5021 "drizzled/sql_yacc.yy"
14327 { (yyval.item) = (yyvsp[(1) - (1)].item); }
14333 #line 5023 "drizzled/sql_yacc.yy"
14336 YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
14343 #line 5027 "drizzled/sql_yacc.yy"
14344 { (yyval.item) = (yyvsp[(1) - (1)].item_num); }
14350 #line 5028 "drizzled/sql_yacc.yy"
14351 { (yyval.item) = (yyvsp[(2) - (2)].item); }
14357 #line 5029 "drizzled/sql_yacc.yy"
14358 { (yyval.item) = (yyvsp[(2) - (2)].item); }
14364 #line 5034 "drizzled/sql_yacc.yy"
14367 (yyval.item_num) =
new Item_int((yyvsp[(1) - (1)].lex_str).data(), internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error), (yyvsp[(1) - (1)].lex_str).size());
14374 #line 5039 "drizzled/sql_yacc.yy"
14377 (yyval.item_num) =
new Item_int((yyvsp[(1) - (1)].lex_str).data(), internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).data(), NULL, &error), (yyvsp[(1) - (1)].lex_str).size());
14384 #line 5044 "drizzled/sql_yacc.yy"
14385 { (yyval.item_num) =
new Item_uint((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size()); }
14391 #line 5046 "drizzled/sql_yacc.yy"
14393 (yyval.item_num)=
new Item_decimal((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size(), YYSession->charset());
14394 if (YYSession->is_error())
14404 #line 5054 "drizzled/sql_yacc.yy"
14406 (yyval.item_num) =
new Item_float((yyvsp[(1) - (1)].lex_str).data(), (yyvsp[(1) - (1)].lex_str).size());
14407 if (YYSession->is_error())
14417 #line 5068 "drizzled/sql_yacc.yy"
14418 { (yyval.item)=(yyvsp[(1) - (1)].item); }
14424 #line 5069 "drizzled/sql_yacc.yy"
14425 { (yyval.item)=(yyvsp[(1) - (1)].item); }
14431 #line 5074 "drizzled/sql_yacc.yy"
14433 (yyval.item)= parser::buildTableWild(&Lex, null_lex_string(), (yyvsp[(1) - (3)].lex_str));
14440 #line 5078 "drizzled/sql_yacc.yy"
14442 (yyval.item)= parser::buildTableWild(&Lex, (yyvsp[(1) - (5)].lex_str), (yyvsp[(3) - (5)].lex_str));
14449 #line 5084 "drizzled/sql_yacc.yy"
14450 { (yyval.item)=(yyvsp[(1) - (1)].item); }
14456 #line 5089 "drizzled/sql_yacc.yy"
14458 (yyval.item)= parser::buildIdent(&Lex, null_lex_string(), null_lex_string(), (yyvsp[(1) - (1)].lex_str));
14465 #line 5092 "drizzled/sql_yacc.yy"
14466 { (yyval.item)= (yyvsp[(1) - (1)].item); }
14472 #line 5097 "drizzled/sql_yacc.yy"
14474 (yyval.item)= parser::buildIdent(&Lex, null_lex_string(), (yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str));
14481 #line 5101 "drizzled/sql_yacc.yy"
14483 (yyval.item)= parser::buildIdent(&Lex, null_lex_string(), (yyvsp[(2) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str));
14490 #line 5105 "drizzled/sql_yacc.yy"
14492 (yyval.item)= parser::buildIdent(&Lex, (yyvsp[(1) - (5)].lex_str), (yyvsp[(3) - (5)].lex_str), (yyvsp[(5) - (5)].lex_str));
14499 #line 5112 "drizzled/sql_yacc.yy"
14501 (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);
14508 #line 5116 "drizzled/sql_yacc.yy"
14510 if (not parser::checkFieldIdent(&Lex, (yyvsp[(1) - (5)].lex_str), (yyvsp[(3) - (5)].lex_str)))
14513 (yyval.lex_str)=(yyvsp[(5) - (5)].lex_str);
14520 #line 5123 "drizzled/sql_yacc.yy"
14522 if (not parser::checkFieldIdent(&Lex, null_lex_string(), (yyvsp[(1) - (3)].lex_str)))
14525 (yyval.lex_str)=(yyvsp[(3) - (3)].lex_str);
14532 #line 5130 "drizzled/sql_yacc.yy"
14534 (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);
14541 #line 5137 "drizzled/sql_yacc.yy"
14543 (yyval.table)=
new Table_ident((yyvsp[(1) - (1)].lex_str));
14550 #line 5141 "drizzled/sql_yacc.yy"
14552 (yyval.table)=
new Table_ident((yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str));
14559 #line 5145 "drizzled/sql_yacc.yy"
14561 (yyval.table)=
new Table_ident((yyvsp[(2) - (2)].lex_str));
14568 #line 5160 "drizzled/sql_yacc.yy"
14570 (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
14577 #line 5164 "drizzled/sql_yacc.yy"
14581 uint32_t wlen= cs->cset->well_formed_len(*cs, (yyvsp[(1) - (1)].lex_str), (yyvsp[(1) - (1)].lex_str).size(), &dummy_error);
14582 if (wlen < (yyvsp[(1) - (1)].lex_str).size())
14584 my_error(ER_INVALID_CHARACTER_STRING, MYF(0), cs->csname, (yyvsp[(1) - (1)].lex_str).data() + wlen);
14587 (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
14594 #line 5179 "drizzled/sql_yacc.yy"
14596 (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
14603 #line 5186 "drizzled/sql_yacc.yy"
14605 (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
14612 #line 5193 "drizzled/sql_yacc.yy"
14614 (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
14621 #line 5199 "drizzled/sql_yacc.yy"
14622 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
14628 #line 5201 "drizzled/sql_yacc.yy"
14630 (yyval.lex_str).assign(YYSession->mem.strdup((yyvsp[(1) - (1)].symbol).data(), (yyvsp[(1) - (1)].symbol).length), (yyvsp[(1) - (1)].symbol).length);
14637 #line 5207 "drizzled/sql_yacc.yy"
14638 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
14644 #line 5208 "drizzled/sql_yacc.yy"
14645 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
14651 #line 5212 "drizzled/sql_yacc.yy"
14652 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
14658 #line 5213 "drizzled/sql_yacc.yy"
14659 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
14665 #line 5217 "drizzled/sql_yacc.yy"
14672 #line 5218 "drizzled/sql_yacc.yy"
14679 #line 5219 "drizzled/sql_yacc.yy"
14686 #line 5224 "drizzled/sql_yacc.yy"
14693 #line 5225 "drizzled/sql_yacc.yy"
14700 #line 5226 "drizzled/sql_yacc.yy"
14707 #line 5227 "drizzled/sql_yacc.yy"
14714 #line 5228 "drizzled/sql_yacc.yy"
14721 #line 5229 "drizzled/sql_yacc.yy"
14728 #line 5230 "drizzled/sql_yacc.yy"
14735 #line 5231 "drizzled/sql_yacc.yy"
14742 #line 5232 "drizzled/sql_yacc.yy"
14749 #line 5233 "drizzled/sql_yacc.yy"
14756 #line 5234 "drizzled/sql_yacc.yy"
14763 #line 5235 "drizzled/sql_yacc.yy"
14770 #line 5236 "drizzled/sql_yacc.yy"
14777 #line 5237 "drizzled/sql_yacc.yy"
14784 #line 5238 "drizzled/sql_yacc.yy"
14791 #line 5239 "drizzled/sql_yacc.yy"
14798 #line 5240 "drizzled/sql_yacc.yy"
14805 #line 5241 "drizzled/sql_yacc.yy"
14812 #line 5242 "drizzled/sql_yacc.yy"
14819 #line 5243 "drizzled/sql_yacc.yy"
14826 #line 5244 "drizzled/sql_yacc.yy"
14833 #line 5254 "drizzled/sql_yacc.yy"
14840 #line 5255 "drizzled/sql_yacc.yy"
14847 #line 5256 "drizzled/sql_yacc.yy"
14854 #line 5257 "drizzled/sql_yacc.yy"
14861 #line 5258 "drizzled/sql_yacc.yy"
14868 #line 5259 "drizzled/sql_yacc.yy"
14875 #line 5260 "drizzled/sql_yacc.yy"
14882 #line 5261 "drizzled/sql_yacc.yy"
14889 #line 5262 "drizzled/sql_yacc.yy"
14896 #line 5263 "drizzled/sql_yacc.yy"
14903 #line 5264 "drizzled/sql_yacc.yy"
14910 #line 5265 "drizzled/sql_yacc.yy"
14917 #line 5266 "drizzled/sql_yacc.yy"
14924 #line 5267 "drizzled/sql_yacc.yy"
14931 #line 5268 "drizzled/sql_yacc.yy"
14938 #line 5269 "drizzled/sql_yacc.yy"
14945 #line 5270 "drizzled/sql_yacc.yy"
14952 #line 5271 "drizzled/sql_yacc.yy"
14959 #line 5272 "drizzled/sql_yacc.yy"
14966 #line 5273 "drizzled/sql_yacc.yy"
14973 #line 5274 "drizzled/sql_yacc.yy"
14980 #line 5275 "drizzled/sql_yacc.yy"
14987 #line 5276 "drizzled/sql_yacc.yy"
14994 #line 5277 "drizzled/sql_yacc.yy"
15001 #line 5278 "drizzled/sql_yacc.yy"
15008 #line 5279 "drizzled/sql_yacc.yy"
15015 #line 5280 "drizzled/sql_yacc.yy"
15022 #line 5281 "drizzled/sql_yacc.yy"
15029 #line 5282 "drizzled/sql_yacc.yy"
15036 #line 5283 "drizzled/sql_yacc.yy"
15043 #line 5284 "drizzled/sql_yacc.yy"
15050 #line 5285 "drizzled/sql_yacc.yy"
15057 #line 5286 "drizzled/sql_yacc.yy"
15064 #line 5287 "drizzled/sql_yacc.yy"
15071 #line 5288 "drizzled/sql_yacc.yy"
15078 #line 5289 "drizzled/sql_yacc.yy"
15085 #line 5290 "drizzled/sql_yacc.yy"
15092 #line 5291 "drizzled/sql_yacc.yy"
15099 #line 5292 "drizzled/sql_yacc.yy"
15106 #line 5293 "drizzled/sql_yacc.yy"
15113 #line 5294 "drizzled/sql_yacc.yy"
15120 #line 5295 "drizzled/sql_yacc.yy"
15127 #line 5296 "drizzled/sql_yacc.yy"
15134 #line 5297 "drizzled/sql_yacc.yy"
15141 #line 5298 "drizzled/sql_yacc.yy"
15148 #line 5299 "drizzled/sql_yacc.yy"
15155 #line 5300 "drizzled/sql_yacc.yy"
15162 #line 5301 "drizzled/sql_yacc.yy"
15169 #line 5302 "drizzled/sql_yacc.yy"
15176 #line 5303 "drizzled/sql_yacc.yy"
15183 #line 5304 "drizzled/sql_yacc.yy"
15190 #line 5305 "drizzled/sql_yacc.yy"
15197 #line 5306 "drizzled/sql_yacc.yy"
15204 #line 5307 "drizzled/sql_yacc.yy"
15211 #line 5308 "drizzled/sql_yacc.yy"
15218 #line 5309 "drizzled/sql_yacc.yy"
15225 #line 5310 "drizzled/sql_yacc.yy"
15232 #line 5311 "drizzled/sql_yacc.yy"
15239 #line 5312 "drizzled/sql_yacc.yy"
15246 #line 5313 "drizzled/sql_yacc.yy"
15253 #line 5314 "drizzled/sql_yacc.yy"
15260 #line 5315 "drizzled/sql_yacc.yy"
15267 #line 5316 "drizzled/sql_yacc.yy"
15274 #line 5317 "drizzled/sql_yacc.yy"
15281 #line 5318 "drizzled/sql_yacc.yy"
15288 #line 5319 "drizzled/sql_yacc.yy"
15295 #line 5320 "drizzled/sql_yacc.yy"
15302 #line 5321 "drizzled/sql_yacc.yy"
15309 #line 5322 "drizzled/sql_yacc.yy"
15316 #line 5323 "drizzled/sql_yacc.yy"
15323 #line 5324 "drizzled/sql_yacc.yy"
15330 #line 5325 "drizzled/sql_yacc.yy"
15337 #line 5326 "drizzled/sql_yacc.yy"
15344 #line 5327 "drizzled/sql_yacc.yy"
15351 #line 5328 "drizzled/sql_yacc.yy"
15358 #line 5329 "drizzled/sql_yacc.yy"
15365 #line 5330 "drizzled/sql_yacc.yy"
15372 #line 5331 "drizzled/sql_yacc.yy"
15379 #line 5332 "drizzled/sql_yacc.yy"
15386 #line 5333 "drizzled/sql_yacc.yy"
15393 #line 5334 "drizzled/sql_yacc.yy"
15400 #line 5335 "drizzled/sql_yacc.yy"
15407 #line 5336 "drizzled/sql_yacc.yy"
15414 #line 5337 "drizzled/sql_yacc.yy"
15421 #line 5338 "drizzled/sql_yacc.yy"
15428 #line 5339 "drizzled/sql_yacc.yy"
15435 #line 5340 "drizzled/sql_yacc.yy"
15442 #line 5341 "drizzled/sql_yacc.yy"
15449 #line 5342 "drizzled/sql_yacc.yy"
15456 #line 5343 "drizzled/sql_yacc.yy"
15463 #line 5344 "drizzled/sql_yacc.yy"
15470 #line 5345 "drizzled/sql_yacc.yy"
15477 #line 5346 "drizzled/sql_yacc.yy"
15484 #line 5347 "drizzled/sql_yacc.yy"
15491 #line 5348 "drizzled/sql_yacc.yy"
15498 #line 5349 "drizzled/sql_yacc.yy"
15505 #line 5350 "drizzled/sql_yacc.yy"
15512 #line 5351 "drizzled/sql_yacc.yy"
15519 #line 5352 "drizzled/sql_yacc.yy"
15526 #line 5353 "drizzled/sql_yacc.yy"
15533 #line 5354 "drizzled/sql_yacc.yy"
15540 #line 5355 "drizzled/sql_yacc.yy"
15547 #line 5356 "drizzled/sql_yacc.yy"
15554 #line 5357 "drizzled/sql_yacc.yy"
15561 #line 5358 "drizzled/sql_yacc.yy"
15568 #line 5359 "drizzled/sql_yacc.yy"
15575 #line 5360 "drizzled/sql_yacc.yy"
15582 #line 5361 "drizzled/sql_yacc.yy"
15589 #line 5362 "drizzled/sql_yacc.yy"
15596 #line 5363 "drizzled/sql_yacc.yy"
15603 #line 5364 "drizzled/sql_yacc.yy"
15610 #line 5365 "drizzled/sql_yacc.yy"
15617 #line 5366 "drizzled/sql_yacc.yy"
15624 #line 5367 "drizzled/sql_yacc.yy"
15631 #line 5368 "drizzled/sql_yacc.yy"
15638 #line 5369 "drizzled/sql_yacc.yy"
15645 #line 5370 "drizzled/sql_yacc.yy"
15652 #line 5371 "drizzled/sql_yacc.yy"
15659 #line 5372 "drizzled/sql_yacc.yy"
15666 #line 5373 "drizzled/sql_yacc.yy"
15673 #line 5374 "drizzled/sql_yacc.yy"
15680 #line 5375 "drizzled/sql_yacc.yy"
15687 #line 5376 "drizzled/sql_yacc.yy"
15694 #line 5377 "drizzled/sql_yacc.yy"
15701 #line 5378 "drizzled/sql_yacc.yy"
15708 #line 5379 "drizzled/sql_yacc.yy"
15715 #line 5380 "drizzled/sql_yacc.yy"
15722 #line 5387 "drizzled/sql_yacc.yy"
15731 #line 5391 "drizzled/sql_yacc.yy"
15738 #line 5395 "drizzled/sql_yacc.yy"
15745 #line 5396 "drizzled/sql_yacc.yy"
15752 #line 5405 "drizzled/sql_yacc.yy"
15759 #line 5407 "drizzled/sql_yacc.yy"
15766 #line 5411 "drizzled/sql_yacc.yy"
15773 #line 5412 "drizzled/sql_yacc.yy"
15774 { (yyval.var_type)=OPT_GLOBAL; }
15780 #line 5413 "drizzled/sql_yacc.yy"
15781 { (yyval.var_type)=OPT_SESSION; }
15787 #line 5414 "drizzled/sql_yacc.yy"
15788 { (yyval.var_type)=OPT_SESSION; }
15794 #line 5418 "drizzled/sql_yacc.yy"
15795 { (yyval.num)= OPT_DEFAULT; }
15801 #line 5419 "drizzled/sql_yacc.yy"
15808 #line 5423 "drizzled/sql_yacc.yy"
15809 { (yyval.var_type)=OPT_SESSION; }
15815 #line 5424 "drizzled/sql_yacc.yy"
15816 { (yyval.var_type)=OPT_GLOBAL; }
15822 #line 5425 "drizzled/sql_yacc.yy"
15823 { (yyval.var_type)=OPT_SESSION; }
15829 #line 5426 "drizzled/sql_yacc.yy"
15830 { (yyval.var_type)=OPT_SESSION; }
15836 #line 5430 "drizzled/sql_yacc.yy"
15837 { (yyval.var_type)=OPT_DEFAULT; }
15843 #line 5431 "drizzled/sql_yacc.yy"
15844 { (yyval.var_type)=OPT_GLOBAL; }
15850 #line 5432 "drizzled/sql_yacc.yy"
15851 { (yyval.var_type)=OPT_SESSION; }
15857 #line 5433 "drizzled/sql_yacc.yy"
15858 { (yyval.var_type)=OPT_SESSION; }
15864 #line 5443 "drizzled/sql_yacc.yy"
15866 if ((yyvsp[(2) - (4)].variable).var)
15868 if ((yyvsp[(1) - (4)].var_type))
15870 Lex.option_type= (yyvsp[(1) - (4)].var_type);
15872 Lex.var_list.push_back(SetVarPtr(
new set_var(Lex.option_type, (yyvsp[(2) - (4)].variable).var, (yyvsp[(2) - (4)].variable).base_name, (yyvsp[(4) - (4)].item))));
15880 #line 5454 "drizzled/sql_yacc.yy"
15882 Lex.option_type= (yyvsp[(1) - (5)].var_type);
15890 #line 5462 "drizzled/sql_yacc.yy"
15899 #line 5466 "drizzled/sql_yacc.yy"
15901 Lex.var_list.push_back(SetVarPtr(
new set_var((yyvsp[(3) - (6)].var_type), (yyvsp[(4) - (6)].variable).
var, (yyvsp[(4) - (6)].variable).base_name, (yyvsp[(6) - (6)].item))));
15908 #line 5472 "drizzled/sql_yacc.yy"
15909 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
15915 #line 5473 "drizzled/sql_yacc.yy"
15916 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
15922 #line 5474 "drizzled/sql_yacc.yy"
15923 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
15929 #line 5479 "drizzled/sql_yacc.yy"
15931 (yyval.lex_str).assign(YYSession->mem.strdup((yyvsp[(1) - (1)].symbol).data(), (yyvsp[(1) - (1)].symbol).length), (yyvsp[(1) - (1)].symbol).length);
15938 #line 5482 "drizzled/sql_yacc.yy"
15939 { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
15945 #line 5487 "drizzled/sql_yacc.yy"
15953 (yyval.variable).var= tmp;
15954 (yyval.variable).base_name= null_lex_string();
15962 #line 5501 "drizzled/sql_yacc.yy"
15963 { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
15969 #line 5502 "drizzled/sql_yacc.yy"
15970 { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
15976 #line 5503 "drizzled/sql_yacc.yy"
15977 { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
15983 #line 5504 "drizzled/sql_yacc.yy"
15984 { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
15990 #line 5508 "drizzled/sql_yacc.yy"
15991 { (yyval.item)=(yyvsp[(1) - (1)].item); }
15997 #line 5509 "drizzled/sql_yacc.yy"
15998 { (yyval.item)=0; }
16004 #line 5510 "drizzled/sql_yacc.yy"
16011 #line 5511 "drizzled/sql_yacc.yy"
16018 #line 5512 "drizzled/sql_yacc.yy"
16025 #line 5522 "drizzled/sql_yacc.yy"
16034 #line 5526 "drizzled/sql_yacc.yy"
16041 #line 5531 "drizzled/sql_yacc.yy"
16050 #line 5534 "drizzled/sql_yacc.yy"
16057 #line 5538 "drizzled/sql_yacc.yy"
16064 #line 5539 "drizzled/sql_yacc.yy"
16071 #line 5544 "drizzled/sql_yacc.yy"
16072 { (yyval.num)= (YYSession->variables.completion_type == 1); }
16078 #line 5545 "drizzled/sql_yacc.yy"
16085 #line 5546 "drizzled/sql_yacc.yy"
16092 #line 5551 "drizzled/sql_yacc.yy"
16093 { (yyval.num)= (YYSession->variables.completion_type == 2); }
16099 #line 5552 "drizzled/sql_yacc.yy"
16106 #line 5553 "drizzled/sql_yacc.yy"
16113 #line 5557 "drizzled/sql_yacc.yy"
16120 #line 5558 "drizzled/sql_yacc.yy"
16127 #line 5563 "drizzled/sql_yacc.yy"
16129 Lex.statement=
new statement::Commit(YYSession, (yyvsp[(3) - (4)].num), (yyvsp[(4) - (4)].num));
16136 #line 5570 "drizzled/sql_yacc.yy"
16138 Lex.statement=
new statement::Rollback(YYSession, (yyvsp[(3) - (4)].num), (yyvsp[(4) - (4)].num));
16145 #line 5574 "drizzled/sql_yacc.yy"
16154 #line 5581 "drizzled/sql_yacc.yy"
16163 #line 5588 "drizzled/sql_yacc.yy"
16172 #line 5603 "drizzled/sql_yacc.yy"
16179 #line 5609 "drizzled/sql_yacc.yy"
16181 if (parser::add_select_to_union_list(YYSession, &Lex, (
bool)(yyvsp[(2) - (2)].num)))
16189 #line 5614 "drizzled/sql_yacc.yy"
16202 #line 5624 "drizzled/sql_yacc.yy"
16203 { (yyval.num)= 0; }
16209 #line 5625 "drizzled/sql_yacc.yy"
16210 { (yyval.num)= 1; }
16216 #line 5626 "drizzled/sql_yacc.yy"
16217 { (yyval.num)= 1; }
16223 #line 5630 "drizzled/sql_yacc.yy"
16225 assert(Lex.current_select->linkage != GLOBAL_OPTIONS_TYPE);
16226 Select_Lex *sel= Lex.current_select;
16227 Select_Lex_Unit *unit= sel->master_unit();
16228 Select_Lex *fake= unit->fake_select_lex;
16231 unit->global_parameters= fake;
16232 fake->no_table_names_allowed= 1;
16233 Lex.current_select= fake;
16235 YYSession->setWhere(
"global ORDER clause");
16242 #line 5644 "drizzled/sql_yacc.yy"
16244 YYSession->lex().current_select->no_table_names_allowed= 0;
16245 YYSession->setWhere(
"");
16252 #line 5656 "drizzled/sql_yacc.yy"
16259 #line 5657 "drizzled/sql_yacc.yy"
16266 #line 5658 "drizzled/sql_yacc.yy"
16273 #line 5663 "drizzled/sql_yacc.yy"
16275 (yyval.select_lex)= Lex.current_select->master_unit()->first_select();
16282 #line 5667 "drizzled/sql_yacc.yy"
16284 (yyval.select_lex)= Lex.current_select->master_unit()->first_select();
16291 #line 5676 "drizzled/sql_yacc.yy"
16293 if (parser::add_select_to_union_list(YYSession, &Lex, (
bool)(yyvsp[(3) - (3)].num)))
16301 #line 5681 "drizzled/sql_yacc.yy"
16304 (yyval.select_lex)= (yyvsp[(1) - (5)].select_lex);
16311 #line 5690 "drizzled/sql_yacc.yy"
16313 (yyval.select_lex)= (yyvsp[(2) - (3)].select_lex);
16320 #line 5696 "drizzled/sql_yacc.yy"
16322 if (not Lex.expr_allows_subselect)
16324 parser::my_parse_error(YYSession->m_lip);
16334 if (new_select(&Lex, 1))
16342 #line 5715 "drizzled/sql_yacc.yy"
16345 Select_Lex *child= Lex.current_select;
16346 Lex.current_select= Lex.current_select->return_after_parsing();
16348 Lex.current_select->n_child_sum_items += child->n_sum_items;
16353 Lex.current_select->select_n_where_fields+=
16354 child->select_n_where_fields;
16361 #line 16362 "drizzled/sql_yacc.cc"
16375 YY_SYMBOL_PRINT (
"-> $$ =", yyr1[yyn], &yyval, &yyloc);
16377 YYPOPSTACK (yylen);
16379 YY_STACK_PRINT (yyss, yyssp);
16389 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
16390 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
16391 yystate = yytable[yystate];
16393 yystate = yydefgoto[yyn - YYNTOKENS];
16404 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
16410 #if ! YYERROR_VERBOSE
16411 yyerror (session, YY_(
"syntax error"));
16413 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
16416 char const *yymsgp = YY_(
"syntax error");
16417 int yysyntax_error_status;
16418 yysyntax_error_status = YYSYNTAX_ERROR;
16419 if (yysyntax_error_status == 0)
16421 else if (yysyntax_error_status == 1)
16423 if (yymsg != yymsgbuf)
16424 YYSTACK_FREE (yymsg);
16425 yymsg = (
char *) YYSTACK_ALLOC (yymsg_alloc);
16429 yymsg_alloc =
sizeof yymsgbuf;
16430 yysyntax_error_status = 2;
16434 yysyntax_error_status = YYSYNTAX_ERROR;
16438 yyerror (session, yymsgp);
16439 if (yysyntax_error_status == 2)
16440 goto yyexhaustedlab;
16442 # undef YYSYNTAX_ERROR
16448 if (yyerrstatus == 3)
16453 if (yychar <= YYEOF)
16456 if (yychar == YYEOF)
16461 yydestruct (
"Error: discarding",
16462 yytoken, &yylval, session);
16485 YYPOPSTACK (yylen);
16487 YY_STACK_PRINT (yyss, yyssp);
16500 yyn = yypact[yystate];
16501 if (!yypact_value_is_default (yyn))
16504 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
16506 yyn = yytable[yyn];
16517 yydestruct (
"Error: popping",
16518 yystos[yystate], yyvsp, session);
16521 YY_STACK_PRINT (yyss, yyssp);
16528 YY_SYMBOL_PRINT (
"Shifting", yystos[yyn], yyvsp, yylsp);
16548 #if !defined(yyoverflow) || YYERROR_VERBOSE
16553 yyerror (session, YY_(
"memory exhausted"));
16559 if (yychar != YYEMPTY)
16563 yytoken = YYTRANSLATE (yychar);
16564 yydestruct (
"Cleanup: discarding lookahead",
16565 yytoken, &yylval, session);
16569 YYPOPSTACK (yylen);
16570 YY_STACK_PRINT (yyss, yyssp);
16571 while (yyssp != yyss)
16573 yydestruct (
"Cleanup: popping",
16574 yystos[*yyssp], yyvsp, session);
16579 YYSTACK_FREE (yyss);
16581 #if YYERROR_VERBOSE
16582 if (yymsg != yymsgbuf)
16583 YYSTACK_FREE (yymsg);
16586 return YYID (yyresult);