diff --git a/configure b/configure index dbffb7041..ae2a0ea09 100755 --- a/configure +++ b/configure @@ -835,6 +835,7 @@ mansectmisc mansectform mansectsu devdir +AAMAN SEMAN PSMAN LCMAN @@ -1038,6 +1039,7 @@ enable_shared_libutil enable_tmpfiles_d enable_devsearch with_selinux +with_apparmor enable_sasl enable_timestamp_type enable_offensive_insults @@ -1883,6 +1885,7 @@ Optional Packages: --with-man manual pages use man macros --with-mdoc manual pages use mdoc macros --with-selinux enable SELinux support + --with-apparmor enable AppArmor support --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both @@ -3570,6 +3573,7 @@ ac_config_headers="$ac_config_headers config.h pathnames.h" + # @@ -3643,6 +3647,7 @@ BAMAN=0 LCMAN=0 PSMAN=0 SEMAN=0 +AAMAN=0 LIBINTL= LIBCRYPTO= LIBMD= @@ -6854,6 +6859,26 @@ else $as_nop fi + +# Check whether --with-apparmor was given. +if test ${with_apparmor+y} +then : + withval=$with_apparmor; case $with_apparmor in + yes) printf "%s\n" "#define HAVE_APPARMOR 1" >>confdefs.h + + AAMAN=1 + SUDO_LIBS="${SUDO_LIBS} -lapparmor" + SUDO_OBJS="${SUDO_OBJS} apparmor.o" + ;; + no) ;; + *) as_fn_error $? "--with-apparmor does not take an argument." "$LINENO" 5 + +esac +else $as_nop + with_apparmor=no +fi + + # Check whether --enable-sasl was given. if test ${enable_sasl+y} then : @@ -34984,5 +35009,6 @@ fi + diff --git a/configure.ac b/configure.ac index 71325fb5a..ff16c538e 100644 --- a/configure.ac +++ b/configure.ac @@ -1489,9 +1489,8 @@ AC_ARG_WITH(apparmor, [AS_HELP_STRING([--with-apparmor], [enable AppArmor suppor [case $with_apparmor in yes) AC_DEFINE(HAVE_APPARMOR) AAMAN=1 + SUDO_LIBS="${SUDO_LIBS} -lapparmor" SUDO_OBJS="${SUDO_OBJS} apparmor.o" - AC_CHECK_LIB(apparmor, aa_change_profile, - [SUDO_LIBS="${SUDO_LIBS} -lapparmor"]) ;; no) ;; *) AC_MSG_ERROR([--with-apparmor does not take an argument.]) diff --git a/plugins/sudoers/def_data.h b/plugins/sudoers/def_data.h index a8deba41b..38de4386b 100644 --- a/plugins/sudoers/def_data.h +++ b/plugins/sudoers/def_data.h @@ -306,9 +306,9 @@ #define def_log_passwords (sudo_defs_table[I_LOG_PASSWORDS].sd_un.flag) #define I_PASSPROMPT_REGEX 152 #define def_passprompt_regex (sudo_defs_table[I_PASSPROMPT_REGEX].sd_un.list) -#define I_INTERCEPT_TYPE 154 +#define I_INTERCEPT_TYPE 153 #define def_intercept_type (sudo_defs_table[I_INTERCEPT_TYPE].sd_un.tuple) -#define I_APPARMOR_PROFILE 153 +#define I_APPARMOR_PROFILE 154 #define def_apparmor_profile (sudo_defs_table[I_APPARMOR_PROFILE].sd_un.str) enum def_tuple { diff --git a/plugins/sudoers/gram.c b/plugins/sudoers/gram.c index 26add06e8..192147a2f 100644 --- a/plugins/sudoers/gram.c +++ b/plugins/sudoers/gram.c @@ -252,16 +252,17 @@ extern int sudoersdebug; CWD = 297, /* CWD */ TYPE = 298, /* TYPE */ ROLE = 299, /* ROLE */ - PRIVS = 300, /* PRIVS */ - LIMITPRIVS = 301, /* LIMITPRIVS */ - CMND_TIMEOUT = 302, /* CMND_TIMEOUT */ - NOTBEFORE = 303, /* NOTBEFORE */ - NOTAFTER = 304, /* NOTAFTER */ - MYSELF = 305, /* MYSELF */ - SHA224_TOK = 306, /* SHA224_TOK */ - SHA256_TOK = 307, /* SHA256_TOK */ - SHA384_TOK = 308, /* SHA384_TOK */ - SHA512_TOK = 309 /* SHA512_TOK */ + APPARMOR_PROFILE = 300, /* APPARMOR_PROFILE */ + PRIVS = 301, /* PRIVS */ + LIMITPRIVS = 302, /* LIMITPRIVS */ + CMND_TIMEOUT = 303, /* CMND_TIMEOUT */ + NOTBEFORE = 304, /* NOTBEFORE */ + NOTAFTER = 305, /* NOTAFTER */ + MYSELF = 306, /* MYSELF */ + SHA224_TOK = 307, /* SHA224_TOK */ + SHA256_TOK = 308, /* SHA256_TOK */ + SHA384_TOK = 309, /* SHA384_TOK */ + SHA512_TOK = 310 /* SHA512_TOK */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -312,16 +313,17 @@ extern int sudoersdebug; #define CWD 297 #define TYPE 298 #define ROLE 299 -#define PRIVS 300 -#define LIMITPRIVS 301 -#define CMND_TIMEOUT 302 -#define NOTBEFORE 303 -#define NOTAFTER 304 -#define MYSELF 305 -#define SHA224_TOK 306 -#define SHA256_TOK 307 -#define SHA384_TOK 308 -#define SHA512_TOK 309 +#define APPARMOR_PROFILE 300 +#define PRIVS 301 +#define LIMITPRIVS 302 +#define CMND_TIMEOUT 303 +#define NOTBEFORE 304 +#define NOTAFTER 305 +#define MYSELF 306 +#define SHA224_TOK 307 +#define SHA256_TOK 308 +#define SHA384_TOK 309 +#define SHA512_TOK 310 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -341,7 +343,7 @@ union YYSTYPE char *string; int tok; -#line 339 "gram.c" +#line 341 "gram.c" }; typedef union YYSTYPE YYSTYPE; @@ -415,70 +417,72 @@ enum yysymbol_kind_t YYSYMBOL_CWD = 51, /* CWD */ YYSYMBOL_TYPE = 52, /* TYPE */ YYSYMBOL_ROLE = 53, /* ROLE */ - YYSYMBOL_PRIVS = 54, /* PRIVS */ - YYSYMBOL_LIMITPRIVS = 55, /* LIMITPRIVS */ - YYSYMBOL_CMND_TIMEOUT = 56, /* CMND_TIMEOUT */ - YYSYMBOL_NOTBEFORE = 57, /* NOTBEFORE */ - YYSYMBOL_NOTAFTER = 58, /* NOTAFTER */ - YYSYMBOL_MYSELF = 59, /* MYSELF */ - YYSYMBOL_SHA224_TOK = 60, /* SHA224_TOK */ - YYSYMBOL_SHA256_TOK = 61, /* SHA256_TOK */ - YYSYMBOL_SHA384_TOK = 62, /* SHA384_TOK */ - YYSYMBOL_SHA512_TOK = 63, /* SHA512_TOK */ - YYSYMBOL_YYACCEPT = 64, /* $accept */ - YYSYMBOL_file = 65, /* file */ - YYSYMBOL_line = 66, /* line */ - YYSYMBOL_entry = 67, /* entry */ - YYSYMBOL_include = 68, /* include */ - YYSYMBOL_includedir = 69, /* includedir */ - YYSYMBOL_defaults_list = 70, /* defaults_list */ - YYSYMBOL_defaults_entry = 71, /* defaults_entry */ - YYSYMBOL_privileges = 72, /* privileges */ - YYSYMBOL_privilege = 73, /* privilege */ - YYSYMBOL_ophost = 74, /* ophost */ - YYSYMBOL_host = 75, /* host */ - YYSYMBOL_cmndspeclist = 76, /* cmndspeclist */ - YYSYMBOL_cmndspec = 77, /* cmndspec */ - YYSYMBOL_digestspec = 78, /* digestspec */ - YYSYMBOL_digestlist = 79, /* digestlist */ - YYSYMBOL_digcmnd = 80, /* digcmnd */ - YYSYMBOL_opcmnd = 81, /* opcmnd */ - YYSYMBOL_chdirspec = 82, /* chdirspec */ - YYSYMBOL_chrootspec = 83, /* chrootspec */ - YYSYMBOL_timeoutspec = 84, /* timeoutspec */ - YYSYMBOL_notbeforespec = 85, /* notbeforespec */ - YYSYMBOL_notafterspec = 86, /* notafterspec */ - YYSYMBOL_rolespec = 87, /* rolespec */ - YYSYMBOL_typespec = 88, /* typespec */ - YYSYMBOL_privsspec = 89, /* privsspec */ - YYSYMBOL_limitprivsspec = 90, /* limitprivsspec */ - YYSYMBOL_runasspec = 91, /* runasspec */ - YYSYMBOL_runaslist = 92, /* runaslist */ - YYSYMBOL_reserved_word = 93, /* reserved_word */ - YYSYMBOL_reserved_alias = 94, /* reserved_alias */ - YYSYMBOL_options = 95, /* options */ - YYSYMBOL_cmndtag = 96, /* cmndtag */ - YYSYMBOL_cmnd = 97, /* cmnd */ - YYSYMBOL_hostaliases = 98, /* hostaliases */ - YYSYMBOL_hostalias = 99, /* hostalias */ - YYSYMBOL_100_1 = 100, /* $@1 */ - YYSYMBOL_hostlist = 101, /* hostlist */ - YYSYMBOL_cmndaliases = 102, /* cmndaliases */ - YYSYMBOL_cmndalias = 103, /* cmndalias */ - YYSYMBOL_104_2 = 104, /* $@2 */ - YYSYMBOL_cmndlist = 105, /* cmndlist */ - YYSYMBOL_runasaliases = 106, /* runasaliases */ - YYSYMBOL_runasalias = 107, /* runasalias */ - YYSYMBOL_108_3 = 108, /* $@3 */ - YYSYMBOL_useraliases = 109, /* useraliases */ - YYSYMBOL_useralias = 110, /* useralias */ - YYSYMBOL_111_4 = 111, /* $@4 */ - YYSYMBOL_userlist = 112, /* userlist */ - YYSYMBOL_opuser = 113, /* opuser */ - YYSYMBOL_user = 114, /* user */ - YYSYMBOL_grouplist = 115, /* grouplist */ - YYSYMBOL_opgroup = 116, /* opgroup */ - YYSYMBOL_group = 117 /* group */ + YYSYMBOL_APPARMOR_PROFILE = 54, /* APPARMOR_PROFILE */ + YYSYMBOL_PRIVS = 55, /* PRIVS */ + YYSYMBOL_LIMITPRIVS = 56, /* LIMITPRIVS */ + YYSYMBOL_CMND_TIMEOUT = 57, /* CMND_TIMEOUT */ + YYSYMBOL_NOTBEFORE = 58, /* NOTBEFORE */ + YYSYMBOL_NOTAFTER = 59, /* NOTAFTER */ + YYSYMBOL_MYSELF = 60, /* MYSELF */ + YYSYMBOL_SHA224_TOK = 61, /* SHA224_TOK */ + YYSYMBOL_SHA256_TOK = 62, /* SHA256_TOK */ + YYSYMBOL_SHA384_TOK = 63, /* SHA384_TOK */ + YYSYMBOL_SHA512_TOK = 64, /* SHA512_TOK */ + YYSYMBOL_YYACCEPT = 65, /* $accept */ + YYSYMBOL_file = 66, /* file */ + YYSYMBOL_line = 67, /* line */ + YYSYMBOL_entry = 68, /* entry */ + YYSYMBOL_include = 69, /* include */ + YYSYMBOL_includedir = 70, /* includedir */ + YYSYMBOL_defaults_list = 71, /* defaults_list */ + YYSYMBOL_defaults_entry = 72, /* defaults_entry */ + YYSYMBOL_privileges = 73, /* privileges */ + YYSYMBOL_privilege = 74, /* privilege */ + YYSYMBOL_ophost = 75, /* ophost */ + YYSYMBOL_host = 76, /* host */ + YYSYMBOL_cmndspeclist = 77, /* cmndspeclist */ + YYSYMBOL_cmndspec = 78, /* cmndspec */ + YYSYMBOL_digestspec = 79, /* digestspec */ + YYSYMBOL_digestlist = 80, /* digestlist */ + YYSYMBOL_digcmnd = 81, /* digcmnd */ + YYSYMBOL_opcmnd = 82, /* opcmnd */ + YYSYMBOL_chdirspec = 83, /* chdirspec */ + YYSYMBOL_chrootspec = 84, /* chrootspec */ + YYSYMBOL_timeoutspec = 85, /* timeoutspec */ + YYSYMBOL_notbeforespec = 86, /* notbeforespec */ + YYSYMBOL_notafterspec = 87, /* notafterspec */ + YYSYMBOL_rolespec = 88, /* rolespec */ + YYSYMBOL_typespec = 89, /* typespec */ + YYSYMBOL_apparmor_profilespec = 90, /* apparmor_profilespec */ + YYSYMBOL_privsspec = 91, /* privsspec */ + YYSYMBOL_limitprivsspec = 92, /* limitprivsspec */ + YYSYMBOL_runasspec = 93, /* runasspec */ + YYSYMBOL_runaslist = 94, /* runaslist */ + YYSYMBOL_reserved_word = 95, /* reserved_word */ + YYSYMBOL_reserved_alias = 96, /* reserved_alias */ + YYSYMBOL_options = 97, /* options */ + YYSYMBOL_cmndtag = 98, /* cmndtag */ + YYSYMBOL_cmnd = 99, /* cmnd */ + YYSYMBOL_hostaliases = 100, /* hostaliases */ + YYSYMBOL_hostalias = 101, /* hostalias */ + YYSYMBOL_102_1 = 102, /* $@1 */ + YYSYMBOL_hostlist = 103, /* hostlist */ + YYSYMBOL_cmndaliases = 104, /* cmndaliases */ + YYSYMBOL_cmndalias = 105, /* cmndalias */ + YYSYMBOL_106_2 = 106, /* $@2 */ + YYSYMBOL_cmndlist = 107, /* cmndlist */ + YYSYMBOL_runasaliases = 108, /* runasaliases */ + YYSYMBOL_runasalias = 109, /* runasalias */ + YYSYMBOL_110_3 = 110, /* $@3 */ + YYSYMBOL_useraliases = 111, /* useraliases */ + YYSYMBOL_useralias = 112, /* useralias */ + YYSYMBOL_113_4 = 113, /* $@4 */ + YYSYMBOL_userlist = 114, /* userlist */ + YYSYMBOL_opuser = 115, /* opuser */ + YYSYMBOL_user = 116, /* user */ + YYSYMBOL_grouplist = 117, /* grouplist */ + YYSYMBOL_opgroup = 118, /* opgroup */ + YYSYMBOL_group = 119 /* group */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -804,21 +808,21 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 88 +#define YYFINAL 89 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 321 +#define YYLAST 332 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 64 +#define YYNTOKENS 65 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 54 +#define YYNNTS 55 /* YYNRULES -- Number of rules. */ -#define YYNRULES 151 +#define YYNRULES 154 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 250 +#define YYNSTATES 255 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 309 +#define YYMAXUTOK 310 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -862,29 +866,30 @@ static const yytype_int8 yytranslate[] = 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 198, 198, 201, 204, 205, 208, 211, 214, 223, - 232, 238, 241, 244, 247, 250, 254, 258, 262, 266, - 272, 275, 281, 284, 290, 291, 298, 307, 316, 326, - 336, 348, 349, 354, 360, 377, 381, 387, 396, 404, - 413, 422, 433, 434, 496, 562, 571, 580, 589, 600, - 601, 608, 611, 625, 629, 635, 651, 667, 672, 676, - 681, 686, 691, 695, 700, 703, 708, 724, 735, 747, - 758, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 788, 794, 797, 802, 807, 816, 825, 837, 844, - 851, 858, 867, 870, 873, 876, 879, 882, 885, 888, - 891, 894, 897, 900, 903, 906, 909, 912, 915, 920, - 934, 943, 966, 967, 970, 970, 982, 985, 986, 993, - 994, 997, 997, 1009, 1012, 1013, 1020, 1021, 1024, 1024, - 1036, 1039, 1040, 1043, 1043, 1055, 1058, 1059, 1066, 1070, - 1076, 1085, 1093, 1102, 1111, 1122, 1123, 1130, 1134, 1140, - 1149, 1157 + 0, 200, 200, 203, 206, 207, 210, 213, 216, 225, + 234, 240, 243, 246, 249, 252, 256, 260, 264, 268, + 274, 277, 283, 286, 292, 293, 300, 309, 318, 328, + 338, 350, 351, 356, 362, 379, 383, 389, 398, 406, + 415, 424, 435, 436, 498, 568, 577, 586, 595, 606, + 607, 614, 617, 631, 635, 641, 657, 673, 678, 682, + 687, 692, 697, 702, 706, 711, 714, 719, 735, 746, + 758, 769, 787, 788, 789, 790, 791, 792, 793, 794, + 795, 796, 797, 800, 806, 809, 814, 819, 828, 837, + 849, 856, 863, 870, 877, 886, 889, 892, 895, 898, + 901, 904, 907, 910, 913, 916, 919, 922, 925, 928, + 931, 934, 939, 953, 962, 985, 986, 989, 989, 1001, + 1004, 1005, 1012, 1013, 1016, 1016, 1028, 1031, 1032, 1039, + 1040, 1043, 1043, 1055, 1058, 1059, 1062, 1062, 1074, 1077, + 1078, 1085, 1089, 1095, 1104, 1112, 1121, 1130, 1141, 1142, + 1149, 1153, 1159, 1168, 1176 }; #endif @@ -908,19 +913,20 @@ static const char *const yytname[] = "NOLOG_OUTPUT", "MAIL", "NOMAIL", "FOLLOWLNK", "NOFOLLOWLNK", "INTERCEPT", "NOINTERCEPT", "ALL", "HOSTALIAS", "CMNDALIAS", "USERALIAS", "RUNASALIAS", "':'", "'='", "','", "'!'", "'+'", "'-'", "'('", "')'", - "'\\n'", "ERROR", "NOMATCH", "CHROOT", "CWD", "TYPE", "ROLE", "PRIVS", - "LIMITPRIVS", "CMND_TIMEOUT", "NOTBEFORE", "NOTAFTER", "MYSELF", - "SHA224_TOK", "SHA256_TOK", "SHA384_TOK", "SHA512_TOK", "$accept", - "file", "line", "entry", "include", "includedir", "defaults_list", - "defaults_entry", "privileges", "privilege", "ophost", "host", - "cmndspeclist", "cmndspec", "digestspec", "digestlist", "digcmnd", - "opcmnd", "chdirspec", "chrootspec", "timeoutspec", "notbeforespec", - "notafterspec", "rolespec", "typespec", "privsspec", "limitprivsspec", - "runasspec", "runaslist", "reserved_word", "reserved_alias", "options", - "cmndtag", "cmnd", "hostaliases", "hostalias", "$@1", "hostlist", - "cmndaliases", "cmndalias", "$@2", "cmndlist", "runasaliases", - "runasalias", "$@3", "useraliases", "useralias", "$@4", "userlist", - "opuser", "user", "grouplist", "opgroup", "group", YY_NULLPTR + "'\\n'", "ERROR", "NOMATCH", "CHROOT", "CWD", "TYPE", "ROLE", + "APPARMOR_PROFILE", "PRIVS", "LIMITPRIVS", "CMND_TIMEOUT", "NOTBEFORE", + "NOTAFTER", "MYSELF", "SHA224_TOK", "SHA256_TOK", "SHA384_TOK", + "SHA512_TOK", "$accept", "file", "line", "entry", "include", + "includedir", "defaults_list", "defaults_entry", "privileges", + "privilege", "ophost", "host", "cmndspeclist", "cmndspec", "digestspec", + "digestlist", "digcmnd", "opcmnd", "chdirspec", "chrootspec", + "timeoutspec", "notbeforespec", "notafterspec", "rolespec", "typespec", + "apparmor_profilespec", "privsspec", "limitprivsspec", "runasspec", + "runaslist", "reserved_word", "reserved_alias", "options", "cmndtag", + "cmnd", "hostaliases", "hostalias", "$@1", "hostlist", "cmndaliases", + "cmndalias", "$@2", "cmndlist", "runasaliases", "runasalias", "$@3", + "useraliases", "useralias", "$@4", "userlist", "opuser", "user", + "grouplist", "opgroup", "group", YY_NULLPTR }; static const char * @@ -930,7 +936,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-114) +#define YYPACT_NINF (-115) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -944,31 +950,32 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 169, 13, -114, -114, -114, -114, 70, 87, 9, 237, - 249, 249, 6, -114, 37, 48, 74, 110, 184, -114, - 120, 213, -114, -114, -114, 227, -114, -114, -114, 10, - 11, 41, 102, 18, -114, -114, -114, -114, -114, -114, - 268, -114, -114, 8, 32, 32, -114, -114, -114, 52, - 83, 94, 98, 99, -114, 12, -114, -114, -114, 104, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, 113, 100, -114, -114, 115, 132, -114, -114, - 116, 176, -114, -114, 117, 198, -114, -114, -114, -114, - 249, 215, -114, -23, 93, -114, 95, -114, 163, 165, - 166, -114, 9, -114, -114, 237, 29, 36, 111, -114, - 177, 179, 180, 199, 224, -114, 6, 235, 168, 237, - 37, -114, 170, 6, 48, -114, 172, 249, 74, -114, - 192, 249, 110, -114, -114, 38, -114, 174, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, 237, 201, -114, 6, 211, - -114, 249, 218, -114, 249, 218, -114, -114, -114, 231, - 222, -114, -114, 201, 211, 218, 218, 107, 220, -3, - 174, 144, -114, -114, -114, 109, 223, -114, -114, -114, - 107, -114, 238, 240, 241, 248, 250, 252, 253, 254, - 255, -114, -114, -114, -114, -114, -114, -114, -114, -114, - 1, -114, 107, 223, 258, 280, 287, 288, 289, 290, - 291, 292, 294, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114 + 177, -29, -115, -115, -115, -115, 46, 47, 9, 241, + 245, 245, 6, -115, 32, 75, 89, 117, 192, -115, + 41, 221, -115, -115, -115, 69, -115, -115, -115, 10, + 11, 238, 96, 30, -115, -115, -115, -115, -115, -115, + 258, -115, -115, 8, 54, 54, -115, -115, -115, 101, + 21, 35, 42, 80, -115, 12, -115, -115, -115, 56, + -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, + -115, -115, -115, 68, 53, -115, -115, 98, 55, -115, + -115, 116, 67, -115, -115, 119, 111, -115, -115, -115, + -115, 245, 114, -115, -3, 107, -115, 133, -115, 127, + 173, 174, -115, 9, -115, -115, 241, 156, 157, 161, + -115, 195, 196, 197, 199, 209, -115, 6, 169, 126, + 241, 32, -115, 178, 6, 75, -115, 180, 245, 89, + -115, 183, 245, 117, -115, -115, 38, -115, 172, -115, + -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, + -115, -115, -115, -115, -115, -115, 241, 186, -115, 6, + 190, -115, 245, 200, -115, 245, 200, -115, -115, -115, + 235, 205, -115, -115, 186, 190, 200, 200, 153, 194, + 76, 172, 243, -115, -115, -115, 103, 210, -115, -115, + -115, 153, -115, 220, 226, 236, 240, 244, 246, 248, + 249, 250, 251, -115, -115, -115, -115, -115, -115, -115, + -115, -115, -115, 1, -115, 153, 210, 252, 276, 294, + 295, 296, 297, 298, 299, 300, 301, -115, -115, -115, + -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, + -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, + -115, -115, -115, -115, -115 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -976,53 +983,54 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 0, 0, 140, 142, 143, 144, 0, 0, 0, 0, - 0, 0, 0, 141, 0, 0, 0, 0, 0, 6, - 0, 0, 4, 8, 9, 0, 136, 138, 7, 0, + 0, 0, 143, 145, 146, 147, 0, 0, 0, 0, + 0, 0, 0, 144, 0, 0, 0, 0, 0, 6, + 0, 0, 4, 8, 9, 0, 139, 141, 7, 0, 0, 26, 0, 0, 24, 37, 40, 39, 41, 38, - 0, 117, 35, 0, 0, 0, 111, 110, 109, 0, - 0, 0, 0, 0, 49, 0, 124, 51, 53, 0, - 114, 71, 72, 73, 78, 77, 79, 80, 74, 75, - 76, 81, 0, 0, 112, 121, 0, 0, 119, 133, - 0, 0, 131, 128, 0, 0, 126, 139, 1, 5, - 0, 0, 31, 0, 0, 20, 0, 22, 0, 0, - 0, 27, 0, 15, 36, 0, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 13, 0, 0, 0, 11, - 0, 0, 0, 14, 137, 0, 10, 64, 21, 23, - 28, 29, 30, 25, 118, 18, 16, 17, 45, 46, - 47, 48, 50, 125, 19, 0, 116, 113, 0, 123, - 120, 0, 135, 132, 0, 130, 127, 33, 32, 66, - 34, 42, 82, 115, 122, 134, 129, 70, 0, 67, - 64, 92, 149, 151, 150, 0, 69, 145, 147, 65, - 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 84, 87, 85, 86, 88, 89, 90, 91, - 0, 148, 0, 68, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 93, 94, 95, 96, 99, 100, 101, - 102, 103, 104, 107, 108, 105, 106, 97, 98, 44, - 146, 56, 55, 61, 60, 62, 63, 57, 58, 59 + 0, 120, 35, 0, 0, 0, 114, 113, 112, 0, + 0, 0, 0, 0, 49, 0, 127, 51, 53, 0, + 117, 72, 73, 74, 79, 78, 82, 80, 81, 75, + 76, 77, 83, 0, 0, 115, 124, 0, 0, 122, + 136, 0, 0, 134, 131, 0, 0, 129, 142, 1, + 5, 0, 0, 31, 0, 0, 20, 0, 22, 0, + 0, 0, 27, 0, 15, 36, 0, 0, 0, 0, + 54, 0, 0, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, + 11, 0, 0, 0, 14, 140, 0, 10, 65, 21, + 23, 28, 29, 30, 25, 121, 18, 16, 17, 45, + 46, 47, 48, 50, 128, 19, 0, 119, 116, 0, + 126, 123, 0, 138, 135, 0, 133, 130, 33, 32, + 67, 34, 42, 84, 118, 125, 137, 132, 71, 0, + 68, 65, 95, 152, 154, 153, 0, 70, 148, 150, + 66, 0, 43, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 85, 86, 89, 87, 88, 90, 91, + 92, 93, 94, 0, 151, 0, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 96, 97, 98, + 99, 102, 103, 104, 105, 106, 107, 110, 111, 108, + 109, 100, 101, 44, 149, 56, 55, 61, 60, 62, + 63, 64, 57, 58, 59 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -114, -114, -114, 283, -114, -114, 91, 203, -114, 171, - 202, 269, -114, 128, 196, -114, -113, 256, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -9, -114, -114, 263, -114, 193, -114, -7, -114, 190, - -114, -48, -114, 183, -114, -114, 188, -114, -10, 228, - 299, 129, 108, 136 + -115, -115, -115, 290, -115, -115, 120, 211, -115, 176, + 207, 275, -115, 135, 202, -115, -114, 263, -115, -115, + -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, + -115, -9, -115, -115, 270, -115, 201, -115, -7, -115, + 198, -115, -107, -115, 187, -115, -115, 203, -115, -10, + 230, 306, 134, 112, 140 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_uint8 yydefgoto[] = { - 0, 20, 21, 22, 23, 24, 33, 34, 91, 92, - 41, 42, 170, 171, 54, 55, 56, 57, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 172, 178, 71, - 72, 181, 210, 58, 73, 74, 118, 93, 77, 78, - 122, 59, 85, 86, 130, 81, 82, 126, 25, 26, - 27, 186, 187, 188 + 0, 20, 21, 22, 23, 24, 33, 34, 92, 93, + 41, 42, 171, 172, 54, 55, 56, 57, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 173, 179, + 72, 73, 182, 213, 58, 74, 75, 119, 94, 78, + 79, 123, 59, 86, 87, 131, 82, 83, 127, 25, + 26, 27, 187, 188, 189 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1030,76 +1038,78 @@ static const yytype_uint8 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 44, 45, 43, 153, 46, 47, 76, 80, 84, 46, - 47, 94, 96, 31, 31, 46, 47, 137, 105, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 48, 190, 31, 90, 167, - 48, 60, 35, 49, 36, 37, 48, 38, 49, 105, - 32, 32, 75, 114, 49, 46, 47, 95, 97, 102, - 28, 50, 51, 52, 53, 103, 50, 51, 52, 53, - 102, 61, 39, 90, 32, 159, 145, 102, 79, 29, - 40, 98, 61, 146, 99, 100, 48, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 30, 239, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 101, 61, 31, - 174, 182, 156, 182, 83, 76, 183, 162, 183, 80, - 88, 165, 110, 84, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 111, 106, 107, 108, 112, 113, 120, - 138, 184, 139, 184, 61, 116, 32, 121, 173, 185, - 117, 175, 102, 119, 176, 123, 127, 131, 147, 179, - 62, 63, 64, 65, 66, 67, 68, 69, 70, -2, - 1, 124, 140, 2, 141, 142, 3, 4, 5, 125, - 6, 7, 8, 9, 10, 11, 12, 148, 2, 149, - 150, 3, 4, 5, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 13, 14, 15, 16, 17, 155, 151, - 158, 18, 161, -3, 1, 128, 19, 2, 13, 169, - 3, 4, 5, 129, 6, 7, 8, 9, 10, 11, - 12, 35, 164, 36, 37, 2, 38, 132, 3, 4, - 5, 35, 105, 36, 37, 133, 38, 13, 14, 15, - 16, 17, 116, 2, 135, 18, 3, 4, 5, 90, - 19, 39, 136, 180, 212, 13, 189, 241, 90, 40, - 177, 39, 35, 18, 36, 37, 102, 38, 214, 40, - 215, 216, 154, 13, 50, 51, 52, 53, 217, 242, - 218, 18, 219, 220, 221, 222, 243, 244, 245, 246, - 247, 248, 39, 249, 89, 143, 168, 144, 191, 104, - 152, 115, 109, 157, 160, 166, 163, 87, 134, 213, - 240, 211 + 44, 45, 43, 154, 46, 47, 77, 81, 85, 46, + 47, 95, 97, 31, 31, 46, 47, 160, 28, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 48, 60, 138, 106, 168, + 48, 89, 35, 49, 36, 37, 48, 38, 49, 106, + 32, 32, 175, 115, 49, 29, 30, 96, 98, 31, + 111, 31, 50, 51, 52, 53, 61, 50, 51, 52, + 53, 103, 39, 35, 112, 36, 37, 104, 38, 76, + 40, 113, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 121, 80, 125, 91, 32, 117, 32, 243, + 122, 102, 126, 39, 46, 47, 129, 183, 120, 61, + 91, 40, 184, 157, 130, 191, 77, 91, 163, 114, + 81, 84, 166, 61, 85, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 48, 141, 185, 124, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 174, + 133, 61, 176, 136, 139, 177, 128, 183, 134, 132, + 180, 137, 184, 107, 108, 109, 156, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, -2, 1, 118, + 140, 2, 142, 143, 3, 4, 5, 185, 6, 7, + 8, 9, 10, 11, 12, 186, 2, 103, 103, 3, + 4, 5, 103, 146, 147, 149, 150, 151, 148, 152, + 103, 13, 14, 15, 16, 17, 155, 170, 159, 18, + 162, -3, 1, 165, 19, 2, 13, 106, 3, 4, + 5, 117, 6, 7, 8, 9, 10, 11, 12, 2, + 190, 91, 3, 4, 5, 35, 181, 36, 37, 2, + 38, 215, 3, 4, 5, 13, 14, 15, 16, 17, + 217, 245, 35, 18, 36, 37, 218, 38, 19, 13, + 50, 51, 52, 53, 178, 39, 219, 18, 99, 13, + 220, 100, 101, 40, 221, 246, 222, 18, 223, 224, + 225, 226, 39, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 247, 248, 249, 250, 251, 252, 253, + 254, 90, 169, 145, 144, 105, 192, 153, 116, 110, + 167, 135, 158, 161, 88, 216, 214, 244, 0, 0, + 0, 0, 164 }; -static const yytype_uint8 yycheck[] = +static const yytype_int16 yycheck[] = { - 10, 11, 9, 116, 3, 4, 15, 16, 17, 3, - 4, 1, 1, 5, 5, 3, 4, 40, 41, 18, + 10, 11, 9, 117, 3, 4, 15, 16, 17, 3, + 4, 1, 1, 5, 5, 3, 4, 124, 47, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 39, 5, 41, 1, - 34, 4, 4, 42, 6, 7, 34, 9, 42, 41, - 42, 42, 4, 41, 42, 3, 4, 47, 47, 41, - 47, 60, 61, 62, 63, 47, 60, 61, 62, 63, - 41, 34, 34, 41, 42, 123, 47, 41, 4, 9, - 42, 40, 34, 47, 43, 44, 34, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 9, 210, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 5, 34, 5, - 158, 4, 119, 4, 4, 124, 9, 127, 9, 128, - 0, 131, 39, 132, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 39, 43, 44, 45, 39, 39, 39, - 47, 34, 47, 34, 34, 41, 42, 47, 155, 42, - 59, 161, 41, 40, 164, 40, 40, 40, 47, 169, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 0, - 1, 39, 9, 4, 9, 9, 7, 8, 9, 47, - 11, 12, 13, 14, 15, 16, 17, 10, 4, 10, - 10, 7, 8, 9, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 34, 35, 36, 37, 38, 40, 10, - 40, 42, 40, 0, 1, 39, 47, 4, 34, 45, - 7, 8, 9, 47, 11, 12, 13, 14, 15, 16, - 17, 4, 40, 6, 7, 4, 9, 39, 7, 8, - 9, 4, 41, 6, 7, 47, 9, 34, 35, 36, - 37, 38, 41, 4, 39, 42, 7, 8, 9, 41, - 47, 34, 47, 41, 41, 34, 46, 9, 41, 42, - 39, 34, 4, 42, 6, 7, 41, 9, 40, 42, - 40, 40, 47, 34, 60, 61, 62, 63, 40, 9, - 40, 42, 40, 40, 40, 40, 9, 9, 9, 9, - 9, 9, 34, 9, 21, 102, 135, 105, 180, 40, - 114, 55, 49, 120, 124, 132, 128, 18, 90, 190, - 212, 185 + 29, 30, 31, 32, 33, 34, 4, 40, 41, 1, + 34, 0, 4, 42, 6, 7, 34, 9, 42, 41, + 42, 42, 159, 41, 42, 9, 9, 47, 47, 5, + 39, 5, 61, 62, 63, 64, 34, 61, 62, 63, + 64, 41, 34, 4, 39, 6, 7, 47, 9, 4, + 42, 39, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 39, 4, 39, 41, 42, 41, 42, 213, + 47, 5, 47, 34, 3, 4, 39, 4, 40, 34, + 41, 42, 9, 120, 47, 39, 125, 41, 128, 39, + 129, 4, 132, 34, 133, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 34, 9, 34, 40, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 156, + 39, 34, 162, 39, 47, 165, 40, 4, 47, 40, + 170, 47, 9, 43, 44, 45, 40, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 0, 1, 59, + 47, 4, 9, 9, 7, 8, 9, 34, 11, 12, + 13, 14, 15, 16, 17, 42, 4, 41, 41, 7, + 8, 9, 41, 47, 47, 10, 10, 10, 47, 10, + 41, 34, 35, 36, 37, 38, 47, 45, 40, 42, + 40, 0, 1, 40, 47, 4, 34, 41, 7, 8, + 9, 41, 11, 12, 13, 14, 15, 16, 17, 4, + 46, 41, 7, 8, 9, 4, 41, 6, 7, 4, + 9, 41, 7, 8, 9, 34, 35, 36, 37, 38, + 40, 9, 4, 42, 6, 7, 40, 9, 47, 34, + 61, 62, 63, 64, 39, 34, 40, 42, 40, 34, + 40, 43, 44, 42, 40, 9, 40, 42, 40, 40, + 40, 40, 34, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 9, 9, 9, 9, 9, 9, 9, + 9, 21, 136, 106, 103, 40, 181, 115, 55, 49, + 133, 91, 121, 125, 18, 191, 186, 215, -1, -1, + -1, -1, 129 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1108,50 +1118,51 @@ static const yytype_int8 yystos[] = { 0, 1, 4, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 34, 35, 36, 37, 38, 42, 47, - 65, 66, 67, 68, 69, 112, 113, 114, 47, 9, - 9, 5, 42, 70, 71, 4, 6, 7, 9, 34, - 42, 74, 75, 101, 112, 112, 3, 4, 34, 42, - 60, 61, 62, 63, 78, 79, 80, 81, 97, 105, + 66, 67, 68, 69, 70, 114, 115, 116, 47, 9, + 9, 5, 42, 71, 72, 4, 6, 7, 9, 34, + 42, 75, 76, 103, 114, 114, 3, 4, 34, 42, + 61, 62, 63, 64, 79, 80, 81, 82, 99, 107, 4, 34, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 93, 94, 98, 99, 4, 94, 102, 103, 4, - 94, 109, 110, 4, 94, 106, 107, 114, 0, 67, - 41, 72, 73, 101, 1, 47, 1, 47, 40, 43, - 44, 5, 41, 47, 75, 41, 70, 70, 70, 97, - 39, 39, 39, 39, 41, 81, 41, 70, 100, 40, - 39, 47, 104, 40, 39, 47, 111, 40, 39, 47, - 108, 40, 39, 47, 113, 39, 47, 40, 47, 47, - 9, 9, 9, 71, 74, 47, 47, 47, 10, 10, - 10, 10, 78, 80, 47, 40, 101, 99, 40, 105, - 103, 40, 112, 110, 40, 112, 107, 1, 73, 45, - 76, 77, 91, 101, 105, 112, 112, 39, 92, 112, - 41, 95, 4, 9, 34, 42, 115, 116, 117, 46, - 39, 77, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 96, 117, 41, 115, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 80, - 116, 9, 9, 9, 9, 9, 9, 9, 9, 9 + 58, 59, 95, 96, 100, 101, 4, 96, 104, 105, + 4, 96, 111, 112, 4, 96, 108, 109, 116, 0, + 68, 41, 73, 74, 103, 1, 47, 1, 47, 40, + 43, 44, 5, 41, 47, 76, 41, 71, 71, 71, + 99, 39, 39, 39, 39, 41, 82, 41, 71, 102, + 40, 39, 47, 106, 40, 39, 47, 113, 40, 39, + 47, 110, 40, 39, 47, 115, 39, 47, 40, 47, + 47, 9, 9, 9, 72, 75, 47, 47, 47, 10, + 10, 10, 10, 79, 81, 47, 40, 103, 101, 40, + 107, 105, 40, 114, 112, 40, 114, 109, 1, 74, + 45, 77, 78, 93, 103, 107, 114, 114, 39, 94, + 114, 41, 97, 4, 9, 34, 42, 117, 118, 119, + 46, 39, 78, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 98, 119, 41, 117, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 81, 118, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_int8 yyr1[] = { - 0, 64, 65, 65, 66, 66, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 68, 68, 69, 69, 70, 70, 71, 71, 71, 71, - 71, 72, 72, 72, 73, 74, 74, 75, 75, 75, - 75, 75, 76, 76, 77, 78, 78, 78, 78, 79, - 79, 80, 80, 81, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 91, 92, 92, 92, 92, - 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 94, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, - 97, 97, 98, 98, 100, 99, 99, 101, 101, 102, - 102, 104, 103, 103, 105, 105, 106, 106, 108, 107, - 107, 109, 109, 111, 110, 110, 112, 112, 113, 113, - 114, 114, 114, 114, 114, 115, 115, 116, 116, 117, - 117, 117 + 0, 65, 66, 66, 67, 67, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 69, 69, 70, 70, 71, 71, 72, 72, 72, 72, + 72, 73, 73, 73, 74, 75, 75, 76, 76, 76, + 76, 76, 77, 77, 78, 79, 79, 79, 79, 80, + 80, 81, 81, 82, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 93, 94, 94, 94, + 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 96, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 99, 99, 99, 100, 100, 102, 101, 101, + 103, 103, 104, 104, 106, 105, 105, 107, 107, 108, + 108, 110, 109, 109, 111, 111, 113, 112, 112, 114, + 114, 115, 115, 116, 116, 116, 116, 116, 117, 117, + 118, 118, 119, 119, 119 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1163,16 +1174,16 @@ static const yytype_int8 yyr2[] = 3, 1, 3, 3, 3, 1, 2, 1, 1, 1, 1, 1, 1, 3, 4, 3, 3, 3, 3, 1, 3, 1, 2, 1, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 0, 3, 0, 1, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 1, 1, 1, 3, 0, 4, 3, 1, 3, 1, - 3, 0, 4, 3, 1, 3, 1, 3, 0, 4, - 3, 1, 3, 0, 4, 3, 1, 3, 1, 2, - 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, - 1, 1 + 3, 3, 3, 3, 3, 0, 3, 0, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 3, 0, 4, 3, + 1, 3, 1, 3, 0, 4, 3, 1, 3, 1, + 3, 0, 4, 3, 1, 3, 0, 4, 3, 1, + 3, 1, 2, 1, 1, 1, 1, 1, 1, 3, + 1, 2, 1, 1, 1 }; @@ -1636,31 +1647,31 @@ yyreduce: switch (yyn) { case 2: /* file: %empty */ -#line 198 "gram.y" +#line 200 "gram.y" { ; /* empty file */ } -#line 1638 "gram.c" +#line 1649 "gram.c" break; case 6: /* entry: '\n' */ -#line 208 "gram.y" +#line 210 "gram.y" { ; /* blank line */ } -#line 1646 "gram.c" +#line 1657 "gram.c" break; case 7: /* entry: error '\n' */ -#line 211 "gram.y" +#line 213 "gram.y" { yyerrok; } -#line 1654 "gram.c" +#line 1665 "gram.c" break; case 8: /* entry: include */ -#line 214 "gram.y" +#line 216 "gram.y" { if (!push_include((yyvsp[0].string), false)) { parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -1670,11 +1681,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); free((yyvsp[0].string)); } -#line 1668 "gram.c" +#line 1679 "gram.c" break; case 9: /* entry: includedir */ -#line 223 "gram.y" +#line 225 "gram.y" { if (!push_include((yyvsp[0].string), true)) { parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -1684,143 +1695,143 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); free((yyvsp[0].string)); } -#line 1682 "gram.c" +#line 1693 "gram.c" break; case 10: /* entry: userlist privileges '\n' */ -#line 232 "gram.y" +#line 234 "gram.y" { if (!add_userspec((yyvsp[-2].member), (yyvsp[-1].privilege))) { sudoerserror(N_("unable to allocate memory")); YYERROR; } } -#line 1693 "gram.c" +#line 1704 "gram.c" break; case 11: /* entry: USERALIAS useraliases '\n' */ -#line 238 "gram.y" +#line 240 "gram.y" { ; } -#line 1701 "gram.c" +#line 1712 "gram.c" break; case 12: /* entry: HOSTALIAS hostaliases '\n' */ -#line 241 "gram.y" +#line 243 "gram.y" { ; } -#line 1709 "gram.c" +#line 1720 "gram.c" break; case 13: /* entry: CMNDALIAS cmndaliases '\n' */ -#line 244 "gram.y" +#line 246 "gram.y" { ; } -#line 1717 "gram.c" +#line 1728 "gram.c" break; case 14: /* entry: RUNASALIAS runasaliases '\n' */ -#line 247 "gram.y" +#line 249 "gram.y" { ; } -#line 1725 "gram.c" +#line 1736 "gram.c" break; case 15: /* entry: DEFAULTS defaults_list '\n' */ -#line 250 "gram.y" +#line 252 "gram.y" { if (!add_defaults(DEFAULTS, NULL, (yyvsp[-1].defaults))) YYERROR; } -#line 1734 "gram.c" +#line 1745 "gram.c" break; case 16: /* entry: DEFAULTS_USER userlist defaults_list '\n' */ -#line 254 "gram.y" +#line 256 "gram.y" { if (!add_defaults(DEFAULTS_USER, (yyvsp[-2].member), (yyvsp[-1].defaults))) YYERROR; } -#line 1743 "gram.c" +#line 1754 "gram.c" break; case 17: /* entry: DEFAULTS_RUNAS userlist defaults_list '\n' */ -#line 258 "gram.y" +#line 260 "gram.y" { if (!add_defaults(DEFAULTS_RUNAS, (yyvsp[-2].member), (yyvsp[-1].defaults))) YYERROR; } -#line 1752 "gram.c" +#line 1763 "gram.c" break; case 18: /* entry: DEFAULTS_HOST hostlist defaults_list '\n' */ -#line 262 "gram.y" +#line 264 "gram.y" { if (!add_defaults(DEFAULTS_HOST, (yyvsp[-2].member), (yyvsp[-1].defaults))) YYERROR; } -#line 1761 "gram.c" +#line 1772 "gram.c" break; case 19: /* entry: DEFAULTS_CMND cmndlist defaults_list '\n' */ -#line 266 "gram.y" +#line 268 "gram.y" { if (!add_defaults(DEFAULTS_CMND, (yyvsp[-2].member), (yyvsp[-1].defaults))) YYERROR; } -#line 1770 "gram.c" +#line 1781 "gram.c" break; case 20: /* include: INCLUDE WORD '\n' */ -#line 272 "gram.y" +#line 274 "gram.y" { (yyval.string) = (yyvsp[-1].string); } -#line 1778 "gram.c" +#line 1789 "gram.c" break; case 21: /* include: INCLUDE WORD error '\n' */ -#line 275 "gram.y" +#line 277 "gram.y" { yyerrok; (yyval.string) = (yyvsp[-2].string); } -#line 1787 "gram.c" +#line 1798 "gram.c" break; case 22: /* includedir: INCLUDEDIR WORD '\n' */ -#line 281 "gram.y" +#line 283 "gram.y" { (yyval.string) = (yyvsp[-1].string); } -#line 1795 "gram.c" +#line 1806 "gram.c" break; case 23: /* includedir: INCLUDEDIR WORD error '\n' */ -#line 284 "gram.y" +#line 286 "gram.y" { yyerrok; (yyval.string) = (yyvsp[-2].string); } -#line 1804 "gram.c" +#line 1815 "gram.c" break; case 25: /* defaults_list: defaults_list ',' defaults_entry */ -#line 291 "gram.y" +#line 293 "gram.y" { parser_leak_remove(LEAK_DEFAULTS, (yyvsp[0].defaults)); HLTQ_CONCAT((yyvsp[-2].defaults), (yyvsp[0].defaults), entries); (yyval.defaults) = (yyvsp[-2].defaults); } -#line 1814 "gram.c" +#line 1825 "gram.c" break; case 26: /* defaults_entry: DEFVAR */ -#line 298 "gram.y" +#line 300 "gram.y" { (yyval.defaults) = new_default((yyvsp[0].string), NULL, true); if ((yyval.defaults) == NULL) { @@ -1830,11 +1841,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DEFAULTS, (yyval.defaults)); } -#line 1828 "gram.c" +#line 1839 "gram.c" break; case 27: /* defaults_entry: '!' DEFVAR */ -#line 307 "gram.y" +#line 309 "gram.y" { (yyval.defaults) = new_default((yyvsp[0].string), NULL, false); if ((yyval.defaults) == NULL) { @@ -1844,11 +1855,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DEFAULTS, (yyval.defaults)); } -#line 1842 "gram.c" +#line 1853 "gram.c" break; case 28: /* defaults_entry: DEFVAR '=' WORD */ -#line 316 "gram.y" +#line 318 "gram.y" { (yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), true); if ((yyval.defaults) == NULL) { @@ -1859,11 +1870,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DEFAULTS, (yyval.defaults)); } -#line 1857 "gram.c" +#line 1868 "gram.c" break; case 29: /* defaults_entry: DEFVAR '+' WORD */ -#line 326 "gram.y" +#line 328 "gram.y" { (yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '+'); if ((yyval.defaults) == NULL) { @@ -1874,11 +1885,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DEFAULTS, (yyval.defaults)); } -#line 1872 "gram.c" +#line 1883 "gram.c" break; case 30: /* defaults_entry: DEFVAR '-' WORD */ -#line 336 "gram.y" +#line 338 "gram.y" { (yyval.defaults) = new_default((yyvsp[-2].string), (yyvsp[0].string), '-'); if ((yyval.defaults) == NULL) { @@ -1889,30 +1900,30 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DEFAULTS, (yyval.defaults)); } -#line 1887 "gram.c" +#line 1898 "gram.c" break; case 32: /* privileges: privileges ':' privilege */ -#line 349 "gram.y" +#line 351 "gram.y" { parser_leak_remove(LEAK_PRIVILEGE, (yyvsp[0].privilege)); HLTQ_CONCAT((yyvsp[-2].privilege), (yyvsp[0].privilege), entries); (yyval.privilege) = (yyvsp[-2].privilege); } -#line 1897 "gram.c" +#line 1908 "gram.c" break; case 33: /* privileges: privileges ':' error */ -#line 354 "gram.y" +#line 356 "gram.y" { yyerrok; (yyval.privilege) = (yyvsp[-2].privilege); } -#line 1906 "gram.c" +#line 1917 "gram.c" break; case 34: /* privilege: hostlist '=' cmndspeclist */ -#line 360 "gram.y" +#line 362 "gram.y" { struct privilege *p = calloc(1, sizeof(*p)); if (p == NULL) { @@ -1928,29 +1939,29 @@ yyreduce: HLTQ_INIT(p, entries); (yyval.privilege) = p; } -#line 1926 "gram.c" +#line 1937 "gram.c" break; case 35: /* ophost: host */ -#line 377 "gram.y" +#line 379 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 1935 "gram.c" +#line 1946 "gram.c" break; case 36: /* ophost: '!' host */ -#line 381 "gram.y" +#line 383 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 1944 "gram.c" +#line 1955 "gram.c" break; case 37: /* host: ALIAS */ -#line 387 "gram.y" +#line 389 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -1960,11 +1971,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 1958 "gram.c" +#line 1969 "gram.c" break; case 38: /* host: ALL */ -#line 396 "gram.y" +#line 398 "gram.y" { (yyval.member) = new_member(NULL, ALL); if ((yyval.member) == NULL) { @@ -1973,11 +1984,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 1971 "gram.c" +#line 1982 "gram.c" break; case 39: /* host: NETGROUP */ -#line 404 "gram.y" +#line 406 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), NETGROUP); if ((yyval.member) == NULL) { @@ -1987,11 +1998,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 1985 "gram.c" +#line 1996 "gram.c" break; case 40: /* host: NTWKADDR */ -#line 413 "gram.y" +#line 415 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), NTWKADDR); if ((yyval.member) == NULL) { @@ -2001,11 +2012,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 1999 "gram.c" +#line 2010 "gram.c" break; case 41: /* host: WORD */ -#line 422 "gram.y" +#line 424 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), WORD); if ((yyval.member) == NULL) { @@ -2015,11 +2026,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2013 "gram.c" +#line 2024 "gram.c" break; case 43: /* cmndspeclist: cmndspeclist ',' cmndspec */ -#line 434 "gram.y" +#line 436 "gram.y" { struct cmndspec *prev; prev = HLTQ_LAST((yyvsp[-2].cmndspec), cmndspec, entries); @@ -2080,11 +2091,11 @@ yyreduce: } (yyval.cmndspec) = (yyvsp[-2].cmndspec); } -#line 2078 "gram.c" +#line 2089 "gram.c" break; case 44: /* cmndspec: runasspec options cmndtag digcmnd */ -#line 496 "gram.y" +#line 498 "gram.y" { struct cmndspec *cs = calloc(1, sizeof(*cs)); if (cs == NULL) { @@ -2126,6 +2137,10 @@ yyreduce: cs->type = (yyvsp[-2].options).type; parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).type); #endif +#ifdef HAVE_APPARMOR + cs->apparmor_profile = (yyvsp[-2].options).apparmor_profile; + parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).apparmor_profile); +#endif #ifdef HAVE_PRIV_SET cs->privs = (yyvsp[-2].options).privs; parser_leak_remove(LEAK_PTR, (yyvsp[-2].options).privs); @@ -2149,11 +2164,11 @@ yyreduce: cs->tags.setenv = IMPLIED; (yyval.cmndspec) = cs; } -#line 2147 "gram.c" +#line 2162 "gram.c" break; case 45: /* digestspec: SHA224_TOK ':' DIGEST */ -#line 562 "gram.y" +#line 568 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA224, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2163,11 +2178,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2161 "gram.c" +#line 2176 "gram.c" break; case 46: /* digestspec: SHA256_TOK ':' DIGEST */ -#line 571 "gram.y" +#line 577 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA256, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2177,11 +2192,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2175 "gram.c" +#line 2190 "gram.c" break; case 47: /* digestspec: SHA384_TOK ':' DIGEST */ -#line 580 "gram.y" +#line 586 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA384, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2191,11 +2206,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2189 "gram.c" +#line 2204 "gram.c" break; case 48: /* digestspec: SHA512_TOK ':' DIGEST */ -#line 589 "gram.y" +#line 595 "gram.y" { (yyval.digest) = new_digest(SUDO_DIGEST_SHA512, (yyvsp[0].string)); if ((yyval.digest) == NULL) { @@ -2205,29 +2220,29 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_DIGEST, (yyval.digest)); } -#line 2203 "gram.c" +#line 2218 "gram.c" break; case 50: /* digestlist: digestlist ',' digestspec */ -#line 601 "gram.y" +#line 607 "gram.y" { parser_leak_remove(LEAK_DIGEST, (yyvsp[0].digest)); HLTQ_CONCAT((yyvsp[-2].digest), (yyvsp[0].digest), entries); (yyval.digest) = (yyvsp[-2].digest); } -#line 2213 "gram.c" +#line 2228 "gram.c" break; case 51: /* digcmnd: opcmnd */ -#line 608 "gram.y" +#line 614 "gram.y" { (yyval.member) = (yyvsp[0].member); } -#line 2221 "gram.c" +#line 2236 "gram.c" break; case 52: /* digcmnd: digestlist opcmnd */ -#line 611 "gram.y" +#line 617 "gram.y" { struct sudo_command *c = (struct sudo_command *) (yyvsp[0].member)->name; @@ -2240,29 +2255,29 @@ yyreduce: HLTQ_TO_TAILQ(&c->digests, (yyvsp[-1].digest), entries); (yyval.member) = (yyvsp[0].member); } -#line 2238 "gram.c" +#line 2253 "gram.c" break; case 53: /* opcmnd: cmnd */ -#line 625 "gram.y" +#line 631 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 2247 "gram.c" +#line 2262 "gram.c" break; case 54: /* opcmnd: '!' cmnd */ -#line 629 "gram.y" +#line 635 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 2256 "gram.c" +#line 2271 "gram.c" break; case 55: /* chdirspec: CWD '=' WORD */ -#line 635 "gram.y" +#line 641 "gram.y" { if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') { if (strcmp((yyvsp[0].string), "*") != 0) { @@ -2277,11 +2292,11 @@ yyreduce: } (yyval.string) = (yyvsp[0].string); } -#line 2275 "gram.c" +#line 2290 "gram.c" break; case 56: /* chrootspec: CHROOT '=' WORD */ -#line 651 "gram.y" +#line 657 "gram.y" { if ((yyvsp[0].string)[0] != '/' && (yyvsp[0].string)[0] != '~') { if (strcmp((yyvsp[0].string), "*") != 0) { @@ -2296,83 +2311,91 @@ yyreduce: } (yyval.string) = (yyvsp[0].string); } -#line 2294 "gram.c" +#line 2309 "gram.c" break; case 57: /* timeoutspec: CMND_TIMEOUT '=' WORD */ -#line 667 "gram.y" +#line 673 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2302 "gram.c" +#line 2317 "gram.c" break; case 58: /* notbeforespec: NOTBEFORE '=' WORD */ -#line 672 "gram.y" +#line 678 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2310 "gram.c" +#line 2325 "gram.c" break; case 59: /* notafterspec: NOTAFTER '=' WORD */ -#line 676 "gram.y" +#line 682 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2318 "gram.c" +#line 2333 "gram.c" break; case 60: /* rolespec: ROLE '=' WORD */ -#line 681 "gram.y" +#line 687 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2326 "gram.c" +#line 2341 "gram.c" break; case 61: /* typespec: TYPE '=' WORD */ -#line 686 "gram.y" +#line 692 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2334 "gram.c" +#line 2349 "gram.c" break; - case 62: /* privsspec: PRIVS '=' WORD */ -#line 691 "gram.y" + case 62: /* apparmor_profilespec: APPARMOR_PROFILE '=' WORD */ +#line 697 "gram.y" + { + (yyval.string) = (yyvsp[0].string); + } +#line 2357 "gram.c" + break; + + case 63: /* privsspec: PRIVS '=' WORD */ +#line 702 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2342 "gram.c" +#line 2365 "gram.c" break; - case 63: /* limitprivsspec: LIMITPRIVS '=' WORD */ -#line 695 "gram.y" + case 64: /* limitprivsspec: LIMITPRIVS '=' WORD */ +#line 706 "gram.y" { (yyval.string) = (yyvsp[0].string); } -#line 2350 "gram.c" +#line 2373 "gram.c" break; - case 64: /* runasspec: %empty */ -#line 700 "gram.y" + case 65: /* runasspec: %empty */ +#line 711 "gram.y" { (yyval.runas) = NULL; } -#line 2358 "gram.c" +#line 2381 "gram.c" break; - case 65: /* runasspec: '(' runaslist ')' */ -#line 703 "gram.y" + case 66: /* runasspec: '(' runaslist ')' */ +#line 714 "gram.y" { (yyval.runas) = (yyvsp[-1].runas); } -#line 2366 "gram.c" +#line 2389 "gram.c" break; - case 66: /* runaslist: %empty */ -#line 708 "gram.y" + case 67: /* runaslist: %empty */ +#line 719 "gram.y" { (yyval.runas) = calloc(1, sizeof(struct runascontainer)); if ((yyval.runas) != NULL) { @@ -2389,11 +2412,11 @@ yyreduce: } parser_leak_add(LEAK_RUNAS, (yyval.runas)); } -#line 2387 "gram.c" +#line 2410 "gram.c" break; - case 67: /* runaslist: userlist */ -#line 724 "gram.y" + case 68: /* runaslist: userlist */ +#line 735 "gram.y" { (yyval.runas) = calloc(1, sizeof(struct runascontainer)); if ((yyval.runas) == NULL) { @@ -2405,11 +2428,11 @@ yyreduce: (yyval.runas)->runasusers = (yyvsp[0].member); /* $$->runasgroups = NULL; */ } -#line 2403 "gram.c" +#line 2426 "gram.c" break; - case 68: /* runaslist: userlist ':' grouplist */ -#line 735 "gram.y" + case 69: /* runaslist: userlist ':' grouplist */ +#line 746 "gram.y" { (yyval.runas) = calloc(1, sizeof(struct runascontainer)); if ((yyval.runas) == NULL) { @@ -2422,11 +2445,11 @@ yyreduce: (yyval.runas)->runasusers = (yyvsp[-2].member); (yyval.runas)->runasgroups = (yyvsp[0].member); } -#line 2420 "gram.c" +#line 2443 "gram.c" break; - case 69: /* runaslist: ':' grouplist */ -#line 747 "gram.y" + case 70: /* runaslist: ':' grouplist */ +#line 758 "gram.y" { (yyval.runas) = calloc(1, sizeof(struct runascontainer)); if ((yyval.runas) == NULL) { @@ -2438,11 +2461,11 @@ yyreduce: /* $$->runasusers = NULL; */ (yyval.runas)->runasgroups = (yyvsp[0].member); } -#line 2436 "gram.c" +#line 2459 "gram.c" break; - case 70: /* runaslist: ':' */ -#line 758 "gram.y" + case 71: /* runaslist: ':' */ +#line 769 "gram.y" { (yyval.runas) = calloc(1, sizeof(struct runascontainer)); if ((yyval.runas) != NULL) { @@ -2459,108 +2482,114 @@ yyreduce: } parser_leak_add(LEAK_RUNAS, (yyval.runas)); } -#line 2457 "gram.c" +#line 2480 "gram.c" break; - case 71: /* reserved_word: ALL */ -#line 776 "gram.y" + case 72: /* reserved_word: ALL */ +#line 787 "gram.y" { (yyval.string) = "ALL"; } -#line 2463 "gram.c" +#line 2486 "gram.c" break; - case 72: /* reserved_word: CHROOT */ -#line 777 "gram.y" - { (yyval.string) = "CHROOT"; } -#line 2469 "gram.c" - break; - - case 73: /* reserved_word: CWD */ -#line 778 "gram.y" - { (yyval.string) = "CWD"; } -#line 2475 "gram.c" - break; - - case 74: /* reserved_word: CMND_TIMEOUT */ -#line 779 "gram.y" - { (yyval.string) = "CMND_TIMEOUT"; } -#line 2481 "gram.c" - break; - - case 75: /* reserved_word: NOTBEFORE */ -#line 780 "gram.y" - { (yyval.string) = "NOTBEFORE"; } -#line 2487 "gram.c" - break; - - case 76: /* reserved_word: NOTAFTER */ -#line 781 "gram.y" - { (yyval.string) = "NOTAFTER"; } -#line 2493 "gram.c" - break; - - case 77: /* reserved_word: ROLE */ -#line 782 "gram.y" - { (yyval.string) = "ROLE"; } -#line 2499 "gram.c" - break; - - case 78: /* reserved_word: TYPE */ -#line 783 "gram.y" - { (yyval.string) = "TYPE"; } -#line 2505 "gram.c" - break; - - case 79: /* reserved_word: PRIVS */ -#line 784 "gram.y" - { (yyval.string) = "PRIVS"; } -#line 2511 "gram.c" - break; - - case 80: /* reserved_word: LIMITPRIVS */ -#line 785 "gram.y" - { (yyval.string) = "LIMITPRIVS"; } -#line 2517 "gram.c" - break; - - case 81: /* reserved_alias: reserved_word */ + case 73: /* reserved_word: CHROOT */ #line 788 "gram.y" + { (yyval.string) = "CHROOT"; } +#line 2492 "gram.c" + break; + + case 74: /* reserved_word: CWD */ +#line 789 "gram.y" + { (yyval.string) = "CWD"; } +#line 2498 "gram.c" + break; + + case 75: /* reserved_word: CMND_TIMEOUT */ +#line 790 "gram.y" + { (yyval.string) = "CMND_TIMEOUT"; } +#line 2504 "gram.c" + break; + + case 76: /* reserved_word: NOTBEFORE */ +#line 791 "gram.y" + { (yyval.string) = "NOTBEFORE"; } +#line 2510 "gram.c" + break; + + case 77: /* reserved_word: NOTAFTER */ +#line 792 "gram.y" + { (yyval.string) = "NOTAFTER"; } +#line 2516 "gram.c" + break; + + case 78: /* reserved_word: ROLE */ +#line 793 "gram.y" + { (yyval.string) = "ROLE"; } +#line 2522 "gram.c" + break; + + case 79: /* reserved_word: TYPE */ +#line 794 "gram.y" + { (yyval.string) = "TYPE"; } +#line 2528 "gram.c" + break; + + case 80: /* reserved_word: PRIVS */ +#line 795 "gram.y" + { (yyval.string) = "PRIVS"; } +#line 2534 "gram.c" + break; + + case 81: /* reserved_word: LIMITPRIVS */ +#line 796 "gram.y" + { (yyval.string) = "LIMITPRIVS"; } +#line 2540 "gram.c" + break; + + case 82: /* reserved_word: APPARMOR_PROFILE */ +#line 797 "gram.y" + { (yyval.string) = "APPARMOR_PROFILE"; } +#line 2546 "gram.c" + break; + + case 83: /* reserved_alias: reserved_word */ +#line 800 "gram.y" { sudoerserrorf(U_("syntax error, reserved word %s used as an alias name"), (yyvsp[0].string)); YYERROR; } -#line 2526 "gram.c" +#line 2555 "gram.c" break; - case 82: /* options: %empty */ -#line 794 "gram.y" + case 84: /* options: %empty */ +#line 806 "gram.y" { init_options(&(yyval.options)); } -#line 2534 "gram.c" +#line 2563 "gram.c" break; - case 83: /* options: options chdirspec */ -#line 797 "gram.y" + case 85: /* options: options chdirspec */ +#line 809 "gram.y" { parser_leak_remove(LEAK_PTR, (yyval.options).runcwd); free((yyval.options).runcwd); (yyval.options).runcwd = (yyvsp[0].string); } -#line 2544 "gram.c" +#line 2573 "gram.c" break; - case 84: /* options: options chrootspec */ -#line 802 "gram.y" + case 86: /* options: options chrootspec */ +#line 814 "gram.y" { parser_leak_remove(LEAK_PTR, (yyval.options).runchroot); free((yyval.options).runchroot); (yyval.options).runchroot = (yyvsp[0].string); } -#line 2554 "gram.c" +#line 2583 "gram.c" break; - case 85: /* options: options notbeforespec */ -#line 807 "gram.y" + case 87: /* options: options notbeforespec */ +#line 819 "gram.y" { (yyval.options).notbefore = parse_gentime((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2570,11 +2599,11 @@ yyreduce: YYERROR; } } -#line 2568 "gram.c" +#line 2597 "gram.c" break; - case 86: /* options: options notafterspec */ -#line 816 "gram.y" + case 88: /* options: options notafterspec */ +#line 828 "gram.y" { (yyval.options).notafter = parse_gentime((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2584,11 +2613,11 @@ yyreduce: YYERROR; } } -#line 2582 "gram.c" +#line 2611 "gram.c" break; - case 87: /* options: options timeoutspec */ -#line 825 "gram.y" + case 89: /* options: options timeoutspec */ +#line 837 "gram.y" { (yyval.options).timeout = parse_timeout((yyvsp[0].string)); parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); @@ -2601,11 +2630,11 @@ yyreduce: YYERROR; } } -#line 2599 "gram.c" +#line 2628 "gram.c" break; - case 88: /* options: options rolespec */ -#line 837 "gram.y" + case 90: /* options: options rolespec */ +#line 849 "gram.y" { #ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, (yyval.options).role); @@ -2613,11 +2642,11 @@ yyreduce: (yyval.options).role = (yyvsp[0].string); #endif } -#line 2611 "gram.c" +#line 2640 "gram.c" break; - case 89: /* options: options typespec */ -#line 844 "gram.y" + case 91: /* options: options typespec */ +#line 856 "gram.y" { #ifdef HAVE_SELINUX parser_leak_remove(LEAK_PTR, (yyval.options).type); @@ -2625,11 +2654,23 @@ yyreduce: (yyval.options).type = (yyvsp[0].string); #endif } -#line 2623 "gram.c" +#line 2652 "gram.c" break; - case 90: /* options: options privsspec */ -#line 851 "gram.y" + case 92: /* options: options apparmor_profilespec */ +#line 863 "gram.y" + { +#ifdef HAVE_APPARMOR + parser_leak_remove(LEAK_PTR, (yyval.options).apparmor_profile); + free((yyval.options).apparmor_profile); + (yyval.options).apparmor_profile = (yyvsp[0].string); +#endif + } +#line 2664 "gram.c" + break; + + case 93: /* options: options privsspec */ +#line 870 "gram.y" { #ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, (yyval.options).privs); @@ -2637,11 +2678,11 @@ yyreduce: (yyval.options).privs = (yyvsp[0].string); #endif } -#line 2635 "gram.c" +#line 2676 "gram.c" break; - case 91: /* options: options limitprivsspec */ -#line 858 "gram.y" + case 94: /* options: options limitprivsspec */ +#line 877 "gram.y" { #ifdef HAVE_PRIV_SET parser_leak_remove(LEAK_PTR, (yyval.options).limitprivs); @@ -2649,147 +2690,147 @@ yyreduce: (yyval.options).limitprivs = (yyvsp[0].string); #endif } -#line 2647 "gram.c" +#line 2688 "gram.c" break; - case 92: /* cmndtag: %empty */ -#line 867 "gram.y" + case 95: /* cmndtag: %empty */ +#line 886 "gram.y" { TAGS_INIT(&(yyval.tag)); } -#line 2655 "gram.c" +#line 2696 "gram.c" break; - case 93: /* cmndtag: cmndtag NOPASSWD */ -#line 870 "gram.y" + case 96: /* cmndtag: cmndtag NOPASSWD */ +#line 889 "gram.y" { (yyval.tag).nopasswd = true; } -#line 2663 "gram.c" +#line 2704 "gram.c" break; - case 94: /* cmndtag: cmndtag PASSWD */ -#line 873 "gram.y" + case 97: /* cmndtag: cmndtag PASSWD */ +#line 892 "gram.y" { (yyval.tag).nopasswd = false; } -#line 2671 "gram.c" +#line 2712 "gram.c" break; - case 95: /* cmndtag: cmndtag NOEXEC */ -#line 876 "gram.y" + case 98: /* cmndtag: cmndtag NOEXEC */ +#line 895 "gram.y" { (yyval.tag).noexec = true; } -#line 2679 "gram.c" +#line 2720 "gram.c" break; - case 96: /* cmndtag: cmndtag EXEC */ -#line 879 "gram.y" + case 99: /* cmndtag: cmndtag EXEC */ +#line 898 "gram.y" { (yyval.tag).noexec = false; } -#line 2687 "gram.c" +#line 2728 "gram.c" break; - case 97: /* cmndtag: cmndtag INTERCEPT */ -#line 882 "gram.y" + case 100: /* cmndtag: cmndtag INTERCEPT */ +#line 901 "gram.y" { (yyval.tag).intercept = true; } -#line 2695 "gram.c" +#line 2736 "gram.c" break; - case 98: /* cmndtag: cmndtag NOINTERCEPT */ -#line 885 "gram.y" + case 101: /* cmndtag: cmndtag NOINTERCEPT */ +#line 904 "gram.y" { (yyval.tag).intercept = false; } -#line 2703 "gram.c" +#line 2744 "gram.c" break; - case 99: /* cmndtag: cmndtag SETENV */ -#line 888 "gram.y" + case 102: /* cmndtag: cmndtag SETENV */ +#line 907 "gram.y" { (yyval.tag).setenv = true; } -#line 2711 "gram.c" +#line 2752 "gram.c" break; - case 100: /* cmndtag: cmndtag NOSETENV */ -#line 891 "gram.y" + case 103: /* cmndtag: cmndtag NOSETENV */ +#line 910 "gram.y" { (yyval.tag).setenv = false; } -#line 2719 "gram.c" +#line 2760 "gram.c" break; - case 101: /* cmndtag: cmndtag LOG_INPUT */ -#line 894 "gram.y" + case 104: /* cmndtag: cmndtag LOG_INPUT */ +#line 913 "gram.y" { (yyval.tag).log_input = true; } -#line 2727 "gram.c" +#line 2768 "gram.c" break; - case 102: /* cmndtag: cmndtag NOLOG_INPUT */ -#line 897 "gram.y" + case 105: /* cmndtag: cmndtag NOLOG_INPUT */ +#line 916 "gram.y" { (yyval.tag).log_input = false; } -#line 2735 "gram.c" +#line 2776 "gram.c" break; - case 103: /* cmndtag: cmndtag LOG_OUTPUT */ -#line 900 "gram.y" + case 106: /* cmndtag: cmndtag LOG_OUTPUT */ +#line 919 "gram.y" { (yyval.tag).log_output = true; } -#line 2743 "gram.c" +#line 2784 "gram.c" break; - case 104: /* cmndtag: cmndtag NOLOG_OUTPUT */ -#line 903 "gram.y" + case 107: /* cmndtag: cmndtag NOLOG_OUTPUT */ +#line 922 "gram.y" { (yyval.tag).log_output = false; } -#line 2751 "gram.c" +#line 2792 "gram.c" break; - case 105: /* cmndtag: cmndtag FOLLOWLNK */ -#line 906 "gram.y" + case 108: /* cmndtag: cmndtag FOLLOWLNK */ +#line 925 "gram.y" { (yyval.tag).follow = true; } -#line 2759 "gram.c" +#line 2800 "gram.c" break; - case 106: /* cmndtag: cmndtag NOFOLLOWLNK */ -#line 909 "gram.y" + case 109: /* cmndtag: cmndtag NOFOLLOWLNK */ +#line 928 "gram.y" { (yyval.tag).follow = false; } -#line 2767 "gram.c" +#line 2808 "gram.c" break; - case 107: /* cmndtag: cmndtag MAIL */ -#line 912 "gram.y" + case 110: /* cmndtag: cmndtag MAIL */ +#line 931 "gram.y" { (yyval.tag).send_mail = true; } -#line 2775 "gram.c" +#line 2816 "gram.c" break; - case 108: /* cmndtag: cmndtag NOMAIL */ -#line 915 "gram.y" + case 111: /* cmndtag: cmndtag NOMAIL */ +#line 934 "gram.y" { (yyval.tag).send_mail = false; } -#line 2783 "gram.c" +#line 2824 "gram.c" break; - case 109: /* cmnd: ALL */ -#line 920 "gram.y" + case 112: /* cmnd: ALL */ +#line 939 "gram.y" { struct sudo_command *c; @@ -2804,11 +2845,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2802 "gram.c" +#line 2843 "gram.c" break; - case 110: /* cmnd: ALIAS */ -#line 934 "gram.y" + case 113: /* cmnd: ALIAS */ +#line 953 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -2818,11 +2859,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2816 "gram.c" +#line 2857 "gram.c" break; - case 111: /* cmnd: COMMAND */ -#line 943 "gram.y" + case 114: /* cmnd: COMMAND */ +#line 962 "gram.y" { struct sudo_command *c; @@ -2844,20 +2885,20 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].command).args); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 2842 "gram.c" +#line 2883 "gram.c" break; - case 114: /* $@1: %empty */ -#line 970 "gram.y" + case 117: /* $@1: %empty */ +#line 989 "gram.y" { alias_line = this_lineno; alias_column = sudolinebuf.toke_start + 1; } -#line 2851 "gram.c" +#line 2892 "gram.c" break; - case 115: /* hostalias: ALIAS $@1 '=' hostlist */ -#line 973 "gram.y" + case 118: /* hostalias: ALIAS $@1 '=' hostlist */ +#line 992 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), HOSTALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2867,30 +2908,30 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2865 "gram.c" +#line 2906 "gram.c" break; - case 118: /* hostlist: hostlist ',' ophost */ -#line 986 "gram.y" + case 121: /* hostlist: hostlist ',' ophost */ +#line 1005 "gram.y" { parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries); (yyval.member) = (yyvsp[-2].member); } -#line 2875 "gram.c" +#line 2916 "gram.c" break; - case 121: /* $@2: %empty */ -#line 997 "gram.y" + case 124: /* $@2: %empty */ +#line 1016 "gram.y" { alias_line = this_lineno; alias_column = sudolinebuf.toke_start + 1; } -#line 2884 "gram.c" +#line 2925 "gram.c" break; - case 122: /* cmndalias: ALIAS $@2 '=' cmndlist */ -#line 1000 "gram.y" + case 125: /* cmndalias: ALIAS $@2 '=' cmndlist */ +#line 1019 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), CMNDALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2900,30 +2941,30 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2898 "gram.c" +#line 2939 "gram.c" break; - case 125: /* cmndlist: cmndlist ',' digcmnd */ -#line 1013 "gram.y" + case 128: /* cmndlist: cmndlist ',' digcmnd */ +#line 1032 "gram.y" { parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries); (yyval.member) = (yyvsp[-2].member); } -#line 2908 "gram.c" +#line 2949 "gram.c" break; - case 128: /* $@3: %empty */ -#line 1024 "gram.y" + case 131: /* $@3: %empty */ +#line 1043 "gram.y" { alias_line = this_lineno; alias_column = sudolinebuf.toke_start + 1; } -#line 2917 "gram.c" +#line 2958 "gram.c" break; - case 129: /* runasalias: ALIAS $@3 '=' userlist */ -#line 1027 "gram.y" + case 132: /* runasalias: ALIAS $@3 '=' userlist */ +#line 1046 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), RUNASALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2933,20 +2974,20 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2931 "gram.c" +#line 2972 "gram.c" break; - case 133: /* $@4: %empty */ -#line 1043 "gram.y" + case 136: /* $@4: %empty */ +#line 1062 "gram.y" { alias_line = this_lineno; alias_column = sudolinebuf.toke_start + 1; } -#line 2940 "gram.c" +#line 2981 "gram.c" break; - case 134: /* useralias: ALIAS $@4 '=' userlist */ -#line 1046 "gram.y" + case 137: /* useralias: ALIAS $@4 '=' userlist */ +#line 1065 "gram.y" { if (!alias_add(&parsed_policy, (yyvsp[-3].string), USERALIAS, sudoers, alias_line, alias_column, (yyvsp[0].member))) { @@ -2956,82 +2997,41 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[-3].string)); parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); } -#line 2954 "gram.c" +#line 2995 "gram.c" break; - case 137: /* userlist: userlist ',' opuser */ -#line 1059 "gram.y" + case 140: /* userlist: userlist ',' opuser */ +#line 1078 "gram.y" { parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries); (yyval.member) = (yyvsp[-2].member); } -#line 2964 "gram.c" +#line 3005 "gram.c" break; - case 138: /* opuser: user */ -#line 1066 "gram.y" + case 141: /* opuser: user */ +#line 1085 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 2973 "gram.c" +#line 3014 "gram.c" break; - case 139: /* opuser: '!' user */ -#line 1070 "gram.y" + case 142: /* opuser: '!' user */ +#line 1089 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 2982 "gram.c" - break; - - case 140: /* user: ALIAS */ -#line 1076 "gram.y" - { - (yyval.member) = new_member((yyvsp[0].string), ALIAS); - if ((yyval.member) == NULL) { - sudoerserror(N_("unable to allocate memory")); - YYERROR; - } - parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); - parser_leak_add(LEAK_MEMBER, (yyval.member)); - } -#line 2996 "gram.c" - break; - - case 141: /* user: ALL */ -#line 1085 "gram.y" - { - (yyval.member) = new_member(NULL, ALL); - if ((yyval.member) == NULL) { - sudoerserror(N_("unable to allocate memory")); - YYERROR; - } - parser_leak_add(LEAK_MEMBER, (yyval.member)); - } -#line 3009 "gram.c" - break; - - case 142: /* user: NETGROUP */ -#line 1093 "gram.y" - { - (yyval.member) = new_member((yyvsp[0].string), NETGROUP); - if ((yyval.member) == NULL) { - sudoerserror(N_("unable to allocate memory")); - YYERROR; - } - parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); - parser_leak_add(LEAK_MEMBER, (yyval.member)); - } #line 3023 "gram.c" break; - case 143: /* user: USERGROUP */ -#line 1102 "gram.y" - { - (yyval.member) = new_member((yyvsp[0].string), USERGROUP); + case 143: /* user: ALIAS */ +#line 1095 "gram.y" + { + (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { sudoerserror(N_("unable to allocate memory")); YYERROR; @@ -3042,8 +3042,49 @@ yyreduce: #line 3037 "gram.c" break; - case 144: /* user: WORD */ -#line 1111 "gram.y" + case 144: /* user: ALL */ +#line 1104 "gram.y" + { + (yyval.member) = new_member(NULL, ALL); + if ((yyval.member) == NULL) { + sudoerserror(N_("unable to allocate memory")); + YYERROR; + } + parser_leak_add(LEAK_MEMBER, (yyval.member)); + } +#line 3050 "gram.c" + break; + + case 145: /* user: NETGROUP */ +#line 1112 "gram.y" + { + (yyval.member) = new_member((yyvsp[0].string), NETGROUP); + if ((yyval.member) == NULL) { + sudoerserror(N_("unable to allocate memory")); + YYERROR; + } + parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); + parser_leak_add(LEAK_MEMBER, (yyval.member)); + } +#line 3064 "gram.c" + break; + + case 146: /* user: USERGROUP */ +#line 1121 "gram.y" + { + (yyval.member) = new_member((yyvsp[0].string), USERGROUP); + if ((yyval.member) == NULL) { + sudoerserror(N_("unable to allocate memory")); + YYERROR; + } + parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); + parser_leak_add(LEAK_MEMBER, (yyval.member)); + } +#line 3078 "gram.c" + break; + + case 147: /* user: WORD */ +#line 1130 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), WORD); if ((yyval.member) == NULL) { @@ -3053,39 +3094,39 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3051 "gram.c" +#line 3092 "gram.c" break; - case 146: /* grouplist: grouplist ',' opgroup */ -#line 1123 "gram.y" + case 149: /* grouplist: grouplist ',' opgroup */ +#line 1142 "gram.y" { parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member)); HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries); (yyval.member) = (yyvsp[-2].member); } -#line 3061 "gram.c" +#line 3102 "gram.c" break; - case 147: /* opgroup: group */ -#line 1130 "gram.y" + case 150: /* opgroup: group */ +#line 1149 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = false; } -#line 3070 "gram.c" +#line 3111 "gram.c" break; - case 148: /* opgroup: '!' group */ -#line 1134 "gram.y" + case 151: /* opgroup: '!' group */ +#line 1153 "gram.y" { (yyval.member) = (yyvsp[0].member); (yyval.member)->negated = true; } -#line 3079 "gram.c" +#line 3120 "gram.c" break; - case 149: /* group: ALIAS */ -#line 1140 "gram.y" + case 152: /* group: ALIAS */ +#line 1159 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), ALIAS); if ((yyval.member) == NULL) { @@ -3095,11 +3136,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3093 "gram.c" +#line 3134 "gram.c" break; - case 150: /* group: ALL */ -#line 1149 "gram.y" + case 153: /* group: ALL */ +#line 1168 "gram.y" { (yyval.member) = new_member(NULL, ALL); if ((yyval.member) == NULL) { @@ -3108,11 +3149,11 @@ yyreduce: } parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3106 "gram.c" +#line 3147 "gram.c" break; - case 151: /* group: WORD */ -#line 1157 "gram.y" + case 154: /* group: WORD */ +#line 1176 "gram.y" { (yyval.member) = new_member((yyvsp[0].string), WORD); if ((yyval.member) == NULL) { @@ -3122,11 +3163,11 @@ yyreduce: parser_leak_remove(LEAK_PTR, (yyvsp[0].string)); parser_leak_add(LEAK_MEMBER, (yyval.member)); } -#line 3120 "gram.c" +#line 3161 "gram.c" break; -#line 3124 "gram.c" +#line 3165 "gram.c" default: break; } @@ -3319,7 +3360,7 @@ yyreturnlab: return yyresult; } -#line 1167 "gram.y" +#line 1186 "gram.y" /* Like yyerror() but takes a printf-style format string. */ void diff --git a/plugins/sudoers/gram.h b/plugins/sudoers/gram.h index 481d5cbef..5ed1beaa0 100644 --- a/plugins/sudoers/gram.h +++ b/plugins/sudoers/gram.h @@ -96,16 +96,17 @@ extern int sudoersdebug; CWD = 297, /* CWD */ TYPE = 298, /* TYPE */ ROLE = 299, /* ROLE */ - PRIVS = 300, /* PRIVS */ - LIMITPRIVS = 301, /* LIMITPRIVS */ - CMND_TIMEOUT = 302, /* CMND_TIMEOUT */ - NOTBEFORE = 303, /* NOTBEFORE */ - NOTAFTER = 304, /* NOTAFTER */ - MYSELF = 305, /* MYSELF */ - SHA224_TOK = 306, /* SHA224_TOK */ - SHA256_TOK = 307, /* SHA256_TOK */ - SHA384_TOK = 308, /* SHA384_TOK */ - SHA512_TOK = 309 /* SHA512_TOK */ + APPARMOR_PROFILE = 300, /* APPARMOR_PROFILE */ + PRIVS = 301, /* PRIVS */ + LIMITPRIVS = 302, /* LIMITPRIVS */ + CMND_TIMEOUT = 303, /* CMND_TIMEOUT */ + NOTBEFORE = 304, /* NOTBEFORE */ + NOTAFTER = 305, /* NOTAFTER */ + MYSELF = 306, /* MYSELF */ + SHA224_TOK = 307, /* SHA224_TOK */ + SHA256_TOK = 308, /* SHA256_TOK */ + SHA384_TOK = 309, /* SHA384_TOK */ + SHA512_TOK = 310 /* SHA512_TOK */ }; typedef enum yytokentype yytoken_kind_t; #endif @@ -156,16 +157,17 @@ extern int sudoersdebug; #define CWD 297 #define TYPE 298 #define ROLE 299 -#define PRIVS 300 -#define LIMITPRIVS 301 -#define CMND_TIMEOUT 302 -#define NOTBEFORE 303 -#define NOTAFTER 304 -#define MYSELF 305 -#define SHA224_TOK 306 -#define SHA256_TOK 307 -#define SHA384_TOK 308 -#define SHA512_TOK 309 +#define APPARMOR_PROFILE 300 +#define PRIVS 301 +#define LIMITPRIVS 302 +#define CMND_TIMEOUT 303 +#define NOTBEFORE 304 +#define NOTAFTER 305 +#define MYSELF 306 +#define SHA224_TOK 307 +#define SHA256_TOK 308 +#define SHA384_TOK 309 +#define SHA512_TOK 310 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -185,7 +187,7 @@ union YYSTYPE char *string; int tok; -#line 189 "y.tab.h" +#line 191 "y.tab.h" }; typedef union YYSTYPE YYSTYPE; diff --git a/plugins/sudoers/toke.c b/plugins/sudoers/toke.c index 27c78b261..44365bc60 100644 --- a/plugins/sudoers/toke.c +++ b/plugins/sudoers/toke.c @@ -9,7 +9,7 @@ #define YY_INT_ALIGNED short int -/* $OpenBSD: flex.skl,v 1.17 2020/08/06 17:23:29 deraadt Exp $ */ +/* $OpenBSD: flex.skl,v 1.18 2021/11/30 15:50:06 millert Exp $ */ /* A lexical scanner generated by flex */ @@ -393,8 +393,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 88 -#define YY_END_OF_BUFFER 89 +#define YY_NUM_RULES 89 +#define YY_END_OF_BUFFER 90 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -402,143 +402,145 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1226] = +static yyconst flex_int16_t yy_accept[1242] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 89, 74, 84, 83, 87, 82, 73, 86, 46, 77, - 78, 46, 79, 74, 74, 74, 74, 81, 80, 87, - 74, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 87, 74, 74, 74, 84, - 86, 63, 63, 63, 63, 63, 2, 87, 1, 74, - 63, 63, 63, 74, 74, 17, 16, 16, 17, 16, - 16, 87, 21, 21, 19, 19, 21, 19, 20, 87, - 86, 87, 3, 9, 8, 9, 4, 9, 5, 87, + 90, 75, 85, 84, 88, 83, 74, 87, 46, 78, + 79, 46, 80, 75, 75, 75, 75, 82, 81, 88, + 75, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 88, 75, 75, 75, 85, + 87, 64, 64, 64, 64, 64, 2, 88, 1, 75, + 64, 64, 64, 64, 75, 75, 17, 16, 16, 17, + 16, 16, 88, 21, 21, 19, 19, 21, 19, 20, + 88, 87, 88, 3, 9, 8, 9, 4, 9, 5, - 13, 13, 13, 11, 12, 87, 23, 23, 22, 22, - 22, 23, 22, 22, 22, 22, 23, 23, 23, 23, - 23, 23, 23, 87, 22, 23, 23, 75, 75, 76, - 75, 70, 70, 70, 70, 70, 70, 70, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 87, - 70, 70, 70, 74, 0, 84, 83, 82, 86, 86, - 0, 0, 74, 48, 0, 46, 0, 47, 0, 71, - 71, 0, 74, 74, 0, 74, 74, 74, 74, 0, - 51, 74, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 88, 13, 13, 13, 11, 12, 88, 23, 23, 22, + 22, 22, 23, 22, 22, 22, 22, 23, 23, 23, + 23, 23, 23, 23, 88, 22, 23, 23, 76, 76, + 77, 76, 71, 71, 71, 71, 71, 71, 71, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 88, 71, 71, 71, 75, 0, 85, 84, 83, 87, + 87, 0, 0, 75, 48, 0, 46, 0, 47, 0, + 72, 72, 0, 75, 75, 0, 75, 75, 75, 75, + 0, 51, 75, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 0, 85, 74, 74, 74, 0, 72, 0, 74, 74, - 84, 0, 0, 0, 0, 0, 86, 74, 74, 74, - 74, 74, 2, 1, 0, 1, 64, 64, 0, 63, - 74, 0, 64, 0, 74, 17, 17, 15, 0, 14, - 15, 21, 21, 21, 18, 18, 0, 3, 9, 0, - 6, 7, 9, 9, 13, 0, 13, 13, 0, 10, - 0, 48, 0, 0, 47, 23, 23, 0, 23, 0, - 0, 22, 22, 22, 22, 22, 22, 23, 23, 63, - 23, 23, 23, 23, 23, 23, 23, 23, 72, 0, - 23, 23, 75, 75, 75, 70, 0, 48, 0, 47, + 64, 64, 0, 86, 75, 75, 75, 0, 73, 0, + 75, 75, 85, 0, 0, 0, 0, 0, 87, 75, + 75, 75, 75, 75, 2, 1, 0, 1, 65, 65, + 0, 64, 75, 0, 65, 0, 75, 17, 17, 15, + 0, 14, 15, 21, 21, 21, 18, 18, 0, 3, + 9, 0, 6, 7, 9, 9, 13, 0, 13, 13, + 0, 10, 0, 48, 0, 0, 47, 23, 23, 0, + 23, 0, 0, 22, 22, 22, 22, 22, 22, 23, + 23, 64, 23, 23, 23, 23, 23, 23, 23, 23, + 73, 0, 23, 23, 76, 76, 76, 71, 0, 48, - 0, 70, 70, 0, 70, 70, 70, 70, 70, 70, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 70, 70, 70, 70, 0, 70, 70, 86, 86, - 86, 0, 48, 74, 74, 74, 74, 74, 0, 0, - 51, 51, 74, 63, 53, 63, 57, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 72, 74, 74, - 74, 0, 0, 0, 0, 0, 86, 74, 74, 74, - 74, 74, 74, 0, 64, 0, 64, 74, 74, 10, - 0, 0, 0, 22, 22, 22, 23, 23, 23, 23, + 0, 47, 0, 71, 71, 0, 71, 71, 71, 71, + 71, 71, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 71, 71, 71, 71, 0, 71, 71, + 87, 87, 87, 0, 48, 75, 75, 75, 75, 75, + 0, 0, 51, 51, 75, 64, 53, 64, 64, 57, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 73, 75, 75, 75, 0, 0, 0, 0, 0, 87, + 75, 75, 75, 75, 75, 75, 0, 65, 0, 65, + 75, 75, 10, 0, 0, 0, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 72, 23, 23, 0, 70, 70, 70, 70, 70, - 63, 53, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 70, 70, 70, 70, - 86, 86, 86, 74, 74, 74, 74, 74, 74, 0, - 52, 52, 52, 0, 0, 51, 51, 51, 51, 51, - 51, 51, 74, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 59, 63, 63, 60, 74, 74, 74, 74, - 0, 0, 0, 0, 0, 0, 86, 74, 74, 74, + 23, 23, 23, 23, 73, 23, 23, 0, 71, 71, + 71, 71, 71, 64, 53, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 71, + 71, 71, 71, 87, 87, 87, 75, 75, 75, 75, + 75, 75, 0, 52, 52, 52, 0, 0, 51, 51, + 51, 51, 51, 51, 51, 75, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 59, 64, 64, 60, + 75, 75, 75, 75, 0, 0, 0, 0, 0, 0, - 64, 74, 0, 0, 0, 0, 0, 22, 22, 23, - 23, 23, 63, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 70, 70, 70, - 70, 70, 70, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 70, 70, - 70, 70, 74, 74, 74, 0, 0, 52, 52, 52, - 0, 51, 51, 0, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 74, 63, 0, 33, 63, - 63, 63, 63, 63, 0, 42, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 61, 63, 63, 74, - - 74, 74, 74, 74, 0, 0, 0, 86, 74, 74, - 74, 0, 0, 0, 22, 22, 23, 23, 63, 63, + 87, 75, 75, 75, 65, 75, 0, 0, 0, 0, + 0, 22, 22, 23, 23, 23, 64, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 70, 70, 70, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 70, 70, 70, 70, 70, 74, 74, 74, 74, 74, - 0, 52, 0, 51, 51, 51, 0, 0, 0, 51, + 23, 71, 71, 71, 71, 71, 71, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 71, 71, 71, 71, 75, 75, 75, 0, + 0, 52, 52, 52, 0, 51, 51, 0, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 75, + 64, 64, 0, 33, 64, 64, 64, 64, 64, 0, + 42, 64, 64, 64, 64, 64, 64, 64, 64, 64, + + 64, 62, 64, 64, 75, 75, 75, 75, 75, 0, + 0, 0, 87, 75, 75, 75, 0, 0, 0, 22, + 22, 23, 23, 64, 64, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 71, + 71, 71, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 71, 71, 71, 71, 71, + 75, 75, 75, 75, 75, 0, 52, 0, 51, 51, + 51, 0, 0, 0, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 75, 64, 58, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + + 64, 64, 64, 64, 64, 64, 64, 66, 67, 68, + 69, 75, 0, 0, 87, 75, 75, 75, 0, 0, + 0, 0, 0, 23, 23, 64, 64, 23, 23, 23, + 64, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 71, 71, 71, 71, 71, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 66, + 67, 68, 69, 71, 49, 49, 49, 0, 0, 51, + 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, + 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 75, 64, 0, 44, 64, + + 64, 64, 64, 0, 32, 64, 64, 64, 64, 0, + 43, 64, 64, 64, 64, 0, 31, 0, 36, 54, + 75, 0, 0, 87, 75, 75, 75, 49, 49, 49, + 23, 64, 64, 23, 23, 64, 64, 23, 23, 23, + 49, 49, 49, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 71, 75, 49, 49, 49, 49, 0, 51, + 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 0, 0, 0, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 24, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + + 56, 64, 70, 0, 0, 87, 75, 28, 65, 0, + 49, 49, 49, 49, 23, 64, 64, 23, 23, 64, + 64, 23, 23, 23, 71, 49, 49, 49, 49, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 70, 50, + 50, 50, 50, 51, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 74, 58, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - - 63, 65, 66, 67, 68, 74, 0, 0, 86, 74, - 74, 74, 0, 0, 0, 0, 0, 23, 23, 63, - 63, 23, 23, 23, 63, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 70, 70, 70, 70, 70, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 65, 66, 67, 68, 70, 49, 49, - 49, 0, 0, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 74, - 0, 44, 63, 63, 63, 63, 0, 32, 63, 63, + 51, 51, 51, 75, 64, 64, 64, 64, 64, 0, + 45, 64, 64, 64, 0, 30, 0, 37, 55, 0, + 28, 26, 87, 29, 0, 75, 50, 50, 50, 50, - 63, 63, 0, 43, 63, 63, 63, 63, 0, 31, - 0, 36, 54, 74, 0, 0, 86, 74, 74, 74, - 49, 49, 49, 23, 63, 63, 23, 23, 63, 63, - 23, 23, 23, 49, 49, 49, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 70, 74, 49, 49, 49, - 49, 0, 51, 0, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 0, 0, 0, 51, 51, + 23, 64, 64, 23, 64, 64, 50, 50, 50, 50, + 64, 64, 64, 64, 64, 64, 75, 75, 50, 50, + 50, 50, 0, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 24, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 56, 63, 69, 0, 0, 86, 74, 28, + 51, 51, 51, 51, 51, 51, 51, 75, 64, 0, + 34, 63, 0, 40, 64, 64, 64, 64, 29, 26, + 26, 26, 26, 87, 28, 0, 0, 0, 0, 0, + 28, 0, 0, 0, 50, 50, 50, 50, 64, 23, + 64, 64, 71, 71, 50, 50, 50, 50, 64, 64, + 64, 64, 75, 75, 75, 0, 0, 0, 51, 51, - 64, 0, 49, 49, 49, 49, 23, 63, 63, 23, - 23, 63, 63, 23, 23, 23, 70, 49, 49, 49, - 49, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 69, 50, 50, 50, 50, 51, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 0, 0, 0, 0, 0, 51, 51, 51, - 51, 51, 51, 51, 51, 74, 63, 63, 63, 63, - 0, 45, 63, 63, 63, 0, 30, 0, 37, 55, - 0, 28, 26, 86, 29, 0, 74, 50, 50, 50, - 50, 23, 63, 63, 23, 63, 63, 50, 50, 50, + 51, 51, 51, 51, 51, 51, 25, 64, 0, 38, + 64, 64, 64, 26, 87, 0, 28, 0, 0, 0, + 23, 64, 64, 71, 71, 71, 64, 64, 64, 75, + 75, 75, 75, 75, 0, 0, 0, 0, 0, 51, + 51, 51, 51, 51, 51, 51, 51, 64, 0, 35, + 0, 41, 64, 27, 0, 0, 0, 0, 0, 64, + 71, 71, 71, 71, 71, 64, 75, 75, 75, 51, + 51, 51, 51, 51, 51, 64, 0, 39, 27, 27, + 27, 27, 0, 0, 0, 71, 71, 71, 75, 75, - 50, 63, 63, 63, 63, 63, 63, 74, 74, 50, - 50, 50, 50, 0, 0, 0, 0, 0, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 74, 0, - 34, 62, 0, 40, 63, 63, 63, 63, 29, 26, - 26, 26, 26, 86, 28, 0, 0, 0, 0, 0, - 28, 0, 0, 0, 50, 50, 50, 50, 63, 23, - 63, 63, 70, 70, 50, 50, 50, 50, 63, 63, - 63, 63, 74, 74, 74, 0, 0, 0, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - - 51, 51, 51, 51, 51, 51, 25, 0, 38, 63, - 63, 63, 26, 86, 0, 28, 0, 0, 0, 23, - 63, 63, 70, 70, 70, 63, 63, 63, 74, 74, - 74, 74, 74, 0, 0, 0, 0, 0, 51, 51, - 51, 51, 51, 51, 51, 51, 0, 35, 0, 41, - 63, 27, 0, 0, 0, 0, 0, 63, 70, 70, - 70, 70, 70, 63, 74, 74, 74, 51, 51, 51, - 51, 51, 51, 0, 39, 27, 27, 27, 27, 0, - 0, 0, 70, 70, 70, 74, 74, 74, 74, 74, - 51, 51, 51, 51, 51, 27, 0, 0, 0, 0, - - 0, 70, 70, 70, 70, 70, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 0 + 75, 75, 75, 51, 51, 51, 51, 51, 64, 27, + 0, 0, 0, 0, 0, 71, 71, 71, 71, 71, + 49, 49, 49, 64, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 61, 49, 49, 49, 49, 49, 49, + 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -585,308 +587,312 @@ static yyconst flex_int32_t yy_meta[77] = 21, 21, 21, 21, 21, 21 } ; -static yyconst flex_int16_t yy_base[1350] = +static yyconst flex_int16_t yy_base[1366] = { 0, - 0, 75, 126, 199, 83, 91, 99, 176, 272, 347, - 422, 478, 131, 147, 535, 0, 187, 219, 611, 0, - 6107, 6049, 76, 9534, 6102, 6087, 9534, 685, 101, 9534, - 9534, 6025, 9534, 199, 697, 238, 143, 6021, 9534, 9534, - 23, 762, 6006, 76, 71, 97, 819, 5980, 76, 5991, - 5976, 112, 5964, 5972, 87, 883, 914, 262, 152, 266, - 969, 176, 39, 5937, 100, 5889, 197, 299, 167, 298, - 5915, 5900, 5910, 1036, 237, 0, 9534, 5940, 5918, 9534, - 0, 1092, 0, 196, 9534, 5921, 5916, 9534, 9534, 234, - 1148, 249, 0, 5864, 9534, 94, 9534, 140, 9534, 290, + 0, 75, 126, 199, 83, 91, 99, 180, 272, 347, + 422, 478, 131, 147, 535, 0, 189, 219, 611, 0, + 6517, 6458, 76, 9534, 6501, 6471, 9534, 685, 101, 9534, + 9534, 6409, 9534, 199, 697, 238, 143, 6428, 9534, 9534, + 23, 762, 35, 103, 71, 132, 819, 6411, 76, 6422, + 6385, 112, 6373, 6374, 61, 883, 914, 262, 152, 266, + 969, 251, 166, 6339, 122, 6336, 197, 338, 123, 369, + 6350, 6335, 6334, 6344, 1036, 177, 0, 9534, 6364, 6335, + 9534, 0, 1092, 0, 214, 9534, 6338, 6331, 9534, 9534, + 236, 1148, 249, 0, 6280, 9534, 239, 9534, 240, 9534, - 5860, 306, 153, 9534, 356, 240, 1177, 1236, 1281, 345, - 355, 1340, 1391, 5869, 198, 194, 1448, 5853, 5830, 5842, - 5828, 5824, 5811, 177, 363, 0, 233, 5772, 294, 9534, - 391, 5771, 417, 5768, 433, 1496, 434, 378, 1561, 5780, - 388, 270, 1618, 5765, 5756, 5768, 5754, 5743, 5727, 1682, - 1713, 478, 415, 5700, 737, 462, 9534, 5736, 211, 9534, - 5727, 490, 500, 5670, 672, 440, 926, 5669, 971, 861, - 5667, 1769, 880, 1784, 5674, 5685, 939, 984, 927, 5672, - 414, 379, 1849, 1906, 5644, 5624, 5635, 5626, 5562, 5539, - 5542, 5546, 5541, 976, 5532, 5538, 5529, 5521, 5526, 5522, + 306, 6245, 311, 262, 9534, 320, 172, 1177, 1236, 1281, + 363, 349, 1340, 1391, 6257, 86, 254, 1448, 6231, 6215, + 6227, 6200, 6212, 6207, 294, 422, 0, 173, 6187, 323, + 9534, 397, 6180, 348, 6168, 450, 1496, 444, 373, 1561, + 6135, 272, 388, 1618, 6117, 6113, 6125, 6109, 6121, 6114, + 1682, 1713, 490, 421, 6089, 737, 304, 9534, 6138, 168, + 9534, 6141, 500, 671, 6086, 848, 446, 926, 6085, 971, + 893, 6064, 1769, 984, 1784, 6077, 6088, 939, 994, 887, + 6075, 422, 243, 1849, 1906, 6050, 6034, 6002, 6013, 5988, + 5981, 5972, 5966, 5970, 5967, 1012, 5912, 5905, 5900, 5892, - 528, 9534, 431, 1026, 1970, 385, 5502, 862, 300, 410, - 1028, 5481, 5486, 5475, 5457, 5458, 857, 684, 387, 418, - 659, 412, 859, 746, 1033, 768, 1077, 5474, 2026, 1076, - 2057, 681, 5438, 1031, 414, 0, 5487, 1068, 5490, 9534, - 9534, 0, 769, 5485, 9534, 1073, 1115, 0, 5413, 1094, - 9534, 9534, 5382, 1125, 5381, 5406, 1105, 721, 1152, 864, - 5410, 868, 1103, 1191, 5354, 2114, 0, 1250, 2173, 1184, - 1204, 2215, 5381, 1250, 1263, 1196, 2266, 2323, 5354, 0, - 5359, 5284, 5275, 5273, 5262, 1342, 5253, 5251, 9534, 694, - 5235, 5224, 5229, 1203, 916, 5228, 1536, 5227, 1725, 5183, + 5894, 5885, 496, 9534, 376, 1022, 1970, 449, 5868, 1024, + 417, 433, 1033, 5854, 5859, 5849, 5841, 5839, 847, 684, + 683, 418, 434, 673, 935, 318, 1089, 454, 1064, 5850, + 2026, 1086, 2057, 694, 5842, 1078, 707, 0, 5891, 528, + 5894, 9534, 9534, 0, 498, 5862, 9534, 1135, 1134, 0, + 5801, 1184, 9534, 9534, 5792, 1140, 5772, 5820, 860, 682, + 1177, 750, 5822, 943, 1075, 1250, 5767, 2114, 0, 1377, + 2173, 1196, 1196, 2215, 5793, 1250, 1263, 1208, 2266, 2323, + 5759, 0, 5764, 5757, 5732, 5726, 5715, 1451, 5705, 5692, + 9534, 1021, 5670, 5664, 5669, 891, 721, 5667, 1536, 5655, - 1756, 1483, 5182, 2387, 1643, 2402, 5220, 1477, 1681, 1373, - 2467, 2524, 5173, 5162, 5148, 5140, 5150, 5124, 1786, 5102, - 5073, 432, 1671, 2588, 5066, 1154, 680, 854, 266, 847, - 873, 1769, 1926, 2628, 2668, 2708, 2746, 5104, 5091, 2792, - 910, 2839, 879, 2904, 2961, 5051, 0, 5048, 5037, 5042, - 5029, 5011, 5023, 5001, 4995, 4995, 4993, 4995, 4983, 4965, - 264, 4941, 4911, 4925, 4913, 4910, 4886, 3025, 3081, 994, - 394, 16, 4858, 4848, 4840, 4823, 907, 896, 918, 4814, - 913, 837, 123, 1979, 9534, 990, 3137, 3193, 978, 1080, - 1993, 2023, 2054, 3231, 4855, 3282, 3339, 4834, 4809, 4814, + 1725, 5654, 1756, 1660, 5646, 2387, 1679, 2402, 5670, 1769, + 1804, 1374, 2467, 2524, 5629, 5634, 5619, 5555, 5550, 5541, + 1621, 5532, 5528, 737, 1746, 2588, 5516, 1194, 714, 841, + 431, 856, 944, 1926, 1936, 2628, 2668, 2708, 2746, 5552, + 5529, 2792, 910, 2839, 866, 2904, 2961, 5517, 5503, 0, + 5511, 5489, 5494, 5489, 5436, 5450, 5438, 5445, 5424, 5392, + 5404, 5380, 5375, 259, 5361, 5346, 5360, 5359, 5290, 5288, + 3025, 3081, 1184, 830, 24, 5240, 5230, 5232, 5238, 1042, + 896, 912, 5235, 718, 925, 821, 1979, 9534, 1043, 3137, + 3193, 983, 858, 1993, 2023, 2054, 3231, 5269, 3282, 3339, - 4792, 4770, 4751, 4758, 4758, 4737, 4741, 4740, 4735, 4716, - 4720, 1015, 1094, 4685, 2089, 3387, 3427, 3467, 3507, 4738, - 3553, 0, 4674, 4665, 4670, 4636, 4650, 4638, 4635, 4624, - 4608, 4614, 4597, 4577, 4564, 4563, 3617, 3673, 1123, 1075, - 9534, 1180, 1236, 1936, 925, 3713, 3753, 2079, 699, 4570, - 4569, 2128, 1318, 4568, 4560, 1062, 1182, 3793, 2139, 1726, - 3840, 2174, 1110, 3905, 992, 1544, 1057, 1212, 1162, 1341, - 1827, 821, 955, 1477, 1342, 1222, 1215, 1645, 1122, 1075, - 65, 1359, 4534, 1267, 1159, 4533, 1636, 736, 1145, 1424, - 4503, 4497, 4490, 4457, 4468, 4454, 1524, 1351, 1697, 1350, + 5250, 5241, 5246, 5181, 5195, 5183, 5165, 5154, 5145, 5157, + 5156, 5126, 5102, 5106, 1063, 1036, 5071, 2089, 3387, 3427, + 3467, 3507, 5079, 3553, 0, 5048, 5027, 5031, 5008, 4998, + 4976, 4970, 4935, 4932, 4930, 4929, 4911, 4897, 4883, 3617, + 3673, 1480, 1018, 9534, 1086, 1124, 2113, 160, 3713, 3753, + 1969, 708, 4889, 4884, 2128, 1239, 4880, 4869, 924, 951, + 3793, 2139, 1814, 3840, 2174, 1050, 3905, 1103, 889, 1183, + 1056, 1117, 1308, 1508, 1498, 1342, 1208, 1341, 1062, 1449, + 1114, 1464, 1109, 1343, 1394, 1215, 4857, 1234, 1137, 4849, + 1366, 1008, 1506, 1424, 4818, 4813, 4815, 4786, 4792, 4778, - 1241, 1490, 2187, 4480, 2199, 2237, 2088, 3962, 4013, 4088, - 2006, 2140, 1447, 1850, 2024, 2361, 1973, 2367, 2368, 2449, - 2562, 2444, 2563, 1514, 4458, 4461, 4398, 2550, 1520, 4136, - 4176, 2357, 1507, 4413, 2268, 4395, 4392, 1650, 2442, 4396, - 4371, 4344, 4354, 4349, 4340, 4326, 4315, 4322, 1758, 737, - 1629, 1506, 4216, 4256, 4296, 4337, 4322, 2601, 4322, 4320, - 4319, 4307, 1630, 2612, 1808, 2638, 1821, 4336, 0, 2650, - 4384, 2678, 2688, 4431, 2720, 1516, 1688, 2443, 9534, 478, - 1681, 1015, 1694, 1706, 2450, 9534, 1686, 1329, 1361, 1773, - 1449, 1729, 1621, 1786, 1957, 1705, 4305, 1805, 1813, 1760, + 1671, 86, 1516, 1240, 1330, 1472, 2187, 4814, 2199, 2237, + 2079, 3962, 4013, 4088, 2006, 2060, 1522, 1716, 2367, 2368, + 1973, 2361, 2374, 2404, 2405, 2444, 2562, 1189, 4798, 4793, + 4742, 2549, 1536, 4136, 4176, 2603, 1450, 4775, 1850, 4757, + 4708, 1628, 2268, 4698, 4691, 4682, 4687, 4676, 4660, 4658, + 4654, 4647, 1636, 1682, 1629, 1483, 4216, 4256, 4296, 4625, + 4624, 2609, 4605, 4584, 4583, 4575, 969, 2641, 1824, 2651, + 2066, 4336, 0, 2592, 4384, 2678, 2688, 4431, 2720, 1494, + 1268, 1728, 2442, 9534, 1681, 1717, 1679, 1720, 1810, 2443, + 9534, 1724, 1698, 1468, 1966, 1729, 1647, 1686, 1954, 1967, - 1423, 1949, 1917, 1703, 4300, 4235, 4213, 2020, 1785, 1935, - 1798, 2732, 2768, 2814, 4245, 4242, 2842, 2877, 4225, 4218, - 2880, 2999, 2879, 3000, 3006, 3012, 2882, 3009, 3014, 4223, - 4206, 4206, 4207, 4165, 4479, 4519, 4559, 4163, 4159, 4146, - 4125, 4119, 4103, 4108, 4086, 4100, 4082, 4091, 4091, 4068, - 1983, 1972, 2036, 2033, 1927, 2694, 2050, 4599, 4639, 3048, - 4090, 4089, 4075, 4074, 4677, 1975, 3096, 3108, 3134, 2097, - 2103, 2111, 3150, 2253, 4725, 0, 3056, 4773, 3160, 2869, - 4820, 3190, 1934, 4063, 3097, 2054, 1832, 1521, 2087, 3190, - 2093, 2036, 2146, 3191, 2007, 2188, 2056, 2096, 3232, 3233, + 1821, 4534, 1977, 2041, 1759, 1758, 1980, 1517, 1798, 4489, + 4446, 4424, 2103, 2053, 2054, 1966, 2732, 2768, 2814, 4460, + 4459, 2445, 2877, 4442, 4430, 2880, 2999, 2842, 3000, 3006, + 3012, 2879, 3009, 2882, 4448, 4445, 4440, 4441, 4399, 4479, + 4519, 4559, 4389, 4389, 4371, 4364, 4333, 4324, 4329, 4287, + 4300, 4265, 4274, 4274, 4257, 2037, 2029, 2089, 1916, 1997, + 2694, 2050, 4599, 4639, 3043, 4257, 4242, 4240, 4217, 4677, + 2097, 2869, 3051, 3081, 2159, 2253, 2336, 3094, 2360, 4725, + 0, 3106, 4773, 3134, 3150, 4820, 3158, 2112, 2082, 4202, + 2577, 1827, 2199, 2096, 2216, 3014, 2146, 2326, 2226, 3135, - 2216, 4035, 4034, 4014, 4013, 2216, 3977, 3962, 2406, 2297, - 2172, 2298, 3220, 4012, 3253, 3361, 3208, 3284, 3389, 3981, - 3886, 3390, 3391, 3392, 2092, 3427, 3428, 3429, 3430, 3437, - 0, 0, 0, 0, 3850, 3480, 2358, 4868, 4908, 3456, - 3440, 3879, 3859, 3848, 3467, 3848, 3824, 2359, 3508, 3818, - 3805, 3509, 3510, 3793, 3768, 3767, 3752, 2345, 4947, 4986, - 5025, 3758, 3742, 3714, 3527, 5065, 3537, 3441, 5111, 3575, - 3614, 3714, 3632, 3644, 3587, 2423, 2424, 2537, 2584, 3670, - 2587, 5159, 0, 3688, 5207, 3699, 3497, 5254, 3725, 2080, - 3753, 9534, 5319, 2127, 2130, 3681, 3754, 9534, 2422, 2220, + 1944, 2188, 2334, 2252, 3186, 3187, 2351, 4173, 4135, 4111, + 4098, 2314, 4078, 4077, 2577, 2385, 2358, 2401, 3206, 4111, + 3218, 3253, 3190, 3284, 3387, 4073, 4055, 3388, 3389, 3390, + 2366, 3427, 3428, 3429, 3435, 3436, 0, 0, 0, 0, + 4003, 3480, 2125, 4868, 4908, 3456, 3467, 4008, 3997, 3979, + 3508, 3973, 3869, 2367, 3509, 3863, 3868, 3510, 3517, 3856, + 3854, 3838, 3835, 2498, 4947, 4986, 5025, 3861, 3843, 3821, + 3359, 5065, 3528, 3538, 5111, 3575, 3614, 3808, 3632, 3644, + 3587, 2537, 2572, 2974, 3030, 3670, 3066, 5159, 0, 3688, + 5207, 3699, 3723, 5254, 3731, 2419, 5319, 3759, 9534, 2275, - 2387, 2316, 3755, 9534, 2410, 2368, 1704, 1889, 3756, 9534, - 3761, 9534, 3667, 2315, 3633, 3625, 2578, 2400, 2225, 2540, - 3773, 3814, 3861, 5381, 3635, 3636, 2562, 2563, 3605, 3579, - 2543, 2628, 3553, 5439, 5478, 5517, 5574, 2356, 3578, 2629, - 2691, 2636, 2560, 2750, 2751, 2748, 3988, 1072, 5632, 5671, - 4076, 3591, 3564, 4114, 2815, 4146, 2974, 5711, 0, 4158, - 5724, 4186, 3783, 5770, 4198, 4228, 4240, 4268, 2868, 2876, - 3030, 3033, 4278, 3035, 5818, 0, 4308, 5866, 4319, 3824, - 4358, 2946, 5931, 2711, 3475, 2272, 4386, 2956, 2596, 3472, - 4387, 4433, 3448, 2996, 3415, 3408, 3350, 3763, 2823, 3864, + 2756, 1190, 2412, 3760, 9534, 2403, 667, 2319, 2592, 3761, + 9534, 2406, 2068, 3776, 3758, 3762, 9534, 3794, 9534, 3745, + 2524, 3725, 3675, 2759, 2624, 2585, 2776, 3814, 3861, 3983, + 5381, 3680, 3668, 2549, 2557, 3669, 3649, 2610, 2634, 3625, + 5439, 5478, 5517, 5574, 2752, 3598, 2955, 2691, 1603, 2797, + 2980, 2858, 2977, 4075, 2073, 5632, 5671, 4114, 3614, 3601, + 4152, 2769, 4162, 2989, 5711, 0, 4188, 5724, 4199, 3763, + 5770, 4228, 4240, 4268, 4280, 3021, 3028, 3116, 3269, 4306, + 3442, 5818, 0, 4318, 5866, 4356, 3781, 4406, 3029, 5931, + 2506, 3089, 2994, 3081, 4479, 2787, 3022, 3139, 4519, 4559, - 3360, 4404, 3361, 4452, 4490, 4501, 5993, 3320, 3288, 4434, - 3007, 3291, 3264, 4527, 4559, 0, 4546, 2744, 6051, 6090, - 4572, 6147, 3247, 2627, 4600, 3047, 2798, 3213, 4602, 4603, - 3179, 6206, 6246, 6286, 6326, 3197, 4616, 4651, 4663, 3192, - 3010, 3066, 4697, 3074, 6366, 0, 4747, 6379, 4707, 3982, - 6425, 4795, 4840, 3128, 4880, 4892, 4531, 3076, 3121, 3269, - 2759, 2806, 6473, 0, 4807, 3215, 4947, 2800, 4948, 3064, - 3906, 9534, 2962, 2819, 3013, 4100, 9534, 4101, 9534, 3057, - 3027, 3757, 3908, 3097, 2936, 4481, 4870, 4961, 4998, 5010, - 5037, 4950, 4229, 2860, 3059, 2795, 2731, 6485, 6525, 6565, + 3563, 2812, 3529, 3525, 3492, 3844, 3147, 3864, 3508, 4366, + 3502, 4491, 4531, 3994, 5993, 3466, 3416, 3842, 1729, 3415, + 3395, 4560, 4561, 0, 4572, 2744, 6051, 6090, 4417, 6147, + 3371, 2428, 4600, 3113, 2962, 3347, 4601, 4602, 3314, 6206, + 6246, 6286, 6326, 3218, 4506, 4615, 4651, 3192, 3189, 3219, + 4661, 3254, 6366, 0, 4699, 6379, 4745, 4120, 6425, 4795, + 4755, 3114, 4842, 4880, 4455, 3147, 3270, 3602, 2759, 3178, + 6473, 0, 4550, 3364, 3535, 4918, 3347, 4921, 3411, 3906, + 9534, 3628, 3412, 3629, 4229, 9534, 4269, 9534, 2995, 2920, + 3765, 3421, 3215, 2813, 4936, 4976, 4932, 4974, 4998, 5037, - 6605, 5066, 5067, 2673, 3156, 2884, 3375, 5085, 3091, 6645, - 6685, 4937, 3180, 4918, 2669, 5133, 5181, 4758, 2613, 2527, - 3388, 3407, 5227, 3410, 6725, 0, 5276, 6738, 5237, 5054, - 6784, 5451, 5462, 5489, 5500, 3270, 2464, 3123, 2509, 4306, - 9534, 2424, 4528, 9534, 5113, 2410, 2383, 3139, 9534, 2797, - 4184, 9534, 3014, 3641, 5161, 5547, 5660, 5668, 5540, 5319, - 5699, 5906, 5658, 2394, 5746, 5792, 5287, 2353, 4529, 2305, - 2218, 2196, 5839, 3565, 6832, 6872, 5698, 3588, 5114, 2128, - 2084, 3233, 6912, 6952, 6992, 6063, 6075, 6102, 2041, 1969, - 3453, 3468, 6112, 3602, 7032, 0, 6218, 7045, 6229, 5191, + 4823, 4726, 2796, 3047, 2772, 2754, 6485, 6525, 6565, 6605, + 4911, 5026, 2728, 3392, 3211, 3435, 5085, 3134, 6645, 6685, + 5016, 3410, 5095, 2706, 5133, 5181, 5145, 2653, 2613, 3633, + 3684, 5227, 3699, 6725, 0, 5276, 6738, 5237, 4625, 6784, + 5451, 5462, 5489, 5500, 3880, 2590, 3321, 2863, 3750, 4728, + 9534, 2411, 4909, 9534, 5528, 3467, 3970, 3793, 9534, 1934, + 4164, 9534, 3367, 4342, 5547, 5660, 5668, 5699, 5540, 5319, + 5707, 5906, 5658, 2403, 5747, 5792, 5193, 2359, 4910, 2196, + 2137, 1988, 5839, 3588, 6832, 6872, 5852, 3751, 5820, 1948, + 1830, 3447, 6912, 6952, 6992, 6063, 6075, 6102, 1787, 1666, - 6258, 1970, 6269, 6297, 5690, 1748, 1642, 4605, 9534, 5528, - 5820, 1504, 9534, 4644, 6307, 6336, 6348, 6401, 6447, 5821, - 4869, 1397, 7093, 7133, 7173, 5910, 6514, 1372, 6501, 3645, - 7213, 7253, 6513, 6551, 1296, 6577, 6589, 5758, 1208, 1154, - 3658, 1005, 936, 6617, 0, 3992, 5546, 9534, 5575, 9534, - 6645, 4990, 6632, 869, 6658, 6697, 6413, 5867, 6712, 3659, - 7293, 7333, 6539, 6784, 7373, 7413, 7453, 6804, 6842, 6852, - 709, 0, 460, 5868, 9534, 3161, 5904, 9534, 3367, 6884, - 6896, 6924, 7493, 7533, 7573, 6934, 3660, 7613, 7653, 6670, - 9534, 6972, 7002, 6317, 9534, 9534, 7012, 364, 7067, 7105, + 4075, 4089, 6112, 4177, 7032, 0, 6218, 7045, 6229, 4966, + 6258, 1645, 6269, 6297, 5288, 1558, 1440, 4170, 4916, 9534, + 5546, 5904, 4069, 9534, 4481, 6307, 6336, 6348, 6401, 6447, + 5910, 5066, 1398, 7093, 7133, 7173, 6514, 6525, 1288, 6512, + 3880, 7213, 7253, 6501, 6575, 1183, 6587, 6617, 6413, 1096, + 1034, 4640, 1014, 885, 6629, 0, 4323, 3525, 5068, 9534, + 5821, 9534, 6618, 4689, 6658, 833, 6670, 6697, 6459, 6147, + 6712, 4013, 7293, 7333, 6760, 6784, 7373, 7413, 7453, 6804, + 6842, 6852, 699, 0, 514, 3256, 6148, 9534, 3517, 4825, + 9534, 3623, 6884, 6896, 6924, 7493, 7533, 7573, 6934, 4073, - 6459, 7115, 3834, 7693, 7733, 6760, 7153, 7191, 7229, 7239, - 7267, 7277, 7306, 7316, 7354, 172, 7392, 7146, 9534, 7430, - 6771, 100, 7440, 7164, 9534, 7790, 7811, 7832, 7853, 7874, - 7895, 7916, 7937, 7958, 7979, 8000, 3878, 8021, 8042, 8063, - 8084, 8105, 8126, 3565, 8147, 8168, 8189, 8210, 8231, 8252, - 8273, 8294, 8315, 8336, 8357, 8378, 8399, 8420, 8441, 8462, - 8483, 8504, 8525, 8546, 4295, 4598, 8555, 8575, 8596, 8617, - 8638, 8659, 8680, 8701, 8722, 3974, 8743, 8764, 8785, 8806, - 8818, 8839, 4983, 8860, 8881, 8902, 8923, 8944, 8965, 8986, - 9007, 9028, 9049, 5900, 9058, 9078, 9099, 9120, 9141, 5919, + 7613, 7653, 6965, 9534, 6972, 7003, 5698, 9534, 2225, 9534, + 7013, 471, 7067, 7105, 6539, 7115, 4074, 7693, 7733, 7146, + 7153, 7191, 7229, 3226, 7239, 7267, 7277, 7306, 7316, 7354, + 404, 7392, 7164, 316, 9534, 7430, 5757, 179, 7440, 7346, + 9534, 7790, 7811, 7832, 7853, 7874, 7895, 7916, 7937, 7958, + 7979, 8000, 4595, 8021, 8042, 8063, 8084, 8105, 8126, 3974, + 8147, 8168, 8189, 8210, 8231, 8252, 8273, 8294, 8315, 8336, + 8357, 8378, 8399, 8420, 8441, 8462, 8483, 8504, 8525, 8546, + 4711, 4858, 8555, 8575, 8596, 8617, 8638, 8659, 8680, 8701, + 8722, 4195, 8743, 8764, 8785, 8806, 8818, 8839, 5061, 8860, - 6129, 6139, 9150, 9158, 9178, 9199, 5308, 6245, 6285, 6365, - 9208, 9217, 6684, 6822, 6868, 9225, 9234, 6871, 6951, 9242, - 9251, 9271, 6824, 9283, 9304, 6968, 9314, 9322, 9331, 9351, - 6970, 9363, 9384, 6988, 9394, 9402, 9411, 9431, 9452, 9473, - 6991, 9483, 4171, 7028, 9492, 7031, 5651, 9512, 4638 + 8881, 8902, 8923, 8944, 8965, 8986, 9007, 9028, 9049, 5015, + 9058, 9078, 9099, 9120, 9141, 5557, 5566, 5900, 9150, 9158, + 9178, 9199, 5062, 6245, 6285, 6325, 9208, 9217, 6365, 6552, + 6559, 9225, 9234, 6773, 6777, 9242, 9251, 9271, 5308, 9283, + 9304, 6822, 9314, 9322, 9331, 9351, 6561, 9363, 9384, 6868, + 9394, 9402, 9411, 9431, 9452, 9473, 6871, 9483, 5651, 6951, + 9492, 6988, 5690, 9512, 3664 } ; -static yyconst flex_int16_t yy_def[1350] = +static yyconst flex_int16_t yy_def[1366] = { 0, - 1225, 1, 1, 1, 1226, 1226, 1227, 1227, 1228, 1228, - 1229, 1229, 1230, 1230, 1225, 15, 1231, 1231, 1225, 19, - 1225, 1232, 1225, 1225, 1225, 1225, 1225, 1233, 1234, 1225, - 1225, 1235, 1225, 1236, 1232, 35, 35, 1237, 1225, 1225, - 1232, 1225, 42, 42, 42, 42, 42, 47, 47, 47, - 47, 47, 47, 47, 47, 1232, 1238, 35, 1232, 1225, - 1233, 42, 42, 47, 47, 47, 1225, 1225, 1225, 1239, - 47, 47, 47, 1240, 1232, 1241, 1225, 1225, 1241, 1225, - 1241, 1225, 1242, 1242, 1225, 1225, 1242, 1225, 1225, 1243, - 1233, 1225, 1244, 1245, 1225, 1245, 1225, 1245, 1225, 1246, + 1241, 1, 1, 1, 1242, 1242, 1243, 1243, 1244, 1244, + 1245, 1245, 1246, 1246, 1241, 15, 1247, 1247, 1241, 19, + 1241, 1248, 1241, 1241, 1241, 1241, 1241, 1249, 1250, 1241, + 1241, 1251, 1241, 1252, 1248, 35, 35, 1253, 1241, 1241, + 1248, 1241, 42, 42, 42, 42, 42, 47, 47, 47, + 47, 47, 47, 47, 47, 1248, 1254, 35, 1248, 1241, + 1249, 42, 42, 47, 47, 47, 1241, 1241, 1241, 1255, + 42, 47, 47, 47, 1256, 1248, 1257, 1241, 1241, 1257, + 1241, 1257, 1241, 1258, 1258, 1241, 1241, 1258, 1241, 1241, + 1259, 1249, 1241, 1260, 1261, 1241, 1261, 1241, 1261, 1241, - 1247, 1247, 1247, 1225, 1225, 1248, 1249, 1250, 1225, 109, - 109, 109, 1225, 113, 113, 113, 113, 117, 117, 117, - 117, 117, 117, 1251, 109, 112, 112, 1252, 1252, 1225, - 1252, 1253, 1254, 1255, 1256, 1253, 136, 136, 1225, 139, - 139, 139, 139, 143, 143, 143, 143, 143, 143, 1253, - 1257, 136, 1253, 1258, 1258, 1225, 1225, 1225, 1259, 1225, - 1225, 1260, 1225, 1261, 1225, 1248, 1261, 1262, 1262, 1263, - 1264, 1258, 1258, 1258, 1265, 174, 174, 174, 174, 1266, - 1267, 1258, 1225, 183, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 1262, 1263, 1263, 1263, 1241, 1241, 1264, 1265, 1266, 1241, + 110, 110, 110, 1241, 114, 114, 114, 114, 118, 118, + 118, 118, 118, 118, 1267, 110, 113, 113, 1268, 1268, + 1241, 1268, 1269, 1270, 1271, 1272, 1269, 137, 137, 1241, + 140, 140, 140, 140, 144, 144, 144, 144, 144, 144, + 1269, 1273, 137, 1269, 1274, 1274, 1241, 1241, 1241, 1275, + 1241, 1241, 1276, 1241, 1277, 1241, 1264, 1277, 1278, 1278, + 1279, 1280, 1274, 1274, 1274, 1281, 175, 175, 175, 175, + 1282, 1283, 1274, 1241, 184, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 1225, 1225, 1258, 1258, 1268, 1269, 1258, 1268, 1258, 1258, - 1225, 1225, 1225, 1225, 1225, 1225, 1259, 1258, 174, 1258, - 1258, 1258, 1225, 1225, 1225, 1225, 1270, 1271, 1258, 184, - 1272, 1273, 1258, 1272, 1258, 1274, 1274, 1225, 1225, 1225, - 1225, 1275, 1275, 1275, 1225, 1225, 1260, 1276, 1277, 1277, - 1225, 1225, 1277, 1277, 1278, 1225, 1278, 1278, 1225, 1225, - 1225, 1248, 1248, 1248, 1279, 1280, 1281, 1279, 1282, 1225, - 1225, 1281, 272, 272, 272, 272, 1225, 277, 278, 1283, - 278, 278, 278, 278, 278, 278, 278, 278, 1225, 1269, - 1281, 1281, 1284, 1284, 1284, 1285, 1285, 1286, 1286, 1287, + 185, 185, 1241, 1241, 1274, 1274, 1284, 1285, 1274, 1284, + 1274, 1274, 1241, 1241, 1241, 1241, 1241, 1241, 1275, 1274, + 175, 1274, 1274, 1274, 1241, 1241, 1241, 1241, 1286, 1287, + 1274, 185, 1288, 1289, 1274, 1288, 1274, 1290, 1290, 1241, + 1241, 1241, 1241, 1291, 1291, 1291, 1241, 1241, 1276, 1292, + 1293, 1293, 1241, 1241, 1293, 1293, 1294, 1241, 1294, 1294, + 1241, 1241, 1241, 1264, 1264, 1264, 1295, 1296, 1297, 1295, + 1298, 1241, 1241, 1297, 274, 274, 274, 274, 1241, 279, + 280, 1299, 280, 280, 280, 280, 280, 280, 280, 280, + 1241, 1285, 1297, 1297, 1300, 1300, 1300, 1301, 1301, 1302, - 1287, 1288, 1289, 1285, 1285, 1285, 306, 306, 306, 306, - 1225, 311, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 1285, 1285, 1290, 1285, 1290, 1285, 1285, 1291, 1291, - 1292, 1225, 1225, 1293, 1293, 1293, 1293, 337, 1294, 1225, - 1295, 1225, 1293, 1225, 344, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 1296, 1296, 1293, - 1293, 1225, 1225, 1225, 1225, 1225, 1291, 1293, 1293, 337, - 1293, 1293, 1293, 1225, 1225, 1297, 1298, 1298, 1293, 1225, - 1225, 1225, 1225, 1281, 394, 1225, 396, 397, 397, 397, + 1302, 1303, 1303, 1304, 1305, 1301, 1301, 1301, 308, 308, + 308, 308, 1241, 313, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 1301, 1301, 1306, 1301, 1306, 1301, 1301, + 1307, 1307, 1308, 1241, 1241, 1309, 1309, 1309, 1309, 339, + 1310, 1241, 1311, 1241, 1309, 1241, 346, 347, 347, 347, + 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, + 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, + 1312, 1312, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1307, + 1309, 1309, 339, 1309, 1309, 1309, 1241, 1241, 1313, 1314, + 1314, 1309, 1241, 1241, 1241, 1241, 1297, 397, 1241, 399, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 1299, 1281, 1281, 1225, 1285, 1285, 1285, 306, 419, - 311, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 1290, 1290, 1285, 1285, - 1225, 1292, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1300, - 1301, 1301, 452, 1302, 1301, 1303, 1304, 1225, 458, 458, - 1225, 458, 1293, 1225, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 1293, 1293, 1293, 1293, - 1225, 1225, 1225, 1225, 1225, 1225, 1305, 1293, 1293, 1293, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 400, 400, 400, 400, 1315, 1297, 1297, 1241, 1301, 1301, + 1301, 308, 422, 313, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 1306, + 1306, 1301, 1301, 1241, 1308, 1308, 1309, 1309, 1309, 1309, + 1309, 1309, 1316, 1317, 1317, 455, 1318, 1317, 1319, 1320, + 1241, 461, 461, 1241, 461, 1309, 1241, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241, - 1306, 1293, 1225, 1225, 1225, 1225, 1225, 1281, 1225, 509, - 510, 510, 1307, 510, 510, 510, 510, 510, 510, 510, - 510, 510, 510, 1281, 1281, 1281, 1281, 1285, 1285, 1285, - 1285, 1285, 1285, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 312, 1285, 1285, - 1285, 1285, 1293, 1293, 1293, 1225, 1308, 1308, 558, 1308, - 1309, 1310, 1311, 1225, 1312, 461, 1312, 1225, 568, 1312, - 1225, 571, 571, 1225, 571, 1293, 464, 1225, 1225, 464, - 464, 464, 464, 464, 1225, 1225, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 1293, + 1321, 1309, 1309, 1309, 1322, 1309, 1241, 1241, 1241, 1241, + 1241, 1297, 1241, 513, 514, 514, 1323, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 1297, 1297, 1297, + 1297, 1301, 1301, 1301, 1301, 1301, 1301, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241, + 1324, 1324, 562, 1324, 1325, 1326, 1327, 1241, 1328, 464, + 1328, 1241, 572, 1328, 1241, 575, 575, 1241, 575, 1309, + 467, 467, 1241, 1241, 467, 467, 467, 467, 467, 1241, + 1241, 467, 467, 467, 467, 467, 467, 467, 467, 467, - 1293, 1293, 1293, 1293, 1225, 1225, 1225, 1305, 1293, 1293, - 1293, 1225, 1225, 1225, 508, 509, 510, 510, 1307, 1307, - 510, 510, 510, 510, 510, 510, 510, 510, 510, 1281, - 1281, 1281, 1281, 1281, 1285, 1285, 1285, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 1285, 1285, 1285, 1285, 1285, 1293, 1293, 1293, 1293, 1293, - 1313, 1313, 1314, 1315, 1225, 1225, 1225, 1225, 1225, 1316, - 1316, 1317, 574, 1317, 1225, 675, 1317, 1225, 678, 678, - 1225, 678, 1293, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 467, 467, 467, 467, 1309, 1309, 1309, 1309, 1309, 1241, + 1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241, 1241, 512, + 513, 514, 514, 1323, 1323, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 1297, 1297, 1297, 1297, 1297, 1301, + 1301, 1301, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 1301, 1301, 1301, 1301, 1301, + 1309, 1309, 1309, 1309, 1309, 1329, 1329, 1330, 1331, 1241, + 1241, 1241, 1241, 1241, 1332, 1332, 1333, 578, 1333, 1241, + 680, 1333, 1241, 683, 683, 1241, 683, 1309, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, - 464, 1293, 1293, 1293, 1293, 1293, 1225, 1225, 1305, 1293, - 1293, 1293, 1225, 1225, 1225, 1225, 1225, 510, 510, 1307, - 1307, 510, 510, 510, 1307, 510, 510, 510, 510, 510, - 1281, 1281, 1281, 1281, 1281, 1285, 1285, 1285, 1285, 1285, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 1285, 1285, 1285, 1285, 1285, 1293, 1293, - 1293, 1225, 1318, 1319, 665, 1225, 766, 766, 1225, 766, - 1225, 1225, 1225, 1225, 1225, 1225, 1320, 1320, 1321, 681, - 1321, 1225, 782, 1321, 1225, 785, 785, 1225, 785, 1293, - 1225, 1225, 1225, 793, 793, 793, 1225, 1225, 793, 793, + 467, 467, 467, 467, 467, 467, 467, 1309, 1309, 1309, + 1309, 1309, 1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241, + 1241, 1241, 1241, 514, 514, 1323, 1323, 514, 514, 514, + 1323, 514, 514, 514, 514, 514, 1297, 1297, 1297, 1297, + 1297, 1301, 1301, 1301, 1301, 1301, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 1301, + 1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241, 1334, 1335, + 670, 1241, 772, 772, 1241, 772, 1241, 1241, 1241, 1241, + 1241, 1241, 1336, 1336, 1337, 686, 1337, 1241, 788, 1337, + 1241, 791, 791, 1241, 791, 1309, 1241, 1241, 1241, 797, - 793, 793, 1225, 1225, 793, 793, 793, 793, 1225, 1225, - 1225, 1225, 793, 1293, 1225, 1225, 1322, 1293, 1293, 1293, - 1225, 1225, 1225, 1225, 1323, 1323, 824, 824, 1323, 1323, - 824, 824, 1324, 1325, 1325, 1325, 1225, 837, 837, 837, - 837, 837, 837, 837, 837, 1325, 1293, 1293, 1293, 1293, - 1293, 1225, 1326, 1225, 1327, 769, 1327, 1327, 858, 1327, - 1225, 861, 861, 1225, 861, 1225, 1225, 1225, 1225, 1328, - 1328, 1329, 788, 1329, 1225, 875, 1329, 1225, 878, 878, - 878, 1293, 1225, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 1293, 1225, 1225, 1330, 1293, 1293, + 797, 797, 797, 1241, 1241, 797, 797, 797, 797, 1241, + 1241, 797, 797, 797, 797, 1241, 1241, 1241, 1241, 797, + 1309, 1241, 1241, 1338, 1309, 1309, 1309, 1241, 1241, 1241, + 1241, 1339, 1339, 831, 831, 1339, 1339, 831, 831, 1340, + 1341, 1341, 1341, 1241, 844, 844, 844, 844, 844, 844, + 844, 844, 1341, 1309, 1309, 1309, 1309, 1309, 1241, 1342, + 1241, 1343, 775, 1343, 1343, 865, 1343, 1241, 868, 868, + 1241, 868, 1241, 1241, 1241, 1241, 1344, 1344, 1345, 794, + 1345, 1241, 882, 1345, 1241, 885, 885, 885, 1309, 1241, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, - 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1331, 1331, 907, - 907, 1331, 1331, 907, 907, 1332, 1333, 1333, 1333, 1333, - 1333, 1225, 922, 922, 922, 922, 922, 922, 922, 922, - 1333, 1293, 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1334, - 1334, 1335, 864, 1335, 1335, 945, 1335, 1225, 948, 948, - 1225, 948, 1225, 1225, 1225, 1225, 1225, 1225, 1336, 1336, - 1337, 1337, 1337, 963, 1337, 1293, 883, 883, 883, 883, - 1225, 1225, 883, 883, 883, 1225, 1225, 1225, 1225, 883, - 1225, 1225, 1338, 1330, 1293, 1339, 1340, 1225, 1225, 1225, - 1225, 907, 1331, 1331, 907, 1331, 1331, 1333, 1333, 1333, + 890, 890, 1309, 1241, 1241, 1346, 1309, 1309, 1309, 1241, + 1241, 1241, 1241, 1241, 1241, 1347, 1347, 915, 915, 1347, + 1347, 915, 915, 1348, 1349, 1349, 1349, 1349, 1349, 1241, + 930, 930, 930, 930, 930, 930, 930, 930, 1349, 1309, + 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1350, 1350, 1351, + 871, 1351, 1351, 953, 1351, 1241, 956, 956, 1241, 956, + 1241, 1241, 1241, 1241, 1241, 1241, 1352, 1352, 1353, 1353, + 1353, 971, 1353, 1309, 890, 890, 890, 890, 890, 1241, + 1241, 890, 890, 890, 1241, 1241, 1241, 1241, 890, 1241, + 1241, 1354, 1346, 1309, 1355, 1356, 1241, 1241, 1241, 1241, - 1333, 922, 922, 922, 922, 922, 922, 1293, 1293, 1293, - 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1341, - 1341, 1342, 951, 1342, 1342, 1025, 1342, 1225, 1028, 1028, - 1225, 1028, 1225, 1225, 1225, 1225, 1343, 1343, 1293, 1225, - 1225, 883, 1225, 1225, 883, 883, 883, 883, 1225, 1338, - 1338, 1225, 1338, 1330, 1339, 1339, 1339, 1339, 1225, 1339, - 1340, 1340, 1225, 1225, 1225, 1225, 1225, 1225, 1331, 907, - 1331, 1331, 1333, 1333, 1333, 1333, 1333, 1333, 922, 922, - 922, 922, 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1344, - 1344, 1345, 1031, 1345, 1345, 1095, 1345, 1225, 1098, 1098, + 915, 1347, 1347, 915, 1347, 1347, 1349, 1349, 1349, 1349, + 930, 930, 930, 930, 930, 930, 1309, 1309, 1309, 1309, + 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241, 1357, 1357, + 1358, 959, 1358, 1358, 1034, 1358, 1241, 1037, 1037, 1241, + 1037, 1241, 1241, 1241, 1241, 1359, 1359, 1309, 890, 1241, + 1241, 890, 1241, 1241, 890, 890, 890, 890, 1241, 1354, + 1354, 1241, 1354, 1346, 1355, 1355, 1355, 1355, 1241, 1355, + 1356, 1356, 1241, 1241, 1241, 1241, 1241, 1241, 1347, 915, + 1347, 1347, 1349, 1349, 1349, 1349, 1349, 1349, 930, 930, + 930, 930, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1360, - 1098, 1225, 1225, 1225, 1225, 1225, 1293, 1225, 1225, 883, - 883, 883, 1225, 1330, 1225, 1225, 1225, 1225, 1225, 907, - 1331, 1331, 1333, 1333, 1333, 922, 922, 922, 1293, 1293, - 1293, 1293, 1293, 1225, 1225, 1225, 1225, 1225, 1225, 1346, - 1346, 1347, 1347, 1347, 1144, 1144, 1225, 1225, 1225, 1225, - 883, 1348, 1225, 1225, 1225, 1225, 1225, 1331, 1333, 1333, - 1333, 1333, 1333, 922, 1293, 1293, 1293, 1225, 1225, 1225, - 1225, 1349, 1349, 1225, 1225, 1348, 1348, 1225, 1348, 1225, - 1225, 1225, 1333, 1333, 1333, 1293, 1293, 1293, 1293, 1293, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, + 1360, 1361, 1040, 1361, 1361, 1105, 1361, 1241, 1108, 1108, + 1108, 1241, 1241, 1241, 1241, 1241, 1309, 890, 1241, 1241, + 890, 890, 890, 1241, 1346, 1241, 1241, 1241, 1241, 1241, + 915, 1347, 1347, 1349, 1349, 1349, 930, 930, 930, 1309, + 1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241, + 1362, 1362, 1363, 1363, 1363, 1155, 1155, 890, 1241, 1241, + 1241, 1241, 890, 1364, 1241, 1241, 1241, 1241, 1241, 1347, + 1349, 1349, 1349, 1349, 1349, 930, 1309, 1309, 1309, 1241, + 1241, 1241, 1241, 1365, 1365, 890, 1241, 1241, 1364, 1364, + 1241, 1364, 1241, 1241, 1241, 1349, 1349, 1349, 1309, 1309, - 1225, 1333, 1333, 1333, 1333, 1333, 1293, 1293, 1293, 1225, - 1225, 1225, 1333, 1333, 1333, 1293, 1293, 1293, 1225, 1225, - 1225, 1333, 1333, 1333, 0, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, + 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 890, 1241, + 1241, 1241, 1241, 1241, 1241, 1349, 1349, 1349, 1349, 1349, + 1309, 1309, 1309, 890, 1241, 1241, 1241, 1349, 1349, 1349, + 1309, 1309, 1309, 890, 1241, 1241, 1241, 1349, 1349, 1349, + 0, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225 + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241 } ; static yyconst flex_int16_t yy_nxt[9611] = @@ -898,1056 +904,1056 @@ static yyconst flex_int16_t yy_nxt[9611] = 47, 48, 47, 49, 50, 51, 47, 52, 53, 54, 55, 47, 47, 47, 47, 47, 56, 57, 22, 58, 58, 58, 58, 58, 58, 22, 22, 22, 22, 22, - 22, 22, 22, 59, 22, 22, 60, 156, 491, 155, - 60, 156, 184, 61, 23, 77, 492, 78, 23, 79, - 182, 80, 23, 77, 1225, 78, 23, 79, 80, 80, - - 84, 85, 219, 86, 84, 87, 80, 88, 89, 165, - 62, 63, 80, 81, 184, 64, 186, 191, 596, 184, - 80, 81, 192, 65, 251, 188, 66, 67, 199, 187, - 166, 67, 102, 24, 68, 25, 102, 103, 104, 82, - 184, 69, 200, 189, 70, 195, 197, 82, 102, 24, - 250, 25, 102, 103, 104, 90, 297, 167, 22, 258, - 196, 43, 178, 178, 178, 178, 178, 179, 226, 71, - 252, 72, 226, 73, 47, 221, 47, 84, 85, 155, - 86, 84, 87, 74, 88, 89, 289, 105, 23, 24, - 40, 25, 23, 129, 130, 378, 250, 243, 223, 75, - - 67, 243, 223, 105, 67, 171, 171, 68, 155, 256, - 171, 171, 224, 160, 69, 330, 186, 70, 209, 184, - 23, 24, 40, 25, 23, 129, 130, 210, 155, 187, - 171, 22, 90, 290, 43, 246, 202, 278, 239, 246, - 282, 278, 71, 131, 72, 218, 73, 47, 165, 47, - 201, 202, 281, 239, 201, 172, 74, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 211, 160, 263, - 330, 211, 75, 23, 24, 131, 25, 23, 26, 154, - 91, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 254, 202, 155, 239, 254, 264, 479, 480, 291, - - 295, 212, 213, 209, 228, 228, 214, 257, 292, 228, - 228, 257, 235, 312, 215, 225, 315, 216, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 92, 228, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 23, 24, - 294, 25, 23, 26, 229, 91, 155, 259, 260, 370, - 261, 259, 256, 255, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 275, 275, 275, 275, 275, 276, - 1225, 1197, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 201, 202, 289, 239, 201, 309, 309, 309, - - 309, 309, 310, 92, 154, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 23, 24, 165, 25, 23, 26, 95, - 91, 312, 340, 202, 202, 155, 96, 97, 98, 303, - 303, 290, 314, 342, 303, 303, 263, 294, 165, 343, - 155, 380, 99, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 156, 303, 490, 155, 156, 155, 1225, - 155, 297, 371, 299, 155, 383, 389, 854, 100, 23, - 24, 327, 25, 23, 26, 95, 91, 155, 297, 304, - 328, 381, 96, 97, 98, 296, 264, 307, 307, 307, - - 307, 307, 307, 307, 307, 307, 307, 1225, 99, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 201, - 202, 685, 239, 201, 100, 40, 23, 24, 40, 25, - 23, 26, 40, 40, 40, 106, 30, 31, 40, 107, - 33, 40, 40, 108, 109, 110, 111, 109, 109, 109, - 109, 109, 109, 109, 38, 112, 40, 40, 113, 114, - 114, 114, 115, 116, 117, 117, 118, 117, 119, 120, - 121, 117, 122, 117, 123, 117, 117, 117, 117, 117, - 117, 92, 124, 40, 125, 125, 125, 125, 125, 125, - - 126, 126, 126, 126, 126, 126, 126, 126, 127, 126, - 126, 132, 23, 24, 132, 25, 23, 26, 40, 40, - 132, 133, 30, 31, 132, 134, 33, 132, 132, 135, - 136, 137, 138, 136, 136, 136, 136, 136, 136, 136, - 38, 39, 40, 132, 139, 140, 140, 140, 141, 142, - 143, 143, 144, 143, 145, 146, 147, 143, 148, 143, - 149, 143, 143, 143, 143, 143, 143, 150, 151, 132, - 152, 152, 152, 152, 152, 152, 132, 132, 132, 132, - 132, 132, 132, 132, 153, 132, 132, 160, 332, 161, - 385, 333, 333, 333, 333, 333, 333, 333, 333, 333, - - 333, 162, 206, 412, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 173, 155, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 175, 258, 175, 382, - 176, 176, 176, 176, 176, 176, 297, 386, 1093, 439, - 155, 154, 154, 154, 154, 154, 378, 226, 154, 154, - 290, 226, 154, 155, 379, 155, 176, 176, 176, 176, - 176, 176, 154, 602, 653, 154, 154, 154, 154, 226, - 243, 154, 154, 226, 243, 154, 154, 256, 154, 154, - 154, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 175, 155, 297, 154, 183, 183, 183, 183, 183, - - 183, 184, 184, 184, 184, 185, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 155, 154, - 184, 176, 176, 176, 176, 176, 176, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 1225, 441, - 1225, 330, 184, 184, 184, 184, 184, 184, 587, 160, - 223, 330, 184, 206, 223, 390, 154, 171, 171, 390, - 205, 368, 171, 171, 224, 160, 1225, 443, 154, 154, - 154, 154, 154, 154, 201, 202, 1153, 203, 204, 154, - 154, 154, 171, 155, 154, 154, 500, 1225, 154, 334, - - 335, 336, 334, 334, 334, 334, 334, 334, 334, 160, - 297, 330, 154, 154, 154, 206, 440, 172, 369, 206, - 206, 206, 295, 207, 264, 206, 206, 377, 340, 206, - 164, 164, 164, 164, 164, 155, 155, 164, 164, 457, - 463, 164, 444, 206, 206, 206, 338, 338, 338, 338, - 338, 338, 155, 1225, 498, 164, 164, 164, 338, 338, - 338, 338, 338, 338, 338, 338, 338, 338, 497, 155, - 208, 160, 294, 161, 155, 168, 168, 168, 168, 168, - 378, 155, 168, 168, 1225, 162, 168, 378, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 588, 501, - - 168, 168, 168, 338, 338, 338, 338, 338, 338, 338, - 338, 338, 338, 354, 355, 487, 488, 356, 489, 357, - 358, 1225, 854, 359, 289, 360, 361, 201, 202, 211, - 239, 201, 232, 211, 155, 154, 217, 232, 577, 231, - 387, 232, 232, 232, 1225, 233, 386, 232, 232, 502, - 155, 232, 163, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 687, 212, 213, 232, 232, 232, 214, 201, - 202, 290, 239, 201, 201, 202, 215, 239, 201, 216, - 340, 390, 155, 228, 228, 390, 1225, 388, 228, 228, - 847, 457, 234, 238, 202, 249, 239, 238, 240, 249, - - 241, 249, 249, 580, 1225, 240, 257, 241, 228, 249, - 257, 165, 595, 354, 355, 524, 525, 356, 526, 357, - 358, 241, 241, 359, 249, 360, 201, 202, 155, 239, - 201, 297, 1225, 229, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 549, 550, 552, 551, 241, 240, - 160, 1225, 161, 259, 260, 206, 261, 259, 296, 264, - 594, 256, 324, 437, 247, 603, 155, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 265, 576, 297, - 265, 250, 160, 1093, 443, 171, 265, 265, 1225, 171, - 265, 1225, 171, 265, 265, 262, 262, 262, 262, 171, - - 340, 155, 262, 262, 293, 599, 262, 267, 293, 265, - 438, 461, 582, 171, 171, 395, 395, 395, 395, 395, - 395, 262, 262, 391, 392, 393, 391, 391, 391, 391, - 391, 391, 391, 268, 265, 265, 171, 1023, 441, 171, - 443, 1225, 171, 171, 1225, 171, 171, 171, 171, 171, - 385, 1225, 171, 171, 265, 265, 265, 265, 265, 294, - 581, 265, 265, 591, 592, 265, 267, 171, 171, 395, - 395, 395, 395, 395, 395, 395, 395, 395, 395, 265, - 265, 265, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 270, 171, 171, 267, 1225, 386, 271, 267, - - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 175, 267, 598, 1134, 273, 273, 273, 273, 273, 273, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 560, 560, 560, - 273, 273, 273, 273, 273, 273, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 1225, 1225, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 1225, - 1225, 1225, 691, 267, 267, 267, 267, 267, 267, 403, - 404, 590, 583, 405, 609, 406, 407, 584, 1225, 408, - 1225, 409, 420, 420, 420, 420, 420, 420, 692, 267, - - 267, 267, 267, 267, 267, 267, 155, 155, 597, 267, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 175, 267, 1164, 378, 277, 277, 277, 277, 277, 277, - 278, 278, 278, 278, 279, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 1158, 703, 280, - 273, 273, 273, 273, 273, 273, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 1225, 1225, 155, - 155, 278, 278, 278, 278, 278, 278, 604, 619, 303, - 303, 278, 694, 620, 303, 303, 420, 420, 420, 420, - - 420, 420, 420, 420, 420, 420, 1225, 267, 267, 267, - 267, 267, 267, 305, 303, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 175, 160, 589, 330, 307, - 307, 307, 307, 307, 307, 630, 175, 528, 631, 304, - 296, 296, 296, 296, 296, 578, 155, 296, 296, 578, - 1225, 296, 297, 611, 1151, 307, 307, 307, 307, 307, - 307, 296, 297, 297, 296, 296, 296, 296, 795, 655, - 296, 296, 155, 579, 296, 296, 297, 296, 296, 296, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 175, 683, 608, 296, 311, 311, 311, 311, 311, 311, - - 312, 312, 312, 312, 313, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 297, 296, 312, - 307, 307, 307, 307, 307, 307, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 1225, 340, 654, - 1225, 312, 312, 312, 312, 312, 312, 600, 696, 457, - 601, 312, 416, 417, 418, 416, 416, 416, 416, 416, - 416, 416, 201, 202, 1225, 239, 201, 296, 296, 296, - 296, 296, 296, 201, 202, 297, 322, 323, 296, 296, - 296, 640, 155, 296, 296, 593, 641, 296, 155, 297, - - 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, - 1225, 296, 296, 296, 206, 1225, 686, 1225, 206, 206, - 206, 690, 325, 1225, 206, 206, 175, 297, 206, 298, - 298, 298, 298, 298, 1225, 1225, 298, 298, 684, 688, - 298, 699, 206, 206, 206, 569, 569, 569, 569, 569, - 570, 184, 893, 155, 298, 298, 298, 689, 1225, 155, - 300, 300, 300, 300, 300, 706, 340, 300, 300, 326, - 171, 300, 610, 154, 170, 154, 154, 170, 695, 651, - 154, 154, 652, 702, 170, 300, 300, 300, 333, 333, - 333, 333, 333, 333, 333, 333, 333, 333, 170, 170, - - 154, 173, 1225, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 175, 297, 1225, 155, 337, 337, 337, - 337, 337, 337, 428, 429, 564, 340, 430, 585, 431, - 432, 693, 585, 433, 1225, 434, 697, 566, 1225, 340, - 155, 155, 1225, 337, 337, 337, 337, 337, 337, 154, - 566, 585, 154, 710, 155, 585, 586, 700, 154, 154, - 712, 1225, 154, 154, 701, 154, 154, 154, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 175, 586, - 794, 154, 344, 344, 344, 344, 344, 344, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - - 184, 184, 184, 184, 184, 155, 154, 184, 337, 337, - 337, 337, 337, 337, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 1225, 184, 894, 705, 184, - 184, 184, 184, 184, 184, 333, 333, 333, 333, 333, - 333, 333, 333, 333, 333, 553, 554, 555, 553, 553, - 553, 553, 553, 553, 553, 154, 154, 154, 154, 154, - 154, 206, 704, 155, 1225, 206, 206, 206, 1225, 207, - 228, 206, 206, 297, 228, 206, 1225, 228, 340, 758, - 155, 155, 155, 340, 228, 698, 790, 755, 1023, 206, - - 206, 206, 1225, 711, 457, 155, 754, 1225, 228, 228, - 503, 1225, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 160, 623, 330, 1225, 208, 228, 297, 1225, - 154, 227, 154, 154, 227, 1225, 1225, 154, 154, 297, - 503, 227, 505, 505, 505, 505, 505, 505, 505, 505, - 505, 505, 617, 1225, 757, 227, 227, 154, 232, 756, - 805, 621, 232, 232, 232, 1225, 233, 656, 232, 232, - 943, 503, 232, 506, 506, 506, 506, 506, 507, 504, - 504, 504, 504, 1225, 800, 1225, 232, 232, 232, 297, - 303, 793, 297, 807, 303, 709, 444, 303, 445, 445, - - 445, 445, 445, 445, 303, 503, 155, 504, 504, 504, - 504, 504, 504, 234, 265, 340, 1225, 265, 303, 303, - 564, 340, 1225, 265, 265, 1225, 566, 265, 564, 340, - 265, 265, 566, 829, 1127, 155, 155, 796, 830, 799, - 673, 1225, 808, 882, 267, 1225, 265, 558, 558, 559, - 560, 560, 560, 560, 560, 560, 560, 454, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 884, 1225, - 268, 265, 265, 171, 184, 1225, 171, 184, 1126, 171, - 171, 885, 171, 171, 171, 171, 171, 801, 618, 171, - 171, 1225, 802, 567, 567, 567, 567, 567, 567, 567, - - 567, 567, 567, 267, 171, 171, 612, 613, 614, 612, - 612, 612, 612, 612, 612, 612, 503, 1225, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 155, 270, - 171, 171, 271, 806, 394, 394, 394, 394, 394, 394, - 394, 394, 394, 394, 175, 1225, 819, 1122, 394, 394, - 394, 394, 394, 394, 503, 888, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 813, 184, 1121, 578, - 1225, 340, 155, 578, 394, 394, 394, 394, 394, 394, - 267, 155, 673, 814, 267, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 175, 267, 579, 900, 396, - - 396, 396, 396, 396, 396, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 184, 970, 280, 394, 394, 394, 394, 394, - 394, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 1225, 155, 155, 1120, 278, 278, 278, 278, - 278, 278, 1225, 184, 818, 820, 1225, 890, 1225, 1225, - 1063, 155, 1225, 1225, 528, 736, 529, 529, 529, 529, - 529, 529, 267, 267, 267, 267, 267, 267, 303, 895, - 1225, 296, 302, 296, 296, 302, 1225, 1225, 296, 296, - - 842, 297, 302, 312, 622, 843, 624, 923, 160, 625, - 330, 1063, 846, 297, 297, 184, 302, 302, 296, 305, - 892, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 175, 889, 1111, 184, 419, 419, 419, 419, 419, - 419, 340, 340, 585, 578, 1225, 891, 585, 578, 1225, - 1225, 585, 566, 673, 1225, 585, 155, 184, 297, 899, - 1110, 419, 419, 419, 419, 419, 419, 296, 817, 184, - 296, 586, 579, 1225, 184, 887, 296, 296, 1225, 586, - 296, 296, 340, 296, 296, 296, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 175, 628, 626, 296, - - 421, 421, 421, 421, 421, 421, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 297, 296, 312, 419, 419, 419, 419, - 419, 419, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 1225, 564, 340, 943, 312, 312, 312, - 312, 312, 312, 1225, 1225, 155, 673, 1225, 1225, 635, - 636, 637, 635, 635, 635, 635, 635, 635, 635, 914, - 160, 1107, 330, 296, 296, 296, 296, 296, 296, 206, - 278, 1225, 1225, 206, 206, 206, 155, 325, 911, 206, - - 206, 564, 340, 206, 1225, 340, 297, 312, 629, 278, - 278, 928, 627, 780, 901, 910, 780, 206, 206, 206, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, - 454, 667, 668, 669, 667, 667, 667, 667, 667, 667, - 667, 898, 856, 974, 326, 444, 184, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 564, 340, 671, - 671, 671, 671, 671, 671, 278, 312, 312, 1004, 566, - 915, 927, 925, 312, 155, 444, 1014, 446, 446, 446, - 446, 446, 446, 446, 446, 446, 446, 675, 675, 675, - - 675, 675, 675, 675, 675, 675, 675, 676, 676, 676, - 676, 676, 677, 759, 760, 761, 759, 759, 759, 759, - 759, 759, 759, 1079, 155, 444, 926, 447, 447, 447, - 447, 447, 448, 445, 445, 445, 445, 1225, 312, 674, - 674, 674, 674, 674, 674, 674, 674, 674, 674, 713, - 155, 714, 714, 714, 714, 714, 714, 714, 714, 714, - 714, 184, 917, 968, 155, 449, 449, 449, 449, 449, - 449, 449, 449, 449, 449, 175, 564, 340, 1072, 449, - 449, 449, 449, 449, 449, 713, 929, 715, 715, 715, - 715, 715, 715, 715, 715, 715, 715, 312, 312, 1052, - - 297, 1053, 155, 930, 297, 449, 449, 449, 449, 449, - 449, 451, 452, 453, 453, 453, 453, 453, 453, 453, - 453, 454, 931, 1225, 340, 455, 455, 455, 455, 455, - 455, 713, 854, 716, 716, 716, 716, 716, 717, 714, - 714, 714, 714, 1225, 856, 1006, 1071, 1225, 312, 1042, - 184, 455, 455, 455, 455, 455, 455, 340, 458, 459, - 460, 458, 458, 458, 458, 458, 458, 458, 461, 184, - 1047, 1225, 462, 462, 462, 462, 462, 462, 1225, 155, - 1225, 1225, 1225, 1225, 1225, 1225, 340, 1225, 783, 783, - 783, 783, 783, 784, 340, 718, 985, 673, 462, 462, - - 462, 462, 462, 462, 154, 780, 1225, 154, 1225, 1225, - 1069, 1225, 719, 154, 154, 722, 724, 154, 154, 728, - 154, 154, 154, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 175, 312, 1081, 154, 464, 464, 464, - 464, 464, 464, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 155, 154, 184, 449, 449, 449, 449, 449, 449, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 1225, 1225, 155, 973, 184, 184, 184, 184, 184, 184, - - 1225, 1225, 155, 856, 1225, 1225, 184, 1225, 966, 1046, - 1225, 1225, 184, 1225, 1225, 1225, 1113, 1225, 1053, 1225, - 154, 154, 154, 154, 154, 154, 206, 854, 1225, 1225, - 206, 206, 206, 980, 207, 1225, 206, 206, 1225, 856, - 206, 1225, 723, 1225, 995, 729, 184, 564, 340, 726, - 564, 340, 1225, 340, 206, 206, 206, 278, 725, 780, - 1048, 727, 873, 184, 873, 656, 730, 657, 657, 657, - 657, 657, 657, 564, 340, 778, 778, 778, 778, 778, - 778, 208, 206, 854, 1005, 673, 206, 206, 206, 206, - 368, 1225, 206, 206, 340, 943, 206, 312, 791, 160, - - 1049, 330, 791, 943, 155, 780, 1070, 184, 1008, 278, - 206, 206, 206, 771, 1045, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 771, 792, 773, 773, 773, - 773, 773, 773, 773, 773, 773, 773, 208, 232, 340, - 564, 340, 232, 232, 232, 953, 233, 155, 232, 232, - 873, 771, 232, 774, 774, 774, 774, 774, 775, 772, - 772, 772, 772, 1178, 1054, 1179, 232, 232, 232, 682, - 682, 682, 682, 682, 682, 682, 682, 682, 682, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 184, - 1112, 797, 803, 234, 232, 797, 803, 1008, 232, 232, - - 232, 232, 387, 1080, 232, 232, 312, 1225, 232, 781, - 781, 781, 781, 781, 781, 781, 781, 781, 781, 798, - 804, 856, 232, 232, 232, 713, 765, 714, 714, 714, - 714, 714, 714, 809, 811, 297, 155, 809, 811, 821, - 822, 823, 821, 821, 821, 821, 821, 821, 821, 234, - 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 175, 810, 812, 1007, 508, 508, 508, 508, 508, 508, - 713, 155, 714, 714, 714, 714, 714, 714, 714, 714, - 714, 714, 1039, 312, 1128, 791, 564, 340, 340, 791, - 508, 508, 508, 508, 508, 508, 267, 1003, 873, 873, - - 267, 509, 509, 509, 509, 509, 509, 509, 509, 509, - 509, 175, 267, 792, 997, 509, 509, 509, 509, 509, - 509, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 996, 994, - 280, 508, 508, 508, 508, 508, 508, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 1225, 1196, - 993, 1179, 278, 278, 278, 278, 278, 278, 713, 902, - 714, 714, 714, 714, 714, 714, 714, 714, 714, 714, - 1225, 797, 1225, 1225, 1225, 797, 1225, 1225, 267, 267, - - 267, 267, 267, 267, 528, 854, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 529, 155, 943, 1225, 798, - 1225, 1225, 1082, 982, 854, 312, 824, 1225, 803, 1225, - 1225, 809, 803, 1225, 1225, 809, 1023, 827, 811, 1023, - 828, 791, 811, 297, 528, 791, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 530, 804, 1225, 1225, 810, - 859, 859, 859, 859, 859, 860, 812, 981, 797, 792, - 854, 155, 797, 736, 832, 737, 737, 737, 737, 737, - 737, 831, 1023, 297, 528, 854, 531, 531, 531, 531, - 531, 532, 529, 529, 529, 529, 798, 1093, 184, 834, - - 835, 836, 834, 834, 834, 834, 834, 834, 834, 803, - 809, 811, 297, 803, 809, 811, 876, 876, 876, 876, - 876, 877, 975, 297, 296, 969, 533, 533, 533, 533, - 533, 533, 533, 533, 533, 533, 297, 804, 810, 812, - 533, 533, 533, 533, 533, 533, 770, 770, 770, 770, - 770, 770, 770, 770, 770, 770, 858, 858, 858, 858, - 858, 858, 858, 858, 858, 858, 533, 533, 533, 533, - 533, 533, 534, 534, 534, 534, 534, 534, 534, 534, - 534, 534, 1073, 248, 248, 248, 534, 534, 534, 534, - 534, 534, 1225, 765, 857, 857, 857, 857, 857, 857, - - 857, 857, 857, 857, 771, 1073, 772, 772, 772, 772, - 772, 772, 533, 533, 533, 533, 533, 533, 206, 1225, - 562, 297, 206, 206, 206, 924, 325, 916, 206, 206, - 913, 1093, 206, 866, 867, 868, 866, 866, 866, 866, - 866, 866, 866, 160, 297, 330, 206, 206, 206, 771, - 912, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 771, 1129, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 326, 206, 854, 1159, 1186, 206, 206, - 206, 206, 437, 909, 206, 206, 908, 1093, 206, 789, - 789, 789, 789, 789, 789, 789, 789, 789, 789, 897, - - 896, 155, 206, 206, 206, 564, 340, 871, 871, 871, - 871, 871, 871, 1114, 184, 297, 155, 780, 875, 875, - 875, 875, 875, 875, 875, 875, 875, 875, 886, 326, - 444, 771, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 1225, 765, 874, 874, 874, 874, 874, 874, - 874, 874, 874, 874, 791, 797, 803, 809, 791, 797, - 803, 809, 811, 986, 983, 160, 811, 330, 983, 155, - 444, 562, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 792, 798, 804, 810, 986, 454, 986, 986, - 812, 902, 903, 903, 903, 903, 903, 903, 903, 903, - - 903, 903, 946, 946, 946, 946, 946, 947, 297, 155, - 564, 340, 565, 565, 565, 565, 565, 565, 565, 565, - 565, 565, 566, 297, 297, 984, 567, 567, 567, 567, - 567, 567, 902, 904, 904, 904, 904, 904, 904, 904, - 904, 904, 904, 964, 964, 964, 964, 964, 965, 297, - 845, 1202, 567, 567, 567, 567, 567, 567, 340, 571, - 572, 573, 571, 571, 571, 571, 571, 571, 571, 574, - 986, 844, 841, 575, 575, 575, 575, 575, 575, 902, - 905, 905, 905, 905, 905, 906, 903, 903, 903, 903, - 297, 180, 180, 986, 840, 986, 987, 180, 839, 575, - - 575, 575, 575, 575, 575, 154, 838, 971, 154, 1051, - 1052, 971, 1053, 1051, 154, 154, 837, 833, 154, 154, - 155, 154, 154, 154, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 175, 972, 826, 154, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 155, 154, 184, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 615, 615, 615, 615, 615, 615, 615, 615, 615, - 615, 175, 248, 248, 248, 615, 615, 615, 615, 615, - - 615, 1026, 1026, 1026, 1026, 1026, 1027, 932, 933, 934, - 935, 932, 932, 932, 932, 932, 932, 1172, 1172, 1172, - 1172, 615, 615, 615, 615, 615, 615, 267, 825, 713, - 816, 267, 616, 616, 616, 616, 616, 616, 616, 616, - 616, 616, 175, 267, 155, 815, 616, 616, 616, 616, - 616, 616, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 155, - 155, 280, 615, 615, 615, 615, 615, 615, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 578, - 155, 155, 1225, 578, 847, 848, 848, 848, 848, 848, - - 848, 976, 978, 765, 562, 976, 978, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 579, 454, 454, - 753, 278, 278, 278, 278, 278, 278, 752, 751, 977, - 979, 750, 155, 937, 938, 939, 937, 937, 937, 937, - 937, 937, 937, 749, 748, 747, 746, 267, 267, 267, - 267, 267, 267, 528, 745, 529, 529, 529, 529, 529, - 529, 529, 529, 529, 529, 865, 865, 865, 865, 865, - 865, 865, 865, 865, 865, 854, 744, 941, 941, 941, - 941, 941, 941, 1106, 1106, 1051, 1052, 856, 1053, 1051, - 1106, 743, 297, 528, 742, 529, 529, 529, 529, 529, - - 529, 529, 529, 529, 529, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 1225, 741, 944, 944, 944, - 944, 944, 944, 944, 944, 944, 944, 735, 734, 733, - 1043, 732, 297, 656, 1043, 657, 657, 657, 657, 657, - 657, 657, 657, 657, 657, 953, 731, 954, 954, 954, - 954, 954, 954, 954, 954, 954, 954, 953, 1044, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 721, - 720, 1225, 155, 656, 1225, 658, 658, 658, 658, 658, - 658, 658, 658, 658, 658, 953, 491, 956, 956, 956, - 956, 956, 957, 954, 954, 954, 954, 881, 881, 881, - - 881, 881, 881, 881, 881, 881, 881, 1040, 180, 180, - 708, 1040, 155, 656, 180, 659, 659, 659, 659, 659, - 660, 657, 657, 657, 657, 564, 340, 960, 960, 960, - 960, 960, 960, 707, 1225, 1041, 665, 873, 963, 963, - 963, 963, 963, 963, 963, 963, 963, 963, 562, 454, - 661, 454, 155, 564, 340, 671, 671, 671, 671, 671, - 671, 671, 671, 671, 671, 566, 181, 650, 649, 670, - 670, 670, 670, 670, 670, 1225, 648, 962, 962, 962, - 962, 962, 962, 962, 962, 962, 962, 971, 976, 647, - 646, 971, 976, 645, 644, 670, 670, 670, 670, 670, - - 670, 564, 340, 672, 672, 672, 672, 672, 672, 672, - 672, 672, 672, 673, 643, 972, 977, 674, 674, 674, - 674, 674, 674, 988, 989, 990, 991, 988, 988, 988, - 988, 988, 988, 642, 978, 971, 184, 184, 978, 971, - 639, 638, 175, 674, 674, 674, 674, 674, 674, 340, - 678, 679, 680, 678, 678, 678, 678, 678, 678, 678, - 681, 634, 979, 972, 682, 682, 682, 682, 682, 682, - 902, 903, 903, 903, 903, 903, 903, 903, 903, 903, - 903, 633, 1056, 184, 278, 632, 1056, 1057, 1058, 1059, - 682, 682, 682, 682, 682, 682, 736, 503, 737, 737, - - 737, 737, 737, 737, 737, 737, 737, 737, 902, 903, - 903, 903, 903, 903, 903, 903, 903, 903, 903, 902, - 903, 903, 903, 903, 903, 903, 491, 607, 976, 1043, - 1108, 491, 976, 1043, 1108, 297, 736, 1060, 738, 738, - 738, 738, 738, 738, 738, 738, 738, 738, 953, 606, - 954, 954, 954, 954, 954, 954, 977, 1044, 1109, 491, - 978, 605, 1225, 1225, 978, 998, 999, 1000, 1001, 998, - 998, 998, 998, 998, 998, 297, 736, 278, 739, 739, - 739, 739, 739, 740, 737, 737, 737, 737, 979, 454, - 917, 918, 918, 918, 918, 918, 918, 562, 454, 181, - - 548, 971, 297, 976, 978, 971, 1108, 976, 978, 278, - 1108, 339, 339, 547, 546, 297, 656, 339, 657, 657, - 657, 657, 657, 657, 657, 657, 657, 657, 297, 972, - 545, 977, 979, 1014, 1109, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1152, 160, 544, 330, 1152, - 312, 1195, 312, 312, 543, 155, 656, 1195, 657, 657, - 657, 657, 657, 657, 657, 657, 657, 657, 1014, 542, - 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1014, 541, 1017, 1017, 1017, 1017, 1017, 1018, 1015, 1015, - 1015, 1015, 540, 539, 538, 155, 766, 767, 768, 766, - - 766, 766, 766, 766, 766, 766, 769, 537, 536, 535, - 770, 770, 770, 770, 770, 770, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 1025, 1025, 1025, 1025, - 1025, 1025, 1025, 1025, 1025, 1025, 770, 770, 770, 770, - 770, 770, 564, 340, 778, 778, 778, 778, 778, 778, - 778, 778, 778, 778, 673, 305, 527, 523, 777, 777, - 777, 777, 777, 777, 854, 522, 1021, 1021, 1021, 1021, - 1021, 1021, 521, 520, 519, 1014, 943, 1015, 1015, 1015, - 1015, 1015, 1015, 518, 777, 777, 777, 777, 777, 777, - 564, 340, 779, 779, 779, 779, 779, 779, 779, 779, - - 779, 779, 780, 517, 516, 515, 781, 781, 781, 781, - 781, 781, 1225, 514, 1024, 1024, 1024, 1024, 1024, 1024, - 1024, 1024, 1024, 1024, 564, 340, 1038, 1038, 1038, 1038, - 1038, 1038, 781, 781, 781, 781, 781, 781, 340, 785, - 786, 787, 785, 785, 785, 785, 785, 785, 785, 788, - 513, 512, 511, 789, 789, 789, 789, 789, 789, 1033, - 1034, 1035, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 510, - 1149, 1056, 271, 499, 1149, 1056, 1057, 1058, 1059, 789, - 789, 789, 789, 789, 789, 736, 496, 737, 737, 737, - 737, 737, 737, 737, 737, 737, 737, 953, 1150, 954, - - 954, 954, 954, 954, 954, 954, 954, 954, 954, 953, - 495, 954, 954, 954, 954, 954, 954, 954, 954, 954, - 954, 494, 493, 486, 297, 736, 1062, 737, 737, 737, - 737, 737, 737, 737, 737, 737, 737, 1086, 1087, 1088, - 1086, 1086, 1086, 1086, 1086, 1086, 1086, 485, 1040, 1043, - 484, 1040, 1040, 1043, 1008, 1040, 1009, 1009, 1009, 1009, - 1009, 1009, 483, 482, 297, 847, 848, 848, 848, 848, - 848, 848, 848, 848, 848, 848, 1041, 1044, 1063, 1041, - 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, - 481, 1177, 1178, 155, 1179, 1177, 280, 184, 184, 280, - - 278, 280, 478, 155, 847, 849, 849, 849, 849, 849, - 849, 849, 849, 849, 849, 1063, 477, 1065, 1065, 1065, - 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1063, 476, 1066, - 1066, 1066, 1066, 1066, 1067, 1068, 1068, 1068, 1068, 475, - 474, 473, 155, 847, 850, 850, 850, 850, 850, 851, - 848, 848, 848, 848, 1063, 472, 1068, 1068, 1068, 1064, - 1064, 1064, 1064, 1064, 1064, 1064, 471, 1040, 1043, 470, - 469, 1040, 1043, 1096, 1096, 1096, 1096, 1096, 1097, 468, - 467, 155, 854, 466, 855, 855, 855, 855, 855, 855, - 855, 855, 855, 855, 856, 1041, 1044, 465, 857, 857, - - 857, 857, 857, 857, 1083, 1084, 1085, 1083, 1083, 1083, - 1083, 1083, 1083, 1083, 1108, 1108, 312, 312, 1108, 1108, - 181, 173, 297, 436, 857, 857, 857, 857, 857, 857, - 861, 862, 863, 861, 861, 861, 861, 861, 861, 861, - 864, 155, 1109, 1109, 865, 865, 865, 865, 865, 865, - 1014, 435, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1225, 184, 312, 427, 1225, 1225, 1225, 1225, - 865, 865, 865, 865, 865, 865, 564, 340, 871, 871, - 871, 871, 871, 871, 871, 871, 871, 871, 780, 426, - 425, 424, 870, 870, 870, 870, 870, 870, 1014, 423, - - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1145, 1145, 1145, 1145, 1145, 1146, 422, 1060, 870, 870, - 870, 870, 870, 870, 564, 340, 872, 872, 872, 872, - 872, 872, 872, 872, 872, 872, 873, 296, 415, 301, - 874, 874, 874, 874, 874, 874, 1032, 1032, 1032, 1032, - 1032, 1032, 1032, 1032, 1032, 1032, 1095, 1095, 1095, 1095, - 1095, 1095, 1095, 1095, 1095, 1095, 874, 874, 874, 874, - 874, 874, 340, 878, 879, 880, 878, 878, 878, 878, - 878, 878, 878, 299, 297, 294, 414, 881, 881, 881, - 881, 881, 881, 854, 413, 1091, 1091, 1091, 1091, 1091, - - 1091, 411, 410, 402, 1063, 1023, 1064, 1064, 1064, 1064, - 1064, 1064, 401, 881, 881, 881, 881, 881, 881, 154, - 1225, 280, 154, 1055, 280, 400, 280, 399, 154, 154, - 1055, 1055, 154, 154, 1055, 154, 154, 154, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 1055, 1055, - 1055, 154, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 883, 184, 184, 184, - 184, 184, 184, 184, 184, 155, 154, 184, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 267, 398, 397, 1225, 267, - - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 268, 267, 260, 255, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 907, 278, - 278, 278, 278, 278, 278, 278, 278, 256, 250, 280, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 917, 918, 918, - 918, 918, 918, 918, 918, 918, 918, 918, 1225, 250, - 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, - 340, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 244, 202, 237, 155, 297, 917, 919, 919, 919, - - 919, 919, 919, 919, 919, 919, 919, 340, 1103, 1103, - 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 340, 1104, - 1104, 1104, 1104, 1104, 1105, 1102, 1102, 1102, 1102, 1147, - 384, 376, 375, 1147, 297, 917, 920, 920, 920, 920, - 920, 921, 918, 918, 918, 918, 374, 1147, 1056, 373, - 372, 1147, 1056, 1057, 1058, 1059, 1115, 1148, 155, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 367, - 366, 365, 364, 297, 296, 1148, 1149, 296, 184, 363, - 1149, 362, 353, 296, 296, 352, 351, 296, 296, 350, - 296, 296, 296, 312, 312, 312, 312, 312, 312, 312, - - 312, 312, 312, 1060, 1150, 349, 296, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 922, 312, 312, 312, 312, 312, 312, 312, 312, - 297, 296, 312, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 847, 848, 848, 848, 848, 848, 848, 848, 848, 848, - 848, 1225, 1172, 348, 1172, 1225, 1057, 1058, 1059, 1225, - 1172, 347, 346, 1225, 1225, 1225, 1059, 1117, 1118, 1119, - 1117, 1117, 1117, 1117, 1117, 1117, 1117, 345, 155, 847, - 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, - - 1225, 181, 154, 181, 1225, 1225, 1225, 1225, 340, 1102, - 1102, 1102, 1102, 1102, 1102, 1073, 1060, 1074, 1074, 1074, - 1074, 1074, 1074, 270, 1060, 169, 167, 155, 854, 160, - 941, 941, 941, 941, 941, 941, 941, 941, 941, 941, - 856, 854, 158, 942, 942, 942, 942, 942, 942, 942, - 942, 942, 942, 943, 297, 1062, 155, 944, 944, 944, - 944, 944, 944, 1063, 321, 1064, 1064, 1064, 1064, 1064, - 1064, 1064, 1064, 1064, 1064, 1134, 320, 1135, 1135, 1135, - 1135, 1135, 1135, 944, 944, 944, 944, 944, 944, 948, - 949, 950, 948, 948, 948, 948, 948, 948, 948, 951, - - 319, 318, 317, 952, 952, 952, 952, 952, 952, 1063, - 316, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, - 1064, 1149, 1147, 312, 301, 1149, 1147, 297, 294, 952, - 952, 952, 952, 952, 952, 564, 340, 960, 960, 960, - 960, 960, 960, 960, 960, 960, 960, 873, 288, 1150, - 1148, 959, 959, 959, 959, 959, 959, 287, 1123, 1124, - 1125, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1174, 1174, - 184, 278, 1174, 1174, 286, 285, 284, 959, 959, 959, - 959, 959, 959, 564, 340, 961, 961, 961, 961, 961, - 961, 961, 961, 961, 961, 297, 1175, 1175, 283, 962, - - 962, 962, 962, 962, 962, 1177, 1178, 1225, 1179, 1177, - 1061, 1147, 278, 450, 450, 1147, 256, 1061, 1061, 450, - 250, 1061, 244, 157, 237, 962, 962, 962, 962, 962, - 962, 154, 556, 556, 154, 1061, 1061, 1061, 556, 1148, - 154, 154, 157, 195, 154, 154, 230, 154, 154, 154, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 312, 192, 222, 154, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 967, 184, 184, 184, 184, 184, 155, 154, 184, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - - 154, 154, 154, 154, 154, 154, 154, 267, 220, 198, - 197, 267, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 194, 267, 193, 190, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 992, 278, 278, 278, 278, 278, 184, - 181, 280, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 917, - 918, 918, 918, 918, 918, 918, 918, 918, 918, 918, - 1134, 169, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, - 1135, 1135, 1134, 158, 1136, 1136, 1136, 1136, 1136, 1136, - - 1136, 1136, 1136, 1136, 157, 155, 1225, 297, 917, 918, - 918, 918, 918, 918, 918, 918, 918, 918, 918, 1134, - 1225, 1137, 1137, 1137, 1137, 1137, 1138, 1135, 1135, 1135, - 1135, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1225, 557, 557, 1225, 1225, 297, 296, 557, 1225, - 296, 1225, 561, 561, 1225, 1225, 296, 296, 561, 1225, - 296, 296, 1225, 296, 296, 296, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 1225, 1225, 1225, 296, - 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 312, 312, 312, 1002, 312, 312, - - 312, 312, 312, 297, 296, 312, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 1008, 1225, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1009, 854, 1225, 1141, 1141, 1141, - 1141, 1141, 1141, 1225, 1225, 1225, 1225, 1093, 1144, 1144, - 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 661, 661, - 1225, 1225, 155, 1008, 661, 1010, 1010, 1010, 1010, 1010, - 1010, 1010, 1010, 1010, 1010, 1225, 1225, 1143, 1143, 1143, - 1143, 1143, 1143, 1143, 1143, 1143, 1143, 340, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 663, 663, - - 1225, 1225, 155, 1008, 663, 1011, 1011, 1011, 1011, 1011, - 1012, 1013, 1013, 1013, 1013, 340, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1191, 1191, 1191, 1191, - 1191, 1191, 155, 1008, 1225, 1013, 1013, 1013, 1009, 1009, - 1009, 1009, 1009, 1009, 1009, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1153, 1225, 1154, 1154, 1154, - 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1225, 664, 664, - 1225, 1225, 155, 854, 664, 1021, 1021, 1021, 1021, 1021, - 1021, 1021, 1021, 1021, 1021, 943, 854, 1225, 1022, 1022, - - 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1225, - 1225, 1225, 1024, 1024, 1024, 1024, 1024, 1024, 1153, 1225, - 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, - 1153, 1225, 1154, 1154, 1154, 1154, 1154, 1154, 1024, 1024, - 1024, 1024, 1024, 1024, 1028, 1029, 1030, 1028, 1028, 1028, - 1028, 1028, 1028, 1028, 1031, 1225, 1225, 1225, 1032, 1032, - 1032, 1032, 1032, 1032, 1153, 1225, 1156, 1156, 1156, 1156, - 1156, 1157, 1154, 1154, 1154, 1154, 1197, 1225, 1198, 1198, - 1198, 1198, 1198, 1198, 1032, 1032, 1032, 1032, 1032, 1032, - 564, 340, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - - 1038, 1038, 1073, 1225, 1074, 1074, 1074, 1074, 1074, 1074, - 1074, 1074, 1074, 1074, 1225, 1149, 1225, 1225, 1225, 1149, - 1165, 1166, 1167, 1165, 1165, 1165, 1165, 1165, 1165, 1165, - 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1225, 1225, - 1225, 297, 1073, 1150, 1075, 1075, 1075, 1075, 1075, 1075, - 1075, 1075, 1075, 1075, 1225, 1225, 1159, 155, 1160, 1160, - 1160, 1160, 1160, 1160, 312, 1225, 1225, 1225, 1225, 155, - 1168, 1169, 1170, 1168, 1168, 1168, 1168, 1168, 1168, 1168, - 1225, 297, 1073, 1225, 1076, 1076, 1076, 1076, 1076, 1077, - 1078, 1078, 1078, 1078, 1134, 297, 1135, 1135, 1135, 1135, - - 1135, 1135, 1135, 1135, 1135, 1135, 1134, 1225, 1135, 1135, - 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1225, 1225, - 1225, 297, 1073, 1225, 1078, 1078, 1078, 1074, 1074, 1074, - 1074, 1074, 1074, 1074, 854, 1225, 1173, 1173, 1173, 1173, - 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1225, 1225, 1225, - 1174, 1180, 1181, 1182, 1180, 1180, 1180, 1180, 1180, 1180, - 1180, 297, 1008, 1225, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1175, 1153, 1225, 1154, 1154, 1154, - 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1186, 1225, 1187, - 1187, 1187, 1187, 1187, 1187, 184, 1225, 762, 762, 1225, - - 1225, 155, 1008, 762, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1153, 1225, 1154, 1154, 1154, 1154, - 1154, 1154, 1154, 1154, 1154, 1154, 155, 1225, 1225, 1225, - 1225, 1183, 1184, 1185, 1183, 1183, 1183, 1183, 1183, 1183, - 1183, 155, 854, 1225, 1091, 1091, 1091, 1091, 1091, 1091, - 1091, 1091, 1091, 1091, 1023, 854, 1225, 1092, 1092, 1092, - 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 297, 1225, - 1225, 1094, 1094, 1094, 1094, 1094, 1094, 1202, 1225, 1203, - 1203, 1203, 1203, 1203, 1203, 1174, 1225, 1225, 1225, 1174, - 1219, 1219, 1219, 1219, 1219, 1219, 1225, 1094, 1094, 1094, - - 1094, 1094, 1094, 1098, 1099, 1100, 1098, 1098, 1098, 1098, - 1098, 1098, 1098, 1175, 1225, 1225, 297, 1101, 1101, 1101, - 1101, 1101, 1101, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1225, 312, 763, 763, 280, 1225, 1225, - 280, 763, 280, 1101, 1101, 1101, 1101, 1101, 1101, 1073, - 1225, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, - 1074, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1192, 1193, 1193, 1193, 1193, 1193, 1194, 1191, 1191, 1191, - 1191, 764, 764, 1225, 852, 852, 1225, 764, 297, 1073, - 852, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, - - 1074, 1197, 1225, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1198, 1198, 1198, 1197, 1225, 1199, 1199, 1199, 1199, 1199, - 1199, 1199, 1199, 1199, 1199, 1225, 1225, 1225, 297, 1129, - 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1197, 1225, 1200, 1200, 1200, 1200, 1200, 1201, 1198, - 1198, 1198, 1198, 1207, 1208, 1209, 1207, 1207, 1207, 1207, - 1207, 1207, 1207, 1225, 853, 853, 1225, 1225, 155, 1129, - 853, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, - 1131, 936, 936, 280, 1225, 1225, 280, 936, 280, 1225, - 155, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - - 1191, 1019, 1019, 1225, 1089, 1089, 1225, 1019, 155, 1129, - 1089, 1132, 1132, 1132, 1132, 1132, 1133, 1130, 1130, 1130, - 1130, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1210, 1211, 1212, 1210, 1210, 1210, 1210, 1210, 1210, - 1210, 1139, 1139, 1225, 1171, 1171, 1225, 1139, 155, 854, - 1171, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, - 1141, 1093, 854, 1225, 1142, 1142, 1142, 1142, 1142, 1142, - 1142, 1142, 1142, 1142, 1225, 1225, 1225, 1225, 1143, 1143, - 1143, 1143, 1143, 1143, 1197, 1225, 1198, 1198, 1198, 1198, - 1198, 1198, 1198, 1198, 1198, 1198, 1225, 1225, 1225, 1225, - - 1225, 1225, 1225, 1225, 1143, 1143, 1143, 1143, 1143, 1143, - 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, - 1160, 1160, 1197, 1225, 1198, 1198, 1198, 1198, 1198, 1198, - 1198, 1198, 1198, 1198, 1213, 1214, 1215, 1213, 1213, 1213, - 1213, 1213, 1213, 1213, 1225, 1225, 1225, 1225, 1225, 297, - 1159, 1225, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, - 1161, 1161, 1225, 1225, 1225, 1216, 1216, 1216, 1216, 1216, - 1216, 297, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, - 1216, 1216, 1225, 1222, 1222, 1222, 1222, 1222, 1222, 297, - 1159, 1225, 1162, 1162, 1162, 1162, 1162, 1163, 1160, 1160, - - 1160, 1160, 155, 1225, 1225, 1225, 1225, 1225, 1225, 155, - 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, - 297, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1130, 1225, 1225, 1225, 1225, 1225, 155, 1217, 1217, - 1217, 1217, 1217, 1218, 1216, 1216, 1216, 1216, 1219, 1219, - 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1225, 155, - 1129, 1225, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1130, 1225, 1225, 1225, 155, 1210, 1210, 1210, 1210, - 1210, 1210, 1210, 1210, 1210, 1210, 1220, 1220, 1220, 1220, - - 1220, 1221, 1219, 1219, 1219, 1219, 1225, 1225, 1225, 155, - 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, - 1160, 1160, 1225, 1225, 1225, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1213, 1213, 1213, 1213, 1213, - 1213, 1213, 1213, 1213, 1213, 1225, 1225, 1225, 1225, 297, - 1159, 1225, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, - 1160, 1160, 297, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 297, 1223, 1223, 1223, 1223, 1223, 1224, 1222, - 1222, 1222, 1222, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, - - 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 297, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, - 1216, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155, - 1186, 1225, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, - 1188, 1188, 1225, 1225, 1225, 1225, 1225, 1225, 155, 1219, - 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 155, - 1186, 1225, 1189, 1189, 1189, 1189, 1189, 1190, 1187, 1187, - 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 297, 1225, 1225, 1225, - - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155, - 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, - 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1202, 1225, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1202, 1225, 1205, 1205, 1205, 1205, 1205, 1206, 1203, 1203, - - 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, - 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155, - 1186, 1225, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, - 1187, 1187, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 155, - 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, - 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 1202, 1225, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, - 1203, 1203, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 297, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 94, 94, 94, 94, 94, 94, 94, + 22, 22, 22, 59, 22, 22, 60, 157, 185, 156, + 60, 157, 185, 61, 23, 78, 495, 79, 23, 80, + 183, 81, 23, 78, 496, 79, 23, 80, 81, 81, + + 85, 86, 201, 87, 85, 88, 81, 89, 90, 166, + 62, 63, 81, 82, 185, 64, 202, 193, 185, 614, + 81, 82, 194, 65, 228, 190, 66, 67, 228, 280, + 167, 67, 103, 24, 68, 25, 103, 104, 105, 83, + 283, 69, 156, 188, 70, 197, 185, 83, 103, 24, + 185, 25, 103, 104, 105, 91, 189, 168, 22, 71, + 198, 43, 179, 179, 179, 179, 179, 180, 199, 72, + 161, 73, 332, 74, 47, 185, 47, 447, 191, 185, + 166, 85, 86, 75, 87, 85, 88, 106, 89, 90, + 23, 24, 40, 25, 23, 130, 131, 223, 225, 76, + + 67, 265, 225, 106, 67, 172, 172, 68, 156, 185, + 172, 172, 226, 185, 69, 245, 156, 70, 211, 245, + 23, 24, 40, 25, 23, 130, 131, 212, 266, 221, + 172, 22, 71, 156, 43, 299, 91, 248, 204, 293, + 241, 248, 72, 211, 73, 132, 74, 47, 294, 47, + 203, 204, 237, 241, 203, 173, 75, 178, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 213, 260, 253, + 254, 213, 76, 23, 24, 132, 25, 23, 26, 155, + 92, 177, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 188, 483, 484, 185, 252, 252, 280, 185, 156, + + 284, 214, 215, 291, 189, 157, 216, 256, 204, 157, + 241, 256, 259, 345, 217, 314, 259, 218, 258, 228, + 220, 261, 262, 228, 263, 261, 316, 257, 93, 297, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 128, 128, 128, 128, 128, + 94, 94, 94, 94, 94, 94, 94, 94, 23, 24, + 292, 25, 23, 26, 227, 92, 166, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 258, 277, 277, + 277, 277, 277, 278, 185, 230, 230, 265, 204, 296, + 230, 230, 276, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 311, 311, 311, 311, 311, 312, 203, 204, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 154, 1225, 1225, 154, - 1225, 1225, 1225, 154, 1225, 154, 1225, 154, 154, 154, - 1225, 1225, 154, 154, 154, 154, 154, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 164, 1225, - 1225, 164, 1225, 1225, 164, 164, 1225, 164, 1225, 164, - 164, 164, 164, 1225, 164, 164, 164, 164, 164, 168, - 1225, 1225, 168, 1225, 1225, 1225, 168, 1225, 168, 1225, - 168, 168, 168, 1225, 1225, 168, 168, 168, 168, 168, + 230, 241, 203, 93, 301, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 23, 24, 231, 25, 23, 26, 96, + 92, 314, 156, 161, 317, 332, 97, 98, 99, 1241, + 342, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 344, 100, 296, 166, 228, 305, 305, 291, 228, + 156, 305, 305, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 156, 156, 1241, 373, 299, 101, 23, + 24, 305, 25, 23, 26, 96, 92, 329, 1211, 156, + 156, 384, 97, 98, 99, 374, 330, 203, 204, 245, - 170, 1225, 1225, 170, 170, 170, 1225, 170, 170, 170, - 1225, 170, 170, 170, 1225, 1225, 170, 170, 170, 170, - 170, 205, 205, 1225, 205, 205, 205, 1225, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 227, 1225, 1225, 227, 227, 227, 1225, 227, - 227, 227, 1225, 227, 227, 227, 1225, 1225, 227, 227, - 227, 227, 227, 231, 231, 1225, 231, 231, 231, 1225, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 236, 1225, 1225, 236, 236, 236, - 1225, 236, 236, 236, 1225, 236, 236, 236, 1225, 236, + 241, 203, 266, 245, 385, 292, 306, 298, 100, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 203, + 204, 861, 241, 203, 101, 40, 23, 24, 40, 25, + 23, 26, 40, 40, 40, 107, 30, 31, 40, 108, + 33, 40, 40, 109, 110, 111, 112, 110, 110, 110, + 110, 110, 110, 110, 38, 113, 40, 40, 114, 115, + 115, 115, 116, 117, 118, 118, 119, 118, 120, 121, + 122, 118, 123, 118, 124, 118, 118, 118, 118, 118, + 118, 93, 125, 40, 126, 126, 126, 126, 126, 126, - 236, 1225, 236, 236, 236, 242, 242, 1225, 242, 242, - 242, 1225, 1225, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 1225, 242, 242, 242, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 249, 1225, 1225, - 249, 249, 1225, 1225, 249, 249, 249, 1225, 249, 249, - 249, 249, 1225, 249, 249, 249, 249, 249, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 255, - 255, 1225, 255, 255, 1225, 255, 255, 255, 255, 255, + 127, 127, 127, 127, 127, 127, 127, 127, 128, 127, + 127, 133, 23, 24, 133, 25, 23, 26, 40, 40, + 133, 134, 30, 31, 133, 135, 33, 133, 133, 136, + 137, 138, 139, 137, 137, 137, 137, 137, 137, 137, + 38, 39, 40, 133, 140, 141, 141, 141, 142, 143, + 144, 144, 145, 144, 146, 147, 148, 144, 149, 144, + 150, 144, 144, 144, 144, 144, 144, 151, 152, 133, + 153, 153, 153, 153, 153, 153, 133, 133, 133, 133, + 133, 133, 133, 133, 154, 133, 133, 161, 260, 162, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 155, 163, 896, 388, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 174, 185, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 176, 297, 1103, 156, + 177, 177, 177, 177, 177, 177, 386, 176, 258, 204, + 156, 155, 155, 155, 155, 155, 381, 383, 155, 155, + 389, 393, 155, 156, 382, 393, 177, 177, 177, 177, + 177, 177, 155, 156, 156, 155, 155, 155, 155, 392, + 299, 155, 155, 442, 156, 155, 155, 296, 155, 155, + 155, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 176, 381, 299, 155, 184, 184, 184, 184, 184, + + 184, 185, 185, 185, 185, 186, 185, 185, 185, 187, + 185, 185, 185, 185, 185, 185, 185, 185, 156, 155, + 185, 177, 177, 177, 177, 177, 177, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 1241, 161, + 1165, 332, 185, 185, 185, 185, 185, 185, 444, 393, + 332, 259, 185, 393, 334, 259, 185, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 335, 156, 155, 155, + 155, 155, 155, 155, 203, 204, 156, 205, 206, 155, + 155, 155, 295, 381, 155, 155, 295, 299, 155, 172, + + 172, 494, 1241, 443, 172, 172, 340, 340, 340, 340, + 340, 340, 155, 155, 155, 208, 258, 380, 1241, 208, + 208, 208, 156, 209, 172, 208, 208, 466, 342, 208, + 165, 165, 165, 165, 165, 582, 225, 165, 165, 460, + 225, 165, 342, 208, 208, 208, 161, 296, 446, 173, + 226, 1241, 156, 460, 502, 165, 165, 165, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 340, 156, 342, + 210, 161, 1241, 162, 381, 169, 169, 169, 169, 169, + 464, 156, 169, 169, 504, 163, 169, 342, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 460, 266, + + 169, 169, 169, 336, 337, 338, 336, 336, 336, 336, + 336, 336, 336, 340, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 203, 204, 208, 241, 203, 155, 208, + 415, 861, 207, 371, 213, 607, 219, 234, 213, 156, + 156, 234, 234, 234, 161, 235, 332, 234, 234, 357, + 358, 234, 505, 359, 506, 360, 361, 528, 529, 362, + 530, 363, 364, 1103, 156, 234, 234, 234, 214, 215, + 230, 230, 291, 216, 299, 230, 230, 292, 156, 234, + 372, 217, 155, 166, 218, 1241, 233, 390, 161, 556, + 446, 1241, 236, 240, 204, 230, 241, 240, 242, 389, + + 243, 595, 585, 501, 1241, 242, 156, 243, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 580, 292, + 231, 243, 243, 357, 358, 1032, 444, 359, 446, 360, + 361, 266, 1241, 362, 391, 363, 203, 204, 1241, 241, + 203, 203, 204, 1241, 241, 203, 1241, 599, 243, 242, + 161, 581, 162, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 597, 249, 586, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 267, 261, 262, + 267, 263, 261, 604, 583, 251, 267, 267, 583, 251, + 267, 251, 251, 267, 267, 208, 252, 172, 298, 251, + + 1145, 172, 326, 440, 172, 491, 492, 269, 493, 267, + 635, 172, 584, 636, 251, 394, 395, 396, 394, 394, + 394, 394, 394, 394, 394, 172, 172, 398, 398, 398, + 398, 398, 398, 270, 267, 267, 172, 1241, 185, 172, + 156, 893, 172, 172, 1241, 172, 172, 172, 172, 172, + 441, 593, 172, 172, 264, 264, 264, 264, 564, 564, + 564, 264, 264, 1241, 602, 264, 269, 172, 172, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 398, 603, + 264, 264, 398, 398, 398, 398, 398, 398, 398, 398, + 398, 398, 272, 172, 172, 269, 156, 1241, 273, 269, + + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 176, 269, 689, 381, 275, 275, 275, 275, 275, 275, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 1241, 1176, 388, + 275, 275, 275, 275, 275, 275, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 1241, 587, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 1241, + 1241, 1241, 1241, 269, 269, 269, 269, 269, 269, 592, + 600, 267, 267, 267, 267, 267, 389, 605, 267, 267, + 606, 594, 267, 423, 423, 423, 423, 423, 423, 269, + + 269, 269, 269, 269, 269, 269, 267, 267, 267, 269, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 176, 269, 156, 1241, 279, 279, 279, 279, 279, 279, + 280, 280, 280, 280, 281, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 601, 1170, 282, + 275, 275, 275, 275, 275, 275, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 1241, 1241, 176, + 156, 280, 280, 280, 280, 280, 280, 609, 406, 407, + 596, 280, 408, 1241, 409, 410, 156, 1241, 411, 590, + + 412, 553, 554, 590, 555, 698, 299, 269, 269, 269, + 269, 269, 269, 307, 598, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 176, 608, 591, 156, 309, + 309, 309, 309, 309, 309, 616, 299, 1241, 711, 299, + 298, 298, 298, 298, 298, 176, 660, 298, 298, 588, + 156, 298, 299, 532, 589, 309, 309, 309, 309, 309, + 309, 298, 156, 624, 298, 298, 298, 298, 625, 688, + 298, 298, 156, 156, 298, 298, 342, 298, 298, 298, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 176, 615, 299, 298, 313, 313, 313, 313, 313, 313, + + 314, 314, 314, 314, 315, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 299, 298, 314, + 309, 309, 309, 309, 309, 309, 298, 298, 298, 298, + 298, 298, 298, 298, 298, 298, 298, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 1241, 935, 659, + 314, 314, 314, 314, 314, 314, 314, 656, 431, 432, + 657, 314, 433, 342, 434, 435, 305, 305, 436, 645, + 437, 305, 305, 161, 646, 332, 1241, 298, 298, 298, + 298, 298, 298, 203, 204, 299, 324, 325, 298, 298, + 298, 305, 299, 298, 298, 1032, 701, 298, 419, 420, + + 421, 419, 419, 419, 419, 419, 419, 419, 1241, 658, + 1241, 298, 298, 298, 208, 1241, 306, 590, 208, 208, + 208, 590, 327, 702, 208, 208, 693, 1241, 208, 300, + 300, 300, 300, 300, 691, 299, 300, 300, 299, 613, + 300, 697, 208, 208, 208, 591, 1241, 203, 204, 1241, + 241, 203, 692, 1241, 300, 300, 300, 1241, 1241, 696, + 302, 302, 302, 302, 302, 694, 1004, 302, 302, 328, + 172, 302, 700, 155, 171, 155, 155, 171, 690, 280, + 155, 155, 708, 709, 171, 302, 302, 302, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 171, 171, + + 155, 174, 299, 339, 339, 339, 339, 339, 339, 339, + 339, 339, 339, 176, 156, 156, 951, 339, 339, 339, + 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 573, 573, 573, 573, 573, 574, 1241, + 156, 568, 342, 339, 339, 339, 339, 339, 339, 155, + 1241, 583, 155, 570, 156, 583, 1241, 705, 155, 155, + 712, 695, 155, 155, 800, 155, 155, 155, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 176, 584, + 1138, 155, 346, 346, 346, 346, 346, 346, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + + 185, 185, 185, 185, 185, 156, 155, 185, 339, 339, + 339, 339, 339, 339, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 1241, 1062, 763, 1063, 185, + 185, 185, 185, 185, 185, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 155, 155, 155, 155, 155, + 155, 208, 299, 1241, 1241, 208, 208, 208, 1241, 209, + 230, 208, 208, 1241, 230, 208, 447, 230, 448, 448, + 448, 448, 448, 448, 230, 1241, 1241, 812, 1137, 208, + + 208, 208, 1241, 710, 703, 704, 1241, 1241, 230, 230, + 507, 1241, 508, 508, 508, 508, 508, 508, 508, 508, + 508, 508, 156, 628, 699, 156, 210, 230, 718, 706, + 155, 229, 155, 155, 229, 1241, 156, 155, 155, 1133, + 507, 229, 509, 509, 509, 509, 509, 509, 509, 509, + 509, 509, 622, 299, 761, 229, 229, 155, 234, 764, + 760, 1241, 234, 234, 234, 1241, 235, 661, 234, 234, + 1241, 507, 234, 510, 510, 510, 510, 510, 511, 508, + 508, 508, 508, 1241, 342, 299, 234, 234, 234, 1241, + 305, 854, 707, 299, 305, 570, 507, 305, 508, 508, + + 508, 508, 508, 508, 305, 161, 156, 332, 623, 156, + 156, 1241, 762, 236, 267, 342, 185, 267, 305, 305, + 900, 716, 717, 267, 267, 1241, 460, 267, 797, 156, + 267, 267, 557, 558, 559, 557, 557, 557, 557, 557, + 557, 557, 742, 802, 269, 299, 267, 562, 562, 563, + 564, 564, 564, 564, 564, 564, 564, 457, 572, 572, + 572, 572, 572, 572, 572, 572, 572, 572, 156, 156, + 270, 267, 267, 172, 796, 1241, 172, 342, 715, 172, + 172, 299, 172, 172, 172, 172, 172, 1132, 570, 172, + 172, 1241, 806, 571, 571, 571, 571, 571, 571, 571, + + 571, 571, 571, 269, 172, 172, 617, 618, 619, 617, + 617, 617, 617, 617, 617, 617, 507, 1241, 508, 508, + 508, 508, 508, 508, 508, 508, 508, 508, 1241, 272, + 172, 172, 273, 813, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 176, 1241, 1131, 801, 397, 397, + 397, 397, 397, 397, 507, 1241, 508, 508, 508, 508, + 508, 508, 508, 508, 508, 508, 803, 808, 1224, 590, + 568, 342, 809, 590, 397, 397, 397, 397, 397, 397, + 269, 1241, 570, 185, 269, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 176, 269, 591, 815, 399, + + 399, 399, 399, 399, 399, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 891, 185, 282, 397, 397, 397, 397, 397, + 397, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 1241, 568, 342, 1241, 280, 280, 280, 280, + 280, 280, 1241, 1241, 897, 678, 1241, 185, 1241, 1241, + 156, 814, 1241, 1241, 807, 1241, 1073, 1241, 342, 1241, + 1241, 821, 269, 269, 269, 269, 269, 269, 305, 678, + 1241, 298, 304, 298, 298, 304, 1241, 1241, 298, 298, + + 629, 820, 304, 1241, 626, 1241, 1241, 836, 849, 1241, + 1241, 627, 837, 850, 156, 630, 304, 304, 298, 307, + 1073, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 176, 826, 1241, 1241, 422, 422, 422, 422, 422, + 422, 156, 899, 583, 590, 1241, 1241, 583, 590, 1241, + 1241, 185, 825, 631, 185, 632, 895, 156, 299, 894, + 185, 422, 422, 422, 422, 422, 422, 298, 827, 185, + 298, 584, 591, 1241, 1241, 156, 298, 298, 314, 1013, + 298, 298, 889, 298, 298, 298, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 424, 176, 633, 724, 298, + + 424, 424, 424, 424, 424, 424, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 299, 298, 314, 422, 422, 422, 422, + 422, 422, 298, 298, 298, 298, 298, 298, 298, 298, + 298, 298, 298, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 1241, 299, 342, 976, 314, 314, 314, + 314, 314, 314, 1241, 185, 853, 570, 1241, 640, 641, + 642, 640, 640, 640, 640, 640, 640, 640, 798, 161, + 156, 332, 798, 298, 298, 298, 298, 298, 298, 208, + 342, 1241, 919, 208, 208, 208, 280, 327, 903, 208, + + 208, 678, 918, 208, 280, 299, 799, 634, 342, 568, + 342, 676, 676, 676, 676, 676, 676, 208, 208, 208, + 532, 570, 533, 533, 533, 533, 533, 533, 667, 667, + 667, 667, 667, 667, 667, 667, 667, 667, 457, 824, + 185, 156, 951, 898, 328, 447, 922, 448, 448, 448, + 448, 448, 448, 448, 448, 448, 448, 280, 908, 299, + 672, 673, 674, 672, 672, 672, 672, 672, 672, 672, + 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, + 156, 280, 863, 907, 156, 447, 923, 449, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 680, 680, 680, + + 680, 680, 680, 680, 680, 680, 680, 681, 681, 681, + 681, 681, 682, 765, 766, 767, 765, 765, 765, 765, + 765, 765, 765, 1023, 156, 447, 934, 450, 450, 450, + 450, 450, 451, 448, 448, 448, 448, 1241, 314, 679, + 679, 679, 679, 679, 679, 679, 679, 679, 679, 719, + 156, 720, 720, 720, 720, 720, 720, 720, 720, 720, + 720, 161, 925, 332, 156, 452, 452, 452, 452, 452, + 452, 452, 452, 452, 452, 176, 568, 342, 1089, 452, + 452, 452, 452, 452, 452, 719, 861, 721, 721, 721, + 721, 721, 721, 721, 721, 721, 721, 892, 863, 314, + + 299, 1082, 156, 931, 185, 452, 452, 452, 452, 452, + 452, 454, 455, 456, 456, 456, 456, 456, 456, 456, + 456, 457, 906, 1081, 982, 458, 458, 458, 458, 458, + 458, 719, 156, 722, 722, 722, 722, 722, 723, 720, + 720, 720, 720, 1241, 314, 185, 1079, 1241, 936, 989, + 909, 458, 458, 458, 458, 458, 458, 342, 461, 462, + 463, 461, 461, 461, 461, 461, 461, 461, 464, 156, + 185, 1241, 465, 465, 465, 465, 465, 465, 1241, 730, + 1241, 1241, 1241, 1241, 1241, 1241, 777, 1241, 778, 778, + 778, 778, 778, 778, 778, 778, 778, 778, 465, 465, + + 465, 465, 465, 465, 155, 314, 1241, 155, 1241, 1241, + 938, 1241, 725, 155, 155, 728, 734, 155, 155, 156, + 155, 155, 155, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 176, 736, 1117, 155, 467, 467, 467, + 467, 467, 467, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 156, 155, 185, 452, 452, 452, 452, 452, 452, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 1241, 568, 342, 1059, 185, 185, 185, 185, 185, 185, + + 1241, 1241, 314, 678, 1241, 1241, 1241, 1241, 933, 1015, + 1241, 1241, 314, 1241, 1241, 804, 937, 1241, 863, 804, + 155, 155, 155, 155, 155, 155, 208, 314, 1241, 1241, + 208, 208, 208, 299, 209, 1241, 208, 208, 1241, 342, + 208, 1241, 729, 805, 978, 735, 342, 568, 342, 732, + 678, 939, 185, 185, 208, 208, 208, 786, 731, 786, + 661, 733, 662, 662, 662, 662, 662, 662, 777, 983, + 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, + 185, 210, 208, 1241, 342, 156, 208, 208, 208, 208, + 371, 974, 208, 208, 1080, 786, 208, 280, 777, 156, + + 780, 780, 780, 780, 780, 781, 778, 778, 778, 778, + 208, 208, 208, 687, 687, 687, 687, 687, 687, 687, + 687, 687, 687, 568, 342, 784, 784, 784, 784, 784, + 784, 961, 979, 568, 342, 678, 810, 210, 234, 185, + 810, 977, 234, 234, 234, 786, 235, 185, 234, 234, + 1014, 1017, 234, 788, 788, 788, 788, 788, 788, 788, + 788, 788, 788, 314, 811, 342, 234, 234, 234, 789, + 789, 789, 789, 789, 790, 1241, 786, 787, 787, 787, + 787, 787, 787, 787, 787, 787, 787, 816, 818, 984, + 156, 816, 818, 236, 234, 1241, 342, 185, 234, 234, + + 234, 234, 390, 156, 234, 234, 861, 719, 234, 720, + 720, 720, 720, 720, 720, 817, 819, 161, 863, 332, + 994, 863, 234, 234, 234, 828, 829, 830, 828, 828, + 828, 828, 828, 828, 828, 719, 861, 720, 720, 720, + 720, 720, 720, 720, 720, 720, 720, 771, 951, 236, + 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 176, 314, 1091, 1234, 512, 512, 512, 512, 512, 512, + 719, 1241, 720, 720, 720, 720, 720, 720, 720, 720, + 720, 720, 1064, 951, 185, 798, 568, 342, 342, 798, + 512, 512, 512, 512, 512, 512, 269, 1209, 880, 880, + + 269, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 176, 269, 799, 185, 513, 513, 513, 513, 513, + 513, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 568, 342, + 282, 512, 512, 512, 512, 512, 512, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 1241, 1124, + 299, 1063, 280, 280, 280, 280, 280, 280, 776, 776, + 776, 776, 776, 776, 776, 776, 776, 776, 1241, 804, + 1241, 1241, 1241, 804, 1241, 1241, 1052, 1016, 269, 269, + + 269, 269, 269, 269, 532, 185, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 533, 1241, 805, 1241, 1241, + 156, 1012, 1061, 1062, 831, 1063, 1061, 1017, 810, 1241, + 1241, 1048, 810, 1241, 1241, 834, 816, 818, 835, 1090, + 816, 818, 314, 299, 532, 1006, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 811, 1241, 1241, 1241, + 342, 1055, 1005, 1057, 817, 819, 156, 1003, 798, 185, + 185, 880, 798, 742, 839, 743, 743, 743, 743, 743, + 743, 838, 1092, 299, 532, 314, 535, 535, 535, 535, + 535, 536, 533, 533, 533, 533, 799, 314, 1139, 841, + + 842, 843, 841, 841, 841, 841, 841, 841, 841, 804, + 810, 816, 299, 804, 810, 816, 1002, 1121, 818, 1191, + 910, 1192, 818, 299, 298, 185, 537, 537, 537, 537, + 537, 537, 537, 537, 537, 537, 299, 805, 811, 817, + 537, 537, 537, 537, 537, 537, 819, 865, 865, 865, + 865, 865, 865, 865, 865, 865, 865, 866, 866, 866, + 866, 866, 867, 1186, 156, 991, 537, 537, 537, 537, + 537, 537, 538, 538, 538, 538, 538, 538, 538, 538, + 538, 538, 1049, 185, 990, 156, 538, 538, 538, 538, + 538, 538, 1241, 185, 864, 864, 864, 864, 864, 864, + + 864, 864, 864, 864, 777, 1083, 778, 778, 778, 778, + 778, 778, 537, 537, 537, 537, 537, 537, 208, 568, + 342, 185, 208, 208, 208, 1210, 327, 1192, 208, 208, + 771, 880, 208, 873, 874, 875, 873, 873, 873, 873, + 873, 873, 873, 566, 299, 932, 208, 208, 208, 777, + 861, 778, 778, 778, 778, 778, 778, 778, 778, 778, + 778, 777, 951, 778, 778, 778, 778, 778, 778, 778, + 778, 778, 778, 328, 208, 1056, 1058, 1208, 208, 208, + 208, 208, 440, 1208, 208, 208, 185, 185, 208, 795, + 795, 795, 795, 795, 795, 795, 795, 795, 795, 924, + + 921, 861, 208, 208, 208, 568, 342, 878, 878, 878, + 878, 878, 878, 1032, 920, 917, 1241, 786, 882, 882, + 882, 882, 882, 882, 882, 882, 882, 882, 1032, 328, + 447, 916, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 883, 883, 883, 883, 883, 884, 1241, 905, + 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, + 798, 804, 810, 816, 798, 804, 810, 816, 1083, 156, + 447, 995, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 954, 954, 954, 954, 954, 955, 799, 805, + 811, 817, 904, 185, 995, 818, 995, 995, 1118, 818, + + 972, 972, 972, 972, 972, 973, 902, 299, 185, 156, + 568, 342, 569, 569, 569, 569, 569, 569, 569, 569, + 569, 569, 570, 819, 901, 777, 571, 571, 571, 571, + 571, 571, 910, 911, 911, 911, 911, 911, 911, 911, + 911, 911, 911, 980, 1123, 992, 161, 980, 332, 992, + 771, 185, 571, 571, 571, 571, 571, 571, 342, 575, + 576, 577, 575, 575, 575, 575, 575, 575, 575, 578, + 995, 981, 566, 579, 579, 579, 579, 579, 579, 910, + 912, 912, 912, 912, 912, 912, 912, 912, 912, 912, + 457, 299, 280, 995, 299, 995, 996, 1140, 342, 579, + + 579, 579, 579, 579, 579, 155, 993, 980, 155, 880, + 299, 980, 299, 852, 155, 155, 851, 848, 155, 155, + 156, 155, 155, 155, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 176, 981, 156, 155, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 156, 155, 185, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 620, 620, 620, 620, 620, 620, 620, 620, 620, + 620, 176, 250, 250, 250, 620, 620, 620, 620, 620, + + 620, 910, 913, 913, 913, 913, 913, 914, 911, 911, + 911, 911, 910, 911, 911, 911, 911, 911, 911, 847, + 1122, 620, 620, 620, 620, 620, 620, 269, 185, 846, + 1171, 269, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 176, 269, 845, 844, 621, 621, 621, 621, + 621, 621, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 299, + 840, 282, 620, 620, 620, 620, 620, 620, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 583, + 1199, 1216, 861, 583, 940, 941, 942, 943, 940, 940, + + 940, 940, 940, 940, 1032, 833, 861, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 584, 1103, 1163, + 832, 280, 280, 280, 280, 280, 280, 185, 719, 156, + 299, 156, 854, 855, 855, 855, 855, 855, 855, 1035, + 1035, 1035, 1035, 1035, 1036, 823, 822, 269, 269, 269, + 269, 269, 269, 532, 156, 533, 533, 533, 533, 533, + 533, 533, 533, 533, 533, 1061, 1062, 156, 1063, 1061, + 156, 945, 946, 947, 945, 945, 945, 945, 945, 945, + 945, 872, 872, 872, 872, 872, 872, 872, 872, 872, + 872, 156, 299, 532, 1241, 533, 533, 533, 533, 533, + + 533, 533, 533, 533, 533, 861, 1103, 949, 949, 949, + 949, 949, 949, 250, 250, 250, 1158, 863, 953, 953, + 953, 953, 953, 953, 953, 953, 953, 953, 185, 156, + 985, 1241, 299, 661, 985, 662, 662, 662, 662, 662, + 662, 662, 662, 662, 662, 1241, 771, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 961, 986, 962, + 962, 962, 962, 962, 962, 962, 962, 962, 962, 566, + 987, 457, 156, 661, 987, 663, 663, 663, 663, 663, + 663, 663, 663, 663, 663, 961, 457, 963, 963, 963, + 963, 963, 963, 963, 963, 963, 963, 961, 988, 964, + + 964, 964, 964, 964, 965, 962, 962, 962, 962, 759, + 758, 757, 156, 661, 756, 664, 664, 664, 664, 664, + 665, 662, 662, 662, 662, 888, 888, 888, 888, 888, + 888, 888, 888, 888, 888, 568, 342, 968, 968, 968, + 968, 968, 968, 755, 161, 754, 332, 880, 1184, 1184, + 1184, 1184, 156, 568, 342, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 570, 753, 752, 751, 675, + 675, 675, 675, 675, 675, 971, 971, 971, 971, 971, + 971, 971, 971, 971, 971, 997, 998, 999, 1000, 997, + 997, 997, 997, 997, 997, 675, 675, 675, 675, 675, + + 675, 568, 342, 677, 677, 677, 677, 677, 677, 677, + 677, 677, 677, 678, 1125, 750, 749, 679, 679, 679, + 679, 679, 679, 1241, 748, 970, 970, 970, 970, 970, + 970, 970, 970, 970, 970, 925, 926, 926, 926, 926, + 926, 926, 747, 679, 679, 679, 679, 679, 679, 342, + 683, 684, 685, 683, 683, 683, 683, 683, 683, 683, + 686, 741, 740, 739, 687, 687, 687, 687, 687, 687, + 738, 737, 961, 299, 962, 962, 962, 962, 962, 962, + 980, 727, 1164, 161, 980, 332, 1164, 726, 1241, 1241, + 687, 687, 687, 687, 687, 687, 742, 495, 743, 743, + + 743, 743, 743, 743, 743, 743, 743, 743, 981, 910, + 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, + 985, 714, 713, 1023, 985, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1024, 1024, 1024, 299, 742, 185, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 744, 986, 910, + 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, + 987, 985, 987, 1241, 987, 985, 987, 568, 342, 1047, + 1047, 1047, 1047, 1047, 1047, 299, 742, 185, 745, 745, + 745, 745, 745, 746, 743, 743, 743, 743, 988, 986, + 988, 1007, 1008, 1009, 1010, 1007, 1007, 1007, 1007, 1007, + + 1007, 980, 985, 987, 670, 980, 985, 987, 181, 181, + 280, 280, 566, 457, 181, 299, 661, 185, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 299, 981, + 986, 988, 1023, 666, 1025, 1025, 1025, 1025, 1025, 1025, + 1025, 1025, 1025, 1025, 1106, 1106, 1106, 1106, 1106, 1107, + 314, 314, 314, 457, 182, 156, 661, 861, 662, 662, + 662, 662, 662, 662, 662, 662, 662, 662, 1023, 1103, + 1026, 1026, 1026, 1026, 1026, 1027, 1024, 1024, 1024, 1024, + 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + 1190, 1191, 655, 1192, 1190, 156, 772, 773, 774, 772, + + 772, 772, 772, 772, 772, 772, 775, 654, 653, 652, + 776, 776, 776, 776, 776, 776, 861, 651, 1030, 1030, + 1030, 1030, 1030, 1030, 181, 181, 650, 1053, 951, 1050, + 181, 1053, 649, 1050, 648, 647, 776, 776, 776, 776, + 776, 776, 568, 342, 784, 784, 784, 784, 784, 784, + 784, 784, 784, 784, 678, 1054, 644, 1051, 783, 783, + 783, 783, 783, 783, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1042, 1043, 1044, 1042, 1042, 1042, + 1042, 1042, 1042, 1042, 783, 783, 783, 783, 783, 783, + 568, 342, 785, 785, 785, 785, 785, 785, 785, 785, + + 785, 785, 786, 643, 176, 639, 787, 787, 787, 787, + 787, 787, 1241, 638, 1033, 1033, 1033, 1033, 1033, 1033, + 1033, 1033, 1033, 1033, 1050, 637, 1190, 1191, 1050, 1192, + 1190, 507, 787, 787, 787, 787, 787, 787, 342, 791, + 792, 793, 791, 791, 791, 791, 791, 791, 791, 794, + 495, 612, 1051, 795, 795, 795, 795, 795, 795, 961, + 495, 962, 962, 962, 962, 962, 962, 962, 962, 962, + 962, 341, 341, 280, 611, 495, 610, 341, 1241, 795, + 795, 795, 795, 795, 795, 742, 1241, 743, 743, 743, + 743, 743, 743, 743, 743, 743, 743, 961, 457, 962, + + 962, 962, 962, 962, 962, 962, 962, 962, 962, 566, + 1053, 1119, 1050, 457, 1053, 1119, 1050, 1119, 182, 1050, + 552, 1119, 1053, 1050, 299, 742, 1053, 743, 743, 743, + 743, 743, 743, 743, 743, 743, 743, 1066, 1054, 1120, + 1051, 1066, 1067, 1068, 1069, 1120, 551, 1051, 550, 1073, + 1054, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 314, 549, 548, 299, 854, 855, 855, 855, 855, + 855, 855, 855, 855, 855, 855, 185, 1066, 547, 185, + 546, 1066, 1067, 1068, 1069, 1156, 1156, 1156, 1156, 1156, + 1157, 1073, 1070, 1075, 1075, 1075, 1075, 1075, 1075, 1075, + + 1075, 1075, 1075, 156, 854, 856, 856, 856, 856, 856, + 856, 856, 856, 856, 856, 1073, 545, 1076, 1076, 1076, + 1076, 1076, 1077, 1078, 1078, 1078, 1078, 1053, 453, 453, + 544, 1053, 1072, 1017, 453, 1018, 1018, 1018, 1018, 1018, + 1018, 543, 156, 854, 857, 857, 857, 857, 857, 858, + 855, 855, 855, 855, 1073, 1054, 1078, 1078, 1078, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 542, 1161, 541, 1159, + 540, 1161, 156, 1159, 282, 282, 314, 282, 282, 282, + 282, 156, 861, 539, 862, 862, 862, 862, 862, 862, + 862, 862, 862, 862, 863, 1162, 307, 1160, 864, 864, + + 864, 864, 864, 864, 1093, 1094, 1095, 1093, 1093, 1093, + 1093, 1093, 1093, 1093, 1096, 1097, 1098, 1096, 1096, 1096, + 1096, 1096, 1096, 1096, 864, 864, 864, 864, 864, 864, + 868, 869, 870, 868, 868, 868, 868, 868, 868, 868, + 871, 156, 531, 527, 872, 872, 872, 872, 872, 872, + 1023, 526, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + 1024, 1024, 1023, 525, 1024, 1024, 1024, 1024, 1024, 1024, + 872, 872, 872, 872, 872, 872, 568, 342, 878, 878, + 878, 878, 878, 878, 878, 878, 878, 878, 786, 524, + 523, 522, 877, 877, 877, 877, 877, 877, 1023, 521, + + 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, + 1073, 520, 1074, 1074, 1074, 1074, 1074, 1074, 877, 877, + 877, 877, 877, 877, 568, 342, 879, 879, 879, 879, + 879, 879, 879, 879, 879, 879, 880, 519, 518, 517, + 881, 881, 881, 881, 881, 881, 1041, 1041, 1041, 1041, + 1041, 1041, 1041, 1041, 1041, 1041, 1105, 1105, 1105, 1105, + 1105, 1105, 1105, 1105, 1105, 1105, 881, 881, 881, 881, + 881, 881, 342, 885, 886, 887, 885, 885, 885, 885, + 885, 885, 885, 516, 515, 514, 273, 888, 888, 888, + 888, 888, 888, 861, 503, 1101, 1101, 1101, 1101, 1101, + + 1101, 500, 499, 498, 497, 1032, 342, 1112, 1112, 1112, + 1112, 1112, 1112, 888, 888, 888, 888, 888, 888, 155, + 1241, 282, 155, 1065, 282, 490, 282, 489, 155, 155, + 1065, 1065, 155, 155, 1065, 155, 155, 155, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 1065, 1065, + 1065, 155, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 890, 185, 185, + 185, 185, 185, 185, 185, 156, 155, 185, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 269, 488, 487, 486, 269, + + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 485, 269, 482, 481, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 915, 280, + 280, 280, 280, 280, 280, 280, 280, 480, 479, 282, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 925, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 1241, 478, + 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, + 342, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, + 1112, 477, 476, 475, 474, 299, 925, 927, 927, 927, + + 927, 927, 927, 927, 927, 927, 927, 342, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 342, 1114, + 1114, 1114, 1114, 1114, 1115, 1112, 1112, 1112, 1112, 1119, + 473, 472, 471, 1119, 299, 925, 928, 928, 928, 928, + 928, 929, 926, 926, 926, 926, 470, 1159, 1241, 469, + 468, 1159, 1241, 1241, 1241, 1241, 1126, 1120, 182, 1127, + 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 174, + 560, 560, 299, 299, 298, 1160, 560, 298, 439, 561, + 561, 438, 430, 298, 298, 561, 185, 298, 298, 429, + 298, 298, 298, 314, 314, 314, 314, 314, 314, 314, + + 314, 314, 314, 1070, 185, 428, 298, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 930, 314, 314, 314, 314, 314, 314, 314, 314, + 299, 298, 314, 298, 298, 298, 298, 298, 298, 298, + 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, + 854, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 855, 1066, 427, 1116, 1116, 1066, 1067, 1068, 1069, 1241, + 1116, 426, 425, 1241, 1067, 1068, 1069, 1128, 1129, 1130, + 1128, 1128, 1128, 1128, 1128, 1128, 1128, 298, 156, 854, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + + 1241, 1184, 418, 1184, 1241, 1241, 1241, 1069, 1241, 1184, + 303, 301, 1241, 1241, 1241, 1241, 1070, 1204, 1204, 1204, + 1204, 1204, 1204, 299, 1070, 296, 417, 156, 861, 416, + 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 863, 861, 414, 950, 950, 950, 950, 950, 950, 950, + 950, 950, 950, 951, 413, 1070, 405, 952, 952, 952, + 952, 952, 952, 1072, 1073, 404, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1235, 1235, 1235, 1235, + 1235, 1235, 403, 952, 952, 952, 952, 952, 952, 956, + 957, 958, 956, 956, 956, 956, 956, 956, 956, 959, + + 402, 401, 400, 960, 960, 960, 960, 960, 960, 1073, + 1241, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, + 1074, 1119, 1161, 270, 262, 1119, 1161, 257, 258, 960, + 960, 960, 960, 960, 960, 568, 342, 968, 968, 968, + 968, 968, 968, 968, 968, 968, 968, 880, 252, 1120, + 1162, 967, 967, 967, 967, 967, 967, 252, 1134, 1135, + 1136, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 246, 1083, + 314, 1084, 1084, 1084, 1084, 1084, 1084, 967, 967, 967, + 967, 967, 967, 568, 342, 969, 969, 969, 969, 969, + 969, 969, 969, 969, 969, 299, 204, 239, 156, 970, + + 970, 970, 970, 970, 970, 1161, 387, 1241, 299, 1161, + 1071, 1159, 379, 565, 565, 1159, 378, 1071, 1071, 565, + 377, 1071, 376, 375, 156, 970, 970, 970, 970, 970, + 970, 155, 370, 1162, 155, 1071, 1071, 1071, 369, 1160, + 155, 155, 368, 367, 155, 155, 366, 155, 155, 155, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 280, 365, 185, 155, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 156, 155, 975, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + + 155, 155, 155, 155, 155, 155, 155, 269, 356, 355, + 354, 269, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 353, 269, 352, 351, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 1001, 280, 280, 280, 280, 280, 350, + 349, 282, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 925, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 1145, 348, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, + 1146, 1146, 1145, 347, 1147, 1147, 1147, 1147, 1147, 1147, + + 1147, 1147, 1147, 1147, 182, 155, 182, 299, 925, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 1145, + 272, 1148, 1148, 1148, 1148, 1148, 1149, 1146, 1146, 1146, + 1146, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, + 1111, 170, 168, 161, 159, 156, 299, 298, 1187, 1187, + 298, 323, 1187, 1187, 322, 321, 298, 298, 320, 319, + 298, 298, 318, 298, 298, 298, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 1188, 1188, 314, 298, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 1011, 314, 314, + + 314, 314, 314, 299, 298, 314, 298, 298, 298, 298, + 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, + 298, 298, 298, 1017, 303, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 861, 299, 1152, 1152, 1152, + 1152, 1152, 1152, 296, 290, 289, 288, 1103, 1155, 1155, + 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 666, 666, + 287, 286, 156, 1017, 666, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 1019, 1241, 285, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 342, 1112, 1112, + 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 668, 668, + + 280, 258, 156, 1017, 668, 1020, 1020, 1020, 1020, 1020, + 1021, 1022, 1022, 1022, 1022, 342, 1112, 1112, 1112, 1112, + 1112, 1112, 1112, 1112, 1112, 1112, 1127, 1127, 1127, 1127, + 1127, 1127, 1127, 1127, 1127, 1127, 252, 246, 669, 669, + 158, 239, 156, 1017, 669, 1022, 1022, 1022, 1018, 1018, + 1018, 1018, 1018, 1018, 1018, 1127, 1127, 1127, 1127, 1127, + 1127, 1127, 1127, 1127, 1127, 1165, 158, 1166, 1166, 1166, + 1166, 1166, 1166, 1166, 1166, 1166, 1166, 197, 768, 768, + 232, 194, 156, 861, 768, 1030, 1030, 1030, 1030, 1030, + 1030, 1030, 1030, 1030, 1030, 951, 861, 185, 1031, 1031, + + 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 224, + 222, 200, 1033, 1033, 1033, 1033, 1033, 1033, 1165, 199, + 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, + 1145, 196, 1146, 1146, 1146, 1146, 1146, 1146, 1033, 1033, + 1033, 1033, 1033, 1033, 1037, 1038, 1039, 1037, 1037, 1037, + 1037, 1037, 1037, 1037, 1040, 195, 192, 182, 1041, 1041, + 1041, 1041, 1041, 1041, 1165, 170, 1168, 1168, 1168, 1168, + 1168, 1169, 1166, 1166, 1166, 1166, 1165, 159, 1166, 1166, + 1166, 1166, 1166, 1166, 1041, 1041, 1041, 1041, 1041, 1041, + 568, 342, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + + 1047, 1047, 1083, 158, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1084, 1084, 1084, 156, 1159, 1241, 1241, 1140, 1159, + 1141, 1141, 1141, 1141, 1141, 1141, 1161, 1241, 1241, 1241, + 1161, 1177, 1178, 1179, 1177, 1177, 1177, 1177, 1177, 1177, + 1177, 299, 1083, 1160, 1085, 1085, 1085, 1085, 1085, 1085, + 1085, 1085, 1085, 1085, 1162, 1241, 1211, 156, 1212, 1212, + 1212, 1212, 1212, 1212, 314, 769, 769, 1241, 156, 1241, + 1241, 769, 770, 770, 282, 314, 1241, 282, 770, 282, + 1241, 299, 1083, 1241, 1086, 1086, 1086, 1086, 1086, 1087, + 1088, 1088, 1088, 1088, 1180, 1181, 1182, 1180, 1180, 1180, + + 1180, 1180, 1180, 1180, 1145, 1241, 1146, 1146, 1146, 1146, + 1146, 1146, 1146, 1146, 1146, 1146, 1241, 1241, 1241, 1187, + 1241, 299, 1083, 1187, 1088, 1088, 1088, 1084, 1084, 1084, + 1084, 1084, 1084, 1084, 1145, 1241, 1146, 1146, 1146, 1146, + 1146, 1146, 1146, 1146, 1146, 1146, 861, 1188, 1185, 1185, + 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1241, 1241, + 1241, 299, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1241, 1241, 185, 1193, 1194, 1195, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1165, 1241, 1166, + 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1241, + + 1241, 156, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018, + 1018, 1018, 1018, 1018, 1165, 1241, 1166, 1166, 1166, 1166, + 1166, 1166, 1166, 1166, 1166, 1166, 1241, 1241, 1241, 1241, + 1241, 1196, 1197, 1198, 1196, 1196, 1196, 1196, 1196, 1196, + 1196, 156, 861, 1241, 1101, 1101, 1101, 1101, 1101, 1101, + 1101, 1101, 1101, 1101, 1032, 861, 1241, 1102, 1102, 1102, + 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103, 299, 1241, + 1241, 1104, 1104, 1104, 1104, 1104, 1104, 1171, 1241, 1172, + 1172, 1172, 1172, 1172, 1172, 1187, 859, 859, 1241, 1187, + 860, 860, 859, 1241, 1241, 1241, 860, 1104, 1104, 1104, + + 1104, 1104, 1104, 1108, 1109, 1110, 1108, 1108, 1108, 1108, + 1108, 1108, 1108, 1188, 1241, 1241, 299, 1111, 1111, 1111, + 1111, 1111, 1111, 1204, 1204, 1204, 1204, 1204, 1204, 1204, + 1204, 1204, 1204, 1241, 314, 944, 944, 1241, 1241, 1241, + 1241, 944, 1241, 1111, 1111, 1111, 1111, 1111, 1111, 1083, + 1241, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, + 1205, 1206, 1206, 1206, 1206, 1206, 1207, 1204, 1204, 1204, + 1204, 1028, 1028, 1241, 1099, 1099, 1241, 1028, 299, 1083, + 1099, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, + + 1084, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212, 1212, + 1212, 1212, 1212, 1211, 1241, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1241, 1241, 1241, 299, 1140, + 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, + 1141, 1211, 1241, 1214, 1214, 1214, 1214, 1214, 1215, 1212, + 1212, 1212, 1212, 1221, 1222, 1223, 1221, 1221, 1221, 1221, + 1221, 1221, 1221, 1241, 1150, 1150, 1241, 1241, 156, 1140, + 1150, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 1142, 1241, 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, + 156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, + + 1204, 1183, 1183, 1241, 1241, 1241, 1241, 1183, 156, 1140, + 1241, 1143, 1143, 1143, 1143, 1143, 1144, 1141, 1141, 1141, + 1141, 156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, + 1204, 1204, 1225, 1226, 1227, 1225, 1225, 1225, 1225, 1225, + 1225, 1225, 1241, 1241, 1241, 1241, 1241, 1241, 156, 861, + 1241, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1103, 861, 1241, 1153, 1153, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1241, 1241, 1241, 1241, 1154, 1154, + 1154, 1154, 1154, 1154, 1211, 1241, 1212, 1212, 1212, 1212, + 1212, 1212, 1212, 1212, 1212, 1212, 1241, 1241, 1241, 1241, + + 1241, 1241, 1241, 1241, 1154, 1154, 1154, 1154, 1154, 1154, + 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212, + 1212, 1212, 1212, 1212, 1228, 1229, 1230, 1228, 1228, 1228, + 1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241, 1241, 299, + 1171, 1241, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, + 1173, 1173, 1241, 1216, 1241, 1217, 1217, 1217, 1217, 1217, + 1217, 299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, + 1231, 1231, 1241, 1231, 1231, 1231, 1231, 1231, 1231, 299, + 1171, 1241, 1174, 1174, 1174, 1174, 1174, 1175, 1172, 1172, + + 1172, 1172, 299, 1241, 1241, 1241, 1241, 1241, 1241, 156, + 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, + 156, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, + 1141, 1141, 1241, 1241, 1241, 1241, 1241, 156, 1232, 1232, + 1232, 1232, 1232, 1233, 1231, 1231, 1231, 1231, 1235, 1235, + 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1241, 156, + 1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, + 1141, 1141, 1241, 1241, 1241, 156, 1225, 1225, 1225, 1225, + 1225, 1225, 1225, 1225, 1225, 1225, 1236, 1236, 1236, 1236, + + 1236, 1237, 1235, 1235, 1235, 1235, 1241, 1241, 1241, 156, + 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 1241, 1241, 1241, 1238, 1238, 1238, 1238, 1238, + 1238, 1238, 1238, 1238, 1238, 1228, 1228, 1228, 1228, 1228, + 1228, 1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241, 299, + 1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 299, 1241, 1241, 1238, 1238, 1238, 1238, 1238, + 1238, 1241, 299, 1239, 1239, 1239, 1239, 1239, 1240, 1238, + 1238, 1238, 1238, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, + + 1200, 1200, 299, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, + 1231, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156, + 1199, 1241, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, + 1201, 1201, 1241, 1241, 1241, 1241, 1241, 1241, 156, 1235, + 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1238, + 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 156, + 1199, 1241, 1202, 1202, 1202, 1202, 1202, 1203, 1200, 1200, + 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 299, 1241, 1241, 1241, + + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156, + 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1216, 1241, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + 1218, 1218, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1216, 1241, 1219, 1219, 1219, 1219, 1219, 1220, 1217, 1217, + + 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, + 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156, + 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, + 1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 156, + 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 299, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 129, 129, 129, 129, 129, + + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 155, 1241, 1241, 155, + 1241, 1241, 1241, 155, 1241, 155, 1241, 155, 155, 155, + 1241, 1241, 155, 155, 155, 155, 155, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 165, 1241, + 1241, 165, 1241, 1241, 165, 165, 1241, 165, 1241, 165, + 165, 165, 165, 1241, 165, 165, 165, 165, 165, 169, + 1241, 1241, 169, 1241, 1241, 1241, 169, 1241, 169, 1241, + 169, 169, 169, 1241, 1241, 169, 169, 169, 169, 169, + + 171, 1241, 1241, 171, 171, 171, 1241, 171, 171, 171, + 1241, 171, 171, 171, 1241, 1241, 171, 171, 171, 171, + 171, 207, 207, 1241, 207, 207, 207, 1241, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 229, 1241, 1241, 229, 229, 229, 1241, 229, + 229, 229, 1241, 229, 229, 229, 1241, 1241, 229, 229, + 229, 229, 229, 233, 233, 1241, 233, 233, 233, 1241, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 238, 1241, 1241, 238, 238, 238, + 1241, 238, 238, 238, 1241, 238, 238, 238, 1241, 238, + + 238, 1241, 238, 238, 238, 244, 244, 1241, 244, 244, + 244, 1241, 1241, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 1241, 244, 244, 244, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 251, 1241, 1241, + 251, 251, 1241, 1241, 251, 251, 251, 1241, 251, 251, + 251, 251, 1241, 251, 251, 251, 251, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 262, 1225, 1225, 262, 1225, 1225, 262, 262, 1225, 262, - 1225, 262, 262, 262, 262, 1225, 262, 262, 262, 262, - 262, 266, 1225, 1225, 266, 1225, 1225, 1225, 266, 1225, - 266, 1225, 266, 266, 266, 1225, 266, 266, 266, 266, - 266, 266, 269, 1225, 1225, 269, 269, 269, 1225, 269, - 269, 269, 1225, 269, 269, 269, 1225, 269, 269, 269, - 269, 269, 269, 206, 206, 1225, 206, 206, 206, 1225, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 293, 1225, 1225, 1225, 293, 293, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 257, + 257, 1241, 257, 257, 1241, 257, 257, 257, 257, 257, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 296, 1225, 1225, 296, 1225, - 1225, 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225, - 1225, 296, 296, 296, 296, 296, 298, 1225, 1225, 298, - 1225, 1225, 298, 298, 1225, 298, 1225, 298, 298, 298, - 298, 1225, 298, 298, 298, 298, 298, 300, 1225, 1225, - 300, 1225, 1225, 1225, 300, 1225, 300, 1225, 300, 300, - 300, 1225, 1225, 300, 300, 300, 300, 300, 302, 1225, - 1225, 302, 302, 302, 1225, 302, 302, 302, 1225, 302, - 302, 302, 1225, 1225, 302, 302, 302, 302, 302, 324, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 264, 1241, 1241, 264, 1241, 1241, 264, 264, 1241, 264, + 1241, 264, 264, 264, 264, 1241, 264, 264, 264, 264, + 264, 268, 1241, 1241, 268, 1241, 1241, 1241, 268, 1241, + 268, 1241, 268, 268, 268, 1241, 268, 268, 268, 268, + 268, 268, 271, 1241, 1241, 271, 271, 271, 1241, 271, + 271, 271, 1241, 271, 271, 271, 1241, 271, 271, 271, + 271, 271, 271, 208, 208, 1241, 208, 208, 208, 1241, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 295, 1241, 1241, 1241, 295, 295, - 324, 1225, 324, 324, 324, 1225, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 154, 1225, 1225, 154, 1225, 1225, 1225, 154, 1225, 154, - 1225, 154, 154, 154, 1225, 1225, 154, 154, 154, 154, - 154, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 331, 331, 1225, 331, 331, 331, 331, 331, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 298, 1241, 1241, 298, 1241, + 1241, 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241, + 1241, 298, 298, 298, 298, 298, 300, 1241, 1241, 300, + 1241, 1241, 300, 300, 1241, 300, 1241, 300, 300, 300, + 300, 1241, 300, 300, 300, 300, 300, 302, 1241, 1241, + 302, 1241, 1241, 1241, 302, 1241, 302, 1241, 302, 302, + 302, 1241, 1241, 302, 302, 302, 302, 302, 304, 1241, + 1241, 304, 304, 304, 1241, 304, 304, 304, 1241, 304, + 304, 304, 1241, 1241, 304, 304, 304, 304, 304, 326, + + 326, 1241, 326, 326, 326, 1241, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 155, 1241, 1241, 155, 1241, 1241, 1241, 155, 1241, 155, + 1241, 155, 155, 155, 1241, 1241, 155, 155, 155, 155, + 155, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 331, 331, 164, 1225, 1225, 164, 1225, 1225, 1225, - 164, 1225, 164, 1225, 164, 164, 164, 1225, 1225, 164, + 331, 331, 333, 333, 1241, 333, 333, 333, 333, 333, + 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, + 333, 333, 333, 165, 1241, 1241, 165, 1241, 1241, 1241, + 165, 1241, 165, 1241, 165, 165, 165, 1241, 1241, 165, - 164, 164, 164, 164, 168, 1225, 1225, 168, 1225, 1225, - 1225, 168, 1225, 168, 1225, 168, 168, 168, 1225, 1225, - 168, 168, 168, 168, 168, 170, 1225, 1225, 170, 170, - 170, 1225, 170, 170, 170, 1225, 170, 170, 170, 1225, - 1225, 170, 170, 170, 170, 170, 171, 1225, 1225, 171, - 171, 171, 1225, 171, 171, 171, 1225, 171, 171, 171, - 1225, 1225, 171, 171, 171, 171, 171, 341, 341, 341, - 1225, 1225, 1225, 1225, 341, 205, 205, 1225, 205, 205, - 205, 1225, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 206, 206, 1225, 206, + 165, 165, 165, 165, 169, 1241, 1241, 169, 1241, 1241, + 1241, 169, 1241, 169, 1241, 169, 169, 169, 1241, 1241, + 169, 169, 169, 169, 169, 171, 1241, 1241, 171, 171, + 171, 1241, 171, 171, 171, 1241, 171, 171, 171, 1241, + 1241, 171, 171, 171, 171, 171, 172, 1241, 1241, 172, + 172, 172, 1241, 172, 172, 172, 1241, 172, 172, 172, + 1241, 1241, 172, 172, 172, 172, 172, 343, 343, 343, + 1241, 1241, 1241, 1241, 343, 207, 207, 1241, 207, 207, + 207, 1241, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 208, 208, 1241, 208, - 206, 206, 1225, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 227, 1225, 1225, - 227, 227, 227, 1225, 227, 227, 227, 1225, 227, 227, - 227, 1225, 1225, 227, 227, 227, 227, 227, 228, 1225, - 1225, 228, 228, 228, 1225, 228, 228, 228, 1225, 228, - 228, 228, 1225, 1225, 228, 228, 228, 228, 228, 231, - 231, 1225, 231, 231, 231, 1225, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 232, 232, 1225, 232, 232, 232, 1225, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 208, 208, 1241, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 229, 1241, 1241, + 229, 229, 229, 1241, 229, 229, 229, 1241, 229, 229, + 229, 1241, 1241, 229, 229, 229, 229, 229, 230, 1241, + 1241, 230, 230, 230, 1241, 230, 230, 230, 1241, 230, + 230, 230, 1241, 1241, 230, 230, 230, 230, 230, 233, + 233, 1241, 233, 233, 233, 1241, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 234, 234, 1241, 234, 234, 234, 1241, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 232, 236, 1225, 1225, 236, 236, 236, 1225, 236, 236, - 236, 1225, 236, 236, 236, 1225, 236, 236, 1225, 236, - 236, 236, 242, 242, 1225, 242, 242, 242, 1225, 1225, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 1225, - 242, 242, 242, 249, 1225, 1225, 249, 249, 1225, 1225, - 249, 249, 249, 1225, 249, 249, 249, 249, 1225, 249, - 249, 249, 249, 249, 255, 255, 1225, 255, 255, 1225, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 265, 1225, 1225, 265, 1225, - 1225, 1225, 265, 1225, 265, 1225, 265, 265, 265, 1225, + 234, 238, 1241, 1241, 238, 238, 238, 1241, 238, 238, + 238, 1241, 238, 238, 238, 1241, 238, 238, 1241, 238, + 238, 238, 244, 244, 1241, 244, 244, 244, 1241, 1241, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 1241, + 244, 244, 244, 251, 1241, 1241, 251, 251, 1241, 1241, + 251, 251, 251, 1241, 251, 251, 251, 251, 1241, 251, + 251, 251, 251, 251, 257, 257, 1241, 257, 257, 1241, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 267, 1241, 1241, 267, 1241, + 1241, 1241, 267, 1241, 267, 1241, 267, 267, 267, 1241, - 1225, 265, 265, 265, 265, 265, 266, 1225, 1225, 266, - 1225, 1225, 1225, 266, 1225, 266, 1225, 266, 266, 266, - 1225, 266, 266, 266, 266, 266, 266, 267, 1225, 1225, - 267, 267, 1225, 267, 267, 1225, 1225, 267, 267, 269, - 1225, 1225, 269, 269, 269, 1225, 269, 269, 269, 1225, - 269, 269, 269, 1225, 269, 269, 269, 269, 269, 269, - 293, 1225, 1225, 1225, 293, 293, 293, 293, 293, 293, - 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, - 293, 296, 1225, 1225, 296, 1225, 1225, 1225, 296, 1225, - 296, 1225, 296, 296, 296, 1225, 1225, 296, 296, 296, + 1241, 267, 267, 267, 267, 267, 268, 1241, 1241, 268, + 1241, 1241, 1241, 268, 1241, 268, 1241, 268, 268, 268, + 1241, 268, 268, 268, 268, 268, 268, 269, 1241, 1241, + 269, 269, 1241, 269, 269, 1241, 1241, 269, 269, 271, + 1241, 1241, 271, 271, 271, 1241, 271, 271, 271, 1241, + 271, 271, 271, 1241, 271, 271, 271, 271, 271, 271, + 295, 1241, 1241, 1241, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 298, 1241, 1241, 298, 1241, 1241, 1241, 298, 1241, + 298, 1241, 298, 298, 298, 1241, 1241, 298, 298, 298, - 296, 296, 298, 1225, 1225, 298, 1225, 1225, 1225, 298, - 1225, 298, 1225, 298, 298, 298, 1225, 1225, 298, 298, - 298, 298, 298, 300, 1225, 1225, 300, 1225, 1225, 1225, - 300, 1225, 300, 1225, 300, 300, 300, 1225, 1225, 300, - 300, 300, 300, 300, 302, 1225, 1225, 302, 302, 302, - 1225, 302, 302, 302, 1225, 302, 302, 302, 1225, 1225, - 302, 302, 302, 302, 302, 303, 1225, 1225, 303, 303, - 303, 1225, 303, 303, 303, 1225, 303, 303, 303, 1225, - 1225, 303, 303, 303, 303, 303, 324, 324, 1225, 324, - 324, 324, 1225, 324, 324, 324, 324, 324, 324, 324, + 298, 298, 300, 1241, 1241, 300, 1241, 1241, 1241, 300, + 1241, 300, 1241, 300, 300, 300, 1241, 1241, 300, 300, + 300, 300, 300, 302, 1241, 1241, 302, 1241, 1241, 1241, + 302, 1241, 302, 1241, 302, 302, 302, 1241, 1241, 302, + 302, 302, 302, 302, 304, 1241, 1241, 304, 304, 304, + 1241, 304, 304, 304, 1241, 304, 304, 304, 1241, 1241, + 304, 304, 304, 304, 304, 305, 1241, 1241, 305, 305, + 305, 1241, 305, 305, 305, 1241, 305, 305, 305, 1241, + 1241, 305, 305, 305, 305, 305, 326, 326, 1241, 326, + 326, 326, 1241, 326, 326, 326, 326, 326, 326, 326, - 324, 324, 324, 324, 324, 324, 324, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 154, - 1225, 1225, 154, 1225, 1225, 1225, 154, 1225, 154, 1225, - 154, 154, 154, 1225, 1225, 154, 154, 154, 154, 154, - 456, 456, 456, 1225, 1225, 1225, 1225, 456, 205, 205, - 1225, 205, 205, 205, 1225, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 232, + 326, 326, 326, 326, 326, 326, 326, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 155, + 1241, 1241, 155, 1241, 1241, 1241, 155, 1241, 155, 1241, + 155, 155, 155, 1241, 1241, 155, 155, 155, 155, 155, + 459, 459, 459, 1241, 1241, 1241, 1241, 459, 207, 207, + 1241, 207, 207, 207, 1241, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 234, - 232, 1225, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 231, 231, 1225, 231, 231, 231, 1225, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 206, 206, 1225, 206, 206, 206, 1225, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 563, 563, 563, 1225, 1225, 1225, 1225, 563, - 462, 462, 462, 1225, 1225, 1225, 1225, 462, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 232, + 234, 1241, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 233, 233, 1241, 233, 233, 233, 1241, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 208, 208, 1241, 208, 208, 208, 1241, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 567, 567, 567, 1241, 1241, 1241, 1241, 567, + 465, 465, 465, 1241, 1241, 1241, 1241, 465, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 234, - 232, 1225, 232, 232, 232, 1225, 232, 232, 232, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 666, 666, 666, 1225, 1225, 1225, 1225, 666, 670, 670, - 670, 670, 1225, 1225, 1225, 1225, 670, 776, 776, 776, - 1225, 1225, 1225, 1225, 776, 777, 777, 777, 777, 1225, - 1225, 1225, 1225, 777, 869, 869, 869, 1225, 1225, 1225, - 1225, 869, 870, 870, 870, 870, 1225, 1225, 1225, 1225, - 870, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 267, 1225, 1225, 267, 267, 1225, 267, 267, + 234, 1241, 234, 234, 234, 1241, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 671, 671, 671, 1241, 1241, 1241, 1241, 671, 675, 675, + 675, 675, 1241, 1241, 1241, 1241, 675, 782, 782, 782, + 1241, 1241, 1241, 1241, 782, 783, 783, 783, 783, 1241, + 1241, 1241, 1241, 783, 876, 876, 876, 1241, 1241, 1241, + 1241, 876, 877, 877, 877, 877, 1241, 1241, 1241, 1241, + 877, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 269, 1241, 1241, 269, 269, 1241, 269, 269, - 1225, 1225, 267, 267, 296, 1225, 1225, 296, 1225, 1225, - 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225, 1225, - 296, 296, 296, 296, 296, 940, 1225, 940, 940, 1225, - 1225, 1225, 1225, 940, 958, 958, 958, 1225, 1225, 1225, - 1225, 958, 959, 959, 959, 959, 1225, 1225, 1225, 1225, - 959, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, - 329, 329, 267, 1225, 1225, 267, 267, 1225, 267, 267, - 1225, 1225, 267, 267, 296, 1225, 1225, 296, 1225, 1225, - 1225, 296, 1225, 296, 1225, 296, 296, 296, 1225, 1225, + 1241, 1241, 269, 269, 298, 1241, 1241, 298, 1241, 1241, + 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241, 1241, + 298, 298, 298, 298, 298, 948, 1241, 948, 948, 1241, + 1241, 1241, 1241, 948, 966, 966, 966, 1241, 1241, 1241, + 1241, 966, 967, 967, 967, 967, 1241, 1241, 1241, 1241, + 967, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 269, 1241, 1241, 269, 269, 1241, 269, 269, + 1241, 1241, 269, 269, 298, 1241, 1241, 298, 1241, 1241, + 1241, 298, 1241, 298, 1241, 298, 298, 298, 1241, 1241, - 296, 296, 296, 296, 296, 1020, 1225, 1020, 1020, 1225, - 1225, 1225, 1225, 1020, 1036, 1036, 1036, 1225, 1225, 1225, - 1225, 1036, 1037, 1037, 1037, 1225, 1225, 1225, 1225, 1225, - 1037, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, - 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, - 1050, 1050, 1055, 1055, 1225, 1055, 1055, 1055, 1055, 1055, - 1225, 1055, 1225, 1055, 1055, 1055, 1225, 1225, 1055, 1055, - 1055, 1055, 1055, 1061, 1061, 1225, 1061, 1061, 1061, 1061, - 1061, 1225, 1061, 1225, 1061, 1061, 1061, 1225, 1225, 1061, - 1061, 1061, 1061, 1061, 1090, 1225, 1090, 1090, 1225, 1225, + 298, 298, 298, 298, 298, 1029, 1241, 1029, 1029, 1241, + 1241, 1241, 1241, 1029, 1045, 1045, 1045, 1241, 1241, 1241, + 1241, 1045, 1046, 1046, 1046, 1241, 1241, 1241, 1241, 1241, + 1046, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, + 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, + 1060, 1060, 1065, 1065, 1241, 1065, 1065, 1065, 1065, 1065, + 1241, 1065, 1241, 1065, 1065, 1065, 1241, 1241, 1065, 1065, + 1065, 1065, 1065, 1071, 1071, 1241, 1071, 1071, 1071, 1071, + 1071, 1241, 1071, 1241, 1071, 1071, 1071, 1241, 1241, 1071, + 1071, 1071, 1071, 1071, 1100, 1241, 1100, 1100, 1241, 1241, - 1225, 1225, 1090, 1140, 1225, 1140, 1140, 1225, 1225, 1225, - 1225, 1140, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 21, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, + 1241, 1241, 1100, 1151, 1241, 1151, 1151, 1241, 1241, 1241, + 1241, 1151, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, + 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, + 1189, 1189, 1189, 21, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225 + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241 } ; static yyconst flex_int16_t yy_chk[9611] = @@ -1959,58 +1965,58 @@ static yyconst flex_int16_t yy_chk[9611] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 23, 372, 41, - 2, 23, 63, 2, 5, 5, 372, 5, 5, 5, - 41, 5, 6, 6, 481, 6, 6, 6, 5, 6, + 1, 1, 1, 1, 1, 1, 2, 23, 43, 41, + 2, 23, 43, 2, 5, 5, 375, 5, 5, 5, + 41, 5, 6, 6, 375, 6, 6, 6, 5, 6, - 7, 7, 63, 7, 7, 7, 6, 7, 7, 29, - 2, 2, 5, 5, 45, 2, 44, 49, 481, 44, - 6, 6, 49, 2, 96, 45, 2, 3, 55, 44, + 7, 7, 55, 7, 7, 7, 6, 7, 7, 29, + 2, 2, 5, 5, 45, 2, 55, 49, 45, 502, + 6, 6, 49, 2, 69, 45, 2, 3, 69, 116, 29, 3, 13, 13, 3, 13, 13, 13, 13, 5, - 46, 3, 55, 46, 3, 52, 65, 6, 14, 14, - 96, 14, 14, 14, 14, 7, 1222, 29, 3, 103, - 52, 3, 37, 37, 37, 37, 37, 37, 69, 3, - 98, 3, 69, 3, 3, 65, 3, 8, 8, 383, - 8, 8, 8, 3, 8, 8, 124, 13, 17, 17, - 17, 17, 17, 17, 17, 383, 98, 84, 67, 3, + 116, 3, 502, 44, 3, 52, 44, 6, 14, 14, + 44, 14, 14, 14, 14, 7, 44, 29, 3, 3, + 52, 3, 37, 37, 37, 37, 37, 37, 65, 3, + 160, 3, 160, 3, 3, 46, 3, 448, 46, 46, + 107, 8, 8, 3, 8, 8, 8, 13, 8, 8, + 17, 17, 17, 17, 17, 17, 17, 65, 67, 3, - 4, 84, 67, 14, 4, 34, 34, 4, 59, 103, - 34, 34, 67, 159, 4, 159, 62, 4, 59, 62, - 18, 18, 18, 18, 18, 18, 18, 59, 1216, 62, - 34, 4, 8, 124, 4, 90, 90, 116, 90, 90, - 116, 115, 4, 17, 4, 62, 4, 4, 106, 4, - 92, 92, 115, 92, 92, 34, 4, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 60, 329, 106, - 329, 60, 4, 9, 9, 18, 9, 9, 9, 58, + 4, 107, 67, 14, 4, 34, 34, 4, 59, 63, + 34, 34, 67, 63, 4, 85, 448, 4, 59, 85, + 18, 18, 18, 18, 18, 18, 18, 59, 107, 63, + 34, 4, 4, 76, 4, 1238, 8, 91, 91, 128, + 91, 91, 4, 76, 4, 17, 4, 4, 128, 4, + 93, 93, 76, 93, 93, 34, 4, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 60, 104, 97, + 99, 60, 4, 9, 9, 18, 9, 9, 9, 58, 9, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 100, 100, 75, 100, 100, 106, 361, 361, 127, + 58, 62, 364, 364, 62, 97, 99, 117, 62, 183, - 129, 60, 60, 75, 70, 70, 60, 102, 127, 70, - 70, 102, 75, 142, 60, 68, 142, 60, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 9, 70, + 117, 60, 60, 125, 62, 157, 60, 101, 101, 157, + 101, 101, 103, 183, 60, 142, 103, 60, 104, 226, + 62, 106, 106, 226, 106, 106, 142, 106, 9, 130, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, - 129, 10, 10, 10, 70, 10, 209, 105, 105, 209, - 105, 105, 102, 105, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, - 125, 1198, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 131, 131, 206, 131, 131, 138, 138, 138, + 125, 10, 10, 10, 68, 10, 134, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 103, 112, 112, + 112, 112, 112, 112, 1234, 70, 70, 134, 205, 130, + 70, 70, 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 139, 139, 139, 139, 139, 139, 132, 132, - 138, 138, 138, 10, 219, 10, 10, 10, 10, 10, + 70, 132, 132, 10, 134, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 11, 11, 133, 11, 11, 11, 11, - 11, 141, 181, 203, 322, 182, 11, 11, 11, 135, - 135, 206, 141, 181, 135, 135, 133, 131, 166, 182, - 371, 219, 11, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 156, 135, 371, 210, 156, 222, 166, - 235, 153, 210, 133, 220, 222, 235, 1173, 11, 12, - 12, 153, 12, 12, 12, 12, 12, 203, 322, 135, - 153, 220, 12, 12, 12, 152, 166, 152, 152, 152, + 10, 10, 10, 11, 11, 70, 11, 11, 11, 11, + 11, 143, 205, 331, 143, 331, 11, 11, 11, 126, + 182, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 182, 11, 132, 167, 228, 136, 136, 208, 228, + 1231, 136, 136, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 211, 222, 167, 211, 154, 11, 12, + 12, 136, 12, 12, 12, 12, 12, 154, 1212, 212, + 223, 222, 12, 12, 12, 212, 154, 203, 203, 245, - 152, 152, 152, 152, 152, 152, 152, 580, 12, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 163, 201, - 201, 580, 201, 201, 12, 15, 15, 15, 15, 15, + 203, 203, 167, 245, 223, 208, 136, 153, 12, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 240, + 240, 1185, 240, 240, 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -2026,989 +2032,989 @@ static yyconst flex_int16_t yy_chk[9611] = 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 28, 165, 28, - 232, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 19, 19, 19, 19, 19, 19, 19, 28, 260, 28, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 165, 28, 290, 290, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 35, 221, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 258, 449, 221, - 35, 35, 35, 35, 35, 35, 327, 232, 1171, 327, - 218, 155, 155, 155, 155, 155, 218, 224, 155, 155, - 290, 224, 155, 35, 218, 449, 35, 35, 35, 35, - 35, 35, 42, 488, 550, 42, 155, 155, 155, 226, - 243, 42, 42, 226, 243, 42, 42, 258, 42, 42, + 221, 28, 807, 234, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 35, 807, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 297, 1183, 224, + 35, 35, 35, 35, 35, 35, 224, 452, 260, 324, + 220, 156, 156, 156, 156, 156, 220, 221, 156, 156, + 234, 262, 156, 35, 220, 262, 35, 35, 35, 35, + 35, 35, 42, 237, 452, 42, 156, 156, 156, 237, + 329, 42, 42, 329, 384, 42, 42, 297, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 488, 550, 42, 42, 42, 42, 42, 42, + 42, 42, 384, 324, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 330, - 472, 330, 47, 47, 47, 47, 47, 47, 472, 217, - 223, 217, 47, 208, 223, 260, 208, 170, 170, 260, - 208, 208, 170, 170, 223, 331, 262, 331, 47, 47, - 47, 47, 47, 47, 56, 56, 1154, 56, 56, 56, - 56, 56, 170, 382, 56, 56, 382, 262, 56, 173, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 219, + 1166, 219, 47, 47, 47, 47, 47, 47, 332, 393, + 332, 259, 47, 393, 166, 259, 47, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 386, 47, 47, + 47, 47, 47, 47, 56, 56, 374, 56, 56, 56, + 56, 56, 296, 386, 56, 56, 296, 330, 56, 171, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 377, - 328, 377, 56, 56, 56, 57, 328, 170, 208, 57, - 57, 57, 295, 57, 262, 57, 57, 217, 341, 57, - 167, 167, 167, 167, 167, 343, 173, 167, 167, 341, - 343, 167, 445, 57, 57, 57, 179, 179, 179, 179, - 179, 179, 378, 1143, 378, 167, 167, 167, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 377, 381, - 57, 61, 295, 61, 379, 169, 169, 169, 169, 169, - 379, 445, 169, 169, 473, 61, 169, 381, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 473, 386, + 171, 374, 1154, 330, 171, 171, 180, 180, 180, 180, + 180, 180, 56, 56, 56, 57, 259, 219, 469, 57, + 57, 57, 345, 57, 171, 57, 57, 345, 343, 57, + 168, 168, 168, 168, 168, 469, 225, 168, 168, 343, + 225, 168, 459, 57, 57, 57, 333, 296, 333, 171, + 225, 264, 381, 459, 381, 168, 168, 168, 178, 178, + 178, 178, 178, 178, 178, 178, 178, 178, 382, 460, + 57, 61, 264, 61, 382, 170, 170, 170, 170, 170, + 460, 385, 170, 170, 385, 61, 170, 567, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 567, 264, - 169, 169, 169, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 194, 194, 370, 370, 194, 370, 194, - 194, 465, 1142, 194, 412, 194, 194, 204, 204, 211, - 204, 204, 234, 211, 389, 234, 61, 74, 465, 234, - 234, 74, 74, 74, 582, 74, 386, 74, 74, 389, - 370, 74, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 582, 211, 211, 74, 74, 74, 211, 238, - 238, 412, 238, 238, 246, 246, 211, 246, 246, 211, - 456, 390, 204, 227, 227, 390, 467, 234, 227, 227, - 848, 456, 74, 82, 82, 250, 82, 82, 82, 250, + 170, 170, 170, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 206, 206, 210, 206, 206, 210, 292, + 292, 1153, 210, 210, 213, 492, 61, 75, 213, 392, + 174, 75, 75, 75, 380, 75, 380, 75, 75, 196, + 196, 75, 389, 196, 392, 196, 196, 416, 416, 196, + 416, 196, 196, 1151, 492, 75, 75, 75, 213, 213, + 229, 229, 415, 213, 443, 229, 229, 292, 206, 236, + 210, 213, 236, 265, 213, 471, 236, 236, 445, 443, + 445, 479, 75, 83, 83, 229, 83, 83, 83, 389, - 82, 250, 250, 467, 480, 82, 257, 82, 227, 250, - 257, 263, 480, 230, 230, 413, 413, 230, 413, 230, - 230, 82, 82, 230, 250, 230, 254, 254, 848, 254, - 254, 440, 263, 227, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 439, 439, 440, 439, 82, 82, - 91, 479, 91, 259, 259, 326, 259, 259, 326, 263, - 479, 257, 326, 326, 91, 489, 463, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 107, 463, 439, - 107, 254, 442, 1140, 442, 270, 107, 107, 485, 270, - 107, 469, 270, 107, 107, 264, 264, 264, 264, 270, + 83, 479, 471, 380, 265, 83, 466, 83, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 466, 415, + 229, 83, 83, 232, 232, 1150, 446, 232, 446, 232, + 232, 265, 468, 232, 236, 232, 248, 248, 483, 248, + 248, 256, 256, 481, 256, 256, 472, 483, 83, 83, + 92, 468, 92, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 481, 92, 472, 489, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 108, 261, 261, + 108, 261, 261, 489, 470, 252, 108, 108, 470, 252, + 108, 252, 252, 108, 108, 328, 256, 272, 328, 252, - 457, 489, 264, 264, 294, 485, 264, 107, 294, 107, - 326, 457, 469, 270, 270, 276, 276, 276, 276, 276, - 276, 264, 264, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 107, 107, 107, 108, 1139, 443, 108, - 443, 468, 108, 108, 477, 108, 108, 108, 108, 108, - 501, 476, 108, 108, 268, 268, 268, 268, 268, 294, - 468, 268, 268, 476, 477, 268, 108, 108, 108, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 268, - 268, 268, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 108, 108, 108, 109, 484, 501, 109, 109, + 1146, 272, 328, 328, 272, 373, 373, 108, 373, 108, + 528, 272, 470, 528, 252, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 272, 272, 278, 278, 278, + 278, 278, 278, 108, 108, 108, 109, 477, 802, 109, + 373, 802, 109, 109, 486, 109, 109, 109, 109, 109, + 328, 477, 109, 109, 266, 266, 266, 266, 456, 456, + 456, 266, 266, 488, 486, 266, 109, 109, 109, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 488, + 266, 266, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 109, 109, 109, 110, 504, 581, 110, 110, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 484, 1135, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 453, 453, 453, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 112, 588, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 470, 475, 588, 112, 112, 112, 112, 112, 112, 286, - 286, 475, 470, 286, 498, 286, 286, 470, 482, 286, - 589, 286, 310, 310, 310, 310, 310, 310, 589, 112, - - 112, 112, 112, 112, 112, 113, 500, 498, 482, 113, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 581, 504, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 473, 1139, 505, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 113, 473, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 1128, 500, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 1122, 601, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 591, 601, - 490, 117, 117, 117, 117, 117, 117, 490, 513, 302, - 302, 117, 591, 513, 302, 302, 308, 308, 308, 308, + 478, 476, 484, 113, 113, 113, 113, 113, 113, 476, + 484, 270, 270, 270, 270, 270, 505, 491, 270, 270, + 491, 478, 270, 312, 312, 312, 312, 312, 312, 113, - 308, 308, 308, 308, 308, 308, 474, 117, 117, 117, - 117, 117, 117, 136, 302, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 497, 474, 497, 136, - 136, 136, 136, 136, 136, 524, 533, 529, 524, 302, - 297, 297, 297, 297, 297, 466, 502, 297, 297, 466, - 688, 297, 136, 502, 1112, 136, 136, 136, 136, 136, - 136, 139, 552, 533, 139, 297, 297, 297, 688, 552, - 139, 139, 576, 466, 139, 139, 529, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 576, 497, 139, 139, 139, 139, 139, 139, 139, + 113, 113, 113, 113, 113, 114, 270, 270, 270, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 491, 485, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 485, 1133, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, 480, 537, + 494, 118, 118, 118, 118, 118, 118, 494, 288, 288, + 480, 118, 288, 482, 288, 288, 1117, 594, 288, 475, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 563, 551, - 593, 143, 143, 143, 143, 143, 143, 487, 593, 563, - 487, 143, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 323, 323, 478, 323, 323, 143, 143, 143, - 143, 143, 143, 150, 150, 551, 150, 150, 150, 150, - 150, 538, 487, 150, 150, 478, 538, 150, 1107, 305, + 288, 442, 442, 475, 442, 594, 537, 118, 118, 118, + 118, 118, 118, 137, 482, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 493, 475, 506, 137, + 137, 137, 137, 137, 137, 506, 442, 474, 608, 556, + 299, 299, 299, 299, 299, 503, 556, 299, 299, 474, + 580, 299, 137, 533, 474, 137, 137, 137, 137, 137, + 137, 140, 493, 517, 140, 299, 299, 299, 517, 580, + 140, 140, 503, 608, 140, 140, 1116, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 503, 533, 140, 140, 140, 140, 140, 140, 140, - 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, - 581, 150, 150, 150, 151, 587, 581, 577, 151, 151, - 151, 587, 151, 583, 151, 151, 499, 323, 151, 299, - 299, 299, 299, 299, 596, 584, 299, 299, 577, 583, - 299, 596, 151, 151, 151, 460, 460, 460, 460, 460, - 460, 807, 807, 499, 299, 299, 299, 584, 592, 604, - 301, 301, 301, 301, 301, 604, 1106, 301, 301, 151, - 172, 301, 499, 172, 172, 172, 172, 172, 592, 549, - 172, 172, 549, 600, 172, 301, 301, 301, 332, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 172, 172, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 849, 555, + 849, 144, 144, 144, 144, 144, 144, 553, 321, 321, + 553, 144, 321, 1112, 321, 321, 304, 304, 321, 542, + 321, 304, 304, 501, 542, 501, 597, 144, 144, 144, + 144, 144, 144, 151, 151, 555, 151, 151, 151, 151, + 151, 304, 553, 151, 151, 1100, 597, 151, 307, 307, - 172, 174, 590, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 549, 594, 600, 174, 174, 174, - 174, 174, 174, 319, 319, 565, 565, 319, 471, 319, - 319, 590, 471, 319, 598, 319, 594, 565, 567, 567, - 174, 609, 599, 174, 174, 174, 174, 174, 174, 183, - 567, 514, 183, 609, 611, 514, 471, 598, 183, 183, - 611, 687, 183, 183, 599, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 514, - 687, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 307, 307, 307, 307, 307, 307, 307, 307, 587, 554, + 585, 151, 151, 151, 152, 598, 304, 518, 152, 152, + 152, 518, 152, 598, 152, 152, 587, 593, 152, 301, + 301, 301, 301, 301, 585, 307, 301, 301, 554, 501, + 301, 593, 152, 152, 152, 518, 586, 325, 325, 588, + 325, 325, 586, 592, 301, 301, 301, 582, 596, 592, + 303, 303, 303, 303, 303, 588, 919, 303, 303, 152, + 173, 303, 596, 173, 173, 173, 173, 173, 582, 919, + 173, 173, 605, 606, 173, 303, 303, 303, 310, 310, + 310, 310, 310, 310, 310, 310, 310, 310, 173, 173, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 808, 808, 603, 184, - 184, 184, 184, 184, 184, 333, 333, 333, 333, 333, - 333, 333, 333, 333, 333, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 184, 184, 184, 184, 184, - 184, 205, 602, 603, 517, 205, 205, 205, 517, 205, - 384, 205, 205, 655, 384, 205, 595, 384, 1102, 655, - 683, 610, 444, 666, 384, 595, 683, 652, 1090, 205, + 173, 175, 325, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 606, 605, 1099, 175, 175, 175, + 175, 175, 175, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 463, 463, 463, 463, 463, 463, 589, + 175, 569, 569, 175, 175, 175, 175, 175, 175, 184, + 601, 539, 184, 569, 609, 539, 692, 601, 184, 184, + 609, 589, 184, 184, 692, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 539, + 1091, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 205, 205, 517, 610, 666, 602, 651, 511, 384, 384, - 391, 511, 391, 391, 391, 391, 391, 391, 391, 391, - 391, 391, 608, 517, 608, 515, 205, 229, 652, 515, - 229, 229, 229, 229, 229, 511, 695, 229, 229, 651, - 392, 229, 392, 392, 392, 392, 392, 392, 392, 392, - 392, 392, 511, 515, 654, 229, 229, 229, 231, 653, - 695, 515, 231, 231, 231, 692, 231, 657, 231, 231, - 1089, 393, 231, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 686, 692, 697, 231, 231, 231, 654, - 415, 686, 653, 697, 415, 608, 448, 415, 448, 448, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 1060, 659, 1060, 185, + 185, 185, 185, 185, 185, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 185, 185, 185, 185, 185, + 185, 207, 659, 701, 521, 207, 207, 207, 521, 207, + 387, 207, 207, 599, 387, 207, 451, 387, 451, 451, + 451, 451, 451, 451, 387, 595, 600, 701, 1090, 207, - 448, 448, 448, 448, 415, 507, 657, 507, 507, 507, - 507, 507, 507, 231, 266, 670, 689, 266, 415, 415, - 671, 671, 691, 266, 266, 698, 670, 266, 672, 672, - 266, 266, 671, 725, 1081, 448, 790, 689, 725, 691, - 672, 512, 698, 790, 266, 512, 266, 452, 452, 452, - 452, 452, 452, 452, 452, 452, 452, 452, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 794, 512, - 266, 266, 266, 269, 794, 693, 269, 795, 1080, 269, - 269, 795, 269, 269, 269, 269, 269, 693, 512, 269, - 269, 462, 693, 462, 462, 462, 462, 462, 462, 462, + 207, 207, 521, 607, 599, 600, 603, 515, 387, 387, + 394, 515, 394, 394, 394, 394, 394, 394, 394, 394, + 394, 394, 616, 521, 595, 451, 207, 231, 616, 603, + 231, 231, 231, 231, 231, 515, 607, 231, 231, 1082, + 395, 231, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 395, 515, 660, 657, 231, 231, 231, 233, 660, + 656, 516, 233, 233, 233, 516, 233, 662, 233, 233, + 604, 396, 233, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 571, 571, 657, 233, 233, 233, 516, + 418, 855, 604, 656, 418, 571, 511, 418, 511, 511, - 462, 462, 462, 269, 269, 269, 503, 503, 503, 503, - 503, 503, 503, 503, 503, 503, 505, 696, 505, 505, - 505, 505, 505, 505, 505, 505, 505, 505, 711, 269, - 269, 269, 272, 696, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 701, 711, 1072, 272, 272, - 272, 272, 272, 272, 506, 800, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 701, 800, 1071, 535, - 674, 674, 706, 535, 272, 272, 272, 272, 272, 272, - 277, 819, 674, 706, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 535, 819, 277, + 511, 511, 511, 511, 418, 613, 662, 613, 516, 614, + 615, 689, 658, 233, 268, 671, 813, 268, 418, 418, + 813, 614, 615, 268, 268, 694, 671, 268, 689, 855, + 268, 268, 447, 447, 447, 447, 447, 447, 447, 447, + 447, 447, 743, 694, 268, 658, 268, 455, 455, 455, + 455, 455, 455, 455, 455, 455, 455, 455, 462, 462, + 462, 462, 462, 462, 462, 462, 462, 462, 688, 447, + 268, 268, 268, 271, 688, 697, 271, 675, 613, 271, + 271, 743, 271, 271, 271, 271, 271, 1081, 675, 271, + 271, 465, 697, 465, 465, 465, 465, 465, 465, 465, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 886, 886, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, - 277, 277, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 710, 712, 1070, 278, 278, 278, 278, - 278, 278, 516, 802, 710, 712, 516, 802, 518, 519, - 1068, 814, 518, 519, 532, 737, 532, 532, 532, 532, - 532, 532, 278, 278, 278, 278, 278, 278, 304, 814, - 516, 304, 304, 304, 304, 304, 518, 519, 304, 304, + 465, 465, 465, 271, 271, 271, 507, 507, 507, 507, + 507, 507, 507, 507, 507, 507, 509, 702, 509, 509, + 509, 509, 509, 509, 509, 509, 509, 509, 693, 271, + 271, 271, 274, 702, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 695, 1080, 693, 274, 274, + 274, 274, 274, 274, 510, 699, 510, 510, 510, 510, + 510, 510, 510, 510, 510, 510, 695, 699, 1209, 543, + 676, 676, 699, 543, 274, 274, 274, 274, 274, 274, + 279, 704, 676, 1209, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 543, 704, 279, - 748, 758, 304, 838, 516, 748, 518, 838, 709, 519, - 709, 1064, 758, 532, 737, 806, 304, 304, 304, 306, - 806, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 801, 1047, 801, 306, 306, 306, 306, 306, - 306, 776, 777, 539, 578, 522, 805, 539, 578, 522, - 520, 585, 776, 777, 520, 585, 818, 805, 306, 818, - 1046, 306, 306, 306, 306, 306, 306, 311, 709, 799, - 311, 539, 578, 522, 1042, 799, 311, 311, 520, 585, - 311, 311, 1037, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 522, 520, 311, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 800, 800, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 677, 677, 698, 280, 280, 280, 280, + 280, 280, 522, 703, 808, 677, 522, 808, 519, 520, + 712, 703, 519, 520, 698, 523, 1078, 679, 679, 523, + 707, 712, 280, 280, 280, 280, 280, 280, 306, 679, + 522, 306, 306, 306, 306, 306, 519, 520, 306, 306, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 311, 311, 311, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 312, 312, 778, 778, 1020, 312, 312, 312, - 312, 312, 312, 521, 523, 1039, 778, 521, 523, 528, - 528, 528, 528, 528, 528, 528, 528, 528, 528, 831, - 817, 1039, 817, 312, 312, 312, 312, 312, 312, 324, - 831, 521, 523, 324, 324, 324, 820, 324, 828, 324, + 522, 707, 306, 523, 519, 524, 525, 731, 754, 524, + 525, 520, 731, 754, 717, 523, 306, 306, 306, 308, + 1074, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 717, 524, 525, 308, 308, 308, 308, 308, + 308, 716, 812, 583, 590, 526, 622, 583, 590, 526, + 622, 806, 716, 524, 812, 525, 806, 718, 308, 803, + 803, 308, 308, 308, 308, 308, 308, 313, 718, 1052, + 313, 583, 590, 526, 622, 796, 313, 313, 932, 932, + 313, 313, 796, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 526, 622, 313, - 324, 779, 779, 324, 781, 781, 528, 843, 523, 827, - 828, 843, 521, 779, 820, 827, 781, 324, 324, 324, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 558, 564, 564, 564, 564, 564, 564, 564, 564, 564, - 564, 817, 1019, 889, 324, 334, 889, 334, 334, 334, - 334, 334, 334, 334, 334, 334, 334, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 570, 570, 570, - 570, 570, 570, 570, 570, 832, 840, 924, 924, 570, - 832, 842, 840, 842, 334, 335, 1015, 335, 335, 335, - 335, 335, 335, 335, 335, 335, 335, 572, 572, 572, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 764, 782, 891, 314, 314, 314, + 314, 314, 314, 527, 891, 764, 782, 527, 532, 532, + 532, 532, 532, 532, 532, 532, 532, 532, 691, 715, + 821, 715, 691, 314, 314, 314, 314, 314, 314, 326, + 783, 527, 835, 326, 326, 326, 834, 326, 821, 326, - 572, 572, 572, 572, 572, 572, 572, 573, 573, 573, - 573, 573, 573, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 1004, 335, 336, 841, 336, 336, 336, - 336, 336, 336, 336, 336, 336, 336, 575, 841, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 612, - 656, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 884, 918, 884, 336, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 961, 961, 997, 337, - 337, 337, 337, 337, 337, 613, 844, 613, 613, 613, - 613, 613, 613, 613, 613, 613, 613, 844, 845, 1050, + 326, 783, 834, 326, 835, 532, 691, 527, 1046, 574, + 574, 574, 574, 574, 574, 574, 574, 326, 326, 326, + 536, 574, 536, 536, 536, 536, 536, 536, 562, 562, + 562, 562, 562, 562, 562, 562, 562, 562, 562, 715, + 809, 826, 1029, 809, 326, 336, 838, 336, 336, 336, + 336, 336, 336, 336, 336, 336, 336, 838, 826, 536, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 825, 839, 1028, 825, 336, 337, 839, 337, 337, 337, + 337, 337, 337, 337, 337, 337, 337, 576, 576, 576, - 918, 1050, 337, 845, 846, 337, 337, 337, 337, 337, - 337, 340, 340, 340, 340, 340, 340, 340, 340, 340, - 340, 340, 846, 962, 962, 340, 340, 340, 340, 340, - 340, 614, 855, 614, 614, 614, 614, 614, 614, 614, - 614, 614, 614, 617, 855, 927, 996, 617, 927, 968, - 968, 340, 340, 340, 340, 340, 340, 342, 342, 342, - 342, 342, 342, 342, 342, 342, 342, 342, 342, 974, - 974, 617, 342, 342, 342, 342, 342, 342, 618, 899, - 623, 621, 618, 627, 623, 621, 869, 627, 680, 680, - 680, 680, 680, 680, 870, 617, 899, 869, 342, 342, + 576, 576, 576, 576, 576, 576, 576, 577, 577, 577, + 577, 577, 577, 661, 661, 661, 661, 661, 661, 661, + 661, 661, 661, 1024, 337, 338, 848, 338, 338, 338, + 338, 338, 338, 338, 338, 338, 338, 579, 848, 579, + 579, 579, 579, 579, 579, 579, 579, 579, 579, 617, + 661, 617, 617, 617, 617, 617, 617, 617, 617, 617, + 617, 824, 926, 824, 338, 339, 339, 339, 339, 339, + 339, 339, 339, 339, 339, 339, 969, 969, 1013, 339, + 339, 339, 339, 339, 339, 618, 862, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 801, 862, 845, - 342, 342, 342, 342, 344, 870, 618, 344, 623, 621, - 994, 627, 618, 344, 344, 621, 623, 344, 344, 627, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 1006, 1006, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 857, 985, 888, 345, 345, 345, 345, 345, 345, + 926, 1006, 339, 845, 801, 339, 339, 339, 339, 339, + 339, 342, 342, 342, 342, 342, 342, 342, 342, 342, + 342, 342, 824, 1005, 896, 342, 342, 342, 342, 342, + 342, 619, 827, 619, 619, 619, 619, 619, 619, 619, + 619, 619, 619, 628, 850, 896, 1003, 628, 850, 902, + 827, 342, 342, 342, 342, 342, 342, 344, 344, 344, + 344, 344, 344, 344, 344, 344, 344, 344, 344, 994, + 902, 628, 344, 344, 344, 344, 344, 344, 623, 628, + 632, 626, 623, 634, 632, 626, 672, 634, 672, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 344, 344, - 622, 624, 882, 857, 622, 624, 888, 625, 882, 973, - 628, 625, 973, 626, 628, 629, 1053, 626, 1053, 629, - 345, 345, 345, 345, 345, 345, 368, 941, 622, 624, - 368, 368, 368, 894, 368, 625, 368, 368, 628, 941, - 368, 626, 622, 629, 911, 628, 894, 871, 871, 625, - 872, 872, 874, 874, 368, 368, 368, 911, 624, 871, - 975, 626, 872, 975, 874, 660, 629, 660, 660, 660, - 660, 660, 660, 677, 677, 677, 677, 677, 677, 677, - 677, 368, 369, 942, 926, 677, 369, 369, 369, 369, - 369, 944, 369, 369, 958, 942, 369, 926, 685, 984, + 344, 344, 344, 344, 346, 852, 623, 346, 632, 626, + 852, 634, 623, 346, 346, 626, 632, 346, 346, 1048, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 634, 1048, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, + 347, 784, 784, 990, 347, 347, 347, 347, 347, 347, - 981, 984, 685, 944, 660, 958, 995, 980, 1009, 995, - 369, 369, 369, 667, 970, 667, 667, 667, 667, 667, - 667, 667, 667, 667, 667, 668, 685, 668, 668, 668, - 668, 668, 668, 668, 668, 668, 668, 369, 387, 959, - 1038, 1038, 387, 387, 387, 954, 387, 1009, 387, 387, - 959, 669, 387, 669, 669, 669, 669, 669, 669, 669, - 669, 669, 669, 1176, 984, 1176, 387, 387, 387, 673, - 673, 673, 673, 673, 673, 673, 673, 673, 673, 679, - 679, 679, 679, 679, 679, 679, 679, 679, 679, 1048, - 1048, 690, 694, 387, 388, 690, 694, 1013, 388, 388, + 627, 629, 847, 784, 627, 629, 864, 630, 847, 935, + 633, 630, 935, 631, 633, 696, 851, 631, 864, 696, + 347, 347, 347, 347, 347, 347, 371, 851, 627, 629, + 371, 371, 371, 853, 371, 630, 371, 371, 633, 876, + 371, 631, 627, 696, 893, 633, 877, 785, 785, 630, + 876, 853, 893, 989, 371, 371, 371, 877, 629, 785, + 665, 631, 665, 665, 665, 665, 665, 665, 673, 897, + 673, 673, 673, 673, 673, 673, 673, 673, 673, 673, + 897, 371, 372, 787, 787, 889, 372, 372, 372, 372, + 372, 889, 372, 372, 1004, 787, 372, 1004, 674, 665, - 388, 388, 388, 1005, 388, 388, 1005, 682, 388, 682, - 682, 682, 682, 682, 682, 682, 682, 682, 682, 690, - 694, 940, 388, 388, 388, 717, 936, 717, 717, 717, - 717, 717, 717, 699, 700, 931, 1013, 699, 700, 713, - 713, 713, 713, 713, 713, 713, 713, 713, 713, 388, - 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, - 394, 699, 700, 928, 394, 394, 394, 394, 394, 394, - 715, 966, 715, 715, 715, 715, 715, 715, 715, 715, - 715, 715, 966, 1082, 1082, 718, 960, 960, 1036, 718, - 394, 394, 394, 394, 394, 394, 396, 923, 960, 1036, + 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, + 372, 372, 372, 678, 678, 678, 678, 678, 678, 678, + 678, 678, 678, 682, 682, 682, 682, 682, 682, 682, + 682, 962, 894, 878, 878, 682, 700, 372, 390, 894, + 700, 892, 390, 390, 390, 878, 390, 892, 390, 390, + 934, 1018, 390, 684, 684, 684, 684, 684, 684, 684, + 684, 684, 684, 934, 700, 966, 390, 390, 390, 685, + 685, 685, 685, 685, 685, 687, 966, 687, 687, 687, + 687, 687, 687, 687, 687, 687, 687, 705, 706, 898, + 1018, 705, 706, 390, 391, 970, 970, 898, 391, 391, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 718, 913, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 912, 909, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 397, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 1179, - 908, 1179, 397, 397, 397, 397, 397, 397, 716, 903, - 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, - 719, 722, 723, 724, 719, 722, 723, 724, 397, 397, + 391, 391, 391, 907, 391, 391, 949, 723, 391, 723, + 723, 723, 723, 723, 723, 705, 706, 993, 949, 993, + 907, 948, 391, 391, 391, 719, 719, 719, 719, 719, + 719, 719, 719, 719, 719, 721, 950, 721, 721, 721, + 721, 721, 721, 721, 721, 721, 721, 944, 950, 391, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 1015, 1015, 1224, 397, 397, 397, 397, 397, 397, + 722, 952, 722, 722, 722, 722, 722, 722, 722, 722, + 722, 722, 993, 952, 1224, 724, 879, 879, 967, 724, + 397, 397, 397, 397, 397, 397, 399, 1186, 879, 967, - 397, 397, 397, 397, 416, 1021, 416, 416, 416, 416, - 416, 416, 416, 416, 416, 416, 901, 1021, 719, 722, - 723, 724, 1007, 897, 1022, 1007, 719, 1024, 726, 727, - 728, 729, 726, 727, 728, 729, 1022, 723, 730, 1024, - 724, 741, 730, 416, 417, 741, 417, 417, 417, 417, - 417, 417, 417, 417, 417, 417, 726, 727, 728, 729, - 768, 768, 768, 768, 768, 768, 730, 896, 745, 741, - 1091, 895, 745, 740, 728, 740, 740, 740, 740, 740, - 740, 727, 1091, 417, 418, 1092, 418, 418, 418, 418, - 418, 418, 418, 418, 418, 418, 745, 1092, 893, 736, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 724, 1186, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 1047, 1047, + 399, 399, 399, 399, 399, 399, 399, 399, 399, 399, + 399, 399, 399, 399, 399, 399, 399, 399, 400, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 1063, + 939, 1063, 400, 400, 400, 400, 400, 400, 771, 771, + 771, 771, 771, 771, 771, 771, 771, 771, 725, 728, + 729, 730, 725, 728, 729, 730, 977, 936, 400, 400, - 736, 736, 736, 736, 736, 736, 736, 736, 736, 749, - 752, 753, 740, 749, 752, 753, 787, 787, 787, 787, - 787, 787, 890, 418, 419, 885, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 736, 749, 752, 753, - 419, 419, 419, 419, 419, 419, 765, 765, 765, 765, - 765, 765, 765, 765, 765, 765, 767, 767, 767, 767, - 767, 767, 767, 767, 767, 767, 419, 419, 419, 419, - 419, 419, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 1074, 1244, 1244, 1244, 421, 421, 421, 421, - 421, 421, 770, 853, 770, 770, 770, 770, 770, 770, + 400, 400, 400, 400, 419, 977, 419, 419, 419, 419, + 419, 419, 419, 419, 419, 419, 725, 728, 729, 730, + 974, 931, 992, 992, 725, 992, 992, 1022, 732, 733, + 734, 974, 732, 733, 734, 729, 735, 736, 730, 1014, + 735, 736, 1014, 419, 420, 921, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 732, 733, 734, 881, + 881, 979, 920, 983, 735, 736, 1022, 917, 747, 979, + 983, 881, 747, 746, 734, 746, 746, 746, 746, 746, + 746, 733, 1016, 420, 421, 1016, 421, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 747, 1092, 1092, 742, - 770, 770, 770, 770, 775, 1078, 775, 775, 775, 775, - 775, 775, 421, 421, 421, 421, 421, 421, 437, 1094, - 852, 1074, 437, 437, 437, 839, 437, 833, 437, 437, - 830, 1094, 437, 771, 771, 771, 771, 771, 771, 771, - 771, 771, 771, 1054, 1078, 1054, 437, 437, 437, 773, - 829, 773, 773, 773, 773, 773, 773, 773, 773, 773, - 773, 774, 1130, 774, 774, 774, 774, 774, 774, 774, - 774, 774, 774, 437, 438, 1141, 1160, 1187, 438, 438, - 438, 438, 438, 826, 438, 438, 825, 1141, 438, 780, - 780, 780, 780, 780, 780, 780, 780, 780, 780, 816, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 751, + 755, 758, 746, 751, 755, 758, 916, 1056, 759, 1189, + 911, 1189, 759, 421, 422, 1056, 422, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 742, 751, 755, 758, + 422, 422, 422, 422, 422, 422, 759, 773, 773, 773, + 773, 773, 773, 773, 773, 773, 773, 774, 774, 774, + 774, 774, 774, 1158, 909, 905, 422, 422, 422, 422, + 422, 422, 424, 424, 424, 424, 424, 424, 424, 424, + 424, 424, 975, 1158, 904, 903, 424, 424, 424, 424, + 424, 424, 776, 975, 776, 776, 776, 776, 776, 776, - 815, 1130, 438, 438, 438, 784, 784, 784, 784, 784, - 784, 784, 784, 1054, 813, 1160, 1187, 784, 786, 786, - 786, 786, 786, 786, 786, 786, 786, 786, 796, 438, - 446, 772, 446, 446, 446, 446, 446, 446, 446, 446, - 446, 446, 789, 764, 789, 789, 789, 789, 789, 789, - 789, 789, 789, 789, 791, 797, 803, 809, 791, 797, - 803, 809, 811, 982, 898, 898, 811, 898, 898, 446, - 447, 763, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 791, 797, 803, 809, 982, 762, 982, 982, - 811, 821, 821, 821, 821, 821, 821, 821, 821, 821, + 776, 776, 776, 776, 781, 1084, 781, 781, 781, 781, + 781, 781, 424, 424, 424, 424, 424, 424, 440, 968, + 968, 901, 440, 440, 440, 1192, 440, 1192, 440, 440, + 860, 968, 440, 777, 777, 777, 777, 777, 777, 777, + 777, 777, 777, 859, 1084, 846, 440, 440, 440, 779, + 1030, 779, 779, 779, 779, 779, 779, 779, 779, 779, + 779, 780, 1030, 780, 780, 780, 780, 780, 780, 780, + 780, 780, 780, 440, 441, 982, 984, 1365, 441, 441, + 441, 441, 441, 1365, 441, 441, 982, 984, 441, 786, + 786, 786, 786, 786, 786, 786, 786, 786, 786, 840, - 821, 821, 863, 863, 863, 863, 863, 863, 757, 447, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 756, 755, 898, 458, 458, 458, 458, - 458, 458, 822, 822, 822, 822, 822, 822, 822, 822, - 822, 822, 822, 880, 880, 880, 880, 880, 880, 754, - 751, 1203, 458, 458, 458, 458, 458, 458, 461, 461, + 837, 1031, 441, 441, 441, 790, 790, 790, 790, 790, + 790, 790, 790, 1031, 836, 833, 1033, 790, 792, 792, + 792, 792, 792, 792, 792, 792, 792, 792, 1033, 441, + 449, 832, 449, 449, 449, 449, 449, 449, 449, 449, + 449, 449, 793, 793, 793, 793, 793, 793, 795, 823, + 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, + 798, 804, 810, 816, 798, 804, 810, 816, 1088, 449, + 450, 991, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 870, 870, 870, 870, 870, 870, 798, 804, + 810, 816, 822, 820, 991, 818, 991, 991, 1049, 818, + + 887, 887, 887, 887, 887, 887, 815, 1088, 1049, 450, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, - 900, 750, 747, 461, 461, 461, 461, 461, 461, 823, - 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, - 1203, 1237, 1237, 900, 746, 900, 900, 1237, 744, 461, - - 461, 461, 461, 461, 461, 464, 743, 971, 464, 983, - 983, 971, 983, 983, 464, 464, 742, 735, 464, 464, - 900, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 971, 721, 464, 464, 464, + 461, 461, 461, 818, 814, 778, 461, 461, 461, 461, + 461, 461, 828, 828, 828, 828, 828, 828, 828, 828, + 828, 828, 828, 918, 1058, 906, 906, 918, 906, 906, + 770, 1058, 461, 461, 461, 461, 461, 461, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 508, 508, 508, 508, 508, 508, 508, 508, 508, - 508, 508, 1276, 1276, 1276, 508, 508, 508, 508, 508, + 908, 918, 769, 464, 464, 464, 464, 464, 464, 829, + 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, + 768, 763, 918, 908, 762, 908, 908, 1141, 1045, 464, - 508, 950, 950, 950, 950, 950, 950, 847, 847, 847, - 847, 847, 847, 847, 847, 847, 847, 1146, 1146, 1146, - 1146, 508, 508, 508, 508, 508, 508, 509, 720, 714, - 708, 509, 509, 509, 509, 509, 509, 509, 509, 509, - 509, 509, 509, 509, 847, 707, 509, 509, 509, 509, - 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, - 509, 509, 509, 509, 509, 509, 509, 509, 509, 705, - 704, 509, 509, 509, 509, 509, 509, 509, 509, 509, - 509, 509, 509, 509, 509, 509, 509, 509, 509, 510, - 703, 702, 684, 510, 851, 851, 851, 851, 851, 851, + 464, 464, 464, 464, 464, 467, 906, 980, 467, 1045, + 761, 980, 760, 757, 467, 467, 756, 753, 467, 467, + 908, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 467, 980, 1141, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, + 467, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 512, 1260, 1260, 1260, 512, 512, 512, 512, 512, - 851, 976, 978, 664, 663, 976, 978, 510, 510, 510, - 510, 510, 510, 510, 510, 510, 510, 510, 662, 661, - 650, 510, 510, 510, 510, 510, 510, 649, 648, 976, - 978, 647, 851, 854, 854, 854, 854, 854, 854, 854, - 854, 854, 854, 646, 645, 644, 643, 510, 510, 510, - 510, 510, 510, 530, 642, 530, 530, 530, 530, 530, - 530, 530, 530, 530, 530, 856, 856, 856, 856, 856, - 856, 856, 856, 856, 856, 860, 641, 860, 860, 860, - 860, 860, 860, 1343, 1343, 1051, 1051, 860, 1051, 1051, - 1343, 640, 530, 531, 639, 531, 531, 531, 531, 531, + 512, 830, 830, 830, 830, 830, 830, 830, 830, 830, + 830, 830, 914, 914, 914, 914, 914, 914, 914, 752, + 1057, 512, 512, 512, 512, 512, 512, 513, 1057, 750, + 1172, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 749, 748, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 1172, + 741, 513, 513, 513, 513, 513, 513, 513, 513, 513, + 513, 513, 513, 513, 513, 513, 513, 513, 513, 514, + 1200, 1217, 1101, 514, 854, 854, 854, 854, 854, 854, - 531, 531, 531, 531, 531, 862, 862, 862, 862, 862, - 862, 862, 862, 862, 862, 865, 638, 865, 865, 865, - 865, 865, 865, 865, 865, 865, 865, 634, 633, 632, - 993, 631, 531, 553, 993, 553, 553, 553, 553, 553, - 553, 553, 553, 553, 553, 866, 630, 866, 866, 866, - 866, 866, 866, 866, 866, 866, 866, 867, 993, 867, - 867, 867, 867, 867, 867, 867, 867, 867, 867, 620, - 619, 616, 553, 554, 615, 554, 554, 554, 554, 554, - 554, 554, 554, 554, 554, 868, 607, 868, 868, 868, - 868, 868, 868, 868, 868, 868, 868, 873, 873, 873, + 854, 854, 854, 854, 1101, 727, 1102, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 1102, 1123, + 726, 514, 514, 514, 514, 514, 514, 1123, 720, 1200, + 1217, 854, 858, 858, 858, 858, 858, 858, 858, 958, + 958, 958, 958, 958, 958, 714, 713, 514, 514, 514, + 514, 514, 514, 534, 711, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 1061, 1061, 710, 1061, 1061, + 858, 861, 861, 861, 861, 861, 861, 861, 861, 861, + 861, 863, 863, 863, 863, 863, 863, 863, 863, 863, + 863, 709, 534, 535, 1104, 535, 535, 535, 535, 535, - 873, 873, 873, 873, 873, 873, 873, 1040, 1265, 1265, - 606, 1040, 554, 555, 1265, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 555, 877, 877, 877, 877, 877, - 877, 877, 877, 605, 597, 1040, 562, 877, 879, 879, - 879, 879, 879, 879, 879, 879, 879, 879, 561, 560, - 559, 557, 555, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 556, 548, 547, 568, - 568, 568, 568, 568, 568, 881, 546, 881, 881, 881, - 881, 881, 881, 881, 881, 881, 881, 887, 891, 545, - 544, 887, 891, 543, 542, 568, 568, 568, 568, 568, + 535, 535, 535, 535, 535, 867, 1104, 867, 867, 867, + 867, 867, 867, 1292, 1292, 1292, 1118, 867, 869, 869, + 869, 869, 869, 869, 869, 869, 869, 869, 1118, 708, + 985, 690, 535, 557, 985, 557, 557, 557, 557, 557, + 557, 557, 557, 557, 557, 872, 669, 872, 872, 872, + 872, 872, 872, 872, 872, 872, 872, 873, 985, 873, + 873, 873, 873, 873, 873, 873, 873, 873, 873, 668, + 987, 667, 557, 558, 987, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 874, 666, 874, 874, 874, + 874, 874, 874, 874, 874, 874, 874, 875, 987, 875, - 568, 571, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 541, 887, 891, 571, 571, 571, - 571, 571, 571, 902, 902, 902, 902, 902, 902, 902, - 902, 902, 902, 540, 892, 910, 887, 891, 892, 910, - 537, 536, 534, 571, 571, 571, 571, 571, 571, 574, - 574, 574, 574, 574, 574, 574, 574, 574, 574, 574, - 574, 527, 892, 910, 574, 574, 574, 574, 574, 574, - 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, - 904, 526, 986, 892, 910, 525, 986, 986, 986, 986, - 574, 574, 574, 574, 574, 574, 635, 504, 635, 635, + 875, 875, 875, 875, 875, 875, 875, 875, 875, 655, + 654, 653, 558, 559, 652, 559, 559, 559, 559, 559, + 559, 559, 559, 559, 559, 880, 880, 880, 880, 880, + 880, 880, 880, 880, 880, 884, 884, 884, 884, 884, + 884, 884, 884, 651, 1064, 650, 1064, 884, 1157, 1157, + 1157, 1157, 559, 572, 572, 572, 572, 572, 572, 572, + 572, 572, 572, 572, 572, 572, 649, 648, 647, 572, + 572, 572, 572, 572, 572, 886, 886, 886, 886, 886, + 886, 886, 886, 886, 886, 910, 910, 910, 910, 910, + 910, 910, 910, 910, 910, 572, 572, 572, 572, 572, - 635, 635, 635, 635, 635, 635, 635, 635, 905, 905, - 905, 905, 905, 905, 905, 905, 905, 905, 905, 906, - 906, 906, 906, 906, 906, 906, 496, 495, 914, 1043, - 1069, 494, 914, 1043, 1069, 635, 636, 986, 636, 636, - 636, 636, 636, 636, 636, 636, 636, 636, 957, 493, - 957, 957, 957, 957, 957, 957, 914, 1043, 1069, 492, - 915, 491, 486, 483, 915, 917, 917, 917, 917, 917, - 917, 917, 917, 917, 917, 636, 637, 914, 637, 637, - 637, 637, 637, 637, 637, 637, 637, 637, 915, 455, - 921, 921, 921, 921, 921, 921, 921, 454, 451, 450, + 572, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 575, 575, 575, 575, 1064, 646, 645, 575, 575, 575, + 575, 575, 575, 888, 644, 888, 888, 888, 888, 888, + 888, 888, 888, 888, 888, 929, 929, 929, 929, 929, + 929, 929, 643, 575, 575, 575, 575, 575, 575, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 639, 638, 637, 578, 578, 578, 578, 578, 578, + 636, 635, 965, 929, 965, 965, 965, 965, 965, 965, + 895, 625, 1125, 1125, 895, 1125, 1125, 624, 621, 620, + 578, 578, 578, 578, 578, 578, 640, 612, 640, 640, - 436, 925, 917, 929, 930, 925, 1108, 929, 930, 915, - 1108, 1266, 1266, 435, 434, 637, 658, 1266, 658, 658, - 658, 658, 658, 658, 658, 658, 658, 658, 921, 925, - 433, 929, 930, 937, 1108, 937, 937, 937, 937, 937, - 937, 937, 937, 937, 937, 1114, 1114, 432, 1114, 1114, - 925, 1349, 929, 930, 431, 658, 659, 1349, 659, 659, - 659, 659, 659, 659, 659, 659, 659, 659, 938, 430, - 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, - 939, 429, 939, 939, 939, 939, 939, 939, 939, 939, - 939, 939, 428, 427, 426, 659, 665, 665, 665, 665, + 640, 640, 640, 640, 640, 640, 640, 640, 895, 912, + 912, 912, 912, 912, 912, 912, 912, 912, 912, 912, + 899, 611, 610, 945, 899, 945, 945, 945, 945, 945, + 945, 945, 945, 945, 945, 640, 641, 895, 641, 641, + 641, 641, 641, 641, 641, 641, 641, 641, 899, 913, + 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, + 900, 922, 923, 602, 900, 922, 923, 973, 973, 973, + 973, 973, 973, 973, 973, 641, 642, 899, 642, 642, + 642, 642, 642, 642, 642, 642, 642, 642, 900, 922, + 923, 925, 925, 925, 925, 925, 925, 925, 925, 925, - 665, 665, 665, 665, 665, 665, 665, 425, 424, 423, - 665, 665, 665, 665, 665, 665, 943, 943, 943, 943, - 943, 943, 943, 943, 943, 943, 949, 949, 949, 949, - 949, 949, 949, 949, 949, 949, 665, 665, 665, 665, - 665, 665, 675, 675, 675, 675, 675, 675, 675, 675, - 675, 675, 675, 675, 675, 420, 414, 411, 675, 675, - 675, 675, 675, 675, 947, 410, 947, 947, 947, 947, - 947, 947, 409, 408, 407, 1018, 947, 1018, 1018, 1018, - 1018, 1018, 1018, 406, 675, 675, 675, 675, 675, 675, - 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, + 925, 933, 937, 938, 566, 933, 937, 938, 1253, 1253, + 922, 923, 565, 564, 1253, 642, 663, 900, 663, 663, + 663, 663, 663, 663, 663, 663, 663, 663, 925, 933, + 937, 938, 946, 563, 946, 946, 946, 946, 946, 946, + 946, 946, 946, 946, 1039, 1039, 1039, 1039, 1039, 1039, + 933, 937, 938, 561, 560, 663, 664, 1152, 664, 664, + 664, 664, 664, 664, 664, 664, 664, 664, 947, 1152, + 947, 947, 947, 947, 947, 947, 947, 947, 947, 947, + 951, 951, 951, 951, 951, 951, 951, 951, 951, 951, + 1164, 1164, 552, 1164, 1164, 664, 670, 670, 670, 670, - 678, 678, 678, 405, 404, 403, 678, 678, 678, 678, - 678, 678, 952, 402, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 965, 965, 965, 965, 965, 965, - 965, 965, 678, 678, 678, 678, 678, 678, 681, 681, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, - 401, 400, 399, 681, 681, 681, 681, 681, 681, 953, - 953, 953, 953, 953, 953, 953, 953, 953, 953, 398, - 1121, 987, 395, 380, 1121, 987, 987, 987, 987, 681, - 681, 681, 681, 681, 681, 738, 376, 738, 738, 738, - 738, 738, 738, 738, 738, 738, 738, 955, 1121, 955, + 670, 670, 670, 670, 670, 670, 670, 551, 550, 549, + 670, 670, 670, 670, 670, 670, 955, 548, 955, 955, + 955, 955, 955, 955, 1281, 1281, 547, 1002, 955, 1050, + 1281, 1002, 546, 1050, 545, 544, 670, 670, 670, 670, + 670, 670, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 1002, 541, 1050, 680, 680, + 680, 680, 680, 680, 957, 957, 957, 957, 957, 957, + 957, 957, 957, 957, 961, 961, 961, 961, 961, 961, + 961, 961, 961, 961, 680, 680, 680, 680, 680, 680, + 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 956, - 375, 956, 956, 956, 956, 956, 956, 956, 956, 956, - 956, 374, 373, 367, 738, 739, 987, 739, 739, 739, - 739, 739, 739, 739, 739, 739, 739, 1014, 1014, 1014, - 1014, 1014, 1014, 1014, 1014, 1014, 1014, 366, 967, 969, - 365, 992, 967, 969, 1012, 992, 1012, 1012, 1012, 1012, - 1012, 1012, 364, 363, 739, 759, 759, 759, 759, 759, - 759, 759, 759, 759, 759, 759, 967, 969, 988, 992, - 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, - 362, 1152, 1152, 1012, 1152, 1152, 1283, 967, 969, 1283, + 683, 683, 683, 540, 538, 531, 683, 683, 683, 683, + 683, 683, 960, 530, 960, 960, 960, 960, 960, 960, + 960, 960, 960, 960, 1001, 529, 1190, 1190, 1001, 1190, + 1190, 508, 683, 683, 683, 683, 683, 683, 686, 686, + 686, 686, 686, 686, 686, 686, 686, 686, 686, 686, + 500, 499, 1001, 686, 686, 686, 686, 686, 686, 963, + 498, 963, 963, 963, 963, 963, 963, 963, 963, 963, + 963, 1282, 1282, 1001, 497, 496, 495, 1282, 490, 686, + 686, 686, 686, 686, 686, 744, 487, 744, 744, 744, + 744, 744, 744, 744, 744, 744, 744, 964, 458, 964, - 992, 1283, 360, 759, 760, 760, 760, 760, 760, 760, - 760, 760, 760, 760, 760, 989, 359, 989, 989, 989, - 989, 989, 989, 989, 989, 989, 989, 990, 358, 990, - 990, 990, 990, 990, 990, 990, 990, 990, 990, 357, - 356, 355, 760, 761, 761, 761, 761, 761, 761, 761, - 761, 761, 761, 761, 991, 354, 991, 991, 991, 991, - 991, 991, 991, 991, 991, 991, 353, 1002, 1003, 352, - 351, 1002, 1003, 1030, 1030, 1030, 1030, 1030, 1030, 350, - 349, 761, 766, 348, 766, 766, 766, 766, 766, 766, - 766, 766, 766, 766, 766, 1002, 1003, 346, 766, 766, + 964, 964, 964, 964, 964, 964, 964, 964, 964, 457, + 1053, 1079, 1011, 454, 1053, 1079, 1011, 1119, 453, 976, + 439, 1119, 978, 976, 744, 745, 978, 745, 745, 745, + 745, 745, 745, 745, 745, 745, 745, 995, 1053, 1079, + 1011, 995, 995, 995, 995, 1119, 438, 976, 437, 997, + 978, 997, 997, 997, 997, 997, 997, 997, 997, 997, + 997, 1011, 436, 435, 745, 765, 765, 765, 765, 765, + 765, 765, 765, 765, 765, 765, 976, 996, 434, 978, + 433, 996, 996, 996, 996, 1110, 1110, 1110, 1110, 1110, + 1110, 998, 995, 998, 998, 998, 998, 998, 998, 998, - 766, 766, 766, 766, 1008, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1045, 1079, 1002, 1003, 1045, 1079, - 339, 338, 325, 321, 766, 766, 766, 766, 766, 766, - 769, 769, 769, 769, 769, 769, 769, 769, 769, 769, - 769, 1008, 1045, 1079, 769, 769, 769, 769, 769, 769, - 1016, 320, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, - 1016, 1016, 1055, 1045, 1079, 318, 1055, 1055, 1055, 1055, - 769, 769, 769, 769, 769, 769, 782, 782, 782, 782, - 782, 782, 782, 782, 782, 782, 782, 782, 782, 317, - 316, 315, 782, 782, 782, 782, 782, 782, 1017, 314, + 998, 998, 998, 765, 766, 766, 766, 766, 766, 766, + 766, 766, 766, 766, 766, 999, 432, 999, 999, 999, + 999, 999, 999, 999, 999, 999, 999, 1012, 1310, 1310, + 431, 1012, 996, 1021, 1310, 1021, 1021, 1021, 1021, 1021, + 1021, 430, 766, 767, 767, 767, 767, 767, 767, 767, + 767, 767, 767, 767, 1000, 1012, 1000, 1000, 1000, 1000, + 1000, 1000, 1000, 1000, 1000, 1000, 429, 1132, 428, 1159, + 427, 1132, 1021, 1159, 1299, 1323, 1012, 1299, 1323, 1299, + 1323, 767, 772, 426, 772, 772, 772, 772, 772, 772, + 772, 772, 772, 772, 772, 1132, 423, 1159, 772, 772, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1100, 1100, 1100, 1100, 1100, 1100, 313, 1055, 782, 782, - 782, 782, 782, 782, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 307, 303, 300, - 785, 785, 785, 785, 785, 785, 1023, 1023, 1023, 1023, - 1023, 1023, 1023, 1023, 1023, 1023, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 785, 785, 785, 785, - 785, 785, 788, 788, 788, 788, 788, 788, 788, 788, - 788, 788, 788, 298, 296, 293, 292, 788, 788, 788, - 788, 788, 788, 1027, 291, 1027, 1027, 1027, 1027, 1027, + 772, 772, 772, 772, 1017, 1017, 1017, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1023, 1023, 1023, 1023, 1023, 1023, + 1023, 1023, 1023, 1023, 772, 772, 772, 772, 772, 772, + 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, + 775, 1017, 417, 414, 775, 775, 775, 775, 775, 775, + 1025, 413, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, + 1025, 1025, 1027, 412, 1027, 1027, 1027, 1027, 1027, 1027, + 775, 775, 775, 775, 775, 775, 788, 788, 788, 788, + 788, 788, 788, 788, 788, 788, 788, 788, 788, 411, + 410, 409, 788, 788, 788, 788, 788, 788, 1026, 408, - 1027, 288, 287, 285, 1067, 1027, 1067, 1067, 1067, 1067, - 1067, 1067, 284, 788, 788, 788, 788, 788, 788, 793, - 1060, 1307, 793, 1060, 1307, 283, 1307, 282, 793, 793, - 1060, 1060, 793, 793, 1060, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 1060, 1060, - 1060, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 793, 793, 824, 281, 279, 273, 824, + 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1077, 407, 1077, 1077, 1077, 1077, 1077, 1077, 788, 788, + 788, 788, 788, 788, 791, 791, 791, 791, 791, 791, + 791, 791, 791, 791, 791, 791, 791, 406, 405, 404, + 791, 791, 791, 791, 791, 791, 1032, 1032, 1032, 1032, + 1032, 1032, 1032, 1032, 1032, 1032, 1038, 1038, 1038, 1038, + 1038, 1038, 1038, 1038, 1038, 1038, 791, 791, 791, 791, + 791, 791, 794, 794, 794, 794, 794, 794, 794, 794, + 794, 794, 794, 403, 402, 401, 398, 794, 794, 794, + 794, 794, 794, 1036, 383, 1036, 1036, 1036, 1036, 1036, - 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, - 265, 824, 261, 256, 824, 824, 824, 824, 824, 824, - 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, - 824, 824, 824, 824, 824, 824, 824, 255, 253, 824, - 824, 824, 824, 824, 824, 824, 824, 824, 824, 824, - 824, 824, 824, 824, 824, 824, 824, 834, 834, 834, - 834, 834, 834, 834, 834, 834, 834, 834, 1032, 249, - 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, - 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, - 1033, 244, 239, 237, 233, 834, 835, 835, 835, 835, + 1036, 379, 378, 377, 376, 1036, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 794, 794, 794, 794, 794, 794, 797, + 1070, 1339, 797, 1070, 1339, 370, 1339, 369, 797, 797, + 1070, 1070, 797, 797, 1070, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 1070, 1070, + 1070, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 797, 797, 797, 797, 797, 831, 368, 367, 366, 831, - 835, 835, 835, 835, 835, 835, 835, 1034, 1034, 1034, - 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035, 1035, - 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1110, - 228, 216, 215, 1110, 835, 836, 836, 836, 836, 836, - 836, 836, 836, 836, 836, 836, 214, 1147, 1056, 213, - 212, 1147, 1056, 1056, 1056, 1056, 1059, 1110, 207, 1059, - 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 200, - 199, 198, 197, 836, 837, 1147, 1149, 837, 1110, 196, - 1149, 195, 193, 837, 837, 192, 191, 837, 837, 190, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, + 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, + 365, 831, 363, 362, 831, 831, 831, 831, 831, 831, + 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, + 831, 831, 831, 831, 831, 831, 831, 361, 360, 831, + 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, + 831, 831, 831, 831, 831, 831, 831, 841, 841, 841, + 841, 841, 841, 841, 841, 841, 841, 841, 1041, 359, + 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, + 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, + 1042, 358, 357, 356, 355, 841, 842, 842, 842, 842, - 837, 837, 837, 1056, 1149, 189, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, - 849, 849, 849, 849, 849, 849, 849, 849, 849, 849, - 849, 1057, 1347, 188, 1347, 1057, 1057, 1057, 1057, 1058, - 1347, 187, 186, 1058, 1058, 1058, 1058, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 185, 849, 850, - 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, + 842, 842, 842, 842, 842, 842, 842, 1043, 1043, 1043, + 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, + 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1055, + 354, 353, 352, 1055, 842, 843, 843, 843, 843, 843, + 843, 843, 843, 843, 843, 843, 351, 1121, 1065, 349, + 348, 1121, 1065, 1065, 1065, 1065, 1069, 1055, 341, 1069, + 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 340, + 1316, 1316, 327, 843, 844, 1121, 1316, 844, 323, 1317, + 1317, 322, 320, 844, 844, 1317, 1055, 844, 844, 319, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, - 1061, 180, 176, 175, 1061, 1061, 1061, 1061, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1077, 1057, 1077, 1077, 1077, - 1077, 1077, 1077, 171, 1058, 168, 164, 850, 858, 161, - 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, - 858, 861, 158, 861, 861, 861, 861, 861, 861, 861, - 861, 861, 861, 861, 1077, 1061, 154, 861, 861, 861, - 861, 861, 861, 1065, 149, 1065, 1065, 1065, 1065, 1065, - 1065, 1065, 1065, 1065, 1065, 1138, 148, 1138, 1138, 1138, - 1138, 1138, 1138, 861, 861, 861, 861, 861, 861, 864, - 864, 864, 864, 864, 864, 864, 864, 864, 864, 864, + 844, 844, 844, 1065, 1121, 318, 844, 844, 844, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, + 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, + 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, + 856, 1066, 317, 1359, 1359, 1066, 1066, 1066, 1066, 1067, + 1359, 316, 315, 1067, 1067, 1067, 1067, 1073, 1073, 1073, + 1073, 1073, 1073, 1073, 1073, 1073, 1073, 309, 856, 857, + 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, - 147, 146, 145, 864, 864, 864, 864, 864, 864, 1066, - 144, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, - 1066, 1111, 1120, 140, 134, 1111, 1120, 132, 128, 864, - 864, 864, 864, 864, 864, 875, 875, 875, 875, 875, - 875, 875, 875, 875, 875, 875, 875, 875, 123, 1111, - 1120, 875, 875, 875, 875, 875, 875, 122, 1073, 1073, - 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1158, 1174, - 1111, 1120, 1158, 1174, 121, 120, 119, 875, 875, 875, - 875, 875, 875, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 1073, 1158, 1174, 118, 878, + 1068, 1363, 305, 1363, 1068, 1068, 1068, 1068, 1071, 1363, + 302, 300, 1071, 1071, 1071, 1071, 1066, 1207, 1207, 1207, + 1207, 1207, 1207, 298, 1067, 295, 294, 857, 865, 293, + 865, 865, 865, 865, 865, 865, 865, 865, 865, 865, + 865, 868, 290, 868, 868, 868, 868, 868, 868, 868, + 868, 868, 868, 868, 289, 1068, 287, 868, 868, 868, + 868, 868, 868, 1071, 1075, 286, 1075, 1075, 1075, 1075, + 1075, 1075, 1075, 1075, 1075, 1075, 1237, 1237, 1237, 1237, + 1237, 1237, 285, 868, 868, 868, 868, 868, 868, 871, + 871, 871, 871, 871, 871, 871, 871, 871, 871, 871, - 878, 878, 878, 878, 878, 1177, 1177, 1062, 1177, 1177, - 1062, 1126, 114, 1294, 1294, 1126, 101, 1062, 1062, 1294, - 94, 1062, 87, 86, 79, 878, 878, 878, 878, 878, - 878, 883, 1300, 1300, 883, 1062, 1062, 1062, 1300, 1126, - 883, 883, 78, 73, 883, 883, 72, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, - 1126, 71, 66, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, + 284, 283, 281, 871, 871, 871, 871, 871, 871, 1076, + 275, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, + 1076, 1089, 1161, 267, 263, 1089, 1161, 258, 257, 871, + 871, 871, 871, 871, 871, 882, 882, 882, 882, 882, + 882, 882, 882, 882, 882, 882, 882, 882, 255, 1089, + 1161, 882, 882, 882, 882, 882, 882, 251, 1083, 1083, + 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 246, 1087, + 1089, 1087, 1087, 1087, 1087, 1087, 1087, 882, 882, 882, + 882, 882, 882, 885, 885, 885, 885, 885, 885, 885, + 885, 885, 885, 885, 885, 1083, 241, 239, 235, 885, - 883, 883, 883, 883, 883, 883, 883, 907, 64, 54, - 53, 907, 907, 907, 907, 907, 907, 907, 907, 907, - 907, 907, 51, 907, 50, 48, 907, 907, 907, 907, - 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, - 907, 907, 907, 907, 907, 907, 907, 907, 907, 43, - 38, 907, 907, 907, 907, 907, 907, 907, 907, 907, - 907, 907, 907, 907, 907, 907, 907, 907, 907, 919, - 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, - 1086, 32, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, - 1086, 1086, 1087, 26, 1087, 1087, 1087, 1087, 1087, 1087, + 885, 885, 885, 885, 885, 1122, 230, 1072, 1087, 1122, + 1072, 1131, 218, 1318, 1318, 1131, 217, 1072, 1072, 1318, + 216, 1072, 215, 214, 209, 885, 885, 885, 885, 885, + 885, 890, 202, 1122, 890, 1072, 1072, 1072, 201, 1131, + 890, 890, 200, 199, 890, 890, 198, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 1131, 197, 1122, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, - 1087, 1087, 1087, 1087, 25, 22, 21, 919, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 1088, - 0, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, - 1093, 0, 1301, 1301, 0, 0, 920, 922, 1301, 0, - 922, 0, 1302, 1302, 0, 0, 922, 922, 1302, 0, - 922, 922, 0, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 0, 0, 0, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 890, 890, 890, 890, 890, 890, 890, 915, 195, 194, + 193, 915, 915, 915, 915, 915, 915, 915, 915, 915, + 915, 915, 192, 915, 191, 190, 915, 915, 915, 915, + 915, 915, 915, 915, 915, 915, 915, 915, 915, 915, + 915, 915, 915, 915, 915, 915, 915, 915, 915, 189, + 188, 915, 915, 915, 915, 915, 915, 915, 915, 915, + 915, 915, 915, 915, 915, 915, 915, 915, 915, 927, + 927, 927, 927, 927, 927, 927, 927, 927, 927, 927, + 1096, 187, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, + 1096, 1096, 1097, 186, 1097, 1097, 1097, 1097, 1097, 1097, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, - 922, 922, 922, 932, 0, 932, 932, 932, 932, 932, - 932, 932, 932, 932, 932, 1097, 0, 1097, 1097, 1097, - 1097, 1097, 1097, 0, 0, 0, 0, 1097, 1099, 1099, - 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1308, 1308, - 0, 0, 932, 933, 1308, 933, 933, 933, 933, 933, - 933, 933, 933, 933, 933, 1101, 0, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1103, 1103, 1103, - 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1309, 1309, + 1097, 1097, 1097, 1097, 181, 177, 176, 927, 928, 928, + 928, 928, 928, 928, 928, 928, 928, 928, 928, 1098, + 172, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, + 1098, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, + 1103, 169, 165, 162, 159, 155, 928, 930, 1170, 1187, + 930, 150, 1170, 1187, 149, 148, 930, 930, 147, 146, + 930, 930, 145, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 1170, 1187, 141, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, - 0, 0, 933, 934, 1309, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 1104, 1104, 1104, 1104, 1104, - 1104, 1104, 1104, 1104, 1104, 1104, 1115, 1115, 1115, 1115, - 1115, 1115, 1115, 1115, 1115, 1115, 1194, 1194, 1194, 1194, - 1194, 1194, 934, 935, 0, 935, 935, 935, 935, 935, - 935, 935, 935, 935, 935, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1117, 0, 1117, 1117, 1117, - 1117, 1117, 1117, 1117, 1117, 1117, 1117, 0, 1310, 1310, - 0, 0, 935, 945, 1310, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 948, 0, 948, 948, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 940, 135, 940, 940, 940, 940, 940, + 940, 940, 940, 940, 940, 1107, 133, 1107, 1107, 1107, + 1107, 1107, 1107, 129, 124, 123, 122, 1107, 1109, 1109, + 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1324, 1324, + 121, 120, 940, 941, 1324, 941, 941, 941, 941, 941, + 941, 941, 941, 941, 941, 1111, 119, 1111, 1111, 1111, + 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1325, 1325, - 948, 948, 948, 948, 948, 948, 948, 948, 948, 0, - 0, 0, 948, 948, 948, 948, 948, 948, 1118, 0, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1157, 0, 1157, 1157, 1157, 1157, 1157, 1157, 948, 948, - 948, 948, 948, 948, 951, 951, 951, 951, 951, 951, - 951, 951, 951, 951, 951, 0, 0, 0, 951, 951, - 951, 951, 951, 951, 1119, 0, 1119, 1119, 1119, 1119, - 1119, 1119, 1119, 1119, 1119, 1119, 1201, 0, 1201, 1201, - 1201, 1201, 1201, 1201, 951, 951, 951, 951, 951, 951, - 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, + 115, 102, 941, 942, 1325, 942, 942, 942, 942, 942, + 942, 942, 942, 942, 942, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 95, 88, 1326, 1326, + 87, 80, 942, 943, 1326, 943, 943, 943, 943, 943, + 943, 943, 943, 943, 943, 1127, 1127, 1127, 1127, 1127, + 1127, 1127, 1127, 1127, 1127, 1128, 79, 1128, 1128, 1128, + 1128, 1128, 1128, 1128, 1128, 1128, 1128, 74, 1329, 1329, + 73, 72, 943, 953, 1329, 953, 953, 953, 953, 953, + 953, 953, 953, 953, 953, 953, 956, 71, 956, 956, - 963, 963, 998, 0, 998, 998, 998, 998, 998, 998, - 998, 998, 998, 998, 0, 1127, 0, 0, 0, 1127, + 956, 956, 956, 956, 956, 956, 956, 956, 956, 66, + 64, 54, 956, 956, 956, 956, 956, 956, 1129, 53, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, - 1133, 0, 1133, 1133, 1133, 1133, 1133, 1133, 0, 0, - 0, 998, 999, 1127, 999, 999, 999, 999, 999, 999, - 999, 999, 999, 999, 0, 0, 1163, 1129, 1163, 1163, - 1163, 1163, 1163, 1163, 1127, 0, 0, 0, 0, 1133, - 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, - 0, 999, 1000, 0, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1000, 1136, 1163, 1136, 1136, 1136, 1136, + 1149, 51, 1149, 1149, 1149, 1149, 1149, 1149, 956, 956, + 956, 956, 956, 956, 959, 959, 959, 959, 959, 959, + 959, 959, 959, 959, 959, 50, 48, 38, 959, 959, + 959, 959, 959, 959, 1130, 32, 1130, 1130, 1130, 1130, + 1130, 1130, 1130, 1130, 1130, 1130, 1169, 26, 1169, 1169, + 1169, 1169, 1169, 1169, 959, 959, 959, 959, 959, 959, + 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, - 1136, 1136, 1136, 1136, 1136, 1136, 1137, 0, 1137, 1137, - 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 0, 0, - 0, 1000, 1001, 0, 1001, 1001, 1001, 1001, 1001, 1001, - 1001, 1001, 1001, 1001, 1144, 0, 1144, 1144, 1144, 1144, - 1144, 1144, 1144, 1144, 1144, 1144, 1151, 0, 0, 0, - 1151, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, - 1153, 1001, 1010, 0, 1010, 1010, 1010, 1010, 1010, 1010, - 1010, 1010, 1010, 1010, 1151, 1155, 0, 1155, 1155, 1155, - 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1190, 0, 1190, - 1190, 1190, 1190, 1190, 1190, 1151, 0, 1313, 1313, 0, + 971, 971, 1007, 25, 1007, 1007, 1007, 1007, 1007, 1007, + 1007, 1007, 1007, 1007, 22, 1137, 21, 0, 1144, 1137, + 1144, 1144, 1144, 1144, 1144, 1144, 1138, 0, 0, 0, + 1138, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, + 1140, 1007, 1008, 1137, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1138, 0, 1215, 1144, 1215, 1215, + 1215, 1215, 1215, 1215, 1137, 1330, 1330, 0, 1140, 0, + 0, 1330, 1331, 1331, 1347, 1138, 0, 1347, 1331, 1347, + 0, 1008, 1009, 0, 1009, 1009, 1009, 1009, 1009, 1009, + 1009, 1009, 1009, 1009, 1145, 1145, 1145, 1145, 1145, 1145, - 0, 1010, 1011, 1313, 1011, 1011, 1011, 1011, 1011, 1011, - 1011, 1011, 1011, 1011, 1156, 0, 1156, 1156, 1156, 1156, - 1156, 1156, 1156, 1156, 1156, 1156, 1190, 0, 0, 0, - 0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, - 1159, 1011, 1025, 0, 1025, 1025, 1025, 1025, 1025, 1025, - 1025, 1025, 1025, 1025, 1025, 1028, 0, 1028, 1028, 1028, - 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1159, 0, - 0, 1028, 1028, 1028, 1028, 1028, 1028, 1206, 0, 1206, - 1206, 1206, 1206, 1206, 1206, 1164, 0, 0, 0, 1164, - 1221, 1221, 1221, 1221, 1221, 1221, 0, 1028, 1028, 1028, + 1145, 1145, 1145, 1145, 1147, 0, 1147, 1147, 1147, 1147, + 1147, 1147, 1147, 1147, 1147, 1147, 0, 0, 0, 1163, + 0, 1009, 1010, 1163, 1010, 1010, 1010, 1010, 1010, 1010, + 1010, 1010, 1010, 1010, 1148, 0, 1148, 1148, 1148, 1148, + 1148, 1148, 1148, 1148, 1148, 1148, 1155, 1163, 1155, 1155, + 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 0, 0, + 0, 1010, 1019, 0, 1019, 1019, 1019, 1019, 1019, 1019, + 1019, 1019, 1019, 1019, 0, 0, 1163, 1165, 1165, 1165, + 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1167, 0, 1167, + 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 0, - 1028, 1028, 1028, 1031, 1031, 1031, 1031, 1031, 1031, 1031, - 1031, 1031, 1031, 1164, 0, 0, 1206, 1031, 1031, 1031, - 1031, 1031, 1031, 1168, 1168, 1168, 1168, 1168, 1168, 1168, - 1168, 1168, 1168, 0, 1164, 1314, 1314, 1323, 0, 0, - 1323, 1314, 1323, 1031, 1031, 1031, 1031, 1031, 1031, 1075, - 0, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, - 1075, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, - 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, - 1170, 1315, 1315, 0, 1318, 1318, 0, 1315, 1075, 1076, - 1318, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, + 0, 1019, 1020, 0, 1020, 1020, 1020, 1020, 1020, 1020, + 1020, 1020, 1020, 1020, 1168, 0, 1168, 1168, 1168, 1168, + 1168, 1168, 1168, 1168, 1168, 1168, 0, 0, 0, 0, + 0, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + 1171, 1020, 1034, 0, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 1034, 1034, 1034, 1034, 1037, 0, 1037, 1037, 1037, + 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1171, 0, + 0, 1037, 1037, 1037, 1037, 1037, 1037, 1175, 0, 1175, + 1175, 1175, 1175, 1175, 1175, 1176, 1334, 1334, 0, 1176, + 1335, 1335, 1334, 0, 0, 0, 1335, 1037, 1037, 1037, - 1076, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, 1180, - 1180, 1180, 1180, 1181, 0, 1181, 1181, 1181, 1181, 1181, - 1181, 1181, 1181, 1181, 1181, 0, 0, 0, 1076, 1083, - 0, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, - 1083, 1182, 0, 1182, 1182, 1182, 1182, 1182, 1182, 1182, - 1182, 1182, 1182, 1186, 1186, 1186, 1186, 1186, 1186, 1186, - 1186, 1186, 1186, 0, 1319, 1319, 0, 0, 1083, 1084, - 1319, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1326, 1326, 1331, 0, 0, 1331, 1326, 1331, 0, - 1186, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, + 1037, 1037, 1037, 1040, 1040, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1176, 0, 0, 1175, 1040, 1040, 1040, + 1040, 1040, 1040, 1180, 1180, 1180, 1180, 1180, 1180, 1180, + 1180, 1180, 1180, 0, 1176, 1342, 1342, 0, 0, 0, + 0, 1342, 0, 1040, 1040, 1040, 1040, 1040, 1040, 1085, + 0, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, + 1085, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, + 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, + 1182, 1350, 1350, 0, 1357, 1357, 0, 1350, 1085, 1086, + 1357, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, - 1192, 1334, 1334, 0, 1341, 1341, 0, 1334, 1084, 1085, - 1341, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, - 1085, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, - 1193, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, - 1197, 1344, 1344, 0, 1346, 1346, 0, 1344, 1085, 1095, - 1346, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, - 1095, 1095, 1098, 0, 1098, 1098, 1098, 1098, 1098, 1098, - 1098, 1098, 1098, 1098, 0, 0, 0, 0, 1098, 1098, - 1098, 1098, 1098, 1098, 1199, 0, 1199, 1199, 1199, 1199, - 1199, 1199, 1199, 1199, 1199, 1199, 0, 0, 0, 0, + 1086, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1194, 0, 1194, 1194, 1194, 1194, 1194, + 1194, 1194, 1194, 1194, 1194, 0, 0, 0, 1086, 1093, + 0, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, + 1093, 1195, 0, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1199, 1199, 1199, 1199, 1199, 1199, 1199, + 1199, 1199, 1199, 0, 1360, 1360, 0, 0, 1093, 1094, + 1360, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, + 1094, 0, 1203, 0, 1203, 1203, 1203, 1203, 1203, 1203, + 1199, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, - 0, 0, 0, 0, 1098, 1098, 1098, 1098, 1098, 1098, - 1123, 0, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - 1123, 1123, 1200, 0, 1200, 1200, 1200, 1200, 1200, 1200, - 1200, 1200, 1200, 1200, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 1202, 1202, 1202, 0, 0, 0, 0, 0, 1123, - 1124, 0, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 0, 0, 0, 1218, 1218, 1218, 1218, 1218, - 1218, 1202, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, - 1207, 1207, 0, 1224, 1224, 1224, 1224, 1224, 1224, 1124, - 1125, 0, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, + 1205, 1362, 1362, 0, 0, 0, 0, 1362, 1094, 1095, + 0, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, + 1095, 1203, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, + 1206, 1206, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, + 1211, 1211, 0, 0, 0, 0, 0, 0, 1095, 1105, + 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, + 1105, 1105, 1108, 0, 1108, 1108, 1108, 1108, 1108, 1108, + 1108, 1108, 1108, 1108, 0, 0, 0, 0, 1108, 1108, + 1108, 1108, 1108, 1108, 1213, 0, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 0, 0, 0, 0, - 1125, 1125, 1218, 0, 0, 0, 0, 0, 0, 1207, - 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, - 1224, 0, 0, 0, 0, 0, 0, 0, 0, 1125, - 1131, 0, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, - 1131, 1131, 0, 0, 0, 0, 0, 1208, 1209, 1209, - 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 1210, - 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 0, 1131, - 1132, 0, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, - 1132, 1132, 0, 0, 0, 1209, 1211, 1211, 1211, 1211, - 1211, 1211, 1211, 1211, 1211, 1211, 1212, 1212, 1212, 1212, + 0, 0, 0, 0, 1108, 1108, 1108, 1108, 1108, 1108, + 1134, 0, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, + 1134, 1134, 1214, 0, 1214, 1214, 1214, 1214, 1214, 1214, + 1214, 1214, 1214, 1214, 1216, 1216, 1216, 1216, 1216, 1216, + 1216, 1216, 1216, 1216, 0, 0, 0, 0, 0, 1134, + 1135, 0, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, + 1135, 1135, 0, 1220, 0, 1220, 1220, 1220, 1220, 1220, + 1220, 1216, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, + 1221, 1221, 0, 1233, 1233, 1233, 1233, 1233, 1233, 1135, + 1136, 0, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, - 1212, 1212, 1212, 1212, 1212, 1212, 0, 0, 0, 1132, - 1161, 0, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, - 1161, 1161, 0, 0, 0, 1213, 1213, 1213, 1213, 1213, - 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 1214, - 1214, 1214, 1214, 1214, 1214, 0, 0, 0, 0, 1161, - 1162, 0, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, - 1162, 1162, 1213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1214, 1215, 1215, 1215, 1215, 1215, 1215, 1215, - 1215, 1215, 1215, 0, 0, 0, 0, 0, 0, 1162, - 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, + 1136, 1136, 1220, 0, 0, 0, 0, 0, 0, 1221, + 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, + 1233, 0, 0, 0, 0, 0, 0, 0, 0, 1136, + 1142, 0, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 1142, 1142, 0, 0, 0, 0, 0, 1222, 1223, 1223, + 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1225, 1225, + 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 0, 1142, + 1143, 0, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, + 1143, 1143, 0, 0, 0, 1223, 1226, 1226, 1226, 1226, + 1226, 1226, 1226, 1226, 1226, 1226, 1227, 1227, 1227, 1227, - 1165, 1165, 0, 0, 0, 0, 0, 0, 0, 0, - 1215, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, - 1217, 0, 0, 0, 0, 0, 0, 0, 0, 1165, - 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, - 1166, 1166, 0, 0, 0, 0, 0, 0, 1217, 1220, - 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1166, - 1167, 0, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, - 1167, 1167, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, + 1227, 1227, 1227, 1227, 1227, 1227, 0, 0, 0, 1143, + 1173, 0, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, + 1173, 1173, 0, 0, 0, 1228, 1228, 1228, 1228, 1228, + 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229, + 1229, 1229, 1229, 1229, 1229, 0, 0, 0, 0, 1173, + 1174, 0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, + 1174, 1174, 1228, 0, 0, 1240, 1240, 1240, 1240, 1240, + 1240, 0, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1230, + 1230, 1230, 1230, 0, 0, 0, 0, 0, 0, 1174, + 1177, 0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, - 1183, 0, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, - 1183, 1183, 0, 0, 0, 0, 0, 0, 0, 0, + 1177, 1177, 1240, 0, 0, 0, 0, 0, 0, 0, + 1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, + 1232, 0, 0, 0, 0, 0, 0, 0, 0, 1177, + 1178, 0, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, + 1178, 1178, 0, 0, 0, 0, 0, 0, 1232, 1236, + 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1239, + 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1178, + 1179, 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, + 1196, 0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, + 1196, 1196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1183, - 1184, 0, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, - 1184, 1184, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1196, + 1197, 0, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, + 1197, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1184, - 1185, 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197, + 1198, 0, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1185, 1185, 0, 0, 0, 0, 0, 0, 0, 0, + 1198, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1185, - 1188, 0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, - 1188, 1188, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, + 1201, 0, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, + 1201, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, - 1189, 0, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, - 1189, 1189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, + 1202, 0, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, + 1202, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, - 1204, 0, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, + 1218, 0, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + 1218, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204, - 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, - 1205, 1205, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, + 1219, 0, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, + 1219, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219, + 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, - 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, - 1227, 1227, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, - 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, - 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229, - 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, - 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230, 1230, - 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, - 1230, 1230, 1230, 1230, 1230, 1231, 1231, 1231, 1231, 1231, - - 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, - 1231, 1231, 1231, 1231, 1231, 1231, 1232, 0, 0, 1232, - 0, 0, 0, 1232, 0, 1232, 0, 1232, 1232, 1232, - 0, 0, 1232, 1232, 1232, 1232, 1232, 1233, 1233, 1233, - 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, - 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, 0, - 0, 1234, 0, 0, 1234, 1234, 0, 1234, 0, 1234, - 1234, 1234, 1234, 0, 1234, 1234, 1234, 1234, 1234, 1235, - 0, 0, 1235, 0, 0, 0, 1235, 0, 1235, 0, - 1235, 1235, 1235, 0, 0, 1235, 1235, 1235, 1235, 1235, - - 1236, 0, 0, 1236, 1236, 1236, 0, 1236, 1236, 1236, - 0, 1236, 1236, 1236, 0, 0, 1236, 1236, 1236, 1236, - 1236, 1238, 1238, 0, 1238, 1238, 1238, 0, 1238, 1238, - 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, - 1238, 1238, 1239, 0, 0, 1239, 1239, 1239, 0, 1239, - 1239, 1239, 0, 1239, 1239, 1239, 0, 0, 1239, 1239, - 1239, 1239, 1239, 1240, 1240, 0, 1240, 1240, 1240, 0, - 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, - 1240, 1240, 1240, 1240, 1241, 0, 0, 1241, 1241, 1241, - 0, 1241, 1241, 1241, 0, 1241, 1241, 1241, 0, 1241, - - 1241, 0, 1241, 1241, 1241, 1242, 1242, 0, 1242, 1242, - 1242, 0, 0, 1242, 1242, 1242, 1242, 1242, 1242, 1242, - 1242, 1242, 0, 1242, 1242, 1242, 1243, 1243, 1243, 1243, + 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, + 1242, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, - 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1245, 0, 0, - 1245, 1245, 0, 0, 1245, 1245, 1245, 0, 1245, 1245, - 1245, 1245, 0, 1245, 1245, 1245, 1245, 1245, 1246, 1246, + 1243, 1243, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, + 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, + 1244, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245, + 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, + 1245, 1245, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, - 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1247, - 1247, 0, 1247, 1247, 0, 1247, 1247, 1247, 1247, 1247, + 1246, 1246, 1246, 1246, 1246, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, - 1248, 0, 0, 1248, 0, 0, 1248, 1248, 0, 1248, - 0, 1248, 1248, 1248, 1248, 0, 1248, 1248, 1248, 1248, - 1248, 1249, 0, 0, 1249, 0, 0, 0, 1249, 0, - 1249, 0, 1249, 1249, 1249, 0, 1249, 1249, 1249, 1249, - 1249, 1249, 1250, 0, 0, 1250, 1250, 1250, 0, 1250, - 1250, 1250, 0, 1250, 1250, 1250, 0, 1250, 1250, 1250, - 1250, 1250, 1250, 1251, 1251, 0, 1251, 1251, 1251, 0, - 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, - 1251, 1251, 1251, 1251, 1252, 0, 0, 0, 1252, 1252, + 1247, 1247, 1247, 1247, 1247, 1247, 1248, 0, 0, 1248, + 0, 0, 0, 1248, 0, 1248, 0, 1248, 1248, 1248, + 0, 0, 1248, 1248, 1248, 1248, 1248, 1249, 1249, 1249, + 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, + 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1250, 0, + 0, 1250, 0, 0, 1250, 1250, 0, 1250, 0, 1250, + 1250, 1250, 1250, 0, 1250, 1250, 1250, 1250, 1250, 1251, + 0, 0, 1251, 0, 0, 0, 1251, 0, 1251, 0, + 1251, 1251, 1251, 0, 0, 1251, 1251, 1251, 1251, 1251, - 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, - 1252, 1252, 1252, 1252, 1252, 1253, 0, 0, 1253, 0, - 0, 0, 1253, 0, 1253, 0, 1253, 1253, 1253, 0, - 0, 1253, 1253, 1253, 1253, 1253, 1254, 0, 0, 1254, - 0, 0, 1254, 1254, 0, 1254, 0, 1254, 1254, 1254, - 1254, 0, 1254, 1254, 1254, 1254, 1254, 1255, 0, 0, - 1255, 0, 0, 0, 1255, 0, 1255, 0, 1255, 1255, - 1255, 0, 0, 1255, 1255, 1255, 1255, 1255, 1256, 0, - 0, 1256, 1256, 1256, 0, 1256, 1256, 1256, 0, 1256, - 1256, 1256, 0, 0, 1256, 1256, 1256, 1256, 1256, 1257, + 1252, 0, 0, 1252, 1252, 1252, 0, 1252, 1252, 1252, + 0, 1252, 1252, 1252, 0, 0, 1252, 1252, 1252, 1252, + 1252, 1254, 1254, 0, 1254, 1254, 1254, 0, 1254, 1254, + 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, + 1254, 1254, 1255, 0, 0, 1255, 1255, 1255, 0, 1255, + 1255, 1255, 0, 1255, 1255, 1255, 0, 0, 1255, 1255, + 1255, 1255, 1255, 1256, 1256, 0, 1256, 1256, 1256, 0, + 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, + 1256, 1256, 1256, 1256, 1257, 0, 0, 1257, 1257, 1257, + 0, 1257, 1257, 1257, 0, 1257, 1257, 1257, 0, 1257, - 1257, 0, 1257, 1257, 1257, 0, 1257, 1257, 1257, 1257, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, - 1258, 0, 0, 1258, 0, 0, 0, 1258, 0, 1258, - 0, 1258, 1258, 1258, 0, 0, 1258, 1258, 1258, 1258, - 1258, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, + 1257, 0, 1257, 1257, 1257, 1258, 1258, 0, 1258, 1258, + 1258, 0, 0, 1258, 1258, 1258, 1258, 1258, 1258, 1258, + 1258, 1258, 0, 1258, 1258, 1258, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, - 1259, 1259, 1260, 1260, 0, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, - 1260, 1260, 1260, 1261, 0, 0, 1261, 0, 0, 0, - 1261, 0, 1261, 0, 1261, 1261, 1261, 0, 0, 1261, + 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1261, 0, 0, + 1261, 1261, 0, 0, 1261, 1261, 1261, 0, 1261, 1261, + 1261, 1261, 0, 1261, 1261, 1261, 1261, 1261, 1262, 1262, + 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, + 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1263, + 1263, 0, 1263, 1263, 0, 1263, 1263, 1263, 1263, 1263, - 1261, 1261, 1261, 1261, 1262, 0, 0, 1262, 0, 0, - 0, 1262, 0, 1262, 0, 1262, 1262, 1262, 0, 0, - 1262, 1262, 1262, 1262, 1262, 1263, 0, 0, 1263, 1263, - 1263, 0, 1263, 1263, 1263, 0, 1263, 1263, 1263, 0, - 0, 1263, 1263, 1263, 1263, 1263, 1264, 0, 0, 1264, - 1264, 1264, 0, 1264, 1264, 1264, 0, 1264, 1264, 1264, - 0, 0, 1264, 1264, 1264, 1264, 1264, 1267, 1267, 1267, - 0, 0, 0, 0, 1267, 1268, 1268, 0, 1268, 1268, - 1268, 0, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, - 1268, 1268, 1268, 1268, 1268, 1268, 1269, 1269, 0, 1269, + 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, + 1264, 0, 0, 1264, 0, 0, 1264, 1264, 0, 1264, + 0, 1264, 1264, 1264, 1264, 0, 1264, 1264, 1264, 1264, + 1264, 1265, 0, 0, 1265, 0, 0, 0, 1265, 0, + 1265, 0, 1265, 1265, 1265, 0, 1265, 1265, 1265, 1265, + 1265, 1265, 1266, 0, 0, 1266, 1266, 1266, 0, 1266, + 1266, 1266, 0, 1266, 1266, 1266, 0, 1266, 1266, 1266, + 1266, 1266, 1266, 1267, 1267, 0, 1267, 1267, 1267, 0, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1268, 0, 0, 0, 1268, 1268, - 1269, 1269, 0, 1269, 1269, 1269, 1269, 1269, 1269, 1269, - 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1270, 0, 0, - 1270, 1270, 1270, 0, 1270, 1270, 1270, 0, 1270, 1270, - 1270, 0, 0, 1270, 1270, 1270, 1270, 1270, 1271, 0, - 0, 1271, 1271, 1271, 0, 1271, 1271, 1271, 0, 1271, - 1271, 1271, 0, 0, 1271, 1271, 1271, 1271, 1271, 1272, - 1272, 0, 1272, 1272, 1272, 0, 1272, 1272, 1272, 1272, - 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272, - 1273, 1273, 0, 1273, 1273, 1273, 0, 1273, 1273, 1273, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1269, 0, 0, 1269, 0, + 0, 0, 1269, 0, 1269, 0, 1269, 1269, 1269, 0, + 0, 1269, 1269, 1269, 1269, 1269, 1270, 0, 0, 1270, + 0, 0, 1270, 1270, 0, 1270, 0, 1270, 1270, 1270, + 1270, 0, 1270, 1270, 1270, 1270, 1270, 1271, 0, 0, + 1271, 0, 0, 0, 1271, 0, 1271, 0, 1271, 1271, + 1271, 0, 0, 1271, 1271, 1271, 1271, 1271, 1272, 0, + 0, 1272, 1272, 1272, 0, 1272, 1272, 1272, 0, 1272, + 1272, 1272, 0, 0, 1272, 1272, 1272, 1272, 1272, 1273, + + 1273, 0, 1273, 1273, 1273, 0, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, + 1274, 0, 0, 1274, 0, 0, 0, 1274, 0, 1274, + 0, 1274, 1274, 1274, 0, 0, 1274, 1274, 1274, 1274, + 1274, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, + 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, + 1275, 1275, 1276, 1276, 0, 1276, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + 1276, 1276, 1276, 1277, 0, 0, 1277, 0, 0, 0, + 1277, 0, 1277, 0, 1277, 1277, 1277, 0, 0, 1277, - 1273, 1274, 0, 0, 1274, 1274, 1274, 0, 1274, 1274, - 1274, 0, 1274, 1274, 1274, 0, 1274, 1274, 0, 1274, - 1274, 1274, 1275, 1275, 0, 1275, 1275, 1275, 0, 0, - 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 0, - 1275, 1275, 1275, 1277, 0, 0, 1277, 1277, 0, 0, - 1277, 1277, 1277, 0, 1277, 1277, 1277, 1277, 0, 1277, - 1277, 1277, 1277, 1277, 1278, 1278, 0, 1278, 1278, 0, - 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, - 1278, 1278, 1278, 1278, 1278, 1279, 0, 0, 1279, 0, - 0, 0, 1279, 0, 1279, 0, 1279, 1279, 1279, 0, - + 1277, 1277, 1277, 1277, 1278, 0, 0, 1278, 0, 0, + 0, 1278, 0, 1278, 0, 1278, 1278, 1278, 0, 0, + 1278, 1278, 1278, 1278, 1278, 1279, 0, 0, 1279, 1279, + 1279, 0, 1279, 1279, 1279, 0, 1279, 1279, 1279, 0, 0, 1279, 1279, 1279, 1279, 1279, 1280, 0, 0, 1280, - 0, 0, 0, 1280, 0, 1280, 0, 1280, 1280, 1280, - 0, 1280, 1280, 1280, 1280, 1280, 1280, 1281, 0, 0, - 1281, 1281, 0, 1281, 1281, 0, 0, 1281, 1281, 1282, - 0, 0, 1282, 1282, 1282, 0, 1282, 1282, 1282, 0, - 1282, 1282, 1282, 0, 1282, 1282, 1282, 1282, 1282, 1282, - 1284, 0, 0, 0, 1284, 1284, 1284, 1284, 1284, 1284, - 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, - 1284, 1285, 0, 0, 1285, 0, 0, 0, 1285, 0, - 1285, 0, 1285, 1285, 1285, 0, 0, 1285, 1285, 1285, + 1280, 1280, 0, 1280, 1280, 1280, 0, 1280, 1280, 1280, + 0, 0, 1280, 1280, 1280, 1280, 1280, 1283, 1283, 1283, + 0, 0, 0, 0, 1283, 1284, 1284, 0, 1284, 1284, + 1284, 0, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, + 1284, 1284, 1284, 1284, 1284, 1284, 1285, 1285, 0, 1285, - 1285, 1285, 1286, 0, 0, 1286, 0, 0, 0, 1286, - 0, 1286, 0, 1286, 1286, 1286, 0, 0, 1286, 1286, - 1286, 1286, 1286, 1287, 0, 0, 1287, 0, 0, 0, - 1287, 0, 1287, 0, 1287, 1287, 1287, 0, 0, 1287, - 1287, 1287, 1287, 1287, 1288, 0, 0, 1288, 1288, 1288, - 0, 1288, 1288, 1288, 0, 1288, 1288, 1288, 0, 0, - 1288, 1288, 1288, 1288, 1288, 1289, 0, 0, 1289, 1289, - 1289, 0, 1289, 1289, 1289, 0, 1289, 1289, 1289, 0, - 0, 1289, 1289, 1289, 1289, 1289, 1290, 1290, 0, 1290, - 1290, 1290, 0, 1290, 1290, 1290, 1290, 1290, 1290, 1290, + 1285, 1285, 0, 1285, 1285, 1285, 1285, 1285, 1285, 1285, + 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1286, 0, 0, + 1286, 1286, 1286, 0, 1286, 1286, 1286, 0, 1286, 1286, + 1286, 0, 0, 1286, 1286, 1286, 1286, 1286, 1287, 0, + 0, 1287, 1287, 1287, 0, 1287, 1287, 1287, 0, 1287, + 1287, 1287, 0, 0, 1287, 1287, 1287, 1287, 1287, 1288, + 1288, 0, 1288, 1288, 1288, 0, 1288, 1288, 1288, 1288, + 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, + 1289, 1289, 0, 1289, 1289, 1289, 0, 1289, 1289, 1289, + 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, - 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1291, 1291, 1291, - 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, - 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1292, 1292, - 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, - 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1293, - 0, 0, 1293, 0, 0, 0, 1293, 0, 1293, 0, - 1293, 1293, 1293, 0, 0, 1293, 1293, 1293, 1293, 1293, - 1295, 1295, 1295, 0, 0, 0, 0, 1295, 1296, 1296, - 0, 1296, 1296, 1296, 0, 1296, 1296, 1296, 1296, 1296, - 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1297, + 1289, 1290, 0, 0, 1290, 1290, 1290, 0, 1290, 1290, + 1290, 0, 1290, 1290, 1290, 0, 1290, 1290, 0, 1290, + 1290, 1290, 1291, 1291, 0, 1291, 1291, 1291, 0, 0, + 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 0, + 1291, 1291, 1291, 1293, 0, 0, 1293, 1293, 0, 0, + 1293, 1293, 1293, 0, 1293, 1293, 1293, 1293, 0, 1293, + 1293, 1293, 1293, 1293, 1294, 1294, 0, 1294, 1294, 0, + 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, + 1294, 1294, 1294, 1294, 1294, 1295, 0, 0, 1295, 0, + 0, 0, 1295, 0, 1295, 0, 1295, 1295, 1295, 0, - 1297, 0, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, - 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, - 1298, 1298, 0, 1298, 1298, 1298, 0, 1298, 1298, 1298, - 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, - 1298, 1299, 1299, 0, 1299, 1299, 1299, 0, 1299, 1299, - 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, - 1299, 1299, 1303, 1303, 1303, 0, 0, 0, 0, 1303, - 1304, 1304, 1304, 0, 0, 0, 0, 1304, 1305, 1305, - 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1306, + 0, 1295, 1295, 1295, 1295, 1295, 1296, 0, 0, 1296, + 0, 0, 0, 1296, 0, 1296, 0, 1296, 1296, 1296, + 0, 1296, 1296, 1296, 1296, 1296, 1296, 1297, 0, 0, + 1297, 1297, 0, 1297, 1297, 0, 0, 1297, 1297, 1298, + 0, 0, 1298, 1298, 1298, 0, 1298, 1298, 1298, 0, + 1298, 1298, 1298, 0, 1298, 1298, 1298, 1298, 1298, 1298, + 1300, 0, 0, 0, 1300, 1300, 1300, 1300, 1300, 1300, + 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, + 1300, 1301, 0, 0, 1301, 0, 0, 0, 1301, 0, + 1301, 0, 1301, 1301, 1301, 0, 0, 1301, 1301, 1301, - 1306, 0, 1306, 1306, 1306, 0, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, + 1301, 1301, 1302, 0, 0, 1302, 0, 0, 0, 1302, + 0, 1302, 0, 1302, 1302, 1302, 0, 0, 1302, 1302, + 1302, 1302, 1302, 1303, 0, 0, 1303, 0, 0, 0, + 1303, 0, 1303, 0, 1303, 1303, 1303, 0, 0, 1303, + 1303, 1303, 1303, 1303, 1304, 0, 0, 1304, 1304, 1304, + 0, 1304, 1304, 1304, 0, 1304, 1304, 1304, 0, 0, + 1304, 1304, 1304, 1304, 1304, 1305, 0, 0, 1305, 1305, + 1305, 0, 1305, 1305, 1305, 0, 1305, 1305, 1305, 0, + 0, 1305, 1305, 1305, 1305, 1305, 1306, 1306, 0, 1306, + 1306, 1306, 0, 1306, 1306, 1306, 1306, 1306, 1306, 1306, + + 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1307, 1307, 1307, + 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, + 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1308, 1308, + 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, + 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1309, + 0, 0, 1309, 0, 0, 0, 1309, 0, 1309, 0, + 1309, 1309, 1309, 0, 0, 1309, 1309, 1309, 1309, 1309, 1311, 1311, 1311, 0, 0, 0, 0, 1311, 1312, 1312, - 1312, 1312, 0, 0, 0, 0, 1312, 1316, 1316, 1316, - 0, 0, 0, 0, 1316, 1317, 1317, 1317, 1317, 0, - 0, 0, 0, 1317, 1320, 1320, 1320, 0, 0, 0, - 0, 1320, 1321, 1321, 1321, 1321, 0, 0, 0, 0, - 1321, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, + 0, 1312, 1312, 1312, 0, 1312, 1312, 1312, 1312, 1312, + 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1313, + + 1313, 0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, + 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, + 1314, 1314, 0, 1314, 1314, 1314, 0, 1314, 1314, 1314, + 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, + 1314, 1315, 1315, 0, 1315, 1315, 1315, 0, 1315, 1315, + 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, + 1315, 1315, 1319, 1319, 1319, 0, 0, 0, 0, 1319, + 1320, 1320, 1320, 0, 0, 0, 0, 1320, 1321, 1321, + 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, + 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1322, + + 1322, 0, 1322, 1322, 1322, 0, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, - 1322, 1322, 1324, 0, 0, 1324, 1324, 0, 1324, 1324, - - 0, 0, 1324, 1324, 1325, 0, 0, 1325, 0, 0, - 0, 1325, 0, 1325, 0, 1325, 1325, 1325, 0, 0, - 1325, 1325, 1325, 1325, 1325, 1327, 0, 1327, 1327, 0, - 0, 0, 0, 1327, 1328, 1328, 1328, 0, 0, 0, - 0, 1328, 1329, 1329, 1329, 1329, 0, 0, 0, 0, - 1329, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, - 1330, 1330, 1332, 0, 0, 1332, 1332, 0, 1332, 1332, - 0, 0, 1332, 1332, 1333, 0, 0, 1333, 0, 0, - 0, 1333, 0, 1333, 0, 1333, 1333, 1333, 0, 0, - - 1333, 1333, 1333, 1333, 1333, 1335, 0, 1335, 1335, 0, - 0, 0, 0, 1335, 1336, 1336, 1336, 0, 0, 0, - 0, 1336, 1337, 1337, 1337, 0, 0, 0, 0, 0, + 1327, 1327, 1327, 0, 0, 0, 0, 1327, 1328, 1328, + 1328, 1328, 0, 0, 0, 0, 1328, 1332, 1332, 1332, + 0, 0, 0, 0, 1332, 1333, 1333, 1333, 1333, 0, + 0, 0, 0, 1333, 1336, 1336, 1336, 0, 0, 0, + 0, 1336, 1337, 1337, 1337, 1337, 0, 0, 0, 0, 1337, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, - 1338, 1338, 1339, 1339, 0, 1339, 1339, 1339, 1339, 1339, - 0, 1339, 0, 1339, 1339, 1339, 0, 0, 1339, 1339, - 1339, 1339, 1339, 1340, 1340, 0, 1340, 1340, 1340, 1340, - 1340, 0, 1340, 0, 1340, 1340, 1340, 0, 0, 1340, - 1340, 1340, 1340, 1340, 1342, 0, 1342, 1342, 0, 0, + 1338, 1338, 1340, 0, 0, 1340, 1340, 0, 1340, 1340, - 0, 0, 1342, 1345, 0, 1345, 1345, 0, 0, 0, - 0, 1345, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, - 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, - 1348, 1348, 1348, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, + 0, 0, 1340, 1340, 1341, 0, 0, 1341, 0, 0, + 0, 1341, 0, 1341, 0, 1341, 1341, 1341, 0, 0, + 1341, 1341, 1341, 1341, 1341, 1343, 0, 1343, 1343, 0, + 0, 0, 0, 1343, 1344, 1344, 1344, 0, 0, 0, + 0, 1344, 1345, 1345, 1345, 1345, 0, 0, 0, 0, + 1345, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, + 1346, 1346, 1348, 0, 0, 1348, 1348, 0, 1348, 1348, + 0, 0, 1348, 1348, 1349, 0, 0, 1349, 0, 0, + 0, 1349, 0, 1349, 0, 1349, 1349, 1349, 0, 0, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225 + 1349, 1349, 1349, 1349, 1349, 1351, 0, 1351, 1351, 0, + 0, 0, 0, 1351, 1352, 1352, 1352, 0, 0, 0, + 0, 1352, 1353, 1353, 1353, 0, 0, 0, 0, 0, + 1353, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, + 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, + 1354, 1354, 1355, 1355, 0, 1355, 1355, 1355, 1355, 1355, + 0, 1355, 0, 1355, 1355, 1355, 0, 0, 1355, 1355, + 1355, 1355, 1355, 1356, 1356, 0, 1356, 1356, 1356, 1356, + 1356, 0, 1356, 0, 1356, 1356, 1356, 0, 0, 1356, + 1356, 1356, 1356, 1356, 1358, 0, 1358, 1358, 0, 0, + + 0, 0, 1358, 1361, 0, 1361, 1361, 0, 0, 0, + 0, 1361, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, + 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, + 1364, 1364, 1364, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241 } ; static yy_state_type yy_last_accepting_state; @@ -3129,7 +3135,7 @@ int (*trace_print)(const char *msg) = sudoers_trace_print; -#line 3127 "toke.c" +#line 3133 "toke.c" #define INITIAL 0 #define GOTDEFS 1 @@ -3352,7 +3358,7 @@ YY_DECL { #line 124 "toke.l" -#line 3350 "toke.c" +#line 3356 "toke.c" while ( 1 ) /* loops until end-of-file is reached */ { @@ -3380,7 +3386,7 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1226 ) + if ( yy_current_state >= 1242 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -4157,6 +4163,18 @@ case 61: YY_RULE_SETUP #line 682 "toke.l" { +#ifdef HAVE_APPARMOR + LEXTRACE("APPARMOR_PROFILE "); + return APPARMOR_PROFILE; +#else + goto got_alias; +#endif + } + YY_BREAK +case 62: +YY_RULE_SETUP +#line 690 "toke.l" +{ #ifdef HAVE_PRIV_SET LEXTRACE("PRIVS "); return PRIVS; @@ -4165,9 +4183,9 @@ YY_RULE_SETUP #endif } YY_BREAK -case 62: +case 63: YY_RULE_SETUP -#line 691 "toke.l" +#line 699 "toke.l" { #ifdef HAVE_PRIV_SET LEXTRACE("LIMITPRIVS "); @@ -4177,9 +4195,9 @@ YY_RULE_SETUP #endif } YY_BREAK -case 63: +case 64: YY_RULE_SETUP -#line 700 "toke.l" +#line 708 "toke.l" { got_alias: if (!fill(sudoerstext, sudoersleng)) @@ -4188,9 +4206,9 @@ YY_RULE_SETUP return ALIAS; } YY_BREAK -case 64: +case 65: YY_RULE_SETUP -#line 708 "toke.l" +#line 716 "toke.l" { /* XXX - no way to specify digest for command */ /* no command args allowed for Defaults!/path */ @@ -4200,9 +4218,9 @@ YY_RULE_SETUP return COMMAND; } YY_BREAK -case 65: +case 66: YY_RULE_SETUP -#line 717 "toke.l" +#line 725 "toke.l" { digest_type = SUDO_DIGEST_SHA224; BEGIN WANTDIGEST; @@ -4210,9 +4228,9 @@ YY_RULE_SETUP return SHA224_TOK; } YY_BREAK -case 66: +case 67: YY_RULE_SETUP -#line 724 "toke.l" +#line 732 "toke.l" { digest_type = SUDO_DIGEST_SHA256; BEGIN WANTDIGEST; @@ -4220,9 +4238,9 @@ YY_RULE_SETUP return SHA256_TOK; } YY_BREAK -case 67: +case 68: YY_RULE_SETUP -#line 731 "toke.l" +#line 739 "toke.l" { digest_type = SUDO_DIGEST_SHA384; BEGIN WANTDIGEST; @@ -4230,9 +4248,9 @@ YY_RULE_SETUP return SHA384_TOK; } YY_BREAK -case 68: +case 69: YY_RULE_SETUP -#line 738 "toke.l" +#line 746 "toke.l" { digest_type = SUDO_DIGEST_SHA512; BEGIN WANTDIGEST; @@ -4240,9 +4258,9 @@ YY_RULE_SETUP return SHA512_TOK; } YY_BREAK -case 69: +case 70: YY_RULE_SETUP -#line 745 "toke.l" +#line 753 "toke.l" { BEGIN GOTCMND; LEXTRACE("COMMAND "); @@ -4250,9 +4268,9 @@ YY_RULE_SETUP yyterminate(); } /* sudo -e */ YY_BREAK -case 70: +case 71: YY_RULE_SETUP -#line 752 "toke.l" +#line 760 "toke.l" { BEGIN prev_state; if (!fill(sudoerstext, sudoersleng)) @@ -4261,9 +4279,9 @@ YY_RULE_SETUP return WORD; } YY_BREAK -case 71: +case 72: YY_RULE_SETUP -#line 760 "toke.l" +#line 768 "toke.l" { /* directories can't have args... */ if (sudoerstext[sudoersleng - 1] == '/') { @@ -4278,9 +4296,9 @@ YY_RULE_SETUP yyterminate(); } /* a pathname */ YY_BREAK -case 72: +case 73: YY_RULE_SETUP -#line 774 "toke.l" +#line 782 "toke.l" { if (sudoers_strict) { if (!sudo_regex_compile(NULL, sudoerstext, &sudoers_errstr)) { @@ -4294,9 +4312,9 @@ YY_RULE_SETUP yyterminate(); } /* a regex */ YY_BREAK -case 73: +case 74: YY_RULE_SETUP -#line 787 "toke.l" +#line 795 "toke.l" { LEXTRACE("BEGINSTR "); sudoerslval.string = NULL; @@ -4304,9 +4322,9 @@ YY_RULE_SETUP BEGIN INSTR; } YY_BREAK -case 74: +case 75: YY_RULE_SETUP -#line 794 "toke.l" +#line 802 "toke.l" { /* a word */ if (!fill(sudoerstext, sudoersleng)) @@ -4316,9 +4334,9 @@ YY_RULE_SETUP } YY_BREAK -case 75: +case 76: YY_RULE_SETUP -#line 803 "toke.l" +#line 811 "toke.l" { /* include file/directory */ if (!fill(sudoerstext, sudoersleng)) @@ -4328,9 +4346,9 @@ YY_RULE_SETUP return WORD; } YY_BREAK -case 76: +case 77: YY_RULE_SETUP -#line 812 "toke.l" +#line 820 "toke.l" { LEXTRACE("BEGINSTR "); sudoerslval.string = NULL; @@ -4339,49 +4357,49 @@ YY_RULE_SETUP } YY_BREAK -case 77: +case 78: YY_RULE_SETUP -#line 820 "toke.l" +#line 828 "toke.l" { LEXTRACE("( "); return '('; } YY_BREAK -case 78: +case 79: YY_RULE_SETUP -#line 825 "toke.l" +#line 833 "toke.l" { LEXTRACE(") "); return ')'; } YY_BREAK -case 79: +case 80: YY_RULE_SETUP -#line 830 "toke.l" +#line 838 "toke.l" { LEXTRACE(", "); return ','; } /* return ',' */ YY_BREAK -case 80: +case 81: YY_RULE_SETUP -#line 835 "toke.l" +#line 843 "toke.l" { LEXTRACE("= "); return '='; } /* return '=' */ YY_BREAK -case 81: +case 82: YY_RULE_SETUP -#line 840 "toke.l" +#line 848 "toke.l" { LEXTRACE(": "); return ':'; } /* return ':' */ YY_BREAK -case 82: +case 83: YY_RULE_SETUP -#line 845 "toke.l" +#line 853 "toke.l" { if (sudoersleng & 1) { LEXTRACE("!"); @@ -4389,10 +4407,10 @@ YY_RULE_SETUP } } YY_BREAK -case 83: -/* rule 83 can match eol */ +case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 852 "toke.l" +#line 860 "toke.l" { if (YY_START == INSTR) { /* throw away old string */ @@ -4412,27 +4430,27 @@ YY_RULE_SETUP return '\n'; } /* return newline */ YY_BREAK -case 84: +case 85: YY_RULE_SETUP -#line 871 "toke.l" +#line 879 "toke.l" { /* throw away space/tabs */ sawspace = true; /* but remember for fill_args */ } YY_BREAK -case 85: -/* rule 85 can match eol */ +case 86: +/* rule 86 can match eol */ YY_RULE_SETUP -#line 875 "toke.l" +#line 883 "toke.l" { sawspace = true; /* remember for fill_args */ sudolineno++; continued = true; } /* throw away EOL after \ */ YY_BREAK -case 86: -/* rule 86 can match eol */ +case 87: +/* rule 87 can match eol */ YY_RULE_SETUP -#line 881 "toke.l" +#line 889 "toke.l" { if (sudoerstext[sudoersleng - 1] == '\n') { /* comment ending in a newline */ @@ -4448,9 +4466,9 @@ YY_RULE_SETUP return '\n'; } /* comment, not uid/gid */ YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 896 "toke.l" +#line 904 "toke.l" { LEXTRACE("NOMATCH "); return NOMATCH; @@ -4466,18 +4484,18 @@ case YY_STATE_EOF(INSTR): case YY_STATE_EOF(WANTDIGEST): case YY_STATE_EOF(GOTINC): case YY_STATE_EOF(EXPECTPATH): -#line 901 "toke.l" +#line 909 "toke.l" { if (!pop_include()) yyterminate(); } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 906 "toke.l" +#line 914 "toke.l" ECHO; YY_BREAK -#line 4475 "toke.c" +#line 4493 "toke.c" case YY_END_OF_BUFFER: { @@ -4771,7 +4789,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1226 ) + if ( yy_current_state >= 1242 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -4799,11 +4817,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1226 ) + if ( yy_current_state >= 1242 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1225); + yy_is_jam = (yy_current_state == 1241); return yy_is_jam ? 0 : yy_current_state; } @@ -5438,7 +5456,7 @@ void sudoersfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 906 "toke.l" +#line 914 "toke.l" struct path_list { diff --git a/src/Makefile.in b/src/Makefile.in index 9882923ba..74eea89b4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -385,7 +385,7 @@ apparmor.o: $(srcdir)/apparmor.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \ $(incdir)/sudo_util.h $(srcdir)/sudo.h $(top_builddir)/config.h \ $(top_builddir)/pathnames.h - $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/apparmor.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(HARDENING_CFLAGS) $(srcdir)/apparmor.c apparmor.i: $(srcdir)/apparmor.c $(incdir)/compat/stdbool.h \ $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \ $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \